diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 93fecec5b..be986bac2 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -590,8 +590,14 @@ item.canister_reoil.name=Kanister voll aufbereitetem Industrieöl item.canister_petroil.name=Gemischkanister item.canister_napalm.name=Napalm B item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff +item.canister_heavyoil.name=Schwerölkanister +item.canister_bitumen.name=Bitumenkanister +item.canister_heatingoil.name=Heizölkanister +item.canister_naphtha.name=Mitteldestillatkanister +item.canister_lightoil.name=Leichtölkanister item.gas_empty.name=Leerer Gastank item.gas_full.name=Gastank +item.gas_petroleum.name=Petroleumgastank item.rod_empty.name=Leerer Brennstab item.rod_uranium.name=Uranbrennstab diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index d3df22b3d..c37e716b1 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -590,8 +590,14 @@ item.canister_reoil.name=Canister of Reclaimed Industrial Oil item.canister_petroil.name=Petroil Canister item.canister_napalm.name=Napalm B item.canister_NITAN.name=NITAN© 100 Octane Super Fuel +item.canister_heavyoil.name=Heavy Oil Canister +item.canister_bitumen.name=Bitumen Canister +item.canister_heatingoil.name=Heating Oil Canister +item.canister_naphtha.name=Naphtha Canister +item.canister_lightoil.name=Light Oil Canister item.gas_empty.name=Empty Gas Tank item.gas_full.name=Gas Tank +item.gas_petroleum.name=Petroleum Gas Tank item.rod_empty.name=Emty Rod item.rod_uranium.name=Uranium Rod diff --git a/assets/hbm/models/LaunchPad.obj b/assets/hbm/models/LaunchPad.obj index 563732b10..4beabf648 100644 --- a/assets/hbm/models/LaunchPad.obj +++ b/assets/hbm/models/LaunchPad.obj @@ -1,177 +1,302 @@ -# Blender v2.70 (sub 0) OBJ File: 'LaunchPad.blend' +# Blender v2.76 (sub 0) OBJ File: 'launchpad.blend' # www.blender.org o Cylinder -v 0.000000 0.000000 -1.000000 +v 1.060660 0.250000 -1.060660 +v 0.000000 0.500000 -1.000000 +v 1.500000 0.250000 0.000000 +v 0.707107 0.500000 -0.707107 +v 1.060660 0.250000 1.060660 +v 1.000000 0.500000 0.000000 +v -0.000000 0.250000 1.500000 +v 0.707107 0.500000 0.707107 +v -1.060660 0.250000 1.060660 +v -0.000000 0.500000 1.000000 +v 0.000000 0.250000 -1.500000 +v -0.707107 0.500000 0.707107 +v -1.060660 0.250000 -1.060660 +v -1.000000 0.500000 -0.000000 +v -1.500000 0.250000 -0.000000 +v -0.707107 0.500000 -0.707107 v 0.000000 0.250000 -1.000000 -v 0.707107 0.000000 -0.707107 v 0.707107 0.250000 -0.707107 -v 1.000000 0.000000 0.000000 v 1.000000 0.250000 0.000000 -v 0.707107 0.000000 0.707107 v 0.707107 0.250000 0.707107 -v -0.000000 0.000000 1.000000 v -0.000000 0.250000 1.000000 -v -0.707107 0.000000 0.707107 v -0.707107 0.250000 0.707107 -v -1.000000 0.000000 -0.000000 v -1.000000 0.250000 -0.000000 -v -0.707107 0.000000 -0.707107 v -0.707107 0.250000 -0.707107 -v 0.000000 0.500000 -0.750000 -v 0.530330 0.500000 -0.530330 -v 0.750000 0.500000 0.000000 -v 0.530330 0.500000 0.530330 -v -0.000000 0.500000 0.750000 -v -0.530330 0.500000 0.530330 -v -0.750000 0.500000 -0.000000 -v -0.530330 0.500000 -0.530330 -vt 0.202877 0.776488 -vt 0.202877 0.991569 -vt 0.128330 0.991569 -vt 0.983572 0.646674 -vt 0.983572 0.861756 -vt 0.909025 0.861756 -vt 0.816586 0.629813 -vt 0.816586 0.414732 -vt 0.891133 0.414732 -vt 0.008946 0.991569 -vt 0.008946 0.776488 -vt 0.083493 0.776488 -vt 0.816586 0.861756 -vt 0.816586 0.646674 -vt 0.891133 0.646674 -vt 0.339051 0.991569 -vt 0.339051 0.776488 -vt 0.413598 0.776488 -vt 0.559927 0.759627 -vt 0.458434 0.732741 -vt 0.458434 0.571430 -vt 0.909025 0.629813 -vt 0.909025 0.414732 -vt 0.983572 0.414732 -vt 0.532982 0.776488 -vt 0.532982 0.991569 -vt 0.458434 0.991569 -vt 0.008946 0.375598 -vt 0.559927 0.160516 -vt 0.170324 0.527684 -vt 0.577818 0.283806 -vt 0.577818 0.122495 -vt 0.698852 0.008431 -vt 0.697202 0.646674 -vt 0.798695 0.673560 -vt 0.798695 0.834871 -vt 0.577818 0.646675 -vt 0.679311 0.673560 -vt 0.679311 0.834871 -vt 0.697202 0.414732 -vt 0.798695 0.441617 -vt 0.798695 0.602928 -vt 0.128330 0.544545 -vt 0.229822 0.571430 -vt 0.229822 0.732741 -vt 0.008946 0.544545 -vt 0.110438 0.571430 -vt 0.110438 0.732741 -vt 0.577818 0.414732 -vt 0.679311 0.441617 -vt 0.679311 0.602928 -vt 0.440543 0.759627 -vt 0.339051 0.732741 -vt 0.339051 0.571430 -vt 0.128330 0.776488 -vt 0.909025 0.646674 -vt 0.891133 0.629813 -vt 0.083493 0.991569 -vt 0.891133 0.861756 -vt 0.413598 0.991569 -vt 0.559927 0.544545 -vt 0.983572 0.629813 -vt 0.458434 0.776488 -vt 0.008946 0.160516 -vt 0.170324 0.008431 -vt 0.398548 0.008431 -vt 0.559927 0.375598 -vt 0.398548 0.527684 -vt 0.870020 0.008431 -vt 0.991054 0.122495 -vt 0.870020 0.397870 -vt 0.991054 0.283806 -vt 0.698852 0.397871 -vt 0.697202 0.861756 -vt 0.577818 0.861756 -vt 0.697202 0.629813 -vt 0.128330 0.759627 -vt 0.008946 0.759627 -vt 0.577818 0.629813 -vt 0.440543 0.544545 -vn 0.382684 0.000000 -0.923880 -vn 0.923880 0.000000 -0.382683 -vn 0.923880 0.000000 0.382683 -vn 0.382683 0.000000 0.923880 -vn -0.382684 0.000000 0.923880 -vn -0.923880 0.000000 0.382683 -vn -0.281085 0.678598 -0.678598 -vn -0.382684 0.000000 -0.923879 -vn -0.923880 0.000000 -0.382683 +v 0.000000 0.000000 -1.500000 +v 1.060660 0.000000 -1.060660 +v 1.500000 0.000000 0.000000 +v 1.060660 0.000000 1.060660 +v -0.000000 0.000000 1.500000 +v -1.060660 0.000000 1.060660 +v -1.500000 0.000000 -0.000000 +v -1.060660 0.000000 -1.060660 +v -0.500000 0.000000 2.000000 +v 0.500000 0.000000 2.000000 +v -0.500000 0.000000 -2.000000 +v 0.500000 0.000000 -2.000000 +v -0.500000 0.125000 -2.000000 +v 0.500000 0.125000 -2.000000 +v -0.500000 0.475000 -0.750000 +v 0.500000 0.475000 -0.750000 +v -0.500000 0.475000 0.750000 +v 0.500000 0.475000 0.750000 +v 0.500000 0.125000 2.000000 +v -0.500000 0.125000 2.000000 +v -0.500000 0.100000 0.750000 +v 0.500000 0.100000 0.750000 +v -0.500000 0.100000 -0.750000 +v 0.500000 0.100000 -0.750000 +v 2.000000 0.000000 0.500000 +v 2.000000 0.000000 -0.500000 +v -2.000000 0.000000 0.500000 +v -2.000000 0.000000 -0.500000 +v -2.000000 0.125000 0.500000 +v -2.000000 0.125000 -0.500000 +v -0.750000 0.475000 0.500000 +v -0.750000 0.475000 -0.500000 +v 0.750000 0.475000 0.500000 +v 0.750000 0.475000 -0.500000 +v 2.000000 0.125000 -0.500000 +v 2.000000 0.125000 0.500000 +v 0.750000 0.100000 0.500000 +v 0.750000 0.100000 -0.500000 +v -0.750000 0.100000 0.500000 +v -0.750000 0.100000 -0.500000 +vt 0.679427 0.603288 +vt 0.736986 0.545729 +vt 0.755787 0.564530 +vt 0.736986 0.464329 +vt 0.763575 0.464329 +vt 0.679428 0.406770 +vt 0.698229 0.387969 +vt 0.598027 0.406770 +vt 0.598027 0.380181 +vt 0.540468 0.464329 +vt 0.521667 0.445528 +vt 0.540468 0.545729 +vt 0.513879 0.545729 +vt 0.598027 0.603288 +vt 0.679427 0.629877 +vt 0.579226 0.622089 +vt 0.371403 0.064091 +vt 0.370621 0.122777 +vt 0.246818 0.069553 +vt 0.028468 0.292851 +vt 0.071192 0.251063 +vt 0.122297 0.378412 +vt 0.289175 0.473320 +vt 0.246967 0.432446 +vt 0.370760 0.378824 +vt 0.456943 0.213084 +vt 0.412191 0.251217 +vt 0.204262 0.028468 +vt 0.122271 0.123726 +vt 0.028468 0.209288 +vt 0.062521 0.124396 +vt 0.121333 0.437581 +vt 0.143605 0.355918 +vt 0.245661 0.401664 +vt 0.429011 0.374227 +vt 0.552285 0.820181 +vt 0.552285 0.686813 +vt 0.658640 0.686813 +vt 0.346906 0.359230 +vt 0.145516 0.144219 +vt 0.102263 0.249691 +vt 0.382068 0.252292 +vt 0.248398 0.100332 +vt 0.348830 0.144590 +vt 0.898743 0.686813 +vt 0.898743 0.820181 +vt 0.792388 0.820181 +vt 0.658640 0.971532 +vt 0.552285 0.971532 +vt 0.552285 0.833475 +vt 0.898743 0.833475 +vt 0.792388 0.833475 +vt 0.898743 0.971532 +vt 0.658640 0.833475 +vt 0.792388 0.971532 +vt 0.753982 0.960778 +vt 0.937149 0.960778 +vt 0.513879 0.960778 +vt 0.539483 0.829891 +vt 0.671442 0.829891 +vt 0.697046 0.960778 +vt 0.413332 0.663908 +vt 0.306977 0.663908 +vt 0.306977 0.530539 +vt 0.066874 0.530539 +vt 0.173229 0.530539 +vt 0.173229 0.663908 +vt 0.413332 0.815259 +vt 0.306977 0.815259 +vt 0.306977 0.677202 +vt 0.066874 0.663908 +vt 0.173229 0.677202 +vt 0.066874 0.815259 +vt 0.066874 0.677202 +vt 0.413332 0.677202 +vt 0.028468 0.804505 +vt 0.211635 0.804505 +vt 0.173229 0.815259 +vt 0.268571 0.804505 +vt 0.294175 0.673617 +vt 0.426134 0.673617 +vt 0.451738 0.804505 +vt 0.722318 0.323245 +vt 0.513879 0.236907 +vt 0.600218 0.028468 +vt 0.698228 0.622089 +vt 0.763575 0.545729 +vt 0.755787 0.445528 +vt 0.679428 0.380181 +vt 0.579226 0.387969 +vt 0.513880 0.464329 +vt 0.598027 0.629877 +vt 0.521667 0.564530 +vt 0.288867 0.028609 +vt 0.062538 0.377750 +vt 0.371704 0.437572 +vt 0.429230 0.127457 +vt 0.121231 0.064583 +vt 0.204447 0.473603 +vt 0.456631 0.289155 +vt 0.658640 0.820181 +vt 0.792388 0.686813 +vt 0.779586 0.829891 +vt 0.911545 0.829891 +vt 0.413332 0.530539 +vt 0.054072 0.673618 +vt 0.186031 0.673618 +vt 0.722318 0.028468 +vt 0.808657 0.114806 +vt 0.808657 0.236907 +vt 0.600218 0.323245 +vt 0.513879 0.114806 +vn 0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn 0.000000 1.000000 -0.000000 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.000000 -0.996800 0.079700 +vn 0.000000 -0.996800 -0.079700 +vn 0.000000 0.963000 -0.269600 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.963000 0.269600 +vn 0.000000 0.000000 -1.000000 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.079700 -0.996800 0.000000 +vn -0.079700 -0.996800 -0.000000 +vn -0.269600 0.963000 -0.000000 +vn 0.269600 0.963000 0.000000 vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.678598 0.678598 -0.281085 -vn -0.678599 0.678598 0.281085 -vn -0.281085 0.678598 0.678598 -vn 0.281085 0.678598 0.678598 -vn 0.678599 0.678598 0.281085 -vn 0.678598 0.678599 -0.281085 -vn 0.281085 0.678598 -0.678598 -vn 0.382683 0.000000 -0.923880 -vn 0.382684 0.000000 0.923880 -vn -0.382684 0.000000 0.923879 -vn -0.382683 0.000000 -0.923880 -vn -0.678598 0.678598 0.281085 -vn 0.678598 0.678598 0.281085 -vn 0.678598 0.678598 -0.281085 s off -f 2/1/1 4/2/1 3/3/1 -f 4/4/2 6/5/2 5/6/2 -f 6/7/3 8/8/3 7/9/3 -f 8/10/4 10/11/4 9/12/4 -f 10/13/5 12/14/5 11/15/5 -f 12/16/6 14/17/6 13/18/6 -f 16/19/7 24/20/7 17/21/7 -f 16/22/8 2/23/8 1/24/8 -f 14/25/9 16/26/9 15/27/9 -f 15/28/10 7/29/10 13/30/10 -f 21/31/11 20/32/11 19/33/11 -f 14/34/12 23/35/12 24/36/12 -f 12/37/13 22/38/13 23/39/13 -f 10/40/14 21/41/14 22/42/14 -f 8/43/15 20/44/15 21/45/15 -f 6/46/16 19/47/16 20/48/16 -f 4/49/17 18/50/17 19/51/17 -f 2/52/18 17/53/18 18/54/18 -f 1/55/19 2/1/19 3/3/19 -f 3/56/2 4/4/2 5/6/2 -f 5/57/3 6/7/3 7/9/3 -f 7/58/20 8/10/20 9/12/20 -f 9/59/21 10/13/21 11/15/21 -f 11/60/6 12/16/6 13/18/6 -f 2/61/7 16/19/7 17/21/7 -f 15/62/22 16/22/22 1/24/22 -f 13/63/9 14/25/9 15/27/9 -f 15/28/10 1/64/10 3/65/10 -f 3/65/10 5/66/10 7/29/10 -f 7/29/10 9/67/10 11/68/10 -f 19/33/11 18/69/11 17/70/11 -f 15/28/10 3/65/10 7/29/10 -f 23/71/11 19/33/11 24/72/11 -f 7/29/10 11/68/10 13/30/10 -f 21/31/11 19/33/11 22/73/11 -f 16/74/12 14/34/12 24/36/12 -f 19/33/11 23/71/11 22/73/11 -f 14/75/23 12/37/23 23/39/23 -f 19/33/11 17/70/11 24/72/11 -f 12/76/14 10/40/14 22/42/14 -f 10/77/15 8/43/15 21/45/15 -f 8/78/24 6/46/24 20/48/24 -f 6/79/25 4/49/25 19/51/25 -f 4/80/18 2/52/18 18/54/18 +f 2/1/1 4/2/1 18/3/1 +f 4/2/2 6/4/2 19/5/2 +f 6/4/3 8/6/3 20/7/3 +f 8/6/4 10/8/4 21/9/4 +f 10/8/5 12/10/5 22/11/5 +f 12/10/6 14/12/6 23/13/6 +f 14/12/7 8/6/7 6/4/7 +f 16/14/8 2/1/8 17/15/8 +f 14/12/9 16/14/9 24/16/9 +f 17/17/7 11/18/7 13/19/7 +f 22/20/7 9/21/7 7/22/7 +f 20/23/7 5/24/7 3/25/7 +f 18/26/7 1/27/7 11/18/7 +f 24/28/7 13/19/7 15/29/7 +f 22/30/7 23/31/7 15/29/7 +f 21/32/7 7/22/7 5/24/7 +f 7/22/4 29/33/4 28/34/4 +f 19/35/7 3/25/7 1/27/7 +f 36/36/10 48/37/10 47/38/10 +f 5/24/3 28/34/3 27/39/3 +f 15/29/6 31/40/6 30/41/6 +f 9/21/5 30/41/5 29/33/5 +f 3/25/2 27/39/2 26/42/2 +f 13/19/9 32/43/9 31/40/9 +f 1/27/1 26/42/1 25/44/1 +f 11/18/8 25/44/8 32/43/8 +f 46/45/11 34/46/11 33/47/11 +f 39/48/12 40/49/12 38/50/12 +f 33/47/13 34/46/13 43/51/13 +f 44/52/14 43/51/14 42/53/14 +f 37/54/15 38/50/15 36/36/15 +f 44/52/16 41/55/16 45/56/16 +f 46/57/17 42/53/17 43/51/17 +f 48/58/17 36/59/17 38/50/17 +f 37/54/16 35/60/16 47/61/16 +f 51/62/18 52/63/18 64/64/18 +f 61/65/19 62/66/19 50/67/19 +f 55/68/20 56/69/20 54/70/20 +f 49/71/17 50/67/17 59/72/17 +f 57/73/21 60/74/21 59/72/21 +f 53/75/16 54/70/16 52/63/16 +f 60/74/13 57/73/13 61/76/13 +f 62/77/15 58/78/15 59/72/15 +f 64/79/15 52/80/15 54/70/15 +f 53/75/13 51/81/13 63/82/13 +f 28/83/22 30/84/22 32/85/22 +f 17/86/1 2/1/1 18/3/1 +f 18/87/2 4/2/2 19/5/2 +f 19/88/3 6/4/3 20/7/3 +f 20/89/4 8/6/4 21/9/4 +f 21/90/5 10/8/5 22/11/5 +f 22/91/6 12/10/6 23/13/6 +f 6/4/7 4/2/7 2/1/7 +f 2/1/7 16/14/7 6/4/7 +f 14/12/7 12/10/7 10/8/7 +f 10/8/7 8/6/7 14/12/7 +f 6/4/7 16/14/7 14/12/7 +f 24/92/8 16/14/8 17/15/8 +f 23/93/9 14/12/9 24/16/9 +f 24/94/7 17/17/7 13/19/7 +f 21/95/7 22/20/7 7/22/7 +f 19/96/7 20/23/7 3/25/7 +f 17/97/7 18/26/7 11/18/7 +f 23/98/7 24/28/7 15/29/7 +f 9/21/7 22/30/7 15/29/7 +f 20/99/7 21/32/7 5/24/7 +f 5/24/4 7/22/4 28/34/4 +f 18/100/7 19/35/7 1/27/7 +f 35/101/10 36/36/10 47/38/10 +f 3/25/3 5/24/3 27/39/3 +f 9/21/6 15/29/6 30/41/6 +f 7/22/5 9/21/5 29/33/5 +f 1/27/2 3/25/2 26/42/2 +f 15/29/9 13/19/9 31/40/9 +f 11/18/1 1/27/1 25/44/1 +f 13/19/8 11/18/8 32/43/8 +f 45/102/11 46/45/11 33/47/11 +f 37/54/12 39/48/12 38/50/12 +f 44/52/13 33/47/13 43/51/13 +f 41/55/14 44/52/14 42/53/14 +f 35/101/15 37/54/15 36/36/15 +f 33/103/16 44/52/16 45/56/16 +f 34/104/17 46/57/17 43/51/17 +f 40/49/17 48/58/17 38/50/17 +f 39/48/16 37/54/16 47/61/16 +f 63/105/18 51/62/18 64/64/18 +f 49/71/19 61/65/19 50/67/19 +f 53/75/20 55/68/20 54/70/20 +f 60/74/17 49/71/17 59/72/17 +f 58/78/21 57/73/21 59/72/21 +f 51/62/16 53/75/16 52/63/16 +f 49/106/13 60/74/13 61/76/13 +f 50/107/15 62/77/15 59/72/15 +f 56/69/15 64/79/15 54/70/15 +f 55/68/13 53/75/13 63/82/13 +f 32/85/22 25/108/22 26/109/22 +f 26/109/22 27/110/22 28/83/22 +f 28/83/22 29/111/22 30/84/22 +f 30/84/22 31/112/22 32/85/22 +f 32/85/22 26/109/22 28/83/22 diff --git a/assets/hbm/models/chemplant.obj b/assets/hbm/models/chemplant.obj deleted file mode 100644 index 05fd844f9..000000000 --- a/assets/hbm/models/chemplant.obj +++ /dev/null @@ -1,1295 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant.blend' -# www.blender.org -o Cube.001_Cube.002 -v 0.427500 2.000000 -0.427500 -v 0.427500 2.000000 -0.822500 -v 0.822500 2.000000 -0.427500 -v 0.822500 2.000000 -0.822500 -v 0.427500 2.150000 -0.427500 -v 0.427500 2.150000 -0.822500 -v 0.822500 2.150000 -0.822500 -v 0.822500 2.150000 -0.427500 -v 0.476875 2.000000 -0.476875 -v 0.476875 2.000000 -0.773125 -v 0.773125 2.000000 -0.773125 -v 0.773125 2.000000 -0.476875 -v 0.476875 1.500000 -0.476875 -v 0.476875 1.500000 -0.773125 -v 0.773125 1.500000 -0.773125 -v 0.773125 1.500000 -0.476875 -v -0.822500 2.000000 -0.427500 -v -0.822500 2.000000 -0.822500 -v -0.427500 2.000000 -0.427500 -v -0.427500 2.000000 -0.822500 -v -0.822500 2.150000 -0.427500 -v -0.822500 2.150000 -0.822500 -v -0.427500 2.150000 -0.822500 -v -0.427500 2.150000 -0.427500 -v -0.773125 2.000000 -0.476875 -v -0.773125 2.000000 -0.773125 -v -0.476875 2.000000 -0.773125 -v -0.476875 2.000000 -0.476875 -v -0.773125 1.500000 -0.476875 -v -0.773125 1.500000 -0.773125 -v -0.476875 1.500000 -0.773125 -v -0.476875 1.500000 -0.476875 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -s off -f 3//1 12//1 11//1 -f 7//2 6//2 5//2 -f 4//3 7//3 8//3 -f 1//4 5//4 6//4 -f 3//5 8//5 5//5 -f 2//6 6//6 7//6 -f 9//5 13//5 16//5 -f 2//1 10//1 9//1 -f 1//1 9//1 12//1 -f 4//1 11//1 10//1 -f 13//1 14//1 15//1 -f 11//6 15//6 14//6 -f 12//3 16//3 15//3 -f 10//4 14//4 13//4 -f 19//1 28//1 27//1 -f 23//2 22//2 21//2 -f 20//3 23//3 24//3 -f 17//4 21//4 22//4 -f 19//5 24//5 21//5 -f 18//6 22//6 23//6 -f 25//5 29//5 32//5 -f 18//1 26//1 25//1 -f 17//1 25//1 28//1 -f 20//1 27//1 26//1 -f 29//1 30//1 31//1 -f 27//6 31//6 30//6 -f 28//3 32//3 31//3 -f 26//4 30//4 29//4 -f 4//1 3//1 11//1 -f 8//2 7//2 5//2 -f 3//3 4//3 8//3 -f 2//4 1//4 6//4 -f 1//5 3//5 5//5 -f 4//6 2//6 7//6 -f 12//5 9//5 16//5 -f 1//1 2//1 9//1 -f 3//1 1//1 12//1 -f 2//1 4//1 10//1 -f 16//1 13//1 15//1 -f 10//6 11//6 14//6 -f 11//3 12//3 15//3 -f 9//4 10//4 13//4 -f 20//1 19//1 27//1 -f 24//2 23//2 21//2 -f 19//3 20//3 24//3 -f 18//4 17//4 22//4 -f 17//5 19//5 21//5 -f 20//6 18//6 23//6 -f 28//5 25//5 32//5 -f 17//1 18//1 25//1 -f 19//1 17//1 28//1 -f 18//1 20//1 26//1 -f 32//1 29//1 31//1 -f 26//6 27//6 30//6 -f 27//3 28//3 31//3 -f 25//4 26//4 29//4 -o Cube_Cube.001 -v -1.500000 0.000000 1.500000 -v -1.500000 0.250000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 0.250000 -1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 0.250000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 0.250000 -1.500000 -v -1.250000 0.500000 1.250000 -v -1.250000 0.500000 -1.250000 -v 1.250000 0.500000 -1.250000 -v 1.250000 0.500000 1.250000 -v -1.250000 0.500000 0.000000 -v 0.000000 0.500000 -1.250000 -v 1.250000 0.500000 0.000000 -v 0.000000 0.500000 1.250000 -v 0.000000 0.500000 0.000000 -v 1.250000 0.750000 0.000000 -v 1.250000 0.750000 1.250000 -v 0.000000 0.750000 1.250000 -v 0.000000 0.750000 0.000000 -v 0.625000 0.750000 0.025000 -v 0.625000 2.750000 0.025000 -v 0.925000 0.750000 0.105385 -v 0.925000 2.750000 0.105385 -v 1.144615 0.750000 0.325000 -v 1.144615 2.750000 0.325000 -v 1.225000 0.750000 0.625000 -v 1.225000 2.750000 0.625000 -v 1.144615 0.750000 0.925000 -v 1.144615 2.750000 0.925000 -v 0.925000 0.750000 1.144615 -v 0.925000 2.750000 1.144615 -v 0.625000 0.750000 1.225000 -v 0.625000 2.750000 1.225000 -v 0.325000 0.750000 1.144615 -v 0.325000 2.750000 1.144615 -v 0.105385 0.750000 0.925000 -v 0.105385 2.750000 0.925000 -v 0.025000 0.750000 0.625000 -v 0.025000 2.750000 0.625000 -v 0.105385 0.750000 0.325000 -v 0.105385 2.750000 0.325000 -v 0.325000 0.750000 0.105385 -v 0.325000 2.750000 0.105385 -v 1.250000 0.750000 0.625000 -v 0.625000 0.750000 0.000000 -v 0.000000 0.750000 0.625000 -v 0.625000 0.750000 1.250000 -v 0.125000 0.500000 -1.125000 -v 1.125000 0.500000 -1.125000 -v 1.125000 0.500000 -0.125000 -v 0.125000 0.500000 -0.125000 -v -1.125000 0.500000 -0.125000 -v -1.125000 0.500000 -1.125000 -v -0.125000 0.500000 -1.125000 -v -0.125000 0.500000 -0.125000 -v 0.125000 0.650000 -1.125000 -v 1.125000 0.650000 -1.125000 -v 1.125000 0.650000 -0.125000 -v 0.125000 0.650000 -0.125000 -v 0.225000 0.650000 -1.025000 -v 1.025000 0.650000 -1.025000 -v 1.025000 0.650000 -0.225000 -v 0.225000 0.650000 -0.225000 -v -0.125000 0.650000 -0.125000 -v -0.125000 0.650000 -1.125000 -v -1.125000 0.650000 -1.125000 -v -1.125000 0.650000 -0.125000 -v 0.425000 2.000000 -0.425000 -v 0.825000 2.000000 -0.425000 -v 0.825000 2.000000 -0.825000 -v 0.425000 2.000000 -0.825000 -v 0.225000 1.850000 -1.025000 -v 1.025000 1.850000 -1.025000 -v 1.025000 1.850000 -0.225000 -v 0.225000 1.850000 -0.225000 -v 1.000000 2.750000 -0.024519 -v 0.625000 2.750000 -0.125000 -v 1.274519 2.750000 0.250000 -v 1.375000 2.750000 0.625000 -v 1.274519 2.750000 1.000000 -v 1.000000 2.750000 1.274519 -v 0.625000 2.750000 1.375000 -v 0.250000 2.750000 1.274519 -v -0.024519 2.750000 1.000000 -v -0.125000 2.750000 0.625000 -v -0.024519 2.750000 0.250000 -v 0.250000 2.750000 -0.024519 -v 1.000000 3.000000 -0.024519 -v 0.625000 3.000000 -0.125000 -v 1.274519 3.000000 0.250000 -v 1.375000 3.000000 0.625000 -v 1.274519 3.000000 1.000000 -v 1.000000 3.000000 1.274519 -v 0.625000 3.000000 1.375000 -v 0.250000 3.000000 1.274519 -v -0.024519 3.000000 1.000000 -v -0.125000 3.000000 0.625000 -v -0.024519 3.000000 0.250000 -v 0.250000 3.000000 -0.024519 -v -0.225000 0.650000 -1.025000 -v -0.225000 0.650000 -0.225000 -v -1.025000 0.650000 -0.225000 -v -1.025000 0.650000 -1.025000 -v -0.225000 1.850000 -1.025000 -v -0.225000 1.850000 -0.225000 -v -1.025000 1.850000 -0.225000 -v -1.025000 1.850000 -1.025000 -v -0.425000 2.000000 -0.825000 -v -0.425000 2.000000 -0.425000 -v -0.825000 2.000000 -0.425000 -v -0.825000 2.000000 -0.825000 -v -0.125000 0.500000 0.975000 -v -0.475000 0.500000 0.975000 -v -0.475000 0.500000 0.275000 -v -0.125000 0.500000 0.275000 -v -0.125000 1.250000 0.975000 -v -0.475000 1.250000 0.975000 -v -0.475000 1.250000 0.275000 -v -0.125000 1.250000 0.275000 -v -0.125000 1.500000 0.975000 -v -0.300000 1.500000 0.975000 -v -0.300000 1.500000 0.275000 -v -0.125000 1.500000 0.275000 -v -0.125000 1.500000 0.338636 -v -0.125000 1.500000 0.402273 -v -0.125000 1.500000 0.465909 -v -0.125000 1.500000 0.529545 -v -0.125000 1.500000 0.593182 -v -0.125000 1.500000 0.656818 -v -0.125000 1.500000 0.720455 -v -0.125000 1.500000 0.784091 -v -0.125000 1.500000 0.847727 -v -0.125000 1.500000 0.911364 -v -0.125000 1.650000 0.338636 -v -0.125000 1.650000 0.402273 -v -0.125000 1.650000 0.465909 -v -0.125000 1.650000 0.529545 -v -0.125000 1.650000 0.593182 -v -0.125000 1.650000 0.656818 -v -0.125000 1.650000 0.720455 -v -0.125000 1.650000 0.784091 -v -0.125000 1.650000 0.847727 -v -0.125000 1.650000 0.911364 -v -0.025000 1.750000 0.338636 -v -0.025000 1.750000 0.402273 -v -0.025000 1.750000 0.465909 -v -0.025000 1.750000 0.529545 -v -0.025000 1.750000 0.593182 -v -0.025000 1.750000 0.656818 -v -0.025000 1.750000 0.720455 -v -0.025000 1.750000 0.784091 -v -0.025000 1.750000 0.847727 -v -0.025000 1.750000 0.911364 -v 0.125000 1.750000 0.338636 -v 0.125000 1.750000 0.402273 -v 0.125000 1.750000 0.465909 -v 0.125000 1.750000 0.529545 -v 0.125000 1.750000 0.593182 -v 0.125000 1.750000 0.656818 -v 0.125000 1.750000 0.720455 -v 0.125000 1.750000 0.784091 -v 0.125000 1.750000 0.847727 -v 0.125000 1.750000 0.911364 -v 0.425000 2.000000 -0.767857 -v 0.425000 2.000000 -0.710714 -v 0.425000 2.000000 -0.653571 -v 0.425000 2.000000 -0.596429 -v 0.425000 2.000000 -0.539286 -v 0.425000 2.000000 -0.482143 -v -0.425000 2.000000 -0.767857 -v -0.425000 2.000000 -0.710714 -v -0.425000 2.000000 -0.653571 -v -0.425000 2.000000 -0.596429 -v -0.425000 2.000000 -0.539286 -v -0.425000 2.000000 -0.482143 -v 0.325000 2.121195 -0.749805 -v 0.325000 2.121195 -0.692662 -v 0.325000 2.121195 -0.635520 -v 0.325000 2.121195 -0.578377 -v 0.325000 2.121195 -0.521234 -v 0.325000 2.121195 -0.464091 -v -0.325000 2.100000 -0.767857 -v -0.325000 2.100000 -0.710714 -v -0.325000 2.100000 -0.653571 -v -0.325000 2.100000 -0.596429 -v -0.325000 2.100000 -0.539286 -v -0.325000 2.100000 -0.482143 -v 0.767857 2.000000 -0.425000 -v 0.710714 2.000000 -0.425000 -v 0.653571 2.000000 -0.425000 -v 0.596429 2.000000 -0.425000 -v 0.539286 2.000000 -0.425000 -v 0.482143 2.000000 -0.425000 -v 0.767857 2.771048 -0.425000 -v 0.710714 2.771048 -0.425000 -v 0.653571 2.771048 -0.425000 -v 0.596429 2.771048 -0.425000 -v 0.539286 2.771048 -0.425000 -v 0.482143 2.771048 -0.425000 -v 0.767857 2.871047 -0.325000 -v 0.710714 2.871047 -0.325000 -v 0.653571 2.871047 -0.325000 -v 0.596429 2.871047 -0.325000 -v 0.539286 2.871047 -0.325000 -v 0.482143 2.871047 -0.325000 -v 0.767857 2.871047 -0.075000 -v 0.710714 2.871047 -0.075000 -v 0.653571 2.871047 -0.075000 -v 0.596429 2.871047 -0.075000 -v 0.539286 2.871047 -0.075000 -v 0.482143 2.871047 -0.075000 -v -0.850000 1.200000 -0.250000 -v -0.850000 1.200000 0.350000 -v -0.814645 1.185355 -0.250000 -v -0.814645 1.185355 0.350000 -v -0.800000 1.150000 -0.250000 -v -0.800000 1.150000 0.350000 -v -0.814645 1.114645 -0.250000 -v -0.814645 1.114645 0.350000 -v -0.850000 1.100000 -0.250000 -v -0.850000 1.100000 0.350000 -v -0.885355 1.114645 -0.250000 -v -0.885355 1.114645 0.350000 -v -0.900000 1.150000 -0.250000 -v -0.900000 1.150000 0.350000 -v -0.885355 1.185355 -0.250000 -v -0.885355 1.185355 0.350000 -v -0.750000 1.150000 0.400000 -v -0.450000 1.150000 0.400000 -v -0.750000 1.114645 0.414645 -v -0.450000 1.114645 0.414645 -v -0.750000 1.100000 0.450000 -v -0.450000 1.100000 0.450000 -v -0.750000 1.114645 0.485355 -v -0.450000 1.114645 0.485355 -v -0.750000 1.150000 0.500000 -v -0.450000 1.150000 0.500000 -v -0.750000 1.185355 0.485355 -v -0.450000 1.185355 0.485355 -v -0.750000 1.200000 0.450000 -v -0.450000 1.200000 0.450000 -v -0.750000 1.185355 0.414645 -v -0.450000 1.185355 0.414645 -v -0.850000 1.000000 -0.250000 -v -0.850000 1.000000 0.350000 -v -0.814645 0.985355 -0.250000 -v -0.814645 0.985355 0.350000 -v -0.800000 0.950000 -0.250000 -v -0.800000 0.950000 0.350000 -v -0.814645 0.914645 -0.250000 -v -0.814645 0.914645 0.350000 -v -0.850000 0.900000 -0.250000 -v -0.850000 0.900000 0.350000 -v -0.885355 0.914645 -0.250000 -v -0.885355 0.914645 0.350000 -v -0.900000 0.950000 -0.250000 -v -0.900000 0.950000 0.350000 -v -0.885355 0.985355 -0.250000 -v -0.885355 0.985355 0.350000 -v -0.750000 0.950000 0.400000 -v -0.450000 0.950000 0.400000 -v -0.750000 0.914645 0.414645 -v -0.450000 0.914645 0.414645 -v -0.750000 0.900000 0.450000 -v -0.450000 0.900000 0.450000 -v -0.750000 0.914645 0.485355 -v -0.450000 0.914645 0.485355 -v -0.750000 0.950000 0.500000 -v -0.450000 0.950000 0.500000 -v -0.750000 0.985355 0.485355 -v -0.450000 0.985355 0.485355 -v -0.750000 1.000000 0.450000 -v -0.450000 1.000000 0.450000 -v -0.750000 0.985355 0.414645 -v -0.450000 0.985355 0.414645 -v -0.850000 0.800000 -0.250000 -v -0.850000 0.800000 0.350000 -v -0.814645 0.785355 -0.250000 -v -0.814645 0.785355 0.350000 -v -0.800000 0.750000 -0.250000 -v -0.800000 0.750000 0.350000 -v -0.814645 0.714645 -0.250000 -v -0.814645 0.714645 0.350000 -v -0.850000 0.700000 -0.250000 -v -0.850000 0.700000 0.350000 -v -0.885355 0.714645 -0.250000 -v -0.885355 0.714645 0.350000 -v -0.900000 0.750000 -0.250000 -v -0.900000 0.750000 0.350000 -v -0.885355 0.785355 -0.250000 -v -0.885355 0.785355 0.350000 -v -0.750000 0.750000 0.400000 -v -0.450000 0.750000 0.400000 -v -0.750000 0.714645 0.414645 -v -0.450000 0.714645 0.414645 -v -0.750000 0.700000 0.450000 -v -0.450000 0.700000 0.450000 -v -0.750000 0.714645 0.485355 -v -0.450000 0.714645 0.485355 -v -0.750000 0.750000 0.500000 -v -0.450000 0.750000 0.500000 -v -0.750000 0.785355 0.485355 -v -0.450000 0.785355 0.485355 -v -0.750000 0.800000 0.450000 -v -0.450000 0.800000 0.450000 -v -0.750000 0.785355 0.414645 -v -0.450000 0.785355 0.414645 -v 1.000000 0.250000 -0.250000 -v 1.000000 0.750000 -0.250000 -v 1.000000 0.250000 -0.750000 -v 1.000000 0.750000 -0.750000 -v 2.000000 0.000000 0.000000 -v 2.000000 1.000000 0.000000 -v 2.000000 0.000000 -1.000000 -v 2.000000 1.000000 -1.000000 -v 1.500000 1.000000 -1.000000 -v 1.500000 0.000000 -1.000000 -v 1.500000 1.000000 0.000000 -v 1.500000 0.000000 0.000000 -v 2.000000 0.875000 -0.875000 -v 2.000000 0.125000 -0.875000 -v 2.000000 0.875000 -0.125000 -v 2.000000 0.125000 -0.125000 -v 1.500000 0.687500 -0.687500 -v 1.500000 0.312500 -0.687500 -v 1.500000 0.687500 -0.312500 -v 1.500000 0.312500 -0.312500 -v -1.000000 0.250000 0.750000 -v -1.000000 0.750000 0.750000 -v -1.000000 0.250000 0.250000 -v -1.000000 0.750000 0.250000 -v -2.000000 0.000000 1.000000 -v -2.000000 1.000000 1.000000 -v -2.000000 0.000000 0.000000 -v -2.000000 1.000000 0.000000 -v -1.500000 1.000000 0.000000 -v -1.500000 0.000000 0.000000 -v -1.500000 1.000000 1.000000 -v -1.500000 0.000000 1.000000 -v -2.000000 0.875000 0.125000 -v -2.000000 0.125000 0.125000 -v -2.000000 0.875000 0.875000 -v -2.000000 0.125000 0.875000 -v -1.500000 0.687500 0.312500 -v -1.500000 0.312500 0.312500 -v -1.500000 0.687500 0.687500 -v -1.500000 0.312500 0.687500 -v 0.656250 0.343750 -2.000000 -v 0.656250 0.656250 -2.000000 -v 0.343750 0.343750 -1.150000 -v 0.343750 0.656250 -1.150000 -v 0.343750 0.343750 -2.000000 -v 0.343750 0.656250 -2.000000 -v 0.656250 0.343750 -1.150000 -v 0.656250 0.656250 -1.150000 -v 0.328125 0.671875 -1.150000 -v 0.328125 0.328125 -1.150000 -v 0.671875 0.671875 -1.150000 -v 0.671875 0.328125 -1.150000 -v 0.328125 0.671875 -1.000000 -v 0.328125 0.328125 -1.000000 -v 0.671875 0.671875 -1.000000 -v 0.671875 0.328125 -1.000000 -v -0.343750 0.343750 -2.000000 -v -0.343750 0.656250 -2.000000 -v -0.656250 0.343750 -1.150000 -v -0.656250 0.656250 -1.150000 -v -0.656250 0.343750 -2.000000 -v -0.656250 0.656250 -2.000000 -v -0.343750 0.343750 -1.150000 -v -0.343750 0.656250 -1.150000 -v -0.671875 0.671875 -1.150000 -v -0.671875 0.328125 -1.150000 -v -0.328125 0.671875 -1.150000 -v -0.328125 0.328125 -1.150000 -v -0.671875 0.671875 -1.000000 -v -0.671875 0.328125 -1.000000 -v -0.328125 0.671875 -1.000000 -v -0.328125 0.328125 -1.000000 -v -0.343750 0.343750 2.000000 -v -0.343750 0.656250 2.000000 -v -0.656250 0.343750 1.150000 -v -0.656250 0.656250 1.150000 -v -0.656250 0.343750 2.000000 -v -0.656250 0.656250 2.000000 -v -0.343750 0.343750 1.150000 -v -0.343750 0.656250 1.150000 -v -0.671875 0.671875 1.150000 -v -0.671875 0.328125 1.150000 -v -0.328125 0.671875 1.150000 -v -0.328125 0.328125 1.150000 -v -0.671875 0.671875 1.000000 -v -0.671875 0.328125 1.000000 -v -0.328125 0.671875 1.000000 -v -0.328125 0.328125 1.000000 -v 0.656250 0.343750 2.000000 -v 0.656250 0.656250 2.000000 -v 0.343750 0.343750 1.150000 -v 0.343750 0.656250 1.150000 -v 0.343750 0.343750 2.000000 -v 0.343750 0.656250 2.000000 -v 0.656250 0.343750 1.150000 -v 0.656250 0.656250 1.150000 -v 0.328125 0.671875 1.150000 -v 0.328125 0.328125 1.150000 -v 0.671875 0.671875 1.150000 -v 0.671875 0.328125 1.150000 -v 0.328125 0.671875 1.000000 -v 0.328125 0.328125 1.000000 -v 0.671875 0.671875 1.000000 -v 0.671875 0.328125 1.000000 -v 1.916667 0.250000 -1.100000 -v 1.916667 0.750000 -1.100000 -v 1.666667 0.500000 -1.100000 -v 1.916667 0.250000 0.100000 -v 1.916667 0.750000 0.100000 -v 1.666667 0.500000 0.100000 -v -1.583333 0.250000 -0.100000 -v -1.583333 0.750000 -0.100000 -v -1.833333 0.500000 -0.100000 -v -1.583333 0.250000 1.100000 -v -1.583333 0.750000 1.100000 -v -1.833333 0.500000 1.100000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.600000 0.800000 0.000000 -vn -0.600000 0.800000 0.000000 -vn 0.000000 0.800000 -0.600000 -vn 0.000000 0.800000 0.600000 -vn -0.819200 0.573500 0.000000 -vn 0.707100 -0.707100 0.000000 -vn 0.032600 -0.999500 0.000000 -vn 0.771300 0.636400 0.000000 -vn 0.000000 0.382700 0.923900 -vn 0.382700 0.923900 0.000000 -vn 0.678600 0.281100 -0.678600 -vn -0.678600 0.281100 0.678600 -vn 0.923900 0.382700 0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.000000 -0.923900 -0.382700 -vn 0.923900 -0.382700 0.000000 -vn 0.000000 -0.382700 0.923900 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 -0.923900 0.000000 -vn -0.357400 0.862900 0.357400 -vn 0.000000 -0.382700 -0.923900 -vn -0.923900 -0.382700 0.000000 -vn -0.678600 -0.281100 0.678600 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 0.000000 -vn 0.000000 -0.923900 0.382700 -vn -0.000000 0.923900 0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.678600 -0.281100 -0.678600 -vn 0.000000 0.923900 -0.382700 -vn -0.357400 -0.862900 0.357400 -vn 0.357400 -0.862900 -0.357400 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn -0.447200 -0.894400 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 -0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -s off -f 36//7 35//7 33//7 -f 40//8 39//8 35//8 -f 38//9 37//9 39//9 -f 34//10 33//10 37//10 -f 35//11 39//11 37//11 -f 38//12 48//12 34//12 -f 42//13 87//13 88//13 -f 36//14 46//14 40//14 -f 40//15 47//15 38//15 -f 34//16 45//16 36//16 -f 48//13 146//13 147//13 -f 48//7 80//7 49//7 -f 46//13 82//13 83//13 -f 47//9 78//9 44//9 -f 49//8 79//8 47//8 -f 44//10 81//10 48//10 -f 55//17 57//17 56//17 -f 57//18 59//18 58//18 -f 59//19 61//19 60//19 -f 61//20 63//20 62//20 -f 63//21 65//21 64//21 -f 65//22 67//22 66//22 -f 67//23 69//23 68//23 -f 69//24 71//24 70//24 -f 71//25 73//25 72//25 -f 73//26 75//26 74//26 -f 71//11 118//11 119//11 -f 77//27 55//27 54//27 -f 75//28 77//28 76//28 -f 81//13 51//13 64//13 -f 81//13 66//13 68//13 -f 68//13 70//13 52//13 -f 80//13 52//13 70//13 -f 74//13 53//13 80//13 -f 76//13 53//13 74//13 -f 79//13 53//13 76//13 -f 56//13 50//13 79//13 -f 64//13 51//13 62//13 -f 78//13 60//13 62//13 -f 78//13 50//13 58//13 -f 58//13 50//13 56//13 -f 84//10 92//10 93//10 -f 43//13 83//13 84//13 -f 49//13 85//13 82//13 -f 47//13 84//13 85//13 -f 89//10 98//10 101//10 -f 49//13 89//13 86//13 -f 46//13 88//13 89//13 -f 45//13 86//13 87//13 -f 93//13 97//13 94//13 -f 82//8 90//8 91//8 -f 85//7 93//7 90//7 -f 83//9 91//9 92//9 -f 96//10 108//10 109//10 -f 91//13 95//13 96//13 -f 92//13 96//13 97//13 -f 90//13 94//13 95//13 -f 87//8 100//8 99//8 -f 88//9 99//9 98//9 -f 86//7 101//7 100//7 -f 101//13 136//13 137//13 -f 107//29 104//29 103//29 -f 201//30 106//30 109//30 -f 94//8 106//8 107//8 -f 97//7 109//7 106//7 -f 95//9 107//9 108//9 -f 106//31 105//31 104//31 -f 225//13 201//13 202//13 -f 108//32 224//32 109//32 -f 113//20 125//20 126//20 -f 69//11 117//11 118//11 -f 67//11 116//11 117//11 -f 65//11 115//11 116//11 -f 63//11 114//11 115//11 -f 61//11 113//11 114//11 -f 77//11 121//11 111//11 -f 55//11 111//11 110//11 -f 59//11 112//11 113//11 -f 77//11 75//11 120//11 -f 57//11 110//11 112//11 -f 73//11 119//11 120//11 -f 130//13 128//13 124//13 -f 120//28 132//28 133//28 -f 111//17 123//17 122//17 -f 117//24 129//24 130//24 -f 114//21 126//21 127//21 -f 121//27 133//27 123//27 -f 110//18 122//18 124//18 -f 118//25 130//25 131//25 -f 115//22 127//22 128//22 -f 112//19 124//19 125//19 -f 119//26 131//26 132//26 -f 116//23 128//23 129//23 -f 136//7 140//7 141//7 -f 98//13 135//13 136//13 -f 100//13 137//13 134//13 -f 99//13 134//13 135//13 -f 141//31 145//31 142//31 -f 135//10 139//10 140//10 -f 137//8 141//8 138//8 -f 134//9 138//9 139//9 -f 207//13 145//13 144//13 -f 206//29 139//29 138//29 -f 140//30 144//30 145//30 -f 139//32 143//32 144//32 -f 149//9 153//9 150//9 -f 49//13 149//13 146//13 -f 49//13 45//13 148//13 -f 41//13 147//13 148//13 -f 153//8 152//8 156//8 -f 147//7 151//7 152//7 -f 148//8 152//8 153//8 -f 146//10 150//10 151//10 -f 162//13 161//13 156//13 -f 150//10 154//10 155//10 -f 153//9 162//9 150//9 -f 151//33 155//33 156//33 -f 158//7 159//7 169//7 -f 179//16 178//16 168//16 -f 160//7 161//7 171//7 -f 172//7 162//7 163//7 -f 174//7 164//7 165//7 -f 176//7 166//7 167//7 -f 187//16 186//16 176//16 -f 185//16 184//16 174//16 -f 183//16 182//16 172//16 -f 181//16 180//16 170//16 -f 189//13 188//13 178//13 -f 191//13 190//13 180//13 -f 193//13 192//13 182//13 -f 195//13 194//13 184//13 -f 197//13 196//13 186//13 -f 208//34 220//34 221//34 -f 206//34 218//34 219//34 -f 204//34 216//34 217//34 -f 217//35 216//35 210//35 -f 219//35 218//35 212//35 -f 221//35 220//35 214//35 -f 214//36 215//36 203//36 -f 212//36 213//36 201//36 -f 210//36 211//36 199//36 -f 239//14 238//14 232//14 -f 237//14 236//14 230//14 -f 235//14 234//14 228//14 -f 228//8 222//8 223//8 -f 230//8 224//8 225//8 -f 232//8 226//8 227//8 -f 245//13 244//13 238//13 -f 243//13 242//13 236//13 -f 241//13 240//13 234//13 -f 271//37 273//37 272//37 -f 247//38 249//38 248//38 -f 251//39 249//39 276//39 -f 272//40 261//40 259//40 -f 249//41 251//41 250//41 -f 247//42 274//42 276//42 -f 265//43 267//43 266//43 -f 251//44 253//44 252//44 -f 269//45 271//45 270//45 -f 253//46 255//46 254//46 -f 255//47 257//47 256//47 -f 274//48 247//48 261//48 -f 263//49 265//49 264//49 -f 257//50 259//50 258//50 -f 257//51 268//51 270//51 -f 261//52 247//52 246//52 -f 259//53 261//53 260//53 -f 267//54 269//54 268//54 -f 273//55 275//55 274//55 -f 277//56 263//56 262//56 -f 251//57 262//57 264//57 -f 275//58 277//58 276//58 -f 268//59 257//59 255//59 -f 253//60 264//60 266//60 -f 303//37 305//37 304//37 -f 279//38 281//38 280//38 -f 283//39 281//39 308//39 -f 304//40 293//40 291//40 -f 281//41 283//41 282//41 -f 279//42 306//42 308//42 -f 297//43 299//43 298//43 -f 283//44 285//44 284//44 -f 301//45 303//45 302//45 -f 285//46 287//46 286//46 -f 287//47 289//47 288//47 -f 306//48 279//48 293//48 -f 295//49 297//49 296//49 -f 289//50 291//50 290//50 -f 289//51 300//51 302//51 -f 293//52 279//52 278//52 -f 291//53 293//53 292//53 -f 299//54 301//54 300//54 -f 305//55 307//55 306//55 -f 309//56 295//56 294//56 -f 283//57 294//57 296//57 -f 307//58 309//58 308//58 -f 298//59 300//59 289//59 -f 285//60 296//60 298//60 -f 335//37 337//37 336//37 -f 311//38 313//38 312//38 -f 315//39 313//39 340//39 -f 336//40 325//40 323//40 -f 313//41 315//41 314//41 -f 311//42 338//42 340//42 -f 329//43 331//43 330//43 -f 315//44 317//44 316//44 -f 333//45 335//45 334//45 -f 317//46 319//46 318//46 -f 319//47 321//47 320//47 -f 338//48 311//48 325//48 -f 327//49 329//49 328//49 -f 321//50 323//50 322//50 -f 323//51 321//51 332//51 -f 325//52 311//52 310//52 -f 323//53 325//53 324//53 -f 331//54 333//54 332//54 -f 337//55 339//55 338//55 -f 341//56 327//56 326//56 -f 315//57 326//57 328//57 -f 338//58 339//58 341//58 -f 330//59 332//59 321//59 -f 319//60 317//60 328//60 -f 345//7 344//7 342//7 -f 349//8 348//8 351//8 -f 348//9 355//9 357//9 -f 343//61 342//61 353//61 -f 351//11 348//11 346//11 -f 350//62 345//62 343//62 -f 349//13 350//13 352//13 -f 344//63 351//63 353//63 -f 352//10 353//10 346//10 -f 350//64 351//64 344//64 -f 357//65 361//65 360//65 -f 347//9 356//9 354//9 -f 349//9 354//9 355//9 -f 346//9 357//9 356//9 -f 360//9 361//9 359//9 -f 354//66 358//66 359//66 -f 355//67 359//67 361//67 -f 356//68 360//68 358//68 -f 362//9 364//9 365//9 -f 371//8 368//8 369//8 -f 377//7 375//7 368//7 -f 373//69 362//69 363//69 -f 366//11 368//11 371//11 -f 363//70 365//70 370//70 -f 372//13 370//13 369//13 -f 373//71 371//71 364//71 -f 366//10 373//10 372//10 -f 364//72 371//72 370//72 -f 380//73 381//73 377//73 -f 374//7 376//7 367//7 -f 375//7 374//7 369//7 -f 376//7 377//7 366//7 -f 379//7 381//7 380//7 -f 379//74 378//74 374//74 -f 381//75 379//75 375//75 -f 378//76 380//76 376//76 -f 388//9 382//9 383//9 -f 388//8 393//8 391//8 -f 385//7 387//7 386//7 -f 389//13 383//13 387//13 -f 384//11 386//11 382//11 -f 383//8 382//8 386//8 -f 393//11 397//11 395//11 -f 385//8 390//8 392//8 -f 384//8 391//8 390//8 -f 389//8 392//8 393//8 -f 395//10 397//10 396//10 -f 390//13 394//13 396//13 -f 392//9 396//9 397//9 -f 391//7 395//7 394//7 -f 404//9 398//9 399//9 -f 404//8 409//8 407//8 -f 401//7 403//7 402//7 -f 405//13 399//13 403//13 -f 400//11 402//11 398//11 -f 399//8 398//8 402//8 -f 409//11 413//11 411//11 -f 401//8 406//8 408//8 -f 400//8 407//8 406//8 -f 405//8 408//8 409//8 -f 411//10 413//10 412//10 -f 406//13 410//13 412//13 -f 408//9 412//9 413//9 -f 407//7 411//7 410//7 -f 415//9 414//9 420//9 -f 423//10 425//10 420//10 -f 418//7 419//7 417//7 -f 419//13 415//13 421//13 -f 414//11 418//11 416//11 -f 418//10 414//10 415//10 -f 427//11 429//11 425//11 -f 424//10 422//10 417//10 -f 422//10 423//10 416//10 -f 425//10 424//10 421//10 -f 428//8 429//8 427//8 -f 428//13 426//13 422//13 -f 429//9 428//9 424//9 -f 426//7 427//7 423//7 -f 431//9 430//9 436//9 -f 439//10 441//10 436//10 -f 434//7 435//7 433//7 -f 435//13 431//13 437//13 -f 430//11 434//11 432//11 -f 434//10 430//10 431//10 -f 443//11 445//11 441//11 -f 440//10 438//10 433//10 -f 438//10 439//10 432//10 -f 441//10 440//10 437//10 -f 444//8 445//8 443//8 -f 444//13 442//13 438//13 -f 445//9 444//9 440//9 -f 442//7 443//7 439//7 -f 447//8 446//8 448//8 -f 450//10 451//10 449//10 -f 453//8 452//8 454//8 -f 456//10 457//10 455//10 -f 34//7 36//7 33//7 -f 36//8 40//8 35//8 -f 40//9 38//9 39//9 -f 38//10 34//10 37//10 -f 33//11 35//11 37//11 -f 41//12 34//12 48//12 -f 38//12 44//12 48//12 -f 46//13 42//13 88//13 -f 43//14 40//14 46//14 -f 36//14 42//14 46//14 -f 44//15 38//15 47//15 -f 40//15 43//15 47//15 -f 42//16 36//16 45//16 -f 34//16 41//16 45//16 -f 41//13 48//13 147//13 -f 53//7 49//7 80//7 -f 48//7 52//7 80//7 -f 43//13 46//13 83//13 -f 51//9 44//9 78//9 -f 47//9 50//9 78//9 -f 50//8 47//8 79//8 -f 49//8 53//8 79//8 -f 52//10 48//10 81//10 -f 44//10 51//10 81//10 -f 54//17 55//17 56//17 -f 56//18 57//18 58//18 -f 58//19 59//19 60//19 -f 60//20 61//20 62//20 -f 62//21 63//21 64//21 -f 64//22 65//22 66//22 -f 66//23 67//23 68//23 -f 68//24 69//24 70//24 -f 70//25 71//25 72//25 -f 72//26 73//26 74//26 -f 73//11 71//11 119//11 -f 76//27 77//27 54//27 -f 74//28 75//28 76//28 -f 66//13 81//13 64//13 -f 52//13 81//13 68//13 -f 72//13 80//13 70//13 -f 72//13 74//13 80//13 -f 54//13 79//13 76//13 -f 54//13 56//13 79//13 -f 51//13 78//13 62//13 -f 60//13 78//13 58//13 -f 85//10 84//10 93//10 -f 47//13 43//13 84//13 -f 46//13 49//13 82//13 -f 49//13 47//13 85//13 -f 86//10 89//10 101//10 -f 45//13 49//13 86//13 -f 49//13 46//13 89//13 -f 42//13 45//13 87//13 -f 90//13 93//13 94//13 -f 83//8 82//8 91//8 -f 82//7 85//7 90//7 -f 84//9 83//9 92//9 -f 97//10 96//10 109//10 -f 92//13 91//13 96//13 -f 93//13 92//13 97//13 -f 91//13 90//13 95//13 -f 88//8 87//8 99//8 -f 89//9 88//9 98//9 -f 87//7 86//7 100//7 -f 100//13 101//13 137//13 -f 108//29 107//29 103//29 -f 105//30 106//30 198//30 -f 109//30 102//30 203//30 -f 203//30 202//30 109//30 -f 201//30 200//30 106//30 -f 199//30 198//30 106//30 -f 106//30 200//30 199//30 -f 202//30 201//30 109//30 -f 95//8 94//8 107//8 -f 94//7 97//7 106//7 -f 96//9 95//9 108//9 -f 107//31 106//31 104//31 -f 104//13 105//13 198//13 -f 198//13 199//13 104//13 -f 200//13 201//13 224//13 -f 202//13 203//13 226//13 -f 102//13 227//13 203//13 -f 226//13 225//13 202//13 -f 224//13 223//13 104//13 -f 222//13 103//13 104//13 -f 104//13 199//13 200//13 -f 201//13 225//13 224//13 -f 227//13 226//13 203//13 -f 223//13 222//13 104//13 -f 104//13 200//13 224//13 -f 102//32 109//32 227//32 -f 108//32 103//32 222//32 -f 222//32 223//32 108//32 -f 224//32 225//32 109//32 -f 226//32 227//32 109//32 -f 108//32 223//32 224//32 -f 226//32 109//32 225//32 -f 114//20 113//20 126//20 -f 71//11 69//11 118//11 -f 69//11 67//11 117//11 -f 67//11 65//11 116//11 -f 65//11 63//11 115//11 -f 63//11 61//11 114//11 -f 55//11 77//11 111//11 -f 57//11 55//11 110//11 -f 61//11 59//11 113//11 -f 121//11 77//11 120//11 -f 59//11 57//11 112//11 -f 75//11 73//11 120//11 -f 124//13 122//13 132//13 -f 123//13 133//13 132//13 -f 132//13 131//13 130//13 -f 130//13 129//13 128//13 -f 128//13 127//13 126//13 -f 126//13 125//13 124//13 -f 122//13 123//13 132//13 -f 132//13 130//13 124//13 -f 128//13 126//13 124//13 -f 121//28 120//28 133//28 -f 110//17 111//17 122//17 -f 118//24 117//24 130//24 -f 115//21 114//21 127//21 -f 111//27 121//27 123//27 -f 112//18 110//18 124//18 -f 119//25 118//25 131//25 -f 116//22 115//22 128//22 -f 113//19 112//19 125//19 -f 120//26 119//26 132//26 -f 117//23 116//23 129//23 -f 137//7 136//7 141//7 -f 101//13 98//13 136//13 -f 99//13 100//13 134//13 -f 98//13 99//13 135//13 -f 138//31 141//31 142//31 -f 136//10 135//10 140//10 -f 134//8 137//8 138//8 -f 135//9 134//9 139//9 -f 144//13 143//13 209//13 -f 209//13 208//13 144//13 -f 207//13 206//13 145//13 -f 205//13 204//13 145//13 -f 142//13 145//13 204//13 -f 144//13 208//13 207//13 -f 206//13 205//13 145//13 -f 143//29 139//29 209//29 -f 138//29 142//29 204//29 -f 204//29 205//29 138//29 -f 206//29 207//29 139//29 -f 208//29 209//29 139//29 -f 139//29 207//29 208//29 -f 205//29 206//29 138//29 -f 141//30 140//30 145//30 -f 140//32 139//32 144//32 -f 146//9 149//9 150//9 -f 48//13 49//13 146//13 -f 149//13 49//13 148//13 -f 45//13 41//13 148//13 -f 157//8 153//8 156//8 -f 148//7 147//7 152//7 -f 149//8 148//8 153//8 -f 147//10 146//10 151//10 -f 155//13 154//13 167//13 -f 167//13 166//13 155//13 -f 165//13 164//13 155//13 -f 163//13 162//13 156//13 -f 161//13 160//13 156//13 -f 159//13 158//13 156//13 -f 157//13 156//13 158//13 -f 155//13 166//13 165//13 -f 164//13 163//13 155//13 -f 160//13 159//13 156//13 -f 156//13 155//13 163//13 -f 151//10 150//10 155//10 -f 154//9 150//9 167//9 -f 153//9 157//9 158//9 -f 158//9 159//9 153//9 -f 160//9 161//9 153//9 -f 162//9 163//9 150//9 -f 164//9 165//9 150//9 -f 166//9 167//9 150//9 -f 153//9 159//9 160//9 -f 166//9 150//9 165//9 -f 163//9 164//9 150//9 -f 153//9 161//9 162//9 -f 152//33 151//33 156//33 -f 168//7 158//7 169//7 -f 169//16 179//16 168//16 -f 170//7 160//7 171//7 -f 173//7 172//7 163//7 -f 175//7 174//7 165//7 -f 177//7 176//7 167//7 -f 177//16 187//16 176//16 -f 175//16 185//16 174//16 -f 173//16 183//16 172//16 -f 171//16 181//16 170//16 -f 179//13 189//13 178//13 -f 181//13 191//13 180//13 -f 183//13 193//13 182//13 -f 185//13 195//13 184//13 -f 187//13 197//13 186//13 -f 209//34 208//34 221//34 -f 207//34 206//34 219//34 -f 205//34 204//34 217//34 -f 211//35 217//35 210//35 -f 213//35 219//35 212//35 -f 215//35 221//35 214//35 -f 202//36 214//36 203//36 -f 200//36 212//36 201//36 -f 198//36 210//36 199//36 -f 233//14 239//14 232//14 -f 231//14 237//14 230//14 -f 229//14 235//14 228//14 -f 229//8 228//8 223//8 -f 231//8 230//8 225//8 -f 233//8 232//8 227//8 -f 239//13 245//13 238//13 -f 237//13 243//13 236//13 -f 235//13 241//13 234//13 -f 270//37 271//37 272//37 -f 246//38 247//38 248//38 -f 262//39 251//39 276//39 -f 270//40 272//40 259//40 -f 248//41 249//41 250//41 -f 249//42 247//42 276//42 -f 264//43 265//43 266//43 -f 250//44 251//44 252//44 -f 268//45 269//45 270//45 -f 252//46 253//46 254//46 -f 254//47 255//47 256//47 -f 272//48 274//48 261//48 -f 262//49 263//49 264//49 -f 256//50 257//50 258//50 -f 259//51 257//51 270//51 -f 260//52 261//52 246//52 -f 258//53 259//53 260//53 -f 266//54 267//54 268//54 -f 272//55 273//55 274//55 -f 276//56 277//56 262//56 -f 253//57 251//57 264//57 -f 274//58 275//58 276//58 -f 266//59 268//59 255//59 -f 255//60 253//60 266//60 -f 302//37 303//37 304//37 -f 278//38 279//38 280//38 -f 294//39 283//39 308//39 -f 302//40 304//40 291//40 -f 280//41 281//41 282//41 -f 281//42 279//42 308//42 -f 296//43 297//43 298//43 -f 282//44 283//44 284//44 -f 300//45 301//45 302//45 -f 284//46 285//46 286//46 -f 286//47 287//47 288//47 -f 304//48 306//48 293//48 -f 294//49 295//49 296//49 -f 288//50 289//50 290//50 -f 291//51 289//51 302//51 -f 292//52 293//52 278//52 -f 290//53 291//53 292//53 -f 298//54 299//54 300//54 -f 304//55 305//55 306//55 -f 308//56 309//56 294//56 -f 285//57 283//57 296//57 -f 306//58 307//58 308//58 -f 287//59 298//59 289//59 -f 287//60 285//60 298//60 -f 334//37 335//37 336//37 -f 310//38 311//38 312//38 -f 326//39 315//39 340//39 -f 334//40 336//40 323//40 -f 312//41 313//41 314//41 -f 313//42 311//42 340//42 -f 328//43 329//43 330//43 -f 314//44 315//44 316//44 -f 332//45 333//45 334//45 -f 316//46 317//46 318//46 -f 318//47 319//47 320//47 -f 336//48 338//48 325//48 -f 326//49 327//49 328//49 -f 320//50 321//50 322//50 -f 334//51 323//51 332//51 -f 324//52 325//52 310//52 -f 322//53 323//53 324//53 -f 330//54 331//54 332//54 -f 336//55 337//55 338//55 -f 340//56 341//56 326//56 -f 317//57 315//57 328//57 -f 340//58 338//58 341//58 -f 319//59 330//59 321//59 -f 330//60 319//60 328//60 -f 343//7 345//7 342//7 -f 350//8 349//8 351//8 -f 346//9 348//9 357//9 -f 352//61 343//61 353//61 -f 353//11 351//11 346//11 -f 352//62 350//62 343//62 -f 347//13 349//13 352//13 -f 342//63 344//63 353//63 -f 347//10 352//10 346//10 -f 345//64 350//64 344//64 -f 356//65 357//65 360//65 -f 349//9 347//9 354//9 -f 348//9 349//9 355//9 -f 347//9 346//9 356//9 -f 358//9 360//9 359//9 -f 355//66 354//66 359//66 -f 357//67 355//67 361//67 -f 354//68 356//68 358//68 -f 363//9 362//9 365//9 -f 370//8 371//8 369//8 -f 366//7 377//7 368//7 -f 372//69 373//69 363//69 -f 373//11 366//11 371//11 -f 372//70 363//70 370//70 -f 367//13 372//13 369//13 -f 362//71 373//71 364//71 -f 367//10 366//10 372//10 -f 365//72 364//72 370//72 -f 376//73 380//73 377//73 -f 369//7 374//7 367//7 -f 368//7 375//7 369//7 -f 367//7 376//7 366//7 -f 378//7 379//7 380//7 -f 375//74 379//74 374//74 -f 377//75 381//75 375//75 -f 374//76 378//76 376//76 -f 389//9 388//9 383//9 -f 384//8 388//8 391//8 -f 384//7 385//7 386//7 -f 385//13 389//13 387//13 -f 388//11 384//11 382//11 -f 387//8 383//8 386//8 -f 391//11 393//11 395//11 -f 389//8 385//8 392//8 -f 385//8 384//8 390//8 -f 388//8 389//8 393//8 -f 394//10 395//10 396//10 -f 392//13 390//13 396//13 -f 393//9 392//9 397//9 -f 390//7 391//7 394//7 -f 405//9 404//9 399//9 -f 400//8 404//8 407//8 -f 400//7 401//7 402//7 -f 401//13 405//13 403//13 -f 404//11 400//11 398//11 -f 403//8 399//8 402//8 -f 407//11 409//11 411//11 -f 405//8 401//8 408//8 -f 401//8 400//8 406//8 -f 404//8 405//8 409//8 -f 410//10 411//10 412//10 -f 408//13 406//13 412//13 -f 409//9 408//9 413//9 -f 406//7 407//7 410//7 -f 421//9 415//9 420//9 -f 416//10 423//10 420//10 -f 416//7 418//7 417//7 -f 417//13 419//13 421//13 -f 420//11 414//11 416//11 -f 419//10 418//10 415//10 -f 423//11 427//11 425//11 -f 421//10 424//10 417//10 -f 417//10 422//10 416//10 -f 420//10 425//10 421//10 -f 426//8 428//8 427//8 -f 424//13 428//13 422//13 -f 425//9 429//9 424//9 -f 422//7 426//7 423//7 -f 437//9 431//9 436//9 -f 432//10 439//10 436//10 -f 432//7 434//7 433//7 -f 433//13 435//13 437//13 -f 436//11 430//11 432//11 -f 435//10 434//10 431//10 -f 439//11 443//11 441//11 -f 437//10 440//10 433//10 -f 433//10 438//10 432//10 -f 436//10 441//10 437//10 -f 442//8 444//8 443//8 -f 440//13 444//13 438//13 -f 441//9 445//9 440//9 -f 438//7 442//7 439//7 diff --git a/assets/hbm/models/chemplant_main.obj b/assets/hbm/models/chemplant_main.obj new file mode 100644 index 000000000..90d39843a --- /dev/null +++ b/assets/hbm/models/chemplant_main.obj @@ -0,0 +1,1870 @@ +# Blender v2.76 (sub 0) OBJ File: 'chemplant_main.blend' +# www.blender.org +o Cube_Cube.001 +v -1.500000 0.000000 1.500000 +v -1.500000 0.250000 1.500000 +v -1.500000 0.000000 -1.500000 +v -1.500000 0.250000 -1.500000 +v 1.500000 0.000000 1.500000 +v 1.500000 0.250000 1.500000 +v 1.500000 0.000000 -1.500000 +v 1.500000 0.250000 -1.500000 +v -1.250000 0.500000 1.250000 +v -1.250000 0.500000 -1.250000 +v 1.250000 0.500000 -1.250000 +v 1.250000 0.500000 1.250000 +v -1.250000 0.500000 0.000000 +v 0.000000 0.500000 -1.250000 +v 1.250000 0.500000 0.000000 +v 0.000000 0.500000 1.250000 +v 0.000000 0.500000 0.000000 +v 1.250000 0.750000 0.000000 +v 1.250000 0.750000 1.250000 +v 0.000000 0.750000 1.250000 +v 0.000000 0.750000 0.000000 +v 0.625000 0.750000 0.025000 +v 0.625000 2.750000 0.025000 +v 0.925000 0.750000 0.105385 +v 0.925000 2.750000 0.105385 +v 1.144615 0.750000 0.325000 +v 1.144615 2.750000 0.325000 +v 1.225000 0.750000 0.625000 +v 1.225000 2.750000 0.625000 +v 1.144615 0.750000 0.925000 +v 1.144615 2.750000 0.925000 +v 0.925000 0.750000 1.144615 +v 0.925000 2.750000 1.144615 +v 0.625000 0.750000 1.225000 +v 0.625000 2.750000 1.225000 +v 0.325000 0.750000 1.144615 +v 0.325000 2.750000 1.144615 +v 0.105385 0.750000 0.925000 +v 0.105385 2.750000 0.925000 +v 0.025000 0.750000 0.625000 +v 0.025000 2.750000 0.625000 +v 0.105385 0.750000 0.325000 +v 0.105385 2.750000 0.325000 +v 0.325000 0.750000 0.105385 +v 0.325000 2.750000 0.105385 +v 1.250000 0.750000 0.625000 +v 0.625000 0.750000 0.000000 +v 0.000000 0.750000 0.625000 +v 0.625000 0.750000 1.250000 +v 0.125000 0.500000 -1.125000 +v 1.125000 0.500000 -1.125000 +v 1.125000 0.500000 -0.125000 +v 0.125000 0.500000 -0.125000 +v -1.125000 0.500000 -0.125000 +v -1.125000 0.500000 -1.125000 +v -0.125000 0.500000 -1.125000 +v -0.125000 0.500000 -0.125000 +v 0.125000 0.650000 -1.125000 +v 1.125000 0.650000 -1.125000 +v 1.125000 0.650000 -0.125000 +v 0.125000 0.650000 -0.125000 +v 0.225000 0.650000 -1.025000 +v 1.025000 0.650000 -1.025000 +v 1.025000 0.650000 -0.225000 +v 0.225000 0.650000 -0.225000 +v -0.125000 0.650000 -0.125000 +v -0.125000 0.650000 -1.125000 +v -1.125000 0.650000 -1.125000 +v -1.125000 0.650000 -0.125000 +v 0.425000 2.000000 -0.425000 +v 0.825000 2.000000 -0.425000 +v 0.825000 2.000000 -0.825000 +v 0.425000 2.000000 -0.825000 +v 0.225000 1.850000 -1.025000 +v 1.025000 1.850000 -1.025000 +v 1.025000 1.850000 -0.225000 +v 0.225000 1.850000 -0.225000 +v 1.000000 2.750000 -0.024519 +v 0.625000 2.750000 -0.125000 +v 1.274519 2.750000 0.250000 +v 1.375000 2.750000 0.625000 +v 1.274519 2.750000 1.000000 +v 1.000000 2.750000 1.274519 +v 0.625000 2.750000 1.375000 +v 0.250000 2.750000 1.274519 +v -0.024519 2.750000 1.000000 +v -0.125000 2.750000 0.625000 +v -0.024519 2.750000 0.250000 +v 0.250000 2.750000 -0.024519 +v 1.000000 3.000000 -0.024519 +v 0.625000 3.000000 -0.125000 +v 1.274519 3.000000 0.250000 +v 1.375000 3.000000 0.625000 +v 1.274519 3.000000 1.000000 +v 1.000000 3.000000 1.274519 +v 0.625000 3.000000 1.375000 +v 0.250000 3.000000 1.274519 +v -0.024519 3.000000 1.000000 +v -0.125000 3.000000 0.625000 +v -0.024519 3.000000 0.250000 +v 0.250000 3.000000 -0.024519 +v -0.225000 0.650000 -1.025000 +v -0.225000 0.650000 -0.225000 +v -1.025000 0.650000 -0.225000 +v -1.025000 0.650000 -1.025000 +v -0.225000 1.850000 -1.025000 +v -0.225000 1.850000 -0.225000 +v -1.025000 1.850000 -0.225000 +v -1.025000 1.850000 -1.025000 +v -0.425000 2.000000 -0.825000 +v -0.425000 2.000000 -0.425000 +v -0.825000 2.000000 -0.425000 +v -0.825000 2.000000 -0.825000 +v -0.125000 0.500000 0.975000 +v -0.475000 0.500000 0.975000 +v -0.475000 0.500000 0.275000 +v -0.125000 0.500000 0.275000 +v -0.125000 1.250000 0.975000 +v -0.475000 1.250000 0.975000 +v -0.475000 1.250000 0.275000 +v -0.125000 1.250000 0.275000 +v -0.125000 1.500000 0.975000 +v -0.300000 1.500000 0.975000 +v -0.300000 1.500000 0.275000 +v -0.125000 1.500000 0.275000 +v -0.125000 1.500000 0.338636 +v -0.125000 1.500000 0.402273 +v -0.125000 1.500000 0.465909 +v -0.125000 1.500000 0.529545 +v -0.125000 1.500000 0.593182 +v -0.125000 1.500000 0.656818 +v -0.125000 1.500000 0.720455 +v -0.125000 1.500000 0.784091 +v -0.125000 1.500000 0.847727 +v -0.125000 1.500000 0.911364 +v -0.125000 1.650000 0.338636 +v -0.125000 1.650000 0.402273 +v -0.125000 1.650000 0.465909 +v -0.125000 1.650000 0.529545 +v -0.125000 1.650000 0.593182 +v -0.125000 1.650000 0.656818 +v -0.125000 1.650000 0.720455 +v -0.125000 1.650000 0.784091 +v -0.125000 1.650000 0.847727 +v -0.125000 1.650000 0.911364 +v -0.025000 1.750000 0.338636 +v -0.025000 1.750000 0.402273 +v -0.025000 1.750000 0.465909 +v -0.025000 1.750000 0.529545 +v -0.025000 1.750000 0.593182 +v -0.025000 1.750000 0.656818 +v -0.025000 1.750000 0.720455 +v -0.025000 1.750000 0.784091 +v -0.025000 1.750000 0.847727 +v -0.025000 1.750000 0.911364 +v 0.125000 1.750000 0.338636 +v 0.125000 1.750000 0.402273 +v 0.125000 1.750000 0.465909 +v 0.125000 1.750000 0.529545 +v 0.125000 1.750000 0.593182 +v 0.125000 1.750000 0.656818 +v 0.125000 1.750000 0.720455 +v 0.125000 1.750000 0.784091 +v 0.125000 1.750000 0.847727 +v 0.125000 1.750000 0.911364 +v 0.482143 2.771048 -0.425000 +v 0.539286 2.771048 -0.425000 +v 0.596429 2.771048 -0.425000 +v 0.653571 2.771048 -0.425000 +v 0.710714 2.771048 -0.425000 +v 0.767857 2.771048 -0.425000 +v 0.482143 2.000000 -0.425000 +v 0.539286 2.000000 -0.425000 +v 0.596429 2.000000 -0.425000 +v 0.653571 2.000000 -0.425000 +v 0.710714 2.000000 -0.425000 +v 0.767857 2.000000 -0.425000 +v 0.482143 2.871047 -0.075000 +v 0.539286 2.871047 -0.075000 +v 0.596429 2.871047 -0.075000 +v 0.653571 2.871047 -0.075000 +v 0.710714 2.871047 -0.075000 +v 0.767857 2.871047 -0.075000 +v 0.482143 2.871047 -0.325000 +v 0.539286 2.871047 -0.325000 +v 0.596429 2.871047 -0.325000 +v 0.653571 2.871047 -0.325000 +v 0.710714 2.871047 -0.325000 +v 0.767857 2.871047 -0.325000 +v -0.850000 1.200000 -0.250000 +v -0.850000 1.200000 0.350000 +v -0.814645 1.185355 -0.250000 +v -0.814645 1.185355 0.350000 +v -0.800000 1.150000 -0.250000 +v -0.800000 1.150000 0.350000 +v -0.814645 1.114645 -0.250000 +v -0.814645 1.114645 0.350000 +v -0.850000 1.100000 -0.250000 +v -0.850000 1.100000 0.350000 +v -0.885355 1.114645 -0.250000 +v -0.885355 1.114645 0.350000 +v -0.900000 1.150000 -0.250000 +v -0.900000 1.150000 0.350000 +v -0.885355 1.185355 -0.250000 +v -0.885355 1.185355 0.350000 +v -0.750000 1.150000 0.400000 +v -0.450000 1.150000 0.400000 +v -0.750000 1.114645 0.414645 +v -0.450000 1.114645 0.414645 +v -0.750000 1.100000 0.450000 +v -0.450000 1.100000 0.450000 +v -0.750000 1.114645 0.485355 +v -0.450000 1.114645 0.485355 +v -0.750000 1.150000 0.500000 +v -0.450000 1.150000 0.500000 +v -0.750000 1.185355 0.485355 +v -0.450000 1.185355 0.485355 +v -0.750000 1.200000 0.450000 +v -0.450000 1.200000 0.450000 +v -0.750000 1.185355 0.414645 +v -0.450000 1.185355 0.414645 +v -0.850000 1.000000 -0.250000 +v -0.850000 1.000000 0.350000 +v -0.814645 0.985355 -0.250000 +v -0.814645 0.985355 0.350000 +v -0.800000 0.950000 -0.250000 +v -0.800000 0.950000 0.350000 +v -0.814645 0.914645 -0.250000 +v -0.814645 0.914645 0.350000 +v -0.850000 0.900000 -0.250000 +v -0.850000 0.900000 0.350000 +v -0.885355 0.914645 -0.250000 +v -0.885355 0.914645 0.350000 +v -0.900000 0.950000 -0.250000 +v -0.900000 0.950000 0.350000 +v -0.885355 0.985355 -0.250000 +v -0.885355 0.985355 0.350000 +v -0.750000 0.950000 0.400000 +v -0.450000 0.950000 0.400000 +v -0.750000 0.914645 0.414645 +v -0.450000 0.914645 0.414645 +v -0.750000 0.900000 0.450000 +v -0.450000 0.900000 0.450000 +v -0.750000 0.914645 0.485355 +v -0.450000 0.914645 0.485355 +v -0.750000 0.950000 0.500000 +v -0.450000 0.950000 0.500000 +v -0.750000 0.985355 0.485355 +v -0.450000 0.985355 0.485355 +v -0.750000 1.000000 0.450000 +v -0.450000 1.000000 0.450000 +v -0.750000 0.985355 0.414645 +v -0.450000 0.985355 0.414645 +v -0.850000 0.800000 -0.250000 +v -0.850000 0.800000 0.350000 +v -0.814645 0.785355 -0.250000 +v -0.814645 0.785355 0.350000 +v -0.800000 0.750000 -0.250000 +v -0.800000 0.750000 0.350000 +v -0.814645 0.714645 -0.250000 +v -0.814645 0.714645 0.350000 +v -0.850000 0.700000 -0.250000 +v -0.850000 0.700000 0.350000 +v -0.885355 0.714645 -0.250000 +v -0.885355 0.714645 0.350000 +v -0.900000 0.750000 -0.250000 +v -0.900000 0.750000 0.350000 +v -0.885355 0.785355 -0.250000 +v -0.885355 0.785355 0.350000 +v -0.750000 0.750000 0.400000 +v -0.450000 0.750000 0.400000 +v -0.750000 0.714645 0.414645 +v -0.450000 0.714645 0.414645 +v -0.750000 0.700000 0.450000 +v -0.450000 0.700000 0.450000 +v -0.750000 0.714645 0.485355 +v -0.450000 0.714645 0.485355 +v -0.750000 0.750000 0.500000 +v -0.450000 0.750000 0.500000 +v -0.750000 0.785355 0.485355 +v -0.450000 0.785355 0.485355 +v -0.750000 0.800000 0.450000 +v -0.450000 0.800000 0.450000 +v -0.750000 0.785355 0.414645 +v -0.450000 0.785355 0.414645 +v 1.000000 0.250000 -0.250000 +v 1.000000 0.750000 -0.250000 +v 1.000000 0.250000 -0.750000 +v 1.000000 0.750000 -0.750000 +v 2.000000 0.000000 0.000000 +v 2.000000 1.000000 0.000000 +v 2.000000 0.000000 -1.000000 +v 2.000000 1.000000 -1.000000 +v 1.500000 1.000000 -1.000000 +v 1.500000 0.000000 -1.000000 +v 1.500000 1.000000 0.000000 +v 1.500000 0.000000 0.000000 +v 2.000000 0.875000 -0.875000 +v 2.000000 0.125000 -0.875000 +v 2.000000 0.875000 -0.125000 +v 2.000000 0.125000 -0.125000 +v 1.500000 0.687500 -0.687500 +v 1.500000 0.312500 -0.687500 +v 1.500000 0.687500 -0.312500 +v 1.500000 0.312500 -0.312500 +v -1.000000 0.250000 0.750000 +v -1.000000 0.750000 0.750000 +v -1.000000 0.250000 0.250000 +v -1.000000 0.750000 0.250000 +v -2.000000 0.000000 1.000000 +v -2.000000 1.000000 1.000000 +v -2.000000 0.000000 0.000000 +v -2.000000 1.000000 0.000000 +v -1.500000 1.000000 0.000000 +v -1.500000 0.000000 0.000000 +v -1.500000 1.000000 1.000000 +v -1.500000 0.000000 1.000000 +v -2.000000 0.875000 0.125000 +v -2.000000 0.125000 0.125000 +v -2.000000 0.875000 0.875000 +v -2.000000 0.125000 0.875000 +v -1.500000 0.687500 0.312500 +v -1.500000 0.312500 0.312500 +v -1.500000 0.687500 0.687500 +v -1.500000 0.312500 0.687500 +v 0.656250 0.343750 -2.000000 +v 0.656250 0.656250 -2.000000 +v 0.343750 0.343750 -1.150000 +v 0.343750 0.656250 -1.150000 +v 0.343750 0.343750 -2.000000 +v 0.343750 0.656250 -2.000000 +v 0.656250 0.343750 -1.150000 +v 0.656250 0.656250 -1.150000 +v 0.328125 0.671875 -1.150000 +v 0.328125 0.328125 -1.150000 +v 0.671875 0.671875 -1.150000 +v 0.671875 0.328125 -1.150000 +v 0.328125 0.671875 -1.000000 +v 0.328125 0.328125 -1.000000 +v 0.671875 0.671875 -1.000000 +v 0.671875 0.328125 -1.000000 +v -0.343750 0.343750 -2.000000 +v -0.343750 0.656250 -2.000000 +v -0.656250 0.343750 -1.150000 +v -0.656250 0.656250 -1.150000 +v -0.656250 0.343750 -2.000000 +v -0.656250 0.656250 -2.000000 +v -0.343750 0.343750 -1.150000 +v -0.343750 0.656250 -1.150000 +v -0.671875 0.671875 -1.150000 +v -0.671875 0.328125 -1.150000 +v -0.328125 0.671875 -1.150000 +v -0.328125 0.328125 -1.150000 +v -0.671875 0.671875 -1.000000 +v -0.671875 0.328125 -1.000000 +v -0.328125 0.671875 -1.000000 +v -0.328125 0.328125 -1.000000 +v -0.343750 0.343750 2.000000 +v -0.343750 0.656250 2.000000 +v -0.656250 0.343750 1.150000 +v -0.656250 0.656250 1.150000 +v -0.656250 0.343750 2.000000 +v -0.656250 0.656250 2.000000 +v -0.343750 0.343750 1.150000 +v -0.343750 0.656250 1.150000 +v -0.671875 0.671875 1.150000 +v -0.671875 0.328125 1.150000 +v -0.328125 0.671875 1.150000 +v -0.328125 0.328125 1.150000 +v -0.671875 0.671875 1.000000 +v -0.671875 0.328125 1.000000 +v -0.328125 0.671875 1.000000 +v -0.328125 0.328125 1.000000 +v 0.656250 0.343750 2.000000 +v 0.656250 0.656250 2.000000 +v 0.343750 0.343750 1.150000 +v 0.343750 0.656250 1.150000 +v 0.343750 0.343750 2.000000 +v 0.343750 0.656250 2.000000 +v 0.656250 0.343750 1.150000 +v 0.656250 0.656250 1.150000 +v 0.328125 0.671875 1.150000 +v 0.328125 0.328125 1.150000 +v 0.671875 0.671875 1.150000 +v 0.671875 0.328125 1.150000 +v 0.328125 0.671875 1.000000 +v 0.328125 0.328125 1.000000 +v 0.671875 0.671875 1.000000 +v 0.671875 0.328125 1.000000 +v 1.916667 0.250000 -1.100000 +v 1.916667 0.750000 -1.100000 +v 1.666667 0.500000 -1.100000 +v 1.916667 0.250000 0.100000 +v 1.916667 0.750000 0.100000 +v 1.666667 0.500000 0.100000 +v -1.583333 0.250000 -0.100000 +v -1.583333 0.750000 -0.100000 +v -1.833333 0.500000 -0.100000 +v -1.583333 0.250000 1.100000 +v -1.583333 0.750000 1.100000 +v -1.833333 0.500000 1.100000 +v 0.425000 2.000000 -0.767857 +v 0.425000 2.000000 -0.710714 +v 0.425000 2.000000 -0.653571 +v 0.425000 2.000000 -0.596429 +v 0.425000 2.000000 -0.539286 +v 0.425000 2.000000 -0.482143 +v -0.425000 2.000000 -0.767857 +v -0.425000 2.000000 -0.710714 +v -0.425000 2.000000 -0.653571 +v -0.425000 2.000000 -0.596429 +v -0.425000 2.000000 -0.539286 +v -0.425000 2.000000 -0.482143 +v 0.325000 2.121195 -0.749805 +v 0.325000 2.121195 -0.692662 +v 0.325000 2.121195 -0.635520 +v 0.325000 2.121195 -0.578377 +v 0.325000 2.121195 -0.521234 +v 0.325000 2.121195 -0.464091 +v -0.325000 2.100000 -0.767857 +v -0.325000 2.100000 -0.710714 +v -0.325000 2.100000 -0.653571 +v -0.325000 2.100000 -0.596429 +v -0.325000 2.100000 -0.539286 +v -0.325000 2.100000 -0.482143 +vt 0.490762 0.926709 +vt 0.490762 0.946350 +vt 0.255070 0.946350 +vt 0.985607 0.945886 +vt 0.985607 0.965527 +vt 0.749916 0.965527 +vt 0.757849 0.713691 +vt 0.757849 0.694050 +vt 0.993541 0.694050 +vt 0.597494 0.251404 +vt 0.597495 0.231763 +vt 0.833186 0.231763 +vt 0.006459 0.317921 +vt 0.242151 0.317921 +vt 0.242151 0.553613 +vt 0.833186 0.251404 +vt 0.715341 0.279181 +vt 0.006459 0.762941 +vt 0.016280 0.753121 +vt 0.094844 0.753121 +vt 0.749916 0.945886 +vt 0.867761 0.918110 +vt 0.993541 0.713691 +vt 0.875695 0.741468 +vt 0.255070 0.926709 +vt 0.372916 0.898933 +vt 0.104664 0.566532 +vt 0.094844 0.588137 +vt 0.067346 0.588137 +vt 0.895627 0.431077 +vt 0.875987 0.381974 +vt 0.895627 0.332872 +vt 0.104664 0.762941 +vt 0.114485 0.753121 +vt 0.193049 0.753121 +vt 0.758141 0.332872 +vt 0.777782 0.381974 +vt 0.758141 0.431077 +vt 0.875987 0.313231 +vt 0.826884 0.332872 +vt 0.777782 0.313231 +vt 0.777782 0.450718 +vt 0.826884 0.431077 +vt 0.875987 0.450718 +vt 0.547877 0.688960 +vt 0.523477 0.688960 +vt 0.523476 0.531833 +vt 0.499076 0.688960 +vt 0.499076 0.531833 +vt 0.474675 0.688961 +vt 0.474675 0.531833 +vt 0.450275 0.688961 +vt 0.450275 0.531833 +vt 0.425874 0.688961 +vt 0.425874 0.531833 +vt 0.401474 0.688961 +vt 0.401473 0.531833 +vt 0.377073 0.688961 +vt 0.377073 0.531833 +vt 0.352672 0.688961 +vt 0.352672 0.531833 +vt 0.328272 0.688961 +vt 0.328272 0.531833 +vt 0.303871 0.688961 +vt 0.303871 0.531833 +vt 0.578087 0.897548 +vt 0.583979 0.887342 +vt 0.605547 0.908909 +vt 0.279471 0.688961 +vt 0.255070 0.688961 +vt 0.255070 0.531833 +vt 0.279471 0.531833 +vt 0.777782 0.431077 +vt 0.803315 0.422797 +vt 0.826884 0.429113 +vt 0.850453 0.422797 +vt 0.867707 0.405544 +vt 0.875987 0.431077 +vt 0.867707 0.358405 +vt 0.875987 0.332872 +vt 0.850453 0.341151 +vt 0.803315 0.341151 +vt 0.777782 0.332872 +vt 0.786061 0.405544 +vt 0.779746 0.381974 +vt 0.786061 0.358405 +vt 0.116449 0.305002 +vt 0.116449 0.293218 +vt 0.195013 0.293218 +vt 0.202869 0.762941 +vt 0.193049 0.674557 +vt 0.104664 0.664736 +vt 0.114485 0.674557 +vt 0.202869 0.664736 +vt 0.373474 0.006460 +vt 0.381807 0.014793 +vt 0.326254 0.070346 +vt 0.094844 0.674557 +vt 0.016280 0.674557 +vt 0.006459 0.664736 +vt 0.293218 0.195013 +vt 0.285361 0.187156 +vt 0.285361 0.124305 +vt 0.195013 0.006459 +vt 0.195013 0.018244 +vt 0.116449 0.018244 +vt 0.305002 0.195013 +vt 0.293218 0.116449 +vt 0.006459 0.116449 +vt 0.018244 0.116449 +vt 0.018244 0.195013 +vt 0.124305 0.285361 +vt 0.124305 0.191085 +vt 0.187156 0.191085 +vt 0.026100 0.124305 +vt 0.026100 0.187156 +vt 0.187156 0.285361 +vt 0.187156 0.026100 +vt 0.124305 0.026100 +vt 0.529023 0.273114 +vt 0.520690 0.264781 +vt 0.576243 0.209228 +vt 0.584576 0.062012 +vt 0.576243 0.070345 +vt 0.520690 0.014792 +vt 0.317921 0.217561 +vt 0.326254 0.209228 +vt 0.381807 0.264781 +vt 0.337365 0.209228 +vt 0.381807 0.253671 +vt 0.120377 0.124305 +vt 0.140018 0.140018 +vt 0.140018 0.171444 +vt 0.191084 0.187156 +vt 0.171444 0.171444 +vt 0.171444 0.140018 +vt 0.187156 0.120377 +vt 0.124305 0.120377 +vt 0.191084 0.124305 +vt 0.120377 0.187156 +vt 0.473470 0.139787 +vt 0.451248 0.117566 +vt 0.454026 0.092567 +vt 0.683441 0.773992 +vt 0.678358 0.792964 +vt 0.648896 0.785069 +vt 0.560796 0.854968 +vt 0.571002 0.849076 +vt 0.578896 0.878537 +vt 0.567111 0.809447 +vt 0.578896 0.809447 +vt 0.571002 0.838909 +vt 0.595341 0.773183 +vt 0.605547 0.779075 +vt 0.583979 0.800643 +vt 0.637921 0.755892 +vt 0.643813 0.766098 +vt 0.614351 0.773992 +vt 0.683441 0.762207 +vt 0.653980 0.766098 +vt 0.702452 0.914802 +vt 0.692246 0.908909 +vt 0.713813 0.887342 +vt 0.730681 0.878537 +vt 0.718897 0.878537 +vt 0.726791 0.849076 +vt 0.719706 0.790437 +vt 0.713813 0.800643 +vt 0.692246 0.779075 +vt 0.683441 0.925777 +vt 0.659872 0.932093 +vt 0.653980 0.921887 +vt 0.736997 0.833017 +vt 0.726791 0.838909 +vt 0.718897 0.809448 +vt 0.614351 0.925777 +vt 0.614351 0.913993 +vt 0.643813 0.921887 +vt 0.597868 0.873454 +vt 0.597868 0.814531 +vt 0.699925 0.814531 +vt 0.648896 0.902915 +vt 0.678358 0.895021 +vt 0.699925 0.873454 +vt 0.707819 0.843992 +vt 0.589973 0.843992 +vt 0.619435 0.792964 +vt 0.619435 0.895021 +vt 0.404028 0.142564 +vt 0.448471 0.187007 +vt 0.381807 0.025903 +vt 0.337365 0.070346 +vt 0.520690 0.253670 +vt 0.565132 0.209228 +vt 0.565132 0.070345 +vt 0.520690 0.025903 +vt 0.454026 0.187007 +vt 0.451248 0.162008 +vt 0.448471 0.092567 +vt 0.404028 0.137009 +vt 0.498468 0.142564 +vt 0.498468 0.137009 +vt 0.429027 0.139787 +vt 0.772654 0.139975 +vt 0.713797 0.139968 +vt 0.713803 0.085034 +vt 0.094844 0.643131 +vt 0.067346 0.643131 +vt 0.006459 0.566532 +vt 0.694377 0.159597 +vt 0.666844 0.159844 +vt 0.680434 0.140054 +vt 0.597494 0.085032 +vt 0.656447 0.085032 +vt 0.656447 0.140054 +vt 0.667374 0.218844 +vt 0.694185 0.006460 +vt 0.694184 0.065389 +vt 0.666684 0.065389 +vt 0.694193 0.115020 +vt 0.694197 0.120017 +vt 0.694184 0.085032 +vt 0.680434 0.085032 +vt 0.597494 0.297099 +vt 0.597494 0.292100 +vt 0.609279 0.292100 +vt 0.620390 0.292100 +vt 0.620390 0.297099 +vt 0.609279 0.297099 +vt 0.645093 0.297099 +vt 0.645093 0.292100 +vt 0.656878 0.292100 +vt 0.233196 0.730162 +vt 0.233196 0.718377 +vt 0.238196 0.718377 +vt 0.188875 0.787645 +vt 0.188875 0.775860 +vt 0.193875 0.775860 +vt 0.233196 0.682563 +vt 0.233196 0.670778 +vt 0.238196 0.670778 +vt 0.238196 0.693674 +vt 0.233196 0.693673 +vt 0.193875 0.798755 +vt 0.188875 0.798755 +vt 0.238196 0.741272 +vt 0.233196 0.741272 +vt 0.667988 0.292100 +vt 0.667988 0.297099 +vt 0.656878 0.297099 +vt 0.632174 0.292100 +vt 0.632174 0.297099 +vt 0.679773 0.292100 +vt 0.679773 0.297099 +vt 0.238196 0.753057 +vt 0.233196 0.753057 +vt 0.193875 0.810540 +vt 0.188875 0.810540 +vt 0.238196 0.705458 +vt 0.233196 0.705458 +vt 0.220277 0.762106 +vt 0.215788 0.762106 +vt 0.215788 0.742465 +vt 0.237686 0.657860 +vt 0.233196 0.657860 +vt 0.233196 0.638219 +vt 0.220277 0.657860 +vt 0.215788 0.657860 +vt 0.215788 0.638219 +vt 0.215788 0.627108 +vt 0.215788 0.566532 +vt 0.220277 0.566532 +vt 0.233196 0.627108 +vt 0.233196 0.566532 +vt 0.237686 0.566532 +vt 0.215788 0.731355 +vt 0.215788 0.670778 +vt 0.220277 0.670778 +vt 0.220277 0.742465 +vt 0.237686 0.638219 +vt 0.220277 0.638219 +vt 0.814270 0.481676 +vt 0.814270 0.484682 +vt 0.790701 0.484682 +vt 0.452123 0.725932 +vt 0.452123 0.722925 +vt 0.499261 0.722925 +vt 0.231300 0.817551 +vt 0.234194 0.816738 +vt 0.234194 0.823920 +vt 0.218064 0.827849 +vt 0.218064 0.812810 +vt 0.220959 0.811996 +vt 0.452123 0.719919 +vt 0.499261 0.719919 +vt 0.236470 0.814774 +vt 0.236470 0.825884 +vt 0.814270 0.472656 +vt 0.814270 0.475663 +vt 0.790701 0.475663 +vt 0.452123 0.716912 +vt 0.499261 0.716912 +vt 0.814270 0.478669 +vt 0.790701 0.481676 +vt 0.452123 0.713906 +vt 0.499261 0.713906 +vt 0.452123 0.710899 +vt 0.499261 0.710899 +vt 0.215788 0.825884 +vt 0.215788 0.814774 +vt 0.814270 0.469650 +vt 0.790701 0.472656 +vt 0.452123 0.707893 +vt 0.499261 0.707893 +vt 0.223853 0.812810 +vt 0.223853 0.827849 +vt 0.220959 0.828662 +vt 0.452123 0.704886 +vt 0.452123 0.701880 +vt 0.499261 0.701880 +vt 0.499261 0.704886 +vt 0.790701 0.478669 +vt 0.814270 0.487689 +vt 0.790701 0.487689 +vt 0.814270 0.466643 +vt 0.790701 0.469650 +vt 0.231300 0.823107 +vt 0.228405 0.823920 +vt 0.814270 0.463637 +vt 0.790701 0.466643 +vt 0.226129 0.814774 +vt 0.228405 0.816738 +vt 0.226129 0.825884 +vt 0.175956 0.793899 +vt 0.175956 0.796906 +vt 0.152387 0.796906 +vt 0.452123 0.762903 +vt 0.452123 0.759896 +vt 0.499261 0.759896 +vt 0.523291 0.821793 +vt 0.524104 0.824687 +vt 0.516922 0.824687 +vt 0.512994 0.808558 +vt 0.528032 0.808558 +vt 0.528846 0.811452 +vt 0.452123 0.756890 +vt 0.499261 0.756890 +vt 0.526068 0.826964 +vt 0.514958 0.826964 +vt 0.175956 0.784880 +vt 0.175956 0.787886 +vt 0.152387 0.787886 +vt 0.452123 0.753883 +vt 0.499261 0.753883 +vt 0.175956 0.790893 +vt 0.152387 0.793899 +vt 0.452123 0.750877 +vt 0.499261 0.750877 +vt 0.452123 0.747870 +vt 0.499261 0.747870 +vt 0.514958 0.806281 +vt 0.526068 0.806281 +vt 0.175956 0.781873 +vt 0.152387 0.784880 +vt 0.452123 0.744864 +vt 0.499261 0.744864 +vt 0.528032 0.814346 +vt 0.512994 0.814346 +vt 0.512180 0.811452 +vt 0.452123 0.741857 +vt 0.452123 0.738851 +vt 0.499261 0.738851 +vt 0.499261 0.741857 +vt 0.152387 0.790893 +vt 0.175956 0.799912 +vt 0.152387 0.799912 +vt 0.175956 0.778867 +vt 0.152387 0.781873 +vt 0.517735 0.821793 +vt 0.516922 0.818899 +vt 0.175956 0.775860 +vt 0.152387 0.778867 +vt 0.514958 0.816622 +vt 0.524104 0.818899 +vt 0.239357 0.793064 +vt 0.239357 0.796071 +vt 0.215788 0.796071 +vt 0.452123 0.799874 +vt 0.452123 0.796867 +vt 0.499261 0.796867 +vt 0.806212 0.506163 +vt 0.809107 0.505349 +vt 0.809107 0.512532 +vt 0.792977 0.516460 +vt 0.792977 0.501421 +vt 0.795871 0.500608 +vt 0.452123 0.793861 +vt 0.499261 0.793861 +vt 0.811383 0.503385 +vt 0.811383 0.514496 +vt 0.239357 0.784045 +vt 0.239357 0.787051 +vt 0.215788 0.787051 +vt 0.452123 0.790854 +vt 0.499261 0.790854 +vt 0.239357 0.790058 +vt 0.215788 0.793064 +vt 0.452123 0.787848 +vt 0.499261 0.787848 +vt 0.452123 0.784841 +vt 0.499261 0.784841 +vt 0.790701 0.514496 +vt 0.790701 0.503385 +vt 0.239357 0.781038 +vt 0.215788 0.784045 +vt 0.452123 0.781835 +vt 0.499261 0.781835 +vt 0.798766 0.501421 +vt 0.798766 0.516460 +vt 0.452123 0.778828 +vt 0.452123 0.775822 +vt 0.499261 0.775822 +vt 0.499261 0.778828 +vt 0.215788 0.790058 +vt 0.239357 0.799077 +vt 0.215788 0.799077 +vt 0.239357 0.778032 +vt 0.215788 0.781038 +vt 0.806212 0.511718 +vt 0.803318 0.512532 +vt 0.215788 0.775025 +vt 0.239357 0.775025 +vt 0.801042 0.514496 +vt 0.801042 0.503385 +vt 0.803318 0.505349 +vt 0.438896 0.418417 +vt 0.411119 0.446194 +vt 0.383343 0.418417 +vt 0.511616 0.463361 +vt 0.456063 0.518914 +vt 0.428286 0.491137 +vt 0.891366 0.006459 +vt 0.881546 0.016280 +vt 0.822623 0.016280 +vt 0.411119 0.390641 +vt 0.338399 0.401251 +vt 0.282846 0.456804 +vt 0.255070 0.429027 +vt 0.310623 0.373474 +vt 0.483839 0.401251 +vt 0.511616 0.373474 +vt 0.428286 0.345698 +vt 0.393952 0.345698 +vt 0.483839 0.435584 +vt 0.795400 0.043502 +vt 0.837353 0.058233 +vt 0.837353 0.087694 +vt 0.812802 0.139468 +vt 0.822623 0.129648 +vt 0.881545 0.129648 +vt 0.918588 0.112246 +vt 0.908768 0.102425 +vt 0.908768 0.043502 +vt 0.785580 0.033682 +vt 0.795400 0.102425 +vt 0.866815 0.058233 +vt 0.866815 0.087695 +vt 0.647017 0.396432 +vt 0.647017 0.435713 +vt 0.607735 0.435713 +vt 0.666658 0.479632 +vt 0.666658 0.518914 +vt 0.588094 0.518914 +vt 0.043502 0.899048 +vt 0.102425 0.899048 +vt 0.112246 0.908869 +vt 0.666658 0.352513 +vt 0.607735 0.396432 +vt 0.745222 0.518914 +vt 0.563817 0.455354 +vt 0.563817 0.376790 +vt 0.524535 0.455354 +vt 0.666658 0.313231 +vt 0.588094 0.352513 +vt 0.588094 0.479632 +vt 0.058233 0.827634 +vt 0.058233 0.857095 +vt 0.016280 0.871826 +vt 0.102425 0.785681 +vt 0.043502 0.785681 +vt 0.033682 0.775860 +vt 0.129648 0.871826 +vt 0.129648 0.812903 +vt 0.139468 0.803083 +vt 0.016280 0.812903 +vt 0.006459 0.881646 +vt 0.087695 0.857095 +vt 0.087695 0.827634 +vt 0.785278 0.541902 +vt 0.832498 0.589122 +vt 0.815138 0.606482 +vt 0.879718 0.541902 +vt 0.879718 0.540166 +vt 0.898815 0.559262 +vt 0.879718 0.671063 +vt 0.832498 0.623843 +vt 0.849859 0.606482 +vt 0.767918 0.653702 +vt 0.897079 0.559262 +vt 0.888051 0.531833 +vt 0.907148 0.550929 +vt 0.785278 0.671063 +vt 0.785278 0.672799 +vt 0.766182 0.653702 +vt 0.897079 0.653702 +vt 0.898815 0.653702 +vt 0.879718 0.672799 +vt 0.767918 0.559262 +vt 0.766182 0.559262 +vt 0.785278 0.540166 +vt 0.416499 0.290522 +vt 0.416499 0.286033 +vt 0.405388 0.286033 +vt 0.776945 0.681132 +vt 0.757849 0.662035 +vt 0.757849 0.550929 +vt 0.776945 0.531833 +vt 0.907148 0.662035 +vt 0.888051 0.681132 +vt 0.759985 0.877761 +vt 0.807205 0.830541 +vt 0.824565 0.847902 +vt 0.759985 0.783321 +vt 0.758249 0.783321 +vt 0.777345 0.764225 +vt 0.889145 0.783321 +vt 0.841925 0.830541 +vt 0.824565 0.813181 +vt 0.871785 0.895122 +vt 0.777345 0.765961 +vt 0.749916 0.774988 +vt 0.769012 0.755892 +vt 0.889145 0.877761 +vt 0.890881 0.877761 +vt 0.871785 0.896858 +vt 0.871785 0.765961 +vt 0.871785 0.764225 +vt 0.890881 0.783321 +vt 0.777345 0.895122 +vt 0.777345 0.896858 +vt 0.758249 0.877761 +vt 0.503967 0.290522 +vt 0.503967 0.286033 +vt 0.492856 0.286033 +vt 0.899214 0.886094 +vt 0.880118 0.905191 +vt 0.769012 0.905191 +vt 0.749916 0.886094 +vt 0.880118 0.755892 +vt 0.899214 0.774988 +vt 0.640587 0.638631 +vt 0.640587 0.663182 +vt 0.573808 0.663182 +vt 0.666366 0.731188 +vt 0.639360 0.731188 +vt 0.640587 0.729961 +vt 0.665139 0.663182 +vt 0.665139 0.638630 +vt 0.731918 0.638630 +vt 0.640587 0.571851 +vt 0.665139 0.729961 +vt 0.666366 0.742973 +vt 0.639360 0.742973 +vt 0.639360 0.570624 +vt 0.666366 0.570624 +vt 0.665138 0.571851 +vt 0.733145 0.637403 +vt 0.733145 0.664409 +vt 0.731918 0.663182 +vt 0.572580 0.664409 +vt 0.572580 0.637403 +vt 0.573808 0.638631 +vt 0.639360 0.558839 +vt 0.639360 0.531833 +vt 0.666366 0.531833 +vt 0.666366 0.558839 +vt 0.560796 0.664409 +vt 0.560796 0.637403 +vt 0.744930 0.637403 +vt 0.744930 0.664409 +vt 0.334861 0.781671 +vt 0.334861 0.806222 +vt 0.268082 0.806222 +vt 0.360640 0.874229 +vt 0.333634 0.874229 +vt 0.334861 0.873001 +vt 0.359413 0.806222 +vt 0.359413 0.781671 +vt 0.426192 0.781671 +vt 0.334861 0.714892 +vt 0.359413 0.873001 +vt 0.360640 0.886014 +vt 0.333634 0.886014 +vt 0.333634 0.713664 +vt 0.360640 0.713664 +vt 0.359413 0.714892 +vt 0.427419 0.780443 +vt 0.427419 0.807450 +vt 0.426192 0.806222 +vt 0.266854 0.807450 +vt 0.266854 0.780443 +vt 0.268082 0.781671 +vt 0.329032 0.290522 +vt 0.329032 0.286033 +vt 0.317921 0.286033 +vt 0.333634 0.701880 +vt 0.360640 0.701880 +vt 0.255070 0.807450 +vt 0.255070 0.780443 +vt 0.439204 0.780443 +vt 0.439204 0.807450 +vt 0.785580 0.191669 +vt 0.785580 0.152387 +vt 0.805221 0.172028 +vt 0.777782 0.502919 +vt 0.758141 0.483278 +vt 0.777782 0.463637 +vt 0.512180 0.741161 +vt 0.512180 0.701880 +vt 0.531821 0.721520 +vt 0.531821 0.793362 +vt 0.512180 0.773721 +vt 0.531821 0.754080 +vt 0.467593 0.287451 +vt 0.555060 0.287451 +vt 0.380125 0.287451 +vt 0.392470 0.286033 +vt 0.392470 0.290522 +vt 0.567405 0.286033 +vt 0.567405 0.290522 +vt 0.479937 0.286033 +vt 0.479937 0.290522 +vt 0.006459 0.553613 +vt 0.617135 0.279181 +vt 0.813545 0.279181 +vt 0.965966 0.918110 +vt 0.769557 0.918110 +vt 0.777490 0.741468 +vt 0.973900 0.741468 +vt 0.471121 0.898933 +vt 0.274711 0.898933 +vt 0.547877 0.531833 +vt 0.595341 0.914802 +vt 0.874022 0.381975 +vt 0.826884 0.334836 +vt 0.195013 0.305002 +vt 0.317921 0.062013 +vt 0.116449 0.006459 +vt 0.305002 0.116449 +vt 0.006459 0.195013 +vt 0.584576 0.217561 +vt 0.529022 0.006459 +vt 0.373474 0.273114 +vt 0.567111 0.878537 +vt 0.560796 0.833017 +vt 0.578087 0.790437 +vt 0.614351 0.762207 +vt 0.659872 0.755892 +vt 0.719706 0.897548 +vt 0.736997 0.854968 +vt 0.702452 0.773183 +vt 0.683441 0.913993 +vt 0.730681 0.809448 +vt 0.637920 0.932093 +vt 0.772661 0.085041 +vt 0.694200 0.139930 +vt 0.597494 0.140054 +vt 0.694907 0.218597 +vt 0.666684 0.006459 +vt 0.694184 0.090030 +vt 0.694185 0.095029 +vt 0.694186 0.100027 +vt 0.694188 0.105025 +vt 0.694190 0.110023 +vt 0.694202 0.125013 +vt 0.694078 0.130204 +vt 0.694150 0.133627 +vt 0.238196 0.730162 +vt 0.193875 0.787645 +vt 0.238196 0.682563 +vt 0.220277 0.627108 +vt 0.237686 0.627108 +vt 0.220277 0.731355 +vt 0.499261 0.725932 +vt 0.790701 0.463637 +vt 0.499261 0.762903 +vt 0.152387 0.775860 +vt 0.526068 0.816622 +vt 0.499261 0.799874 +vt 0.795871 0.517274 +vt 0.215788 0.778032 +vt 0.812802 0.006459 +vt 0.456063 0.317921 +vt 0.366176 0.317921 +vt 0.891366 0.139468 +vt 0.918588 0.033682 +vt 0.785580 0.112246 +vt 0.033682 0.908869 +vt 0.745222 0.479632 +vt 0.524535 0.376790 +vt 0.588094 0.313231 +vt 0.112246 0.775860 +vt 0.139468 0.881646 +vt 0.006459 0.803082 +vt 0.405388 0.290522 +vt 0.492856 0.290522 +vt 0.317921 0.290522 +vt 0.467593 0.291941 +vt 0.555060 0.291941 +vt 0.380125 0.291941 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 0.707100 0.707100 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.707100 -0.707100 +vn 0.707100 0.707100 0.000000 +vn -0.707100 0.707100 0.000000 +vn 0.258800 0.000000 -0.965900 +vn 0.707100 0.000000 -0.707100 +vn 0.965900 0.000000 -0.258800 +vn 0.965900 0.000000 0.258800 +vn 0.707100 0.000000 0.707100 +vn 0.258800 0.000000 0.965900 +vn -0.258800 0.000000 0.965900 +vn -0.707100 0.000000 0.707100 +vn -0.965900 0.000000 0.258800 +vn -0.965900 0.000000 -0.258800 +vn -0.258800 0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.600000 0.800000 0.000000 +vn -0.600000 0.800000 0.000000 +vn 0.000000 0.800000 -0.600000 +vn 0.000000 0.800000 0.600000 +vn -0.819200 0.573500 0.000000 +vn 0.000000 0.382700 0.923900 +vn 0.382700 0.923900 0.000000 +vn 0.678600 0.281100 -0.678600 +vn -0.678600 0.281100 0.678600 +vn 0.923900 0.382700 0.000000 +vn 0.357400 0.862900 -0.357400 +vn 0.000000 -0.923900 -0.382700 +vn 0.923900 -0.382700 0.000000 +vn 0.000000 -0.382700 0.923900 +vn 0.382700 -0.923900 0.000000 +vn -0.382700 -0.923900 0.000000 +vn -0.357400 0.862900 0.357400 +vn 0.000000 -0.382700 -0.923900 +vn -0.923900 -0.382700 0.000000 +vn -0.678600 -0.281100 0.678600 +vn -0.382700 0.923900 -0.000000 +vn -0.923900 0.382700 0.000000 +vn 0.000000 -0.923900 0.382700 +vn -0.000000 0.923900 0.382700 +vn 0.000000 0.382700 -0.923900 +vn 0.678600 -0.281100 -0.678600 +vn 0.000000 0.923900 -0.382700 +vn -0.357400 -0.862900 0.357400 +vn 0.357400 -0.862900 -0.357400 +vn -0.447200 0.000000 0.894400 +vn -0.447200 0.894400 0.000000 +vn -0.447200 0.000000 -0.894400 +vn 0.351100 0.000000 -0.936300 +vn 0.351100 0.000000 0.936300 +vn 0.351100 0.936300 0.000000 +vn 0.351100 -0.936300 0.000000 +vn 0.447200 0.000000 0.894400 +vn 0.447200 0.894400 0.000000 +vn 0.447200 0.000000 -0.894400 +vn -0.351100 0.000000 -0.936300 +vn -0.351100 0.000000 0.936300 +vn -0.351100 0.936300 0.000000 +vn -0.351100 -0.936300 0.000000 +vn -0.032600 0.999500 0.000000 +vn -0.771300 -0.636400 0.000000 +s off +f 4/1/1 3/2/1 1/3/1 +f 8/4/2 7/5/2 3/6/2 +f 6/7/3 5/8/3 7/9/3 +f 2/10/4 1/11/4 5/12/4 +f 3/13/5 7/14/5 5/15/5 +f 6/16/6 16/17/6 2/10/6 +f 10/18/7 55/19/7 56/20/7 +f 4/21/8 14/22/8 8/4/8 +f 8/23/9 15/24/9 6/7/9 +f 2/25/10 13/26/10 4/1/10 +f 16/27/7 114/28/7 115/29/7 +f 16/30/1 48/31/1 17/32/1 +f 14/33/7 50/34/7 51/35/7 +f 15/36/3 46/37/3 12/38/3 +f 17/39/2 47/40/2 15/41/2 +f 12/42/4 49/43/4 16/44/4 +f 23/45/11 25/46/11 24/47/11 +f 25/46/12 27/48/12 26/49/12 +f 27/48/13 29/50/13 28/51/13 +f 29/50/14 31/52/14 30/53/14 +f 31/52/15 33/54/15 32/55/15 +f 33/54/16 35/56/16 34/57/16 +f 35/56/17 37/58/17 36/59/17 +f 37/58/18 39/60/18 38/61/18 +f 39/60/19 41/62/19 40/63/19 +f 41/62/20 43/64/20 42/65/20 +f 39/66/5 86/67/5 87/68/5 +f 45/69/21 23/70/21 22/71/21 +f 43/64/22 45/69/22 44/72/22 +f 49/43/7 19/73/7 32/74/7 +f 49/43/7 34/75/7 36/76/7 +f 36/76/7 38/77/7 20/78/7 +f 48/31/7 20/78/7 38/77/7 +f 42/79/7 21/80/7 48/31/7 +f 44/81/7 21/80/7 42/79/7 +f 47/40/7 21/80/7 44/81/7 +f 24/82/7 18/83/7 47/40/7 +f 32/74/7 19/73/7 30/84/7 +f 46/37/7 28/85/7 30/84/7 +f 46/37/7 18/83/7 26/86/7 +f 26/86/7 18/83/7 24/82/7 +f 52/87/4 60/88/4 61/89/4 +f 11/90/7 51/35/7 52/91/7 +f 17/92/7 53/93/7 50/34/7 +f 15/94/7 52/91/7 53/93/7 +f 57/95/4 66/96/4 69/97/4 +f 17/92/7 57/98/7 54/99/7 +f 14/33/7 56/20/7 57/98/7 +f 13/100/7 54/99/7 55/19/7 +f 61/101/7 65/102/7 62/103/7 +f 50/104/2 58/105/2 59/106/2 +f 53/107/1 61/101/1 58/108/1 +f 51/109/3 59/110/3 60/111/3 +f 64/112/4 76/113/4 77/114/4 +f 59/110/7 63/115/7 64/116/7 +f 60/88/7 64/112/7 65/117/7 +f 58/105/7 62/118/7 63/119/7 +f 55/120/2 68/121/2 67/122/2 +f 56/123/3 67/124/3 66/125/3 +f 54/126/1 69/127/1 68/128/1 +f 69/127/7 104/129/7 105/130/7 +f 75/131/23 72/132/23 71/133/23 +f 77/134/24 70/135/24 73/136/24 +f 62/118/2 74/137/2 75/138/2 +f 65/102/1 77/134/1 74/139/1 +f 63/115/3 75/131/3 76/140/3 +f 74/137/25 73/136/25 72/132/25 +f 110/141/23 111/142/23 107/143/23 +f 77/114/26 76/113/26 71/133/26 +f 81/144/14 93/145/14 94/146/14 +f 37/147/5 85/148/5 86/149/5 +f 35/150/5 84/151/5 85/152/5 +f 33/153/5 83/154/5 84/155/5 +f 31/156/5 82/157/5 83/158/5 +f 29/159/5 81/144/5 82/160/5 +f 45/161/5 89/162/5 79/163/5 +f 23/164/5 79/165/5 78/166/5 +f 27/167/5 80/168/5 81/169/5 +f 45/170/5 43/171/5 88/172/5 +f 25/173/5 78/174/5 80/175/5 +f 41/176/5 87/177/5 88/178/5 +f 98/179/7 96/180/7 92/181/7 +f 88/172/22 100/182/22 101/183/22 +f 79/165/11 91/184/11 90/185/11 +f 85/148/18 97/186/18 98/179/18 +f 82/157/15 94/146/15 95/187/15 +f 89/162/21 101/183/21 91/184/21 +f 78/174/12 90/185/12 92/181/12 +f 86/67/19 98/179/19 99/188/19 +f 83/154/16 95/187/16 96/180/16 +f 80/168/13 92/181/13 93/145/13 +f 87/177/20 99/188/20 100/182/20 +f 84/151/17 96/180/17 97/186/17 +f 104/129/1 108/189/1 109/190/1 +f 66/96/7 103/191/7 104/192/7 +f 68/121/7 105/193/7 102/194/7 +f 67/124/7 102/195/7 103/196/7 +f 109/197/25 113/198/25 110/141/25 +f 103/191/4 107/199/4 108/200/4 +f 105/193/2 109/197/2 106/201/2 +f 102/195/3 106/202/3 107/143/3 +f 110/141/7 113/198/7 112/203/7 +f 73/136/7 70/135/7 71/133/7 +f 108/189/24 112/203/24 113/198/24 +f 107/199/26 111/142/26 112/203/26 +f 117/204/3 121/205/3 118/206/3 +f 17/92/7 117/207/7 114/28/7 +f 17/92/7 13/100/7 116/208/7 +f 9/209/7 115/29/7 116/208/7 +f 121/210/2 120/211/2 124/212/2 +f 115/213/1 119/214/1 120/215/1 +f 116/216/2 120/211/2 121/210/2 +f 114/217/4 118/218/4 119/219/4 +f 130/220/7 129/221/7 124/212/7 +f 118/218/4 122/222/4 123/223/4 +f 121/205/3 130/220/3 118/206/3 +f 119/214/27 123/223/27 124/212/27 +f 126/224/1 127/225/1 137/226/1 +f 147/227/10 146/228/10 136/229/10 +f 128/230/1 129/231/1 139/232/1 +f 140/233/1 130/234/1 131/235/1 +f 142/236/1 132/237/1 133/238/1 +f 144/239/1 134/240/1 135/241/1 +f 155/242/10 154/243/10 144/239/10 +f 153/244/10 152/245/10 142/236/10 +f 151/246/10 150/247/10 140/233/10 +f 149/248/10 148/249/10 138/250/10 +f 157/251/7 156/252/7 146/228/7 +f 159/253/7 158/254/7 148/249/7 +f 161/255/7 160/256/7 150/247/7 +f 163/257/7 162/258/7 152/245/7 +f 165/259/7 164/260/7 154/243/7 +f 182/261/7 183/262/7 189/263/7 +f 180/264/7 181/265/7 187/266/7 +f 178/267/7 179/268/7 185/269/7 +f 167/270/2 173/271/2 172/272/2 +f 169/273/2 175/274/2 174/275/2 +f 171/276/2 177/277/2 176/278/2 +f 188/279/8 189/263/8 171/276/8 +f 186/280/8 187/266/8 169/273/8 +f 184/281/8 185/269/8 167/270/8 +f 215/282/28 217/283/28 216/284/28 +f 191/285/29 193/286/29 192/287/29 +f 195/288/30 193/289/30 220/290/30 +f 216/291/31 205/292/31 203/293/31 +f 193/286/32 195/294/32 194/295/32 +f 191/296/33 218/297/33 220/290/33 +f 209/298/34 211/299/34 210/300/34 +f 195/294/35 197/301/35 196/302/35 +f 213/303/36 215/282/36 214/304/36 +f 197/301/37 199/305/37 198/306/37 +f 199/305/38 201/307/38 200/308/38 +f 218/309/39 191/310/39 205/292/39 +f 207/311/40 209/298/40 208/312/40 +f 201/307/41 203/313/41 202/314/41 +f 201/315/42 212/316/42 214/317/42 +f 205/318/43 191/319/43 190/320/43 +f 203/313/44 205/318/44 204/321/44 +f 211/299/45 213/303/45 212/322/45 +f 217/283/46 219/323/46 218/324/46 +f 221/325/47 207/311/47 206/326/47 +f 195/288/48 206/327/48 208/328/48 +f 219/329/49 221/325/49 220/330/49 +f 212/316/50 201/315/50 199/331/50 +f 197/332/51 208/328/51 210/333/51 +f 247/334/28 249/335/28 248/336/28 +f 223/337/29 225/338/29 224/339/29 +f 227/340/30 225/341/30 252/342/30 +f 248/343/31 237/344/31 235/345/31 +f 225/338/32 227/346/32 226/347/32 +f 223/348/33 250/349/33 252/342/33 +f 241/350/34 243/351/34 242/352/34 +f 227/346/35 229/353/35 228/354/35 +f 245/355/36 247/334/36 246/356/36 +f 229/353/37 231/357/37 230/358/37 +f 231/357/38 233/359/38 232/360/38 +f 250/361/39 223/362/39 237/344/39 +f 239/363/40 241/350/40 240/364/40 +f 233/359/41 235/365/41 234/366/41 +f 233/367/42 244/368/42 246/369/42 +f 237/370/43 223/371/43 222/372/43 +f 235/365/44 237/370/44 236/373/44 +f 243/351/45 245/355/45 244/374/45 +f 249/335/46 251/375/46 250/376/46 +f 253/377/47 239/363/47 238/378/47 +f 227/340/48 238/379/48 240/380/48 +f 251/381/49 253/377/49 252/382/49 +f 242/383/50 244/368/50 233/367/50 +f 229/384/51 240/380/51 242/383/51 +f 279/385/28 281/386/28 280/387/28 +f 255/388/29 257/389/29 256/390/29 +f 259/391/30 257/392/30 284/393/30 +f 280/394/31 269/395/31 267/396/31 +f 257/389/32 259/397/32 258/398/32 +f 255/399/33 282/400/33 284/393/33 +f 273/401/34 275/402/34 274/403/34 +f 259/397/35 261/404/35 260/405/35 +f 277/406/36 279/385/36 278/407/36 +f 261/404/37 263/408/37 262/409/37 +f 263/408/38 265/410/38 264/411/38 +f 282/412/39 255/413/39 269/395/39 +f 271/414/40 273/401/40 272/415/40 +f 265/410/41 267/416/41 266/417/41 +f 267/396/42 265/418/42 276/419/42 +f 269/420/43 255/421/43 254/422/43 +f 267/416/44 269/420/44 268/423/44 +f 275/402/45 277/406/45 276/424/45 +f 281/386/46 283/425/46 282/426/46 +f 285/427/47 271/414/47 270/428/47 +f 259/391/48 270/429/48 272/430/48 +f 282/431/49 283/432/49 285/427/49 +f 274/433/50 276/419/50 265/418/50 +f 263/434/51 261/435/51 272/430/51 +f 289/436/1 288/437/1 286/438/1 +f 293/439/2 292/440/2 295/441/2 +f 292/442/3 299/443/3 301/444/3 +f 287/445/52 286/438/52 297/446/52 +f 295/447/5 292/448/5 290/449/5 +f 294/450/53 289/436/53 287/445/53 +f 293/451/7 294/450/7 296/452/7 +f 296/453/4 297/446/4 290/449/4 +f 294/454/54 295/441/54 288/437/54 +f 301/455/55 305/456/55 304/457/55 +f 291/458/3 300/459/3 298/460/3 +f 293/461/3 298/462/3 299/463/3 +f 290/464/3 301/455/3 300/465/3 +f 304/457/3 305/456/3 303/466/3 +f 298/462/56 302/467/56 303/466/56 +f 299/443/57 303/466/57 305/456/57 +f 300/459/58 304/457/58 302/467/58 +f 306/468/3 308/469/3 309/470/3 +f 315/471/2 312/472/2 313/473/2 +f 321/474/1 319/475/1 312/476/1 +f 317/477/59 306/468/59 307/478/59 +f 310/479/5 312/472/5 315/471/5 +f 307/478/60 309/470/60 314/480/60 +f 316/481/7 314/480/7 313/482/7 +f 310/483/4 317/477/4 316/484/4 +f 308/469/61 315/471/61 314/485/61 +f 324/486/62 325/487/62 321/488/62 +f 318/489/1 320/490/1 311/491/1 +f 319/492/1 318/493/1 313/494/1 +f 320/495/1 321/488/1 310/496/1 +f 323/497/1 325/487/1 324/486/1 +f 323/497/63 322/498/63 318/493/63 +f 325/487/64 323/497/64 319/475/64 +f 322/498/65 324/486/65 320/490/65 +f 332/499/3 326/500/3 327/501/3 +f 332/502/2 337/503/2 335/504/2 +f 329/505/1 331/506/1 330/507/1 +f 333/508/7 327/501/7 331/506/7 +f 328/509/5 330/507/5 326/500/5 +f 327/501/2 326/500/2 330/507/2 +f 337/503/5 341/510/5 339/511/5 +f 329/512/2 334/513/2 336/514/2 +f 328/515/2 335/516/2 334/517/2 +f 333/518/2 336/519/2 337/520/2 +f 421/521/10 420/522/10 408/523/10 +f 334/513/7 338/524/7 340/525/7 +f 336/519/3 340/526/3 341/527/3 +f 335/516/1 339/528/1 338/529/1 +f 348/530/3 342/531/3 343/532/3 +f 348/533/2 353/534/2 351/535/2 +f 345/536/1 347/537/1 346/538/1 +f 349/539/7 343/532/7 347/537/7 +f 344/540/5 346/538/5 342/531/5 +f 343/532/2 342/531/2 346/538/2 +f 353/534/5 357/541/5 355/542/5 +f 345/543/2 350/544/2 352/545/2 +f 344/546/2 351/547/2 350/548/2 +f 349/549/2 352/550/2 353/551/2 +f 423/552/10 422/553/10 410/554/10 +f 350/544/7 354/555/7 356/556/7 +f 352/550/3 356/557/3 357/558/3 +f 351/547/1 355/559/1 354/560/1 +f 359/561/3 358/562/3 364/563/3 +f 367/564/4 369/565/4 364/566/4 +f 362/567/1 363/568/1 361/569/1 +f 363/568/7 359/561/7 365/570/7 +f 358/562/5 362/567/5 360/571/5 +f 362/567/4 358/562/4 359/561/4 +f 371/572/5 373/573/5 369/565/5 +f 368/574/4 366/575/4 361/576/4 +f 366/577/4 367/578/4 360/579/4 +f 369/580/4 368/581/4 365/582/4 +f 372/583/2 373/584/2 371/585/2 +f 372/583/7 370/586/7 366/575/7 +f 373/587/3 372/588/3 368/581/3 +f 370/589/1 371/590/1 367/578/1 +f 375/591/3 374/592/3 380/593/3 +f 383/594/4 385/595/4 380/596/4 +f 378/597/1 379/598/1 377/599/1 +f 379/598/7 375/591/7 381/600/7 +f 374/592/5 378/597/5 376/601/5 +f 378/597/4 374/592/4 375/591/4 +f 387/602/5 389/603/5 385/595/5 +f 384/604/4 382/605/4 377/606/4 +f 382/607/4 383/608/4 376/609/4 +f 385/610/4 384/611/4 381/612/4 +f 425/613/10 424/614/10 412/615/10 +f 388/616/7 386/617/7 382/605/7 +f 389/618/3 388/619/3 384/611/3 +f 386/620/1 387/621/1 383/608/1 +f 391/622/2 390/623/2 392/624/2 +f 394/625/4 395/626/4 393/627/4 +f 397/628/2 396/629/2 398/630/2 +f 400/631/4 401/632/4 399/633/4 +f 414/634/66 420/522/66 421/521/66 +f 416/635/66 422/553/66 423/552/66 +f 418/636/66 424/614/66 425/613/66 +f 418/636/67 406/637/67 407/638/67 +f 416/635/67 404/639/67 405/640/67 +f 414/634/67 402/641/67 403/642/67 +f 2/25/1 4/1/1 1/3/1 +f 4/21/2 8/4/2 3/6/2 +f 8/23/3 6/7/3 7/9/3 +f 6/16/4 2/10/4 5/12/4 +f 1/643/5 3/13/5 5/15/5 +f 9/644/6 2/10/6 16/17/6 +f 6/16/6 12/645/6 16/17/6 +f 14/33/7 10/18/7 56/20/7 +f 11/646/8 8/4/8 14/22/8 +f 4/21/8 10/647/8 14/22/8 +f 12/648/9 6/7/9 15/24/9 +f 8/23/9 11/649/9 15/24/9 +f 10/650/10 4/1/10 13/26/10 +f 2/25/10 9/651/10 13/26/10 +f 9/209/7 16/27/7 115/29/7 +f 21/80/1 17/32/1 48/31/1 +f 16/30/1 20/78/1 48/31/1 +f 11/90/7 14/33/7 51/35/7 +f 19/73/3 12/38/3 46/37/3 +f 15/36/3 18/83/3 46/37/3 +f 18/83/2 15/41/2 47/40/2 +f 17/39/2 21/80/2 47/40/2 +f 20/78/4 16/44/4 49/43/4 +f 12/42/4 19/73/4 49/43/4 +f 22/652/11 23/45/11 24/47/11 +f 24/47/12 25/46/12 26/49/12 +f 26/49/13 27/48/13 28/51/13 +f 28/51/14 29/50/14 30/53/14 +f 30/53/15 31/52/15 32/55/15 +f 32/55/16 33/54/16 34/57/16 +f 34/57/17 35/56/17 36/59/17 +f 36/59/18 37/58/18 38/61/18 +f 38/61/19 39/60/19 40/63/19 +f 40/63/20 41/62/20 42/65/20 +f 41/653/5 39/66/5 87/68/5 +f 44/72/21 45/69/21 22/71/21 +f 42/65/22 43/64/22 44/72/22 +f 34/75/7 49/43/7 32/74/7 +f 20/78/7 49/43/7 36/76/7 +f 40/654/7 48/31/7 38/77/7 +f 40/654/7 42/79/7 48/31/7 +f 22/655/7 47/40/7 44/81/7 +f 22/655/7 24/82/7 47/40/7 +f 19/73/7 46/37/7 30/84/7 +f 28/85/7 46/37/7 26/86/7 +f 53/656/4 52/87/4 61/89/4 +f 15/94/7 11/90/7 52/91/7 +f 14/33/7 17/92/7 50/34/7 +f 17/92/7 15/94/7 53/93/7 +f 54/657/4 57/95/4 69/97/4 +f 13/100/7 17/92/7 54/99/7 +f 17/92/7 14/33/7 57/98/7 +f 10/18/7 13/100/7 55/19/7 +f 58/108/7 61/101/7 62/103/7 +f 51/658/2 50/104/2 59/106/2 +f 50/659/1 53/107/1 58/108/1 +f 52/660/3 51/109/3 60/111/3 +f 65/117/4 64/112/4 77/114/4 +f 60/111/7 59/110/7 64/116/7 +f 61/89/7 60/88/7 65/117/7 +f 59/106/7 58/105/7 63/119/7 +f 56/661/2 55/120/2 67/122/2 +f 57/662/3 56/123/3 66/125/3 +f 55/663/1 54/126/1 68/128/1 +f 68/128/7 69/127/7 105/130/7 +f 76/140/23 75/131/23 71/133/23 +f 74/139/24 77/134/24 73/136/24 +f 63/119/2 62/118/2 75/138/2 +f 62/103/1 65/102/1 74/139/1 +f 64/116/3 63/115/3 76/140/3 +f 75/138/25 74/137/25 72/132/25 +f 106/202/23 110/141/23 107/143/23 +f 70/135/26 77/114/26 71/133/26 +f 82/160/14 81/144/14 94/146/14 +f 39/664/5 37/147/5 86/149/5 +f 37/665/5 35/150/5 85/152/5 +f 35/666/5 33/153/5 84/155/5 +f 33/667/5 31/156/5 83/158/5 +f 31/668/5 29/159/5 82/160/5 +f 23/669/5 45/161/5 79/163/5 +f 25/670/5 23/164/5 78/166/5 +f 29/671/5 27/167/5 81/169/5 +f 89/672/5 45/170/5 88/172/5 +f 27/673/5 25/173/5 80/175/5 +f 43/674/5 41/176/5 88/178/5 +f 92/181/7 90/185/7 100/182/7 +f 91/184/7 101/183/7 100/182/7 +f 100/182/7 99/188/7 98/179/7 +f 98/179/7 97/186/7 96/180/7 +f 96/180/7 95/187/7 94/146/7 +f 94/146/7 93/145/7 92/181/7 +f 90/185/7 91/184/7 100/182/7 +f 100/182/7 98/179/7 92/181/7 +f 96/180/7 94/146/7 92/181/7 +f 89/672/22 88/172/22 101/183/22 +f 78/166/11 79/165/11 90/185/11 +f 86/149/18 85/148/18 98/179/18 +f 83/158/15 82/157/15 95/187/15 +f 79/163/21 89/162/21 91/184/21 +f 80/175/12 78/174/12 92/181/12 +f 87/68/19 86/67/19 99/188/19 +f 84/155/16 83/154/16 96/180/16 +f 81/169/13 80/168/13 93/145/13 +f 88/178/20 87/177/20 100/182/20 +f 85/152/17 84/151/17 97/186/17 +f 105/130/1 104/129/1 109/190/1 +f 69/97/7 66/96/7 104/192/7 +f 67/122/7 68/121/7 102/194/7 +f 66/125/7 67/124/7 103/196/7 +f 106/201/25 109/197/25 110/141/25 +f 104/192/4 103/191/4 108/200/4 +f 102/194/2 105/193/2 106/201/2 +f 103/196/3 102/195/3 107/143/3 +f 111/142/7 110/141/7 112/203/7 +f 72/132/7 73/136/7 71/133/7 +f 109/190/24 108/189/24 113/198/24 +f 108/200/26 107/199/26 112/203/26 +f 114/675/3 117/204/3 118/206/3 +f 16/27/7 17/92/7 114/28/7 +f 117/207/7 17/92/7 116/208/7 +f 13/100/7 9/209/7 116/208/7 +f 125/676/2 121/210/2 124/212/2 +f 116/677/1 115/213/1 120/215/1 +f 117/678/2 116/216/2 121/210/2 +f 115/679/4 114/217/4 119/219/4 +f 123/223/7 122/222/7 135/680/7 +f 135/680/7 134/681/7 123/223/7 +f 133/682/7 132/683/7 123/223/7 +f 131/684/7 130/220/7 124/212/7 +f 129/221/7 128/685/7 124/212/7 +f 127/686/7 126/687/7 124/212/7 +f 125/676/7 124/212/7 126/687/7 +f 123/223/7 134/681/7 133/682/7 +f 132/683/7 131/684/7 123/223/7 +f 128/685/7 127/686/7 124/212/7 +f 124/212/7 123/223/7 131/684/7 +f 119/219/4 118/218/4 123/223/4 +f 122/222/3 118/206/3 135/680/3 +f 121/205/3 125/676/3 126/687/3 +f 126/687/3 127/686/3 121/205/3 +f 128/685/3 129/221/3 121/205/3 +f 130/220/3 131/684/3 118/206/3 +f 132/683/3 133/682/3 118/206/3 +f 134/681/3 135/680/3 118/206/3 +f 121/205/3 127/686/3 128/685/3 +f 134/681/3 118/206/3 133/682/3 +f 131/684/3 132/683/3 118/206/3 +f 121/205/3 129/221/3 130/220/3 +f 120/215/27 119/214/27 124/212/27 +f 136/229/1 126/224/1 137/226/1 +f 137/226/10 147/227/10 136/229/10 +f 138/250/1 128/230/1 139/232/1 +f 141/688/1 140/233/1 131/235/1 +f 143/689/1 142/236/1 133/238/1 +f 145/690/1 144/239/1 135/241/1 +f 145/690/10 155/242/10 144/239/10 +f 143/689/10 153/244/10 142/236/10 +f 141/688/10 151/246/10 140/233/10 +f 139/232/10 149/248/10 138/250/10 +f 147/227/7 157/251/7 146/228/7 +f 149/248/7 159/253/7 148/249/7 +f 151/246/7 161/255/7 150/247/7 +f 153/244/7 163/257/7 152/245/7 +f 155/242/7 165/259/7 154/243/7 +f 188/279/7 182/261/7 189/263/7 +f 186/280/7 180/264/7 187/266/7 +f 184/281/7 178/267/7 185/269/7 +f 166/691/2 167/270/2 172/272/2 +f 168/692/2 169/273/2 174/275/2 +f 170/693/2 171/276/2 176/278/2 +f 170/693/8 188/279/8 171/276/8 +f 168/692/8 186/280/8 169/273/8 +f 166/691/8 184/281/8 167/270/8 +f 214/304/28 215/282/28 216/284/28 +f 190/694/29 191/285/29 192/287/29 +f 206/327/30 195/288/30 220/290/30 +f 214/317/31 216/291/31 203/293/31 +f 192/287/32 193/286/32 194/295/32 +f 193/289/33 191/296/33 220/290/33 +f 208/312/34 209/298/34 210/300/34 +f 194/295/35 195/294/35 196/302/35 +f 212/322/36 213/303/36 214/304/36 +f 196/302/37 197/301/37 198/306/37 +f 198/306/38 199/305/38 200/308/38 +f 216/291/39 218/309/39 205/292/39 +f 206/326/40 207/311/40 208/312/40 +f 200/308/41 201/307/41 202/314/41 +f 203/293/42 201/315/42 214/317/42 +f 204/321/43 205/318/43 190/320/43 +f 202/314/44 203/313/44 204/321/44 +f 210/300/45 211/299/45 212/322/45 +f 216/284/46 217/283/46 218/324/46 +f 220/330/47 221/325/47 206/326/47 +f 197/332/48 195/288/48 208/328/48 +f 218/695/49 219/329/49 220/330/49 +f 210/333/50 212/316/50 199/331/50 +f 199/331/51 197/332/51 210/333/51 +f 246/356/28 247/334/28 248/336/28 +f 222/696/29 223/337/29 224/339/29 +f 238/379/30 227/340/30 252/342/30 +f 246/369/31 248/343/31 235/345/31 +f 224/339/32 225/338/32 226/347/32 +f 225/341/33 223/348/33 252/342/33 +f 240/364/34 241/350/34 242/352/34 +f 226/347/35 227/346/35 228/354/35 +f 244/374/36 245/355/36 246/356/36 +f 228/354/37 229/353/37 230/358/37 +f 230/358/38 231/357/38 232/360/38 +f 248/343/39 250/361/39 237/344/39 +f 238/378/40 239/363/40 240/364/40 +f 232/360/41 233/359/41 234/366/41 +f 235/345/42 233/367/42 246/369/42 +f 236/373/43 237/370/43 222/372/43 +f 234/366/44 235/365/44 236/373/44 +f 242/352/45 243/351/45 244/374/45 +f 248/336/46 249/335/46 250/376/46 +f 252/382/47 253/377/47 238/378/47 +f 229/384/48 227/340/48 240/380/48 +f 250/697/49 251/381/49 252/382/49 +f 231/698/50 242/383/50 233/367/50 +f 231/698/51 229/384/51 242/383/51 +f 278/407/28 279/385/28 280/387/28 +f 254/699/29 255/388/29 256/390/29 +f 270/429/30 259/391/30 284/393/30 +f 278/700/31 280/394/31 267/396/31 +f 256/390/32 257/389/32 258/398/32 +f 257/392/33 255/399/33 284/393/33 +f 272/415/34 273/401/34 274/403/34 +f 258/398/35 259/397/35 260/405/35 +f 276/424/36 277/406/36 278/407/36 +f 260/405/37 261/404/37 262/409/37 +f 262/409/38 263/408/38 264/411/38 +f 280/394/39 282/412/39 269/395/39 +f 270/428/40 271/414/40 272/415/40 +f 264/411/41 265/410/41 266/417/41 +f 278/700/42 267/396/42 276/419/42 +f 268/423/43 269/420/43 254/422/43 +f 266/417/44 267/416/44 268/423/44 +f 274/403/45 275/402/45 276/424/45 +f 280/387/46 281/386/46 282/426/46 +f 284/701/47 285/427/47 270/428/47 +f 261/435/48 259/391/48 272/430/48 +f 284/701/49 282/431/49 285/427/49 +f 263/434/50 274/433/50 265/418/50 +f 274/433/51 263/434/51 272/430/51 +f 287/445/1 289/436/1 286/438/1 +f 294/454/2 293/439/2 295/441/2 +f 290/702/3 292/442/3 301/444/3 +f 296/453/52 287/445/52 297/446/52 +f 297/446/5 295/447/5 290/449/5 +f 296/452/53 294/450/53 287/445/53 +f 291/703/7 293/451/7 296/452/7 +f 291/704/4 296/453/4 290/449/4 +f 289/436/54 294/454/54 288/437/54 +f 300/465/55 301/455/55 304/457/55 +f 293/705/3 291/458/3 298/460/3 +f 292/706/3 293/461/3 299/463/3 +f 291/707/3 290/464/3 300/465/3 +f 302/467/3 304/457/3 303/466/3 +f 299/463/56 298/462/56 303/466/56 +f 301/444/57 299/443/57 305/456/57 +f 298/460/58 300/459/58 302/467/58 +f 307/478/3 306/468/3 309/470/3 +f 314/485/2 315/471/2 313/473/2 +f 310/708/1 321/474/1 312/476/1 +f 316/484/59 317/477/59 307/478/59 +f 317/709/5 310/479/5 315/471/5 +f 316/481/60 307/478/60 314/480/60 +f 311/710/7 316/481/7 313/482/7 +f 311/711/4 310/483/4 316/484/4 +f 309/470/61 308/469/61 314/485/61 +f 320/495/62 324/486/62 321/488/62 +f 313/712/1 318/489/1 311/491/1 +f 312/713/1 319/492/1 313/494/1 +f 311/714/1 320/495/1 310/496/1 +f 322/498/1 323/497/1 324/486/1 +f 319/492/63 323/497/63 318/493/63 +f 321/474/64 325/487/64 319/475/64 +f 318/489/65 322/498/65 320/490/65 +f 333/518/3 332/499/3 327/501/3 +f 328/509/2 332/502/2 335/504/2 +f 328/515/1 329/505/1 330/507/1 +f 329/512/7 333/508/7 331/506/7 +f 332/502/5 328/509/5 326/500/5 +f 331/506/2 327/501/2 330/507/2 +f 335/504/5 337/503/5 339/511/5 +f 333/508/2 329/512/2 336/514/2 +f 329/505/2 328/515/2 334/517/2 +f 332/499/2 333/518/2 337/520/2 +f 409/715/10 421/521/10 408/523/10 +f 336/514/7 334/513/7 340/525/7 +f 337/520/3 336/519/3 341/527/3 +f 334/517/1 335/516/1 338/529/1 +f 349/549/3 348/530/3 343/532/3 +f 344/540/2 348/533/2 351/535/2 +f 344/546/1 345/536/1 346/538/1 +f 345/543/7 349/539/7 347/537/7 +f 348/533/5 344/540/5 342/531/5 +f 347/537/2 343/532/2 346/538/2 +f 351/535/5 353/534/5 355/542/5 +f 349/539/2 345/543/2 352/545/2 +f 345/536/2 344/546/2 350/548/2 +f 348/530/2 349/549/2 353/551/2 +f 411/716/10 423/552/10 410/554/10 +f 352/545/7 350/544/7 356/556/7 +f 353/551/3 352/550/3 357/558/3 +f 350/548/1 351/547/1 354/560/1 +f 365/582/3 359/561/3 364/563/3 +f 360/571/4 367/564/4 364/566/4 +f 360/579/1 362/567/1 361/569/1 +f 361/576/7 363/568/7 365/570/7 +f 364/566/5 358/562/5 360/571/5 +f 363/568/4 362/567/4 359/561/4 +f 367/564/5 371/572/5 369/565/5 +f 365/570/4 368/574/4 361/576/4 +f 361/569/4 366/577/4 360/579/4 +f 364/563/4 369/580/4 365/582/4 +f 370/586/2 372/583/2 371/585/2 +f 368/574/7 372/583/7 366/575/7 +f 369/580/3 373/587/3 368/581/3 +f 366/577/1 370/589/1 367/578/1 +f 381/612/3 375/591/3 380/593/3 +f 376/601/4 383/594/4 380/596/4 +f 376/609/1 378/597/1 377/599/1 +f 377/606/7 379/598/7 381/600/7 +f 380/596/5 374/592/5 376/601/5 +f 379/598/4 378/597/4 375/591/4 +f 383/594/5 387/602/5 385/595/5 +f 381/600/4 384/604/4 377/606/4 +f 377/599/4 382/607/4 376/609/4 +f 380/593/4 385/610/4 381/612/4 +f 413/717/10 425/613/10 412/615/10 +f 384/604/7 388/616/7 382/605/7 +f 385/610/3 389/618/3 384/611/3 +f 382/607/1 386/620/1 383/608/1 +f 415/718/66 414/634/66 421/521/66 +f 417/719/66 416/635/66 423/552/66 +f 419/720/66 418/636/66 425/613/66 +f 419/720/67 418/636/67 407/638/67 +f 417/719/67 416/635/67 405/640/67 +f 415/718/67 414/634/67 403/642/67 diff --git a/assets/hbm/models/chemplant_piston.obj b/assets/hbm/models/chemplant_piston.obj new file mode 100644 index 000000000..16c48a3e6 --- /dev/null +++ b/assets/hbm/models/chemplant_piston.obj @@ -0,0 +1,150 @@ +# Blender v2.76 (sub 0) OBJ File: 'chemplant_piston.blend' +# www.blender.org +o Cube.001_Cube.002 +v 0.427500 2.000000 -0.427500 +v 0.427500 2.000000 -0.822500 +v 0.822500 2.000000 -0.427500 +v 0.822500 2.000000 -0.822500 +v 0.427500 2.150000 -0.427500 +v 0.427500 2.150000 -0.822500 +v 0.822500 2.150000 -0.822500 +v 0.822500 2.150000 -0.427500 +v 0.476875 2.000000 -0.476875 +v 0.476875 2.000000 -0.773125 +v 0.773125 2.000000 -0.773125 +v 0.773125 2.000000 -0.476875 +v 0.476875 1.500000 -0.476875 +v 0.476875 1.500000 -0.773125 +v 0.773125 1.500000 -0.773125 +v 0.773125 1.500000 -0.476875 +v -0.822500 2.000000 -0.427500 +v -0.822500 2.000000 -0.822500 +v -0.427500 2.000000 -0.427500 +v -0.427500 2.000000 -0.822500 +v -0.822500 2.150000 -0.427500 +v -0.822500 2.150000 -0.822500 +v -0.427500 2.150000 -0.822500 +v -0.427500 2.150000 -0.427500 +v -0.773125 2.000000 -0.476875 +v -0.773125 2.000000 -0.773125 +v -0.476875 2.000000 -0.773125 +v -0.476875 2.000000 -0.476875 +v -0.773125 1.500000 -0.476875 +v -0.773125 1.500000 -0.773125 +v -0.476875 1.500000 -0.773125 +v -0.476875 1.500000 -0.476875 +vt 0.263926 0.442748 +vt 0.248840 0.427662 +vt 0.248840 0.337146 +vt 0.309756 0.322060 +vt 0.430444 0.322060 +vt 0.430444 0.442748 +vt 0.263926 0.322060 +vt 0.309756 0.442748 +vt 0.476275 0.442748 +vt 0.309756 0.488579 +vt 0.430444 0.276229 +vt 0.415358 0.503665 +vt 0.415358 0.656434 +vt 0.324842 0.656434 +vt 0.476275 0.322060 +vt 0.491361 0.337146 +vt 0.491361 0.427662 +vt 0.430444 0.488579 +vt 0.324842 0.503664 +vt 0.309756 0.276230 +vt 0.324842 0.261143 +vt 0.415358 0.261144 +vt 0.324842 0.108374 +vt 0.415358 0.108374 +vt 0.096070 0.427662 +vt 0.096071 0.337146 +vt 0.644130 0.337146 +vt 0.644130 0.427662 +vt 0.847582 0.752895 +vt 0.847582 0.774230 +vt 0.783577 0.838234 +vt 0.729835 0.805827 +vt 0.644497 0.720488 +vt 0.729836 0.635149 +vt 0.762243 0.838234 +vt 0.815175 0.720488 +vt 0.697428 0.602742 +vt 0.847582 0.688081 +vt 0.612089 0.752895 +vt 0.783578 0.602742 +vt 0.891602 0.494718 +vt 0.955606 0.558722 +vt 0.612089 0.688081 +vt 0.612089 0.666746 +vt 0.676094 0.602742 +vt 0.762243 0.602742 +vt 0.847582 0.666746 +vt 0.697428 0.838234 +vt 0.676093 0.838234 +vt 0.612089 0.774230 +vt 0.568069 0.946258 +vt 0.504065 0.882254 +vt 0.955606 0.882254 +vt 0.891601 0.946258 +vt 0.504065 0.558721 +vt 0.568070 0.494717 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +s off +f 3/1/1 12/2/1 11/3/1 +f 7/4/2 6/5/2 5/6/2 +f 4/7/3 7/4/3 8/8/3 +f 1/9/4 5/6/4 6/5/4 +f 3/10/5 8/8/5 5/6/5 +f 2/11/6 6/5/6 7/4/6 +f 9/12/5 13/13/5 16/14/5 +f 2/15/1 10/16/1 9/17/1 +f 1/18/1 9/12/1 12/19/1 +f 4/20/1 11/21/1 10/22/1 +f 11/21/6 15/23/6 14/24/6 +f 12/2/3 16/25/3 15/26/3 +f 10/16/4 14/27/4 13/28/4 +f 19/29/1 28/30/1 27/31/1 +f 23/32/2 22/33/2 21/34/2 +f 20/35/3 23/32/3 24/36/3 +f 17/37/4 21/34/4 22/33/4 +f 19/38/5 24/36/5 21/34/5 +f 18/39/6 22/33/6 23/32/6 +f 25/40/5 29/41/5 32/42/5 +f 18/43/1 26/44/1 25/45/1 +f 17/46/1 25/40/1 28/47/1 +f 20/48/1 27/49/1 26/50/1 +f 27/49/6 31/51/6 30/52/6 +f 28/30/3 32/53/3 31/54/3 +f 26/44/4 30/55/4 29/56/4 +f 4/7/1 3/1/1 11/3/1 +f 8/8/2 7/4/2 5/6/2 +f 3/1/3 4/7/3 8/8/3 +f 2/15/4 1/9/4 6/5/4 +f 1/18/5 3/10/5 5/6/5 +f 4/20/6 2/11/6 7/4/6 +f 12/19/5 9/12/5 16/14/5 +f 1/9/1 2/15/1 9/17/1 +f 3/10/1 1/18/1 12/19/1 +f 2/11/1 4/20/1 10/22/1 +f 10/22/6 11/21/6 14/24/6 +f 11/3/3 12/2/3 15/26/3 +f 9/17/4 10/16/4 13/28/4 +f 20/35/1 19/29/1 27/31/1 +f 24/36/2 23/32/2 21/34/2 +f 19/29/3 20/35/3 24/36/3 +f 18/43/4 17/37/4 22/33/4 +f 17/46/5 19/38/5 21/34/5 +f 20/48/6 18/39/6 23/32/6 +f 28/47/5 25/40/5 32/42/5 +f 17/37/1 18/43/1 25/45/1 +f 19/38/1 17/46/1 28/47/1 +f 18/39/1 20/48/1 26/50/1 +f 26/50/6 27/49/6 30/52/6 +f 27/31/3 28/30/3 31/54/3 +f 25/45/4 26/44/4 29/56/4 diff --git a/assets/hbm/models/refinery.obj b/assets/hbm/models/refinery.obj new file mode 100644 index 000000000..0a01a44c7 --- /dev/null +++ b/assets/hbm/models/refinery.obj @@ -0,0 +1,3714 @@ +# Blender v2.76 (sub 0) OBJ File: 'refinery.blend' +# www.blender.org +o Plane +v -0.050000 0.250000 -1.250000 +v -0.050000 8.750000 -1.250000 +v -0.064645 0.250000 -1.214645 +v -0.064645 8.750000 -1.214645 +v -0.100000 0.250000 -1.200000 +v -0.100000 8.750000 -1.200000 +v -0.135355 0.250000 -1.214645 +v -0.135355 8.750000 -1.214645 +v -0.150000 0.250000 -1.250000 +v -0.150000 8.750000 -1.250000 +v -0.135355 0.250000 -1.285355 +v -0.135355 8.750000 -1.285355 +v -0.100000 0.250000 -1.300000 +v -0.100000 8.750000 -1.300000 +v -0.064645 0.250000 -1.285355 +v -0.064645 8.750000 -1.285355 +v -0.050000 8.850000 -1.150000 +v -0.064645 8.814644 -1.150000 +v -0.100000 8.799999 -1.150000 +v -0.135355 8.814644 -1.150000 +v -0.150000 8.850000 -1.150000 +v -0.135355 8.885355 -1.150000 +v -0.100000 8.900000 -1.150000 +v -0.064645 8.885355 -1.150000 +v -0.064645 8.814644 -0.900000 +v -0.050000 8.850000 -0.900000 +v -0.100000 8.799999 -0.900000 +v -0.135355 8.814644 -0.900000 +v -0.150000 8.850000 -0.900000 +v -0.135355 8.885355 -0.900000 +v -0.100000 8.900000 -0.900000 +v -0.064645 8.885355 -0.900000 +v 0.150000 0.250000 -1.250000 +v 0.150000 2.750000 -1.250000 +v 0.135355 0.250000 -1.214645 +v 0.135355 2.750000 -1.214645 +v 0.100000 0.250000 -1.200000 +v 0.100000 2.750000 -1.200000 +v 0.064645 0.250000 -1.214645 +v 0.064645 2.750000 -1.214645 +v 0.050000 0.250000 -1.250000 +v 0.050000 2.750000 -1.250000 +v 0.064645 0.250000 -1.285355 +v 0.064645 2.750000 -1.285355 +v 0.100000 0.250000 -1.300000 +v 0.100000 2.750000 -1.300000 +v 0.135355 0.250000 -1.285355 +v 0.135355 2.750000 -1.285355 +v 0.150000 2.850000 -1.150000 +v 0.135355 2.814644 -1.150000 +v 0.100000 2.800000 -1.150000 +v 0.064645 2.814644 -1.150000 +v 0.050000 2.850000 -1.150000 +v 0.064645 2.885355 -1.150000 +v 0.100000 2.900000 -1.150000 +v 0.135355 2.885355 -1.150000 +v 0.135355 2.814644 -0.900000 +v 0.150000 2.850000 -0.900000 +v 0.100000 2.800000 -0.900000 +v 0.064645 2.814644 -0.900000 +v 0.050000 2.850000 -0.900000 +v 0.064645 2.885355 -0.900000 +v 0.100000 2.900000 -0.900000 +v 0.135355 2.885355 -0.900000 +v 0.350000 0.250000 -1.250000 +v 0.350000 4.750000 -1.250000 +v 0.335355 0.250000 -1.214645 +v 0.335355 4.750000 -1.214645 +v 0.300000 0.250000 -1.200000 +v 0.300000 4.750000 -1.200000 +v 0.264645 0.250000 -1.214645 +v 0.264645 4.750000 -1.214645 +v 0.250000 0.250000 -1.250000 +v 0.250000 4.750000 -1.250000 +v 0.264645 0.250000 -1.285355 +v 0.264645 4.750000 -1.285355 +v 0.300000 0.250000 -1.300000 +v 0.300000 4.750000 -1.300000 +v 0.335355 0.250000 -1.285355 +v 0.335355 4.750000 -1.285355 +v 0.350000 4.850000 -1.150000 +v 0.335355 4.814644 -1.150000 +v 0.300000 4.800000 -1.150000 +v 0.264645 4.814644 -1.150000 +v 0.250000 4.850000 -1.150000 +v 0.264645 4.885355 -1.150000 +v 0.300000 4.900000 -1.150000 +v 0.335355 4.885355 -1.150000 +v 0.335355 4.814644 -0.850000 +v 0.350000 4.850000 -0.850000 +v 0.300000 4.800000 -0.850000 +v 0.264645 4.814644 -0.850000 +v 0.250000 4.850000 -0.850000 +v 0.264645 4.885355 -0.850000 +v 0.300000 4.900000 -0.850000 +v 0.335355 4.885355 -0.850000 +v -0.250000 0.250000 -1.250000 +v -0.250000 6.750000 -1.250000 +v -0.264645 0.250000 -1.214645 +v -0.264645 6.750000 -1.214645 +v -0.300000 0.250000 -1.200000 +v -0.300000 6.750000 -1.200000 +v -0.335355 0.250000 -1.214645 +v -0.335355 6.750000 -1.214645 +v -0.350000 0.250000 -1.250000 +v -0.350000 6.750000 -1.250000 +v -0.335355 0.250000 -1.285355 +v -0.335355 6.750000 -1.285355 +v -0.300000 0.250000 -1.300000 +v -0.300000 6.750000 -1.300000 +v -0.264645 0.250000 -1.285355 +v -0.264645 6.750000 -1.285355 +v -0.250000 6.850000 -1.150000 +v -0.264645 6.814644 -1.150000 +v -0.300000 6.800000 -1.150000 +v -0.335355 6.814644 -1.150000 +v -0.350000 6.850000 -1.150000 +v -0.335355 6.885355 -1.150000 +v -0.300000 6.900000 -1.150000 +v -0.264645 6.885355 -1.150000 +v -0.264645 6.814644 -0.850000 +v -0.250000 6.850000 -0.850000 +v -0.300000 6.800000 -0.850000 +v -0.335355 6.814644 -0.850000 +v -0.350000 6.850000 -0.850000 +v -0.335355 6.885355 -0.850000 +v -0.300000 6.900000 -0.850000 +v -0.264645 6.885355 -0.850000 +v 1.250000 0.250000 -0.050000 +v 1.250000 8.750000 -0.050000 +v 1.214645 0.250000 -0.064644 +v 1.214645 8.750000 -0.064644 +v 1.200000 0.250000 -0.100000 +v 1.200000 8.750000 -0.100000 +v 1.214645 0.250000 -0.135355 +v 1.214645 8.750000 -0.135355 +v 1.250000 0.250000 -0.150000 +v 1.250000 8.750000 -0.150000 +v 1.285355 0.250000 -0.135355 +v 1.285355 8.750000 -0.135355 +v 1.300000 0.250000 -0.100000 +v 1.300000 8.750000 -0.100000 +v 1.285355 0.250000 -0.064644 +v 1.285355 8.750000 -0.064644 +v 1.150000 8.850000 -0.050000 +v 1.150000 8.814644 -0.064644 +v 1.150000 8.799999 -0.100000 +v 1.150000 8.814644 -0.135355 +v 1.150000 8.850000 -0.150000 +v 1.150000 8.885355 -0.135355 +v 1.150000 8.900000 -0.100000 +v 1.150000 8.885355 -0.064644 +v 0.900000 8.814644 -0.064645 +v 0.900000 8.850000 -0.050000 +v 0.900000 8.799999 -0.100000 +v 0.900000 8.814644 -0.135355 +v 0.900000 8.850000 -0.150000 +v 0.900000 8.885355 -0.135355 +v 0.900000 8.900000 -0.100000 +v 0.900000 8.885355 -0.064645 +v 1.250000 0.250000 0.150000 +v 1.250000 2.750000 0.150000 +v 1.214645 0.250000 0.135356 +v 1.214645 2.750000 0.135356 +v 1.200000 0.250000 0.100000 +v 1.200000 2.750000 0.100000 +v 1.214645 0.250000 0.064645 +v 1.214645 2.750000 0.064645 +v 1.250000 0.250000 0.050000 +v 1.250000 2.750000 0.050000 +v 1.285355 0.250000 0.064645 +v 1.285355 2.750000 0.064645 +v 1.300000 0.250000 0.100000 +v 1.300000 2.750000 0.100000 +v 1.285355 0.250000 0.135356 +v 1.285355 2.750000 0.135356 +v 1.150000 2.850000 0.150000 +v 1.150000 2.814644 0.135356 +v 1.150000 2.800000 0.100000 +v 1.150000 2.814644 0.064645 +v 1.150000 2.850000 0.050000 +v 1.150000 2.885355 0.064645 +v 1.150000 2.900000 0.100000 +v 1.150000 2.885355 0.135356 +v 0.900000 2.814644 0.135355 +v 0.900000 2.850000 0.150000 +v 0.900000 2.800000 0.100000 +v 0.900000 2.814644 0.064645 +v 0.900000 2.850000 0.050000 +v 0.900000 2.885355 0.064645 +v 0.900000 2.900000 0.100000 +v 0.900000 2.885355 0.135355 +v 1.250000 0.250000 0.350000 +v 1.250000 4.750000 0.350000 +v 1.214645 0.250000 0.335356 +v 1.214645 4.750000 0.335356 +v 1.200000 0.250000 0.300000 +v 1.200000 4.750000 0.300000 +v 1.214645 0.250000 0.264645 +v 1.214645 4.750000 0.264645 +v 1.250000 0.250000 0.250000 +v 1.250000 4.750000 0.250000 +v 1.285355 0.250000 0.264645 +v 1.285355 4.750000 0.264645 +v 1.300000 0.250000 0.300000 +v 1.300000 4.750000 0.300000 +v 1.285355 0.250000 0.335356 +v 1.285355 4.750000 0.335356 +v 1.150000 4.850000 0.350000 +v 1.150000 4.814644 0.335356 +v 1.150000 4.800000 0.300000 +v 1.150000 4.814644 0.264645 +v 1.150000 4.850000 0.250000 +v 1.150000 4.885355 0.264645 +v 1.150000 4.900000 0.300000 +v 1.150000 4.885355 0.335356 +v 0.850000 4.814644 0.335355 +v 0.850000 4.850000 0.350000 +v 0.850000 4.800000 0.300000 +v 0.850000 4.814644 0.264645 +v 0.850000 4.850000 0.250000 +v 0.850000 4.885355 0.264645 +v 0.850000 4.900000 0.300000 +v 0.850000 4.885355 0.335355 +v 1.250000 0.250000 -0.250000 +v 1.250000 6.750000 -0.250000 +v 1.214645 0.250000 -0.264645 +v 1.214645 6.750000 -0.264645 +v 1.200000 0.250000 -0.300000 +v 1.200000 6.750000 -0.300000 +v 1.214645 0.250000 -0.335355 +v 1.214645 6.750000 -0.335355 +v 1.250000 0.250000 -0.350000 +v 1.250000 6.750000 -0.350000 +v 1.285355 0.250000 -0.335355 +v 1.285355 6.750000 -0.335355 +v 1.300000 0.250000 -0.300000 +v 1.300000 6.750000 -0.300000 +v 1.285355 0.250000 -0.264644 +v 1.285355 6.750000 -0.264644 +v 1.150000 6.850000 -0.250000 +v 1.150000 6.814644 -0.264645 +v 1.150000 6.800000 -0.300000 +v 1.150000 6.814644 -0.335355 +v 1.150000 6.850000 -0.350000 +v 1.150000 6.885355 -0.335355 +v 1.150000 6.900000 -0.300000 +v 1.150000 6.885355 -0.264645 +v 0.850000 6.814644 -0.264645 +v 0.850000 6.850000 -0.250000 +v 0.850000 6.800000 -0.300000 +v 0.850000 6.814644 -0.335355 +v 0.850000 6.850000 -0.350000 +v 0.850000 6.885355 -0.335355 +v 0.850000 6.900000 -0.300000 +v 0.850000 6.885355 -0.264645 +v 0.050000 0.250000 1.250000 +v 0.050000 8.750000 1.250000 +v 0.064645 0.250000 1.214645 +v 0.064645 8.750000 1.214645 +v 0.100000 0.250000 1.200000 +v 0.100000 8.750000 1.200000 +v 0.135355 0.250000 1.214645 +v 0.135355 8.750000 1.214645 +v 0.150000 0.250000 1.250000 +v 0.150000 8.750000 1.250000 +v 0.135355 0.250000 1.285355 +v 0.135355 8.750000 1.285355 +v 0.100000 0.250000 1.300000 +v 0.100000 8.750000 1.300000 +v 0.064645 0.250000 1.285355 +v 0.064645 8.750000 1.285355 +v 0.050000 8.850000 1.150000 +v 0.064645 8.814644 1.150000 +v 0.100000 8.799999 1.150000 +v 0.135355 8.814644 1.150000 +v 0.150000 8.850000 1.150000 +v 0.135355 8.885355 1.150000 +v 0.100000 8.900000 1.150000 +v 0.064645 8.885355 1.150000 +v 0.064645 8.814644 0.900000 +v 0.050000 8.850000 0.900000 +v 0.100000 8.799999 0.900000 +v 0.135355 8.814644 0.900000 +v 0.150000 8.850000 0.900000 +v 0.135355 8.885355 0.900000 +v 0.100000 8.900000 0.900000 +v 0.064645 8.885355 0.900000 +v -0.150000 0.250000 1.250000 +v -0.150000 2.750000 1.250000 +v -0.135355 0.250000 1.214645 +v -0.135355 2.750000 1.214645 +v -0.100000 0.250000 1.200000 +v -0.100000 2.750000 1.200000 +v -0.064645 0.250000 1.214645 +v -0.064645 2.750000 1.214645 +v -0.050000 0.250000 1.250000 +v -0.050000 2.750000 1.250000 +v -0.064645 0.250000 1.285355 +v -0.064645 2.750000 1.285355 +v -0.100000 0.250000 1.300000 +v -0.100000 2.750000 1.300000 +v -0.135355 0.250000 1.285355 +v -0.135355 2.750000 1.285355 +v -0.150000 2.850000 1.150000 +v -0.135355 2.814644 1.150000 +v -0.100000 2.800000 1.150000 +v -0.064645 2.814644 1.150000 +v -0.050000 2.850000 1.150000 +v -0.064645 2.885355 1.150000 +v -0.100000 2.900000 1.150000 +v -0.135355 2.885355 1.150000 +v -0.135355 2.814644 0.900000 +v -0.150000 2.850000 0.900000 +v -0.100000 2.800000 0.900000 +v -0.064645 2.814644 0.900000 +v -0.050000 2.850000 0.900000 +v -0.064645 2.885355 0.900000 +v -0.100000 2.900000 0.900000 +v -0.135355 2.885355 0.900000 +v -0.350000 0.250000 1.250000 +v -0.350000 4.750000 1.250000 +v -0.335355 0.250000 1.214645 +v -0.335355 4.750000 1.214645 +v -0.300000 0.250000 1.200000 +v -0.300000 4.750000 1.200000 +v -0.264645 0.250000 1.214645 +v -0.264645 4.750000 1.214645 +v -0.250000 0.250000 1.250000 +v -0.250000 4.750000 1.250000 +v -0.264645 0.250000 1.285355 +v -0.264645 4.750000 1.285355 +v -0.300000 0.250000 1.300000 +v -0.300000 4.750000 1.300000 +v -0.335355 0.250000 1.285355 +v -0.335355 4.750000 1.285355 +v -0.350000 4.850000 1.150000 +v -0.335355 4.814644 1.150000 +v -0.300000 4.800000 1.150000 +v -0.264645 4.814644 1.150000 +v -0.250000 4.850000 1.150000 +v -0.264645 4.885355 1.150000 +v -0.300000 4.900000 1.150000 +v -0.335355 4.885355 1.150000 +v -0.335355 4.814644 0.850000 +v -0.350000 4.850000 0.850000 +v -0.300000 4.800000 0.850000 +v -0.264645 4.814644 0.850000 +v -0.250000 4.850000 0.850000 +v -0.264645 4.885355 0.850000 +v -0.300000 4.900000 0.850000 +v -0.335355 4.885355 0.850000 +v 0.250000 0.250000 1.250000 +v 0.250000 6.750000 1.250000 +v 0.264645 0.250000 1.214645 +v 0.264645 6.750000 1.214645 +v 0.300000 0.250000 1.200000 +v 0.300000 6.750000 1.200000 +v 0.335355 0.250000 1.214645 +v 0.335355 6.750000 1.214645 +v 0.350000 0.250000 1.250000 +v 0.350000 6.750000 1.250000 +v 0.335355 0.250000 1.285355 +v 0.335355 6.750000 1.285355 +v 0.300000 0.250000 1.300000 +v 0.300000 6.750000 1.300000 +v 0.264645 0.250000 1.285355 +v 0.264645 6.750000 1.285355 +v 0.250000 6.850000 1.150000 +v 0.264645 6.814644 1.150000 +v 0.300000 6.800000 1.150000 +v 0.335355 6.814644 1.150000 +v 0.350000 6.850000 1.150000 +v 0.335355 6.885355 1.150000 +v 0.300000 6.900000 1.150000 +v 0.264645 6.885355 1.150000 +v 0.264645 6.814644 0.850000 +v 0.250000 6.850000 0.850000 +v 0.300000 6.800000 0.850000 +v 0.335355 6.814644 0.850000 +v 0.350000 6.850000 0.850000 +v 0.335355 6.885355 0.850000 +v 0.300000 6.900000 0.850000 +v 0.264645 6.885355 0.850000 +v -1.250000 0.250000 0.050000 +v -1.250000 8.750000 0.050000 +v -1.214645 0.250000 0.064645 +v -1.214645 8.750000 0.064645 +v -1.200000 0.250000 0.100000 +v -1.200000 8.750000 0.100000 +v -1.214645 0.250000 0.135355 +v -1.214645 8.750000 0.135355 +v -1.250000 0.250000 0.150000 +v -1.250000 8.750000 0.150000 +v -1.285355 0.250000 0.135355 +v -1.285355 8.750000 0.135355 +v -1.300000 0.250000 0.100000 +v -1.300000 8.750000 0.100000 +v -1.285355 0.250000 0.064645 +v -1.285355 8.750000 0.064645 +v -1.150000 8.850000 0.050000 +v -1.150000 8.814644 0.064645 +v -1.150000 8.799999 0.100000 +v -1.150000 8.814644 0.135355 +v -1.150000 8.850000 0.150000 +v -1.150000 8.885355 0.135355 +v -1.150000 8.900000 0.100000 +v -1.150000 8.885355 0.064645 +v -0.900000 8.814644 0.064645 +v -0.900000 8.850000 0.050000 +v -0.900000 8.799999 0.100000 +v -0.900000 8.814644 0.135355 +v -0.900000 8.850000 0.150000 +v -0.900000 8.885355 0.135355 +v -0.900000 8.900000 0.100000 +v -0.900000 8.885355 0.064645 +v -1.250000 0.250000 -0.150000 +v -1.250000 2.750000 -0.150000 +v -1.214645 0.250000 -0.135355 +v -1.214645 2.750000 -0.135355 +v -1.200000 0.250000 -0.100000 +v -1.200000 2.750000 -0.100000 +v -1.214645 0.250000 -0.064645 +v -1.214645 2.750000 -0.064645 +v -1.250000 0.250000 -0.050000 +v -1.250000 2.750000 -0.050000 +v -1.285355 0.250000 -0.064645 +v -1.285355 2.750000 -0.064645 +v -1.300000 0.250000 -0.100000 +v -1.300000 2.750000 -0.100000 +v -1.285355 0.250000 -0.135355 +v -1.285355 2.750000 -0.135355 +v -1.150000 2.850000 -0.150000 +v -1.150000 2.814644 -0.135355 +v -1.150000 2.800000 -0.100000 +v -1.150000 2.814644 -0.064645 +v -1.150000 2.850000 -0.050000 +v -1.150000 2.885355 -0.064645 +v -1.150000 2.900000 -0.100000 +v -1.150000 2.885355 -0.135355 +v -0.900000 2.814644 -0.135355 +v -0.900000 2.850000 -0.150000 +v -0.900000 2.800000 -0.100000 +v -0.900000 2.814644 -0.064645 +v -0.900000 2.850000 -0.050000 +v -0.900000 2.885355 -0.064645 +v -0.900000 2.900000 -0.100000 +v -0.900000 2.885355 -0.135355 +v -1.250000 0.250000 -0.350000 +v -1.250000 4.750000 -0.350000 +v -1.214645 0.250000 -0.335355 +v -1.214645 4.750000 -0.335355 +v -1.200000 0.250000 -0.300000 +v -1.200000 4.750000 -0.300000 +v -1.214645 0.250000 -0.264645 +v -1.214645 4.750000 -0.264645 +v -1.250000 0.250000 -0.250000 +v -1.250000 4.750000 -0.250000 +v -1.285355 0.250000 -0.264645 +v -1.285355 4.750000 -0.264645 +v -1.300000 0.250000 -0.300000 +v -1.300000 4.750000 -0.300000 +v -1.285355 0.250000 -0.335355 +v -1.285355 4.750000 -0.335355 +v -1.150000 4.850000 -0.350000 +v -1.150000 4.814644 -0.335355 +v -1.150000 4.800000 -0.300000 +v -1.150000 4.814644 -0.264645 +v -1.150000 4.850000 -0.250000 +v -1.150000 4.885355 -0.264645 +v -1.150000 4.900000 -0.300000 +v -1.150000 4.885355 -0.335355 +v -0.850000 4.814644 -0.335355 +v -0.850000 4.850000 -0.350000 +v -0.850000 4.800000 -0.300000 +v -0.850000 4.814644 -0.264645 +v -0.850000 4.850000 -0.250000 +v -0.850000 4.885355 -0.264645 +v -0.850000 4.900000 -0.300000 +v -0.850000 4.885355 -0.335355 +v -1.250000 0.250000 0.250000 +v -1.250000 6.750000 0.250000 +v -1.214645 0.250000 0.264645 +v -1.214645 6.750000 0.264645 +v -1.200000 0.250000 0.300000 +v -1.200000 6.750000 0.300000 +v -1.214645 0.250000 0.335355 +v -1.214645 6.750000 0.335355 +v -1.250000 0.250000 0.350000 +v -1.250000 6.750000 0.350000 +v -1.285355 0.250000 0.335355 +v -1.285355 6.750000 0.335355 +v -1.300000 0.250000 0.300000 +v -1.300000 6.750000 0.300000 +v -1.285355 0.250000 0.264645 +v -1.285355 6.750000 0.264645 +v -1.150000 6.850000 0.250000 +v -1.150000 6.814644 0.264645 +v -1.150000 6.800000 0.300000 +v -1.150000 6.814644 0.335355 +v -1.150000 6.850000 0.350000 +v -1.150000 6.885355 0.335355 +v -1.150000 6.900000 0.300000 +v -1.150000 6.885355 0.264645 +v -0.850000 6.814644 0.264645 +v -0.850000 6.850000 0.250000 +v -0.850000 6.800000 0.300000 +v -0.850000 6.814644 0.335355 +v -0.850000 6.850000 0.350000 +v -0.850000 6.885355 0.335355 +v -0.850000 6.900000 0.300000 +v -0.850000 6.885355 0.264645 +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v -1.000000 1.000000 1.000000 +v 1.000000 1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v 1.000000 1.000000 -1.000000 +v -1.500000 0.343750 -0.843750 +v -1.500000 0.656250 -0.843750 +v -1.500000 0.343750 -1.156250 +v -1.500000 0.656250 -1.156250 +v -1.150000 0.343750 -0.843750 +v -1.150000 0.656250 -0.843750 +v -1.150000 0.343750 -1.156250 +v -1.150000 0.656250 -1.156250 +v -1.500000 0.343750 1.156250 +v -1.500000 0.656250 1.156250 +v -1.500000 0.343750 0.843750 +v -1.500000 0.656250 0.843750 +v -1.150000 0.343750 1.156250 +v -1.150000 0.656250 1.156250 +v -1.150000 0.343750 0.843750 +v -1.150000 0.656250 0.843750 +v 1.150000 0.343750 1.156250 +v 1.150000 0.656250 1.156250 +v 1.150000 0.343750 0.843750 +v 1.150000 0.656250 0.843750 +v 1.500000 0.343750 1.156250 +v 1.500000 0.656250 1.156250 +v 1.500000 0.343750 0.843750 +v 1.500000 0.656250 0.843750 +v 1.150000 0.343750 -0.843750 +v 1.150000 0.656250 -0.843750 +v 1.150000 0.343750 -1.156250 +v 1.150000 0.656250 -1.156250 +v 1.500000 0.343750 -0.843750 +v 1.500000 0.656250 -0.843750 +v 1.500000 0.343750 -1.156250 +v 1.500000 0.656250 -1.156250 +v -0.843750 0.343750 1.500000 +v -0.843750 0.656250 1.500000 +v -1.156250 0.343750 1.500000 +v -1.156250 0.656250 1.500000 +v -0.843750 0.343750 1.150000 +v -0.843750 0.656250 1.150000 +v -1.156250 0.343750 1.150000 +v -1.156250 0.656250 1.150000 +v 1.156250 0.343750 1.500000 +v 1.156250 0.656250 1.500000 +v 0.843750 0.343750 1.500000 +v 0.843750 0.656250 1.500000 +v 1.156250 0.343750 1.150000 +v 1.156250 0.656250 1.150000 +v 0.843750 0.343750 1.150000 +v 0.843750 0.656250 1.150000 +v 1.156250 0.343750 -1.150000 +v 1.156250 0.656250 -1.150000 +v 0.843750 0.343750 -1.150000 +v 0.843750 0.656250 -1.150000 +v 1.156250 0.343750 -1.500000 +v 1.156250 0.656250 -1.500000 +v 0.843750 0.343750 -1.500000 +v 0.843750 0.656250 -1.500000 +v -0.843750 0.343750 -1.150000 +v -0.843750 0.656250 -1.150000 +v -1.156250 0.343750 -1.150000 +v -1.156250 0.656250 -1.150000 +v -0.843750 0.343750 -1.500000 +v -0.843750 0.656250 -1.500000 +v -1.156250 0.343750 -1.500000 +v -1.156250 0.656250 -1.500000 +v 0.000000 1.000000 -0.950000 +v -0.475000 1.000000 -0.822724 +v -0.822724 1.000000 -0.475000 +v -0.950000 1.000000 0.000000 +v -0.822724 1.000000 0.475000 +v -0.475000 1.000000 0.822724 +v -0.000000 1.000000 0.950000 +v 0.475000 1.000000 0.822724 +v 0.822724 1.000000 0.475000 +v 0.950000 1.000000 0.000000 +v 0.822724 1.000000 -0.475000 +v 0.475001 1.000000 -0.822724 +v -0.475000 2.950000 -0.822724 +v 0.000000 2.950000 -0.950000 +v -0.822724 2.950000 -0.475000 +v -0.950000 2.950000 0.000000 +v -0.822724 2.950000 0.475000 +v -0.475000 2.950000 0.822724 +v 0.000000 2.950000 0.950000 +v 0.475000 2.950000 0.822724 +v 0.822724 2.950000 0.475000 +v 0.950000 2.950000 0.000000 +v 0.822725 2.950000 -0.475000 +v 0.475001 2.950000 -0.822724 +v -0.486875 2.950000 -0.843292 +v 0.000000 2.950000 -0.973750 +v -0.843292 2.950000 -0.486875 +v -0.973750 2.950000 0.000000 +v -0.843292 2.950000 0.486875 +v -0.486875 2.950000 0.843292 +v 0.000000 2.950000 0.973750 +v 0.486875 2.950000 0.843292 +v 0.843292 2.950000 0.486875 +v 0.973750 2.950000 0.000000 +v 0.843293 2.950000 -0.486875 +v 0.486876 2.950000 -0.843292 +v -0.486875 3.000000 -0.843292 +v 0.000000 3.000000 -0.973750 +v -0.843292 3.000000 -0.486875 +v -0.973750 3.000000 0.000000 +v -0.843292 3.000000 0.486875 +v -0.486875 3.000000 0.843292 +v 0.000000 3.000000 0.973750 +v 0.486875 3.000000 0.843292 +v 0.843292 3.000000 0.486875 +v 0.973750 3.000000 0.000000 +v 0.843293 3.000000 -0.486875 +v 0.486876 3.000000 -0.843292 +v 0.000000 3.000000 -0.950000 +v -0.475000 3.000000 -0.822724 +v -0.822724 3.000000 -0.475000 +v -0.950000 3.000000 0.000000 +v -0.822724 3.000000 0.475000 +v -0.475000 3.000000 0.822724 +v -0.000000 3.000000 0.950000 +v 0.475000 3.000000 0.822724 +v 0.822724 3.000000 0.475000 +v 0.950000 3.000000 0.000000 +v 0.822724 3.000000 -0.475000 +v 0.475001 3.000000 -0.822724 +v -0.475000 4.950000 -0.822724 +v 0.000000 4.950000 -0.950000 +v -0.822724 4.950000 -0.475000 +v -0.950000 4.950000 0.000000 +v -0.822724 4.950000 0.475000 +v -0.475000 4.950000 0.822724 +v 0.000000 4.950000 0.950000 +v 0.475000 4.950000 0.822724 +v 0.822724 4.950000 0.475000 +v 0.950000 4.950000 0.000000 +v 0.822725 4.950000 -0.475000 +v 0.475001 4.950000 -0.822724 +v -0.486875 4.950000 -0.843292 +v 0.000000 4.950000 -0.973750 +v -0.843292 4.950000 -0.486875 +v -0.973750 4.950000 0.000000 +v -0.843292 4.950000 0.486875 +v -0.486875 4.950000 0.843292 +v 0.000000 4.950000 0.973750 +v 0.486875 4.950000 0.843292 +v 0.843292 4.950000 0.486875 +v 0.973750 4.950000 0.000000 +v 0.843293 4.950000 -0.486875 +v 0.486876 4.950000 -0.843292 +v -0.486875 5.000000 -0.843292 +v 0.000000 5.000000 -0.973750 +v -0.843292 5.000000 -0.486875 +v -0.973750 5.000000 0.000000 +v -0.843292 5.000000 0.486875 +v -0.486875 5.000000 0.843292 +v 0.000000 5.000000 0.973750 +v 0.486875 5.000000 0.843292 +v 0.843292 5.000000 0.486875 +v 0.973750 5.000000 0.000000 +v 0.843293 5.000000 -0.486875 +v 0.486876 5.000000 -0.843292 +v 0.000000 5.000000 -0.950000 +v -0.475000 5.000000 -0.822724 +v -0.822724 5.000000 -0.475000 +v -0.950000 5.000000 0.000000 +v -0.822724 5.000000 0.475000 +v -0.475000 5.000000 0.822724 +v -0.000000 5.000000 0.950000 +v 0.475000 5.000000 0.822724 +v 0.822724 5.000000 0.475000 +v 0.950000 5.000000 0.000000 +v 0.822724 5.000000 -0.475000 +v 0.475001 5.000000 -0.822724 +v -0.475000 6.950000 -0.822724 +v 0.000000 6.950000 -0.950000 +v -0.822724 6.950000 -0.475000 +v -0.950000 6.950000 0.000000 +v -0.822724 6.950000 0.475000 +v -0.475000 6.950000 0.822724 +v 0.000000 6.950000 0.950000 +v 0.475000 6.950000 0.822724 +v 0.822724 6.950000 0.475000 +v 0.950000 6.950000 0.000000 +v 0.822725 6.950000 -0.475000 +v 0.475001 6.950000 -0.822724 +v -0.486875 6.950000 -0.843292 +v 0.000000 6.950000 -0.973750 +v -0.843292 6.950000 -0.486875 +v -0.973750 6.950000 0.000000 +v -0.843292 6.950000 0.486875 +v -0.486875 6.950000 0.843292 +v 0.000000 6.950000 0.973750 +v 0.486875 6.950000 0.843292 +v 0.843292 6.950000 0.486875 +v 0.973750 6.950000 0.000000 +v 0.843293 6.950000 -0.486875 +v 0.486876 6.950000 -0.843292 +v -0.486875 7.000000 -0.843292 +v 0.000000 7.000000 -0.973750 +v -0.843292 7.000000 -0.486875 +v -0.973750 7.000000 0.000000 +v -0.843292 7.000000 0.486875 +v -0.486875 7.000000 0.843292 +v 0.000000 7.000000 0.973750 +v 0.486875 7.000000 0.843292 +v 0.843292 7.000000 0.486875 +v 0.973750 7.000000 0.000000 +v 0.843293 7.000000 -0.486875 +v 0.486876 7.000000 -0.843292 +v 0.000000 7.000000 -0.950000 +v -0.475000 7.000000 -0.822724 +v -0.822724 7.000000 -0.475000 +v -0.950000 7.000000 0.000000 +v -0.822724 7.000000 0.475000 +v -0.475000 7.000000 0.822724 +v -0.000000 7.000000 0.950000 +v 0.475000 7.000000 0.822724 +v 0.822724 7.000000 0.475000 +v 0.950000 7.000000 0.000000 +v 0.822724 7.000000 -0.475000 +v 0.475001 7.000000 -0.822724 +v -0.475000 8.950000 -0.822724 +v 0.000000 8.950000 -0.950000 +v -0.822724 8.950000 -0.475000 +v -0.950000 8.950000 0.000000 +v -0.822724 8.950000 0.475000 +v -0.475000 8.950000 0.822724 +v 0.000000 8.950000 0.950000 +v 0.475000 8.950000 0.822724 +v 0.822724 8.950000 0.475000 +v 0.950000 8.950000 0.000000 +v 0.822725 8.950000 -0.475000 +v 0.475001 8.950000 -0.822724 +v -0.486875 8.950000 -0.843292 +v 0.000000 8.950000 -0.973750 +v -0.843292 8.950000 -0.486875 +v -0.973750 8.950000 0.000000 +v -0.843292 8.950000 0.486875 +v -0.486875 8.950000 0.843292 +v 0.000000 8.950000 0.973750 +v 0.486875 8.950000 0.843292 +v 0.843292 8.950000 0.486875 +v 0.973750 8.950000 0.000000 +v 0.843293 8.950000 -0.486875 +v 0.486876 8.950000 -0.843292 +v -0.486875 9.000000 -0.843292 +v 0.000000 9.000000 -0.973750 +v -0.843292 9.000000 -0.486875 +v -0.973750 9.000000 0.000000 +v -0.843292 9.000000 0.486875 +v -0.486875 9.000000 0.843292 +v 0.000000 9.000000 0.973750 +v 0.486875 9.000000 0.843292 +v 0.843292 9.000000 0.486875 +v 0.973750 9.000000 0.000000 +v 0.843293 9.000000 -0.486875 +v 0.486876 9.000000 -0.843292 +v -1.000000 1.000000 0.000000 +v 0.000000 1.000000 1.000000 +v 1.000000 1.000000 0.000000 +v 0.000000 1.000000 -1.000000 +v -0.237500 9.000000 -0.411362 +v 0.000000 9.000000 -0.475000 +v -0.411362 9.000000 -0.237500 +v -0.475000 9.000000 0.000000 +v -0.411362 9.000000 0.237500 +v -0.237500 9.000000 0.411362 +v 0.000000 9.000000 0.475000 +v 0.237500 9.000000 0.411362 +v 0.411362 9.000000 0.237500 +v 0.475000 9.000000 0.000000 +v 0.411362 9.000000 -0.237500 +v 0.237500 9.000000 -0.411362 +v -0.237500 9.400000 -0.411362 +v 0.000000 9.400000 -0.475000 +v -0.411362 9.400000 -0.237500 +v -0.475000 9.400000 0.000000 +v -0.411362 9.400000 0.237500 +v -0.237500 9.400000 0.411362 +v 0.000000 9.400000 0.475000 +v 0.237500 9.400000 0.411362 +v 0.411362 9.400000 0.237500 +v 0.475000 9.400000 0.000000 +v 0.411363 9.400000 -0.237500 +v 0.237501 9.400000 -0.411362 +v -0.178125 9.500000 -0.308521 +v 0.000000 9.500000 -0.356250 +v -0.308521 9.500000 -0.178125 +v -0.356250 9.500000 0.000000 +v -0.308521 9.500000 0.178125 +v -0.178125 9.500000 0.308522 +v 0.000000 9.500000 0.356250 +v 0.178125 9.500000 0.308522 +v 0.308522 9.500000 0.178125 +v 0.356250 9.500000 0.000000 +v 0.308522 9.500000 -0.178125 +v 0.178126 9.500000 -0.308521 +vt 0.820131 0.273110 +vt 0.815679 0.273147 +vt 0.815679 0.018053 +vt 0.811227 0.273183 +vt 0.811227 0.018089 +vt 0.846843 0.272893 +vt 0.842391 0.272929 +vt 0.842391 0.017835 +vt 0.837939 0.272965 +vt 0.837939 0.017871 +vt 0.833487 0.273001 +vt 0.833487 0.017908 +vt 0.829035 0.273038 +vt 0.829035 0.017944 +vt 0.824583 0.273074 +vt 0.820131 0.018016 +vt 0.824583 0.017980 +vt 0.685345 0.850994 +vt 0.682931 0.850998 +vt 0.682982 0.712661 +vt 0.972740 0.425247 +vt 0.970563 0.425859 +vt 0.970563 0.420457 +vt 0.968851 0.427337 +vt 0.968851 0.418980 +vt 0.967139 0.428814 +vt 0.967139 0.417503 +vt 0.964962 0.429426 +vt 0.959362 0.425859 +vt 0.957185 0.425247 +vt 0.957185 0.421069 +vt 0.961074 0.418980 +vt 0.961074 0.427337 +vt 0.962785 0.428814 +vt 0.964962 0.416891 +vt 0.943392 0.662494 +vt 0.928620 0.662494 +vt 0.928620 0.660233 +vt 0.680516 0.851002 +vt 0.680568 0.712665 +vt 0.943392 0.667017 +vt 0.928620 0.667017 +vt 0.928620 0.664756 +vt 0.943392 0.671539 +vt 0.928620 0.671539 +vt 0.928620 0.669278 +vt 0.943392 0.657972 +vt 0.928620 0.657972 +vt 0.928620 0.655711 +vt 0.943392 0.660233 +vt 0.943392 0.664756 +vt 0.943392 0.669278 +vt 0.943392 0.655711 +vt 0.928620 0.653449 +vt 0.699833 0.850970 +vt 0.697418 0.850974 +vt 0.697470 0.712637 +vt 0.695004 0.850978 +vt 0.695055 0.712641 +vt 0.692589 0.850982 +vt 0.692640 0.712645 +vt 0.690174 0.850986 +vt 0.690226 0.712649 +vt 0.687760 0.850990 +vt 0.685397 0.712657 +vt 0.687811 0.712653 +vt 0.889209 0.962108 +vt 0.889209 0.966286 +vt 0.887032 0.966898 +vt 0.887032 0.961496 +vt 0.885320 0.968375 +vt 0.885320 0.960019 +vt 0.883608 0.969852 +vt 0.881431 0.970464 +vt 0.881431 0.957930 +vt 0.875830 0.966898 +vt 0.873654 0.966286 +vt 0.873654 0.962108 +vt 0.877542 0.968375 +vt 0.875830 0.961496 +vt 0.879254 0.958541 +vt 0.879254 0.969852 +vt 0.622632 0.943054 +vt 0.607860 0.943054 +vt 0.607860 0.940793 +vt 0.622632 0.947576 +vt 0.607860 0.947576 +vt 0.607860 0.945315 +vt 0.622632 0.952099 +vt 0.607860 0.952099 +vt 0.607860 0.949837 +vt 0.622632 0.938531 +vt 0.607860 0.938531 +vt 0.607860 0.936270 +vt 0.622632 0.940793 +vt 0.622632 0.945315 +vt 0.622632 0.949838 +vt 0.622632 0.936270 +vt 0.607860 0.934009 +vt 0.563969 0.898368 +vt 0.560730 0.898390 +vt 0.560730 0.712784 +vt 0.557491 0.898411 +vt 0.557491 0.712806 +vt 0.583406 0.898239 +vt 0.580166 0.898260 +vt 0.580166 0.712655 +vt 0.576927 0.898282 +vt 0.576927 0.712676 +vt 0.573687 0.898304 +vt 0.573687 0.712698 +vt 0.570448 0.898325 +vt 0.570448 0.712720 +vt 0.567209 0.898347 +vt 0.563969 0.712763 +vt 0.567209 0.712741 +vt 0.972740 0.517333 +vt 0.972740 0.521512 +vt 0.970563 0.522123 +vt 0.970563 0.516722 +vt 0.968851 0.523601 +vt 0.968851 0.515244 +vt 0.967139 0.525078 +vt 0.964962 0.525690 +vt 0.964962 0.513155 +vt 0.959362 0.516722 +vt 0.959362 0.522124 +vt 0.957185 0.521512 +vt 0.961073 0.515244 +vt 0.961074 0.523601 +vt 0.962785 0.525078 +vt 0.962785 0.513767 +vt 0.466902 0.933063 +vt 0.449176 0.933063 +vt 0.449176 0.930802 +vt 0.466902 0.937585 +vt 0.449176 0.937585 +vt 0.449176 0.935324 +vt 0.466902 0.942108 +vt 0.449176 0.942108 +vt 0.449176 0.939846 +vt 0.466902 0.928541 +vt 0.449176 0.928541 +vt 0.449176 0.926279 +vt 0.466902 0.930802 +vt 0.466902 0.935324 +vt 0.466902 0.939846 +vt 0.466902 0.926279 +vt 0.449176 0.924018 +vt 0.747799 0.823007 +vt 0.743906 0.823036 +vt 0.743983 0.599963 +vt 0.740013 0.823064 +vt 0.740090 0.599992 +vt 0.771158 0.822834 +vt 0.767265 0.822863 +vt 0.767342 0.599791 +vt 0.763372 0.822892 +vt 0.763449 0.599820 +vt 0.759479 0.822921 +vt 0.759556 0.599848 +vt 0.755586 0.822949 +vt 0.755663 0.599877 +vt 0.751692 0.822978 +vt 0.747876 0.599935 +vt 0.751769 0.599906 +vt 0.972740 0.473380 +vt 0.970563 0.473991 +vt 0.970563 0.468589 +vt 0.968851 0.475469 +vt 0.967139 0.476946 +vt 0.967139 0.465635 +vt 0.964962 0.477558 +vt 0.959362 0.473991 +vt 0.957185 0.473380 +vt 0.957185 0.469201 +vt 0.961073 0.475469 +vt 0.959362 0.468590 +vt 0.962785 0.476946 +vt 0.961073 0.467112 +vt 0.964962 0.465023 +vt 0.698242 0.895644 +vt 0.680516 0.895644 +vt 0.680516 0.893383 +vt 0.698242 0.900167 +vt 0.680516 0.900167 +vt 0.680516 0.897905 +vt 0.698242 0.904689 +vt 0.680516 0.904689 +vt 0.680516 0.902428 +vt 0.698242 0.891122 +vt 0.680516 0.891122 +vt 0.680516 0.888861 +vt 0.698242 0.893383 +vt 0.698242 0.897905 +vt 0.698242 0.902428 +vt 0.698242 0.888861 +vt 0.680516 0.886599 +vt 0.748917 0.273110 +vt 0.744465 0.273147 +vt 0.744465 0.018053 +vt 0.740013 0.273183 +vt 0.740013 0.018089 +vt 0.775629 0.272893 +vt 0.771177 0.272929 +vt 0.771177 0.017835 +vt 0.766725 0.272965 +vt 0.766725 0.017871 +vt 0.762273 0.273001 +vt 0.762273 0.017908 +vt 0.757821 0.273038 +vt 0.757821 0.017944 +vt 0.753369 0.273074 +vt 0.748917 0.018016 +vt 0.753369 0.017980 +vt 0.887270 0.330131 +vt 0.884856 0.330136 +vt 0.884856 0.191799 +vt 0.945712 0.312161 +vt 0.941534 0.312161 +vt 0.940922 0.309984 +vt 0.946324 0.309984 +vt 0.939444 0.308272 +vt 0.937967 0.306560 +vt 0.949278 0.306560 +vt 0.937355 0.304383 +vt 0.949890 0.304383 +vt 0.940922 0.298782 +vt 0.941534 0.296605 +vt 0.945712 0.296605 +vt 0.947801 0.300494 +vt 0.939444 0.300494 +vt 0.949278 0.302206 +vt 0.937967 0.302206 +vt 0.943392 0.716182 +vt 0.928620 0.716182 +vt 0.928620 0.713920 +vt 0.882441 0.330140 +vt 0.882441 0.191804 +vt 0.943392 0.720704 +vt 0.928620 0.720704 +vt 0.928620 0.718443 +vt 0.943392 0.725226 +vt 0.928620 0.725226 +vt 0.928620 0.722965 +vt 0.943392 0.711659 +vt 0.928620 0.711659 +vt 0.928620 0.709398 +vt 0.943392 0.713920 +vt 0.943392 0.718443 +vt 0.943392 0.722965 +vt 0.943392 0.709398 +vt 0.928620 0.707137 +vt 0.901758 0.330101 +vt 0.899343 0.330106 +vt 0.899343 0.191770 +vt 0.896929 0.330111 +vt 0.896929 0.191775 +vt 0.894514 0.330116 +vt 0.894514 0.191779 +vt 0.892099 0.330121 +vt 0.892099 0.191784 +vt 0.889685 0.330126 +vt 0.887270 0.191794 +vt 0.889685 0.191789 +vt 0.940362 0.962108 +vt 0.940362 0.966286 +vt 0.938185 0.966898 +vt 0.936473 0.968375 +vt 0.936473 0.960019 +vt 0.934761 0.969852 +vt 0.934761 0.958541 +vt 0.932584 0.970464 +vt 0.926984 0.966898 +vt 0.924807 0.966286 +vt 0.924807 0.962108 +vt 0.928695 0.968375 +vt 0.926984 0.961496 +vt 0.930407 0.969852 +vt 0.928696 0.960019 +vt 0.930407 0.958541 +vt 0.572263 0.943054 +vt 0.557491 0.943054 +vt 0.557491 0.940793 +vt 0.572263 0.947576 +vt 0.557491 0.947576 +vt 0.557491 0.945315 +vt 0.572263 0.952099 +vt 0.557491 0.952099 +vt 0.557491 0.949838 +vt 0.572263 0.938531 +vt 0.557491 0.938532 +vt 0.557491 0.936270 +vt 0.572263 0.940793 +vt 0.572263 0.945315 +vt 0.572263 0.949838 +vt 0.572263 0.936270 +vt 0.557491 0.934009 +vt 0.621461 0.532953 +vt 0.618221 0.532974 +vt 0.618221 0.347369 +vt 0.614982 0.532996 +vt 0.614982 0.347390 +vt 0.640897 0.532823 +vt 0.637658 0.532845 +vt 0.637658 0.347239 +vt 0.634418 0.532867 +vt 0.634418 0.347261 +vt 0.631179 0.532888 +vt 0.631179 0.347282 +vt 0.627940 0.532910 +vt 0.627940 0.347304 +vt 0.624700 0.532931 +vt 0.621461 0.347347 +vt 0.624700 0.347326 +vt 0.956754 0.840436 +vt 0.952575 0.840436 +vt 0.951964 0.838260 +vt 0.957365 0.838260 +vt 0.950486 0.836548 +vt 0.958843 0.836548 +vt 0.949009 0.834836 +vt 0.948397 0.832659 +vt 0.960932 0.832659 +vt 0.951963 0.827058 +vt 0.952575 0.824881 +vt 0.956754 0.824881 +vt 0.950486 0.828770 +vt 0.957365 0.827058 +vt 0.960320 0.830482 +vt 0.949009 0.830482 +vt 0.291677 0.925024 +vt 0.273950 0.925024 +vt 0.273950 0.922763 +vt 0.291677 0.927286 +vt 0.291677 0.929547 +vt 0.273950 0.929547 +vt 0.291677 0.934069 +vt 0.273950 0.934069 +vt 0.273950 0.931808 +vt 0.291677 0.920502 +vt 0.273950 0.920502 +vt 0.273950 0.918241 +vt 0.291677 0.922763 +vt 0.273950 0.927286 +vt 0.291677 0.931808 +vt 0.291677 0.918241 +vt 0.273950 0.915980 +vt 0.814620 0.823007 +vt 0.810726 0.823036 +vt 0.810803 0.599963 +vt 0.806833 0.823064 +vt 0.806910 0.599992 +vt 0.837979 0.822834 +vt 0.834086 0.822863 +vt 0.834163 0.599791 +vt 0.830193 0.822892 +vt 0.830270 0.599820 +vt 0.826299 0.822921 +vt 0.826376 0.599848 +vt 0.822406 0.822949 +vt 0.822483 0.599877 +vt 0.818513 0.822978 +vt 0.814697 0.599935 +vt 0.818590 0.599906 +vt 0.952962 0.070109 +vt 0.952962 0.074287 +vt 0.950785 0.074899 +vt 0.950785 0.069497 +vt 0.949073 0.076376 +vt 0.949074 0.068020 +vt 0.947362 0.077854 +vt 0.947362 0.066543 +vt 0.945185 0.078465 +vt 0.939584 0.074899 +vt 0.937407 0.074287 +vt 0.937407 0.070109 +vt 0.941296 0.076376 +vt 0.939584 0.069497 +vt 0.943008 0.077854 +vt 0.941296 0.068020 +vt 0.943008 0.066543 +vt 0.520226 0.933063 +vt 0.502500 0.933063 +vt 0.502500 0.930802 +vt 0.520226 0.935324 +vt 0.520226 0.937585 +vt 0.502500 0.937585 +vt 0.520226 0.942108 +vt 0.502500 0.942108 +vt 0.502500 0.939846 +vt 0.520226 0.928541 +vt 0.502500 0.928541 +vt 0.502500 0.926279 +vt 0.520226 0.930802 +vt 0.502500 0.935324 +vt 0.520226 0.939847 +vt 0.520226 0.926279 +vt 0.502500 0.924018 +vt 0.820131 0.564092 +vt 0.815679 0.564128 +vt 0.815679 0.309034 +vt 0.811227 0.564164 +vt 0.811227 0.309071 +vt 0.846843 0.563874 +vt 0.842391 0.563910 +vt 0.842391 0.308817 +vt 0.837939 0.563947 +vt 0.837939 0.308853 +vt 0.833487 0.563983 +vt 0.833487 0.308889 +vt 0.829035 0.564019 +vt 0.829035 0.308926 +vt 0.824583 0.564056 +vt 0.820131 0.308998 +vt 0.824583 0.308962 +vt 0.878483 0.738122 +vt 0.876068 0.738126 +vt 0.876120 0.599790 +vt 0.945712 0.245452 +vt 0.946324 0.247629 +vt 0.940922 0.247629 +vt 0.947801 0.249341 +vt 0.939445 0.249341 +vt 0.949278 0.251053 +vt 0.937967 0.251053 +vt 0.949890 0.253230 +vt 0.946324 0.258831 +vt 0.945712 0.261008 +vt 0.941534 0.261007 +vt 0.939444 0.257119 +vt 0.947801 0.257119 +vt 0.949278 0.255407 +vt 0.937355 0.253230 +vt 0.740013 0.942451 +vt 0.754785 0.942451 +vt 0.754785 0.944712 +vt 0.873654 0.738130 +vt 0.873705 0.599794 +vt 0.740013 0.937928 +vt 0.754785 0.937928 +vt 0.754785 0.940189 +vt 0.740013 0.933406 +vt 0.754785 0.933406 +vt 0.754785 0.935667 +vt 0.740013 0.946973 +vt 0.754785 0.946973 +vt 0.754785 0.949234 +vt 0.740013 0.944712 +vt 0.740013 0.940189 +vt 0.740013 0.935667 +vt 0.740013 0.949234 +vt 0.754785 0.951495 +vt 0.892970 0.738099 +vt 0.890556 0.738103 +vt 0.890607 0.599766 +vt 0.888141 0.738107 +vt 0.888193 0.599770 +vt 0.885727 0.738111 +vt 0.885778 0.599774 +vt 0.883312 0.738115 +vt 0.883363 0.599778 +vt 0.880897 0.738119 +vt 0.878534 0.599786 +vt 0.880949 0.599782 +vt 0.961363 0.365738 +vt 0.965541 0.365738 +vt 0.966153 0.367915 +vt 0.960751 0.367915 +vt 0.967630 0.369627 +vt 0.959274 0.369627 +vt 0.969107 0.371339 +vt 0.969719 0.373516 +vt 0.957185 0.373516 +vt 0.966153 0.379117 +vt 0.965541 0.381293 +vt 0.961363 0.381293 +vt 0.967630 0.377405 +vt 0.960751 0.379117 +vt 0.969107 0.375693 +vt 0.959274 0.377405 +vt 0.790382 0.942451 +vt 0.805155 0.942451 +vt 0.805155 0.944712 +vt 0.790382 0.937928 +vt 0.805155 0.937928 +vt 0.805155 0.940189 +vt 0.790382 0.935667 +vt 0.790382 0.933406 +vt 0.805155 0.933406 +vt 0.790382 0.949234 +vt 0.790382 0.946973 +vt 0.805155 0.946973 +vt 0.790382 0.944712 +vt 0.790382 0.940189 +vt 0.805155 0.935667 +vt 0.805155 0.949234 +vt 0.805155 0.951495 +vt 0.625482 0.898368 +vt 0.622243 0.898390 +vt 0.622243 0.712784 +vt 0.619003 0.898411 +vt 0.619003 0.712806 +vt 0.644918 0.898239 +vt 0.641679 0.898260 +vt 0.641679 0.712655 +vt 0.638440 0.898282 +vt 0.638440 0.712676 +vt 0.635200 0.898304 +vt 0.635200 0.712698 +vt 0.631961 0.898325 +vt 0.631961 0.712720 +vt 0.628721 0.898347 +vt 0.625482 0.712763 +vt 0.628721 0.712741 +vt 0.956754 0.773728 +vt 0.957365 0.775905 +vt 0.951964 0.775905 +vt 0.958843 0.777617 +vt 0.950486 0.777617 +vt 0.960320 0.779329 +vt 0.960932 0.781506 +vt 0.948397 0.781506 +vt 0.951964 0.787107 +vt 0.957365 0.787107 +vt 0.956754 0.789283 +vt 0.958843 0.785395 +vt 0.960320 0.783683 +vt 0.950486 0.785395 +vt 0.949009 0.783683 +vt 0.151290 0.668797 +vt 0.151291 0.666536 +vt 0.169017 0.666542 +vt 0.151293 0.662013 +vt 0.169019 0.662019 +vt 0.169018 0.664281 +vt 0.151294 0.657491 +vt 0.169021 0.657497 +vt 0.169020 0.659758 +vt 0.151289 0.671058 +vt 0.169016 0.671064 +vt 0.169015 0.673325 +vt 0.169017 0.668803 +vt 0.151292 0.664275 +vt 0.151293 0.659752 +vt 0.151289 0.673319 +vt 0.169014 0.675587 +vt 0.025585 0.880744 +vt 0.021692 0.880774 +vt 0.021694 0.657701 +vt 0.017799 0.880804 +vt 0.017801 0.657732 +vt 0.048945 0.880563 +vt 0.045051 0.880593 +vt 0.045053 0.657521 +vt 0.041158 0.880623 +vt 0.041160 0.657551 +vt 0.037265 0.880653 +vt 0.037267 0.657581 +vt 0.033372 0.880684 +vt 0.033374 0.657611 +vt 0.029478 0.880713 +vt 0.025587 0.657671 +vt 0.029481 0.657641 +vt 0.952962 0.122419 +vt 0.950785 0.123031 +vt 0.950786 0.117629 +vt 0.949074 0.124509 +vt 0.949074 0.116152 +vt 0.947362 0.125986 +vt 0.947362 0.114675 +vt 0.945185 0.126598 +vt 0.939584 0.123031 +vt 0.937407 0.122419 +vt 0.937407 0.118241 +vt 0.941296 0.124509 +vt 0.939584 0.117629 +vt 0.943008 0.125986 +vt 0.941296 0.116152 +vt 0.943008 0.114675 +vt 0.311267 0.666536 +vt 0.328993 0.666536 +vt 0.328993 0.668797 +vt 0.311267 0.662013 +vt 0.328993 0.662013 +vt 0.328993 0.664274 +vt 0.311267 0.657491 +vt 0.328993 0.657491 +vt 0.328993 0.659752 +vt 0.311267 0.671058 +vt 0.328993 0.671058 +vt 0.328993 0.673319 +vt 0.311267 0.668797 +vt 0.311267 0.664275 +vt 0.311267 0.659752 +vt 0.311267 0.673319 +vt 0.328993 0.675581 +vt 0.748917 0.564092 +vt 0.744465 0.564128 +vt 0.744465 0.309034 +vt 0.740013 0.564164 +vt 0.740013 0.309071 +vt 0.775629 0.563874 +vt 0.771177 0.563910 +vt 0.771177 0.308817 +vt 0.766725 0.563947 +vt 0.766725 0.308853 +vt 0.762273 0.563983 +vt 0.762273 0.308889 +vt 0.757821 0.564019 +vt 0.757821 0.308926 +vt 0.753369 0.564056 +vt 0.748917 0.308998 +vt 0.753369 0.308962 +vt 0.887270 0.156159 +vt 0.884856 0.156163 +vt 0.884907 0.017827 +vt 0.696071 0.944465 +vt 0.696071 0.948643 +vt 0.693895 0.949255 +vt 0.692182 0.950732 +vt 0.692183 0.942376 +vt 0.690471 0.952209 +vt 0.690471 0.940899 +vt 0.688294 0.952821 +vt 0.682693 0.949255 +vt 0.680516 0.948643 +vt 0.680516 0.944465 +vt 0.684405 0.942376 +vt 0.684405 0.950732 +vt 0.686117 0.952209 +vt 0.686117 0.940899 +vt 0.928620 0.608807 +vt 0.943392 0.608807 +vt 0.943392 0.611068 +vt 0.882441 0.156167 +vt 0.882493 0.017831 +vt 0.928620 0.604285 +vt 0.943392 0.604284 +vt 0.943392 0.606546 +vt 0.928620 0.599762 +vt 0.943392 0.599762 +vt 0.943392 0.602023 +vt 0.928620 0.613329 +vt 0.943392 0.613329 +vt 0.943392 0.615591 +vt 0.928620 0.611068 +vt 0.928620 0.606546 +vt 0.928620 0.602023 +vt 0.928620 0.615591 +vt 0.943392 0.617852 +vt 0.901758 0.156135 +vt 0.899343 0.156139 +vt 0.899395 0.017803 +vt 0.896929 0.156143 +vt 0.896980 0.017807 +vt 0.894514 0.156147 +vt 0.894566 0.017811 +vt 0.892099 0.156151 +vt 0.892151 0.017815 +vt 0.889685 0.156155 +vt 0.887322 0.017823 +vt 0.889736 0.017819 +vt 0.389987 0.961391 +vt 0.389987 0.965569 +vt 0.387811 0.966181 +vt 0.386099 0.967658 +vt 0.386099 0.959302 +vt 0.384387 0.969135 +vt 0.382210 0.969747 +vt 0.382210 0.957212 +vt 0.376609 0.966181 +vt 0.374432 0.965569 +vt 0.374432 0.961391 +vt 0.378321 0.959301 +vt 0.378321 0.967658 +vt 0.380033 0.969135 +vt 0.380033 0.957824 +vt 0.937355 0.200810 +vt 0.952127 0.200810 +vt 0.952127 0.203071 +vt 0.937355 0.196287 +vt 0.952127 0.196287 +vt 0.952127 0.198548 +vt 0.937355 0.191765 +vt 0.952127 0.191765 +vt 0.952127 0.194026 +vt 0.937355 0.205332 +vt 0.952127 0.205332 +vt 0.952127 0.207593 +vt 0.937355 0.203071 +vt 0.937355 0.198548 +vt 0.937355 0.194026 +vt 0.937355 0.207593 +vt 0.952127 0.209854 +vt 0.682973 0.532953 +vt 0.679734 0.532974 +vt 0.679734 0.347369 +vt 0.676495 0.532996 +vt 0.676495 0.347390 +vt 0.702410 0.532823 +vt 0.699170 0.532845 +vt 0.699170 0.347239 +vt 0.695931 0.532867 +vt 0.695931 0.347261 +vt 0.692692 0.532888 +vt 0.692692 0.347282 +vt 0.689452 0.532910 +vt 0.689452 0.347304 +vt 0.686213 0.532931 +vt 0.682973 0.347347 +vt 0.686213 0.347326 +vt 0.952962 0.021977 +vt 0.952962 0.026155 +vt 0.950785 0.026767 +vt 0.950785 0.021365 +vt 0.949074 0.028244 +vt 0.949073 0.019888 +vt 0.947362 0.029721 +vt 0.945185 0.030333 +vt 0.945185 0.017799 +vt 0.939584 0.026767 +vt 0.937407 0.026155 +vt 0.937407 0.021977 +vt 0.941296 0.028244 +vt 0.939584 0.021365 +vt 0.943008 0.029721 +vt 0.941296 0.019888 +vt 0.257942 0.666536 +vt 0.275669 0.666536 +vt 0.275669 0.668797 +vt 0.257942 0.662013 +vt 0.275669 0.662013 +vt 0.275669 0.664275 +vt 0.257942 0.657491 +vt 0.275669 0.657491 +vt 0.275669 0.659752 +vt 0.257942 0.671058 +vt 0.275669 0.671058 +vt 0.275669 0.673319 +vt 0.257942 0.668797 +vt 0.257942 0.664275 +vt 0.257942 0.659752 +vt 0.257942 0.673319 +vt 0.275669 0.675581 +vt 0.092331 0.880744 +vt 0.088438 0.880774 +vt 0.088438 0.657702 +vt 0.084544 0.880804 +vt 0.084545 0.657732 +vt 0.115690 0.880563 +vt 0.111797 0.880593 +vt 0.111797 0.657521 +vt 0.107904 0.880623 +vt 0.107904 0.657551 +vt 0.104010 0.880654 +vt 0.104011 0.657581 +vt 0.100117 0.880684 +vt 0.100117 0.657611 +vt 0.096224 0.880714 +vt 0.092331 0.657672 +vt 0.096224 0.657641 +vt 0.289506 0.973845 +vt 0.289506 0.978023 +vt 0.287329 0.978635 +vt 0.287329 0.973233 +vt 0.285617 0.980112 +vt 0.283905 0.981589 +vt 0.283905 0.970279 +vt 0.281728 0.982201 +vt 0.276127 0.978635 +vt 0.273950 0.978023 +vt 0.273950 0.973845 +vt 0.277839 0.980112 +vt 0.276127 0.973233 +vt 0.279551 0.970279 +vt 0.279551 0.981589 +vt 0.204618 0.666536 +vt 0.222345 0.666536 +vt 0.222345 0.668797 +vt 0.204618 0.662013 +vt 0.222345 0.662013 +vt 0.222345 0.664274 +vt 0.204618 0.657491 +vt 0.222345 0.657491 +vt 0.222345 0.659752 +vt 0.204618 0.671058 +vt 0.222345 0.671058 +vt 0.222345 0.673319 +vt 0.204618 0.668797 +vt 0.204618 0.664275 +vt 0.204618 0.659752 +vt 0.204618 0.673319 +vt 0.222345 0.675581 +vt 0.873654 0.773728 +vt 0.892119 0.773728 +vt 0.892119 0.792193 +vt 0.210748 0.210748 +vt 0.252530 0.168966 +vt 0.320134 0.194789 +vt 0.127185 0.210748 +vt 0.168966 0.252530 +vt 0.143144 0.320134 +vt 0.127185 0.127185 +vt 0.085403 0.168966 +vt 0.017799 0.143144 +vt 0.210748 0.127185 +vt 0.168966 0.085403 +vt 0.194789 0.017799 +vt 0.374432 0.847755 +vt 0.392897 0.847755 +vt 0.392897 0.866220 +vt 0.413578 0.903150 +vt 0.413578 0.921615 +vt 0.392897 0.921615 +vt 0.392897 0.884685 +vt 0.413578 0.866220 +vt 0.413578 0.847755 +vt 0.392897 0.903150 +vt 0.882441 0.475196 +vt 0.900906 0.475196 +vt 0.900906 0.493661 +vt 0.921587 0.530591 +vt 0.921587 0.549056 +vt 0.900906 0.549056 +vt 0.900906 0.512126 +vt 0.921587 0.493661 +vt 0.921587 0.475196 +vt 0.900906 0.530591 +vt 0.201423 0.934445 +vt 0.219888 0.934445 +vt 0.219888 0.955125 +vt 0.238353 0.915980 +vt 0.238353 0.934445 +vt 0.182958 0.955125 +vt 0.164493 0.955125 +vt 0.164493 0.934445 +vt 0.201423 0.955125 +vt 0.910584 0.901651 +vt 0.929049 0.901651 +vt 0.929049 0.922332 +vt 0.947514 0.883186 +vt 0.947514 0.901651 +vt 0.892119 0.922332 +vt 0.873654 0.922332 +vt 0.873654 0.901651 +vt 0.910584 0.922332 +vt 0.912800 0.829123 +vt 0.912800 0.847588 +vt 0.892119 0.847588 +vt 0.892119 0.810658 +vt 0.912800 0.792193 +vt 0.912800 0.773728 +vt 0.892119 0.829123 +vt 0.882441 0.365738 +vt 0.900906 0.365738 +vt 0.900906 0.384203 +vt 0.921587 0.421133 +vt 0.921587 0.439598 +vt 0.900906 0.439598 +vt 0.900906 0.402668 +vt 0.921587 0.384203 +vt 0.921587 0.365738 +vt 0.900906 0.421133 +vt 0.776943 0.877127 +vt 0.795408 0.877127 +vt 0.795408 0.897808 +vt 0.813873 0.858662 +vt 0.813873 0.877127 +vt 0.758478 0.897808 +vt 0.740013 0.897808 +vt 0.740013 0.877127 +vt 0.776943 0.897808 +vt 0.579384 0.355731 +vt 0.579384 0.532996 +vt 0.402120 0.532996 +vt 0.078760 0.934867 +vt 0.097225 0.934867 +vt 0.097225 0.955548 +vt 0.115690 0.916402 +vt 0.115690 0.934867 +vt 0.060295 0.955548 +vt 0.041830 0.955548 +vt 0.041830 0.934867 +vt 0.078760 0.955548 +vt 0.665933 0.608286 +vt 0.597183 0.677036 +vt 0.572019 0.583122 +vt 0.254206 0.770894 +vt 0.253843 0.769538 +vt 0.283626 0.769538 +vt 0.413845 0.017799 +vt 0.413845 0.133021 +vt 0.384788 0.133021 +vt 0.471959 0.017799 +vt 0.471959 0.133021 +vt 0.442902 0.133021 +vt 0.675358 0.017799 +vt 0.675358 0.133021 +vt 0.646301 0.133021 +vt 0.588187 0.017799 +vt 0.588187 0.133021 +vt 0.559130 0.133021 +vt 0.442902 0.017799 +vt 0.501016 0.017799 +vt 0.501016 0.133021 +vt 0.704415 0.017799 +vt 0.704415 0.133021 +vt 0.617244 0.017799 +vt 0.617244 0.133021 +vt 0.530073 0.017799 +vt 0.530073 0.133021 +vt 0.384788 0.017799 +vt 0.355731 0.133021 +vt 0.646301 0.017799 +vt 0.559130 0.017799 +vt 0.164493 0.769538 +vt 0.164493 0.766584 +vt 0.194276 0.766584 +vt 0.343557 0.770894 +vt 0.343193 0.769538 +vt 0.372977 0.769538 +vt 0.521530 0.770893 +vt 0.492473 0.770893 +vt 0.492110 0.769538 +vt 0.224422 0.770894 +vt 0.224059 0.769538 +vt 0.342830 0.770894 +vt 0.313773 0.770894 +vt 0.313410 0.769538 +vt 0.491747 0.770893 +vt 0.462690 0.770893 +vt 0.462326 0.769538 +vt 0.403123 0.770893 +vt 0.402760 0.769538 +vt 0.432543 0.769538 +vt 0.194639 0.770894 +vt 0.194276 0.769538 +vt 0.283990 0.770894 +vt 0.461963 0.770893 +vt 0.432906 0.770893 +vt 0.402397 0.770893 +vt 0.373340 0.770893 +vt 0.164856 0.770894 +vt 0.254206 0.812157 +vt 0.253843 0.810801 +vt 0.283627 0.810801 +vt 0.253843 0.766584 +vt 0.283626 0.766584 +vt 0.343193 0.766584 +vt 0.372977 0.766584 +vt 0.492110 0.766583 +vt 0.521893 0.766583 +vt 0.224059 0.766584 +vt 0.313410 0.766584 +vt 0.462326 0.766583 +vt 0.402760 0.766584 +vt 0.432543 0.766583 +vt 0.075913 0.506671 +vt 0.075913 0.621893 +vt 0.046856 0.621893 +vt 0.134027 0.506671 +vt 0.134027 0.621893 +vt 0.104970 0.621893 +vt 0.337426 0.506671 +vt 0.337426 0.621893 +vt 0.308369 0.621893 +vt 0.250255 0.506671 +vt 0.250255 0.621893 +vt 0.221198 0.621893 +vt 0.104970 0.506671 +vt 0.163084 0.506671 +vt 0.163084 0.621893 +vt 0.366483 0.506671 +vt 0.366483 0.621893 +vt 0.279312 0.506671 +vt 0.279312 0.621893 +vt 0.192141 0.506671 +vt 0.192141 0.621893 +vt 0.046856 0.506671 +vt 0.017799 0.621893 +vt 0.308369 0.506671 +vt 0.221198 0.506671 +vt 0.164493 0.810801 +vt 0.164493 0.807847 +vt 0.194276 0.807847 +vt 0.343557 0.812157 +vt 0.343194 0.810801 +vt 0.372977 0.810801 +vt 0.521530 0.812157 +vt 0.492473 0.812157 +vt 0.492110 0.810801 +vt 0.224423 0.812157 +vt 0.224060 0.810801 +vt 0.342830 0.812157 +vt 0.313774 0.812157 +vt 0.313410 0.810801 +vt 0.491746 0.812157 +vt 0.462690 0.812157 +vt 0.462326 0.810801 +vt 0.403123 0.812157 +vt 0.402760 0.810801 +vt 0.432543 0.810801 +vt 0.194639 0.812157 +vt 0.194276 0.810801 +vt 0.283990 0.812157 +vt 0.461963 0.812157 +vt 0.432907 0.812157 +vt 0.402397 0.812157 +vt 0.373340 0.812157 +vt 0.164856 0.812157 +vt 0.253843 0.807847 +vt 0.343194 0.807847 +vt 0.372977 0.807847 +vt 0.492110 0.807847 +vt 0.521893 0.807847 +vt 0.224060 0.807847 +vt 0.313410 0.807847 +vt 0.462326 0.807847 +vt 0.402760 0.807847 +vt 0.432543 0.807847 +vt 0.283627 0.807847 +vt 0.254206 0.729630 +vt 0.253843 0.728274 +vt 0.283627 0.728274 +vt 0.075952 0.355751 +vt 0.075913 0.470973 +vt 0.046856 0.470963 +vt 0.134066 0.355771 +vt 0.134027 0.470993 +vt 0.104970 0.470983 +vt 0.337465 0.355842 +vt 0.337426 0.471063 +vt 0.308369 0.471053 +vt 0.250294 0.355811 +vt 0.250255 0.471033 +vt 0.221198 0.471023 +vt 0.105009 0.355761 +vt 0.163123 0.355781 +vt 0.163084 0.471003 +vt 0.366522 0.355852 +vt 0.366482 0.471073 +vt 0.279351 0.355821 +vt 0.279312 0.471043 +vt 0.192180 0.355791 +vt 0.192141 0.471013 +vt 0.046895 0.355741 +vt 0.017799 0.470953 +vt 0.308408 0.355832 +vt 0.221237 0.355801 +vt 0.164493 0.728274 +vt 0.164493 0.725320 +vt 0.194276 0.725320 +vt 0.343557 0.729630 +vt 0.343194 0.728275 +vt 0.372977 0.728275 +vt 0.521530 0.729630 +vt 0.492473 0.729630 +vt 0.492110 0.728275 +vt 0.224423 0.729630 +vt 0.224060 0.728274 +vt 0.342830 0.729630 +vt 0.313774 0.729630 +vt 0.313410 0.728274 +vt 0.491746 0.729630 +vt 0.462690 0.729630 +vt 0.462326 0.728275 +vt 0.403123 0.729630 +vt 0.402760 0.728275 +vt 0.432543 0.728275 +vt 0.194639 0.729630 +vt 0.194276 0.728274 +vt 0.283990 0.729630 +vt 0.461963 0.729630 +vt 0.432907 0.729630 +vt 0.402397 0.729630 +vt 0.373340 0.729630 +vt 0.164856 0.729630 +vt 0.253843 0.725320 +vt 0.283627 0.725320 +vt 0.343194 0.725320 +vt 0.372977 0.725320 +vt 0.492110 0.725320 +vt 0.521893 0.725320 +vt 0.224060 0.725320 +vt 0.313410 0.725320 +vt 0.462326 0.725320 +vt 0.402760 0.725320 +vt 0.432543 0.725320 +vt 0.402120 0.613952 +vt 0.403475 0.613588 +vt 0.403475 0.643372 +vt 0.413845 0.168618 +vt 0.413845 0.283840 +vt 0.384788 0.283840 +vt 0.471959 0.168618 +vt 0.471959 0.283840 +vt 0.442902 0.283840 +vt 0.675358 0.168619 +vt 0.675358 0.283840 +vt 0.646301 0.283840 +vt 0.588187 0.168618 +vt 0.588187 0.283840 +vt 0.559130 0.283840 +vt 0.442902 0.168618 +vt 0.501016 0.168618 +vt 0.501016 0.283840 +vt 0.704415 0.168619 +vt 0.704415 0.283840 +vt 0.617244 0.168618 +vt 0.617244 0.283840 +vt 0.530073 0.168618 +vt 0.530073 0.283840 +vt 0.384788 0.168618 +vt 0.355731 0.283840 +vt 0.646301 0.168618 +vt 0.559130 0.168618 +vt 0.476898 0.569949 +vt 0.476898 0.572903 +vt 0.447115 0.572903 +vt 0.447478 0.688367 +vt 0.447115 0.687011 +vt 0.476898 0.687011 +vt 0.479368 0.569353 +vt 0.504532 0.583881 +vt 0.504169 0.585237 +vt 0.417407 0.585955 +vt 0.418763 0.586318 +vt 0.403871 0.612111 +vt 0.444645 0.687608 +vt 0.419481 0.673079 +vt 0.419844 0.671724 +vt 0.506605 0.585955 +vt 0.521134 0.611119 +vt 0.520142 0.612111 +vt 0.506605 0.671005 +vt 0.505250 0.670642 +vt 0.520142 0.644849 +vt 0.444645 0.569353 +vt 0.445637 0.570345 +vt 0.419844 0.585237 +vt 0.402879 0.645841 +vt 0.403871 0.644849 +vt 0.418763 0.670642 +vt 0.521893 0.613952 +vt 0.521893 0.643009 +vt 0.520537 0.643372 +vt 0.504532 0.673079 +vt 0.479368 0.687608 +vt 0.478375 0.686615 +vt 0.476535 0.568594 +vt 0.447115 0.569949 +vt 0.406430 0.613588 +vt 0.406430 0.643372 +vt 0.447115 0.684057 +vt 0.476898 0.684057 +vt 0.502691 0.587795 +vt 0.421322 0.587795 +vt 0.421322 0.669165 +vt 0.517583 0.613588 +vt 0.502691 0.669165 +vt 0.517583 0.643372 +vt 0.504168 0.671724 +vt 0.254207 0.723964 +vt 0.224423 0.723964 +vt 0.194639 0.723964 +vt 0.164856 0.723964 +vt 0.193913 0.723964 +vt 0.492473 0.723965 +vt 0.521530 0.723965 +vt 0.462690 0.723965 +vt 0.491746 0.723965 +vt 0.432907 0.723965 +vt 0.461963 0.723965 +vt 0.403123 0.723965 +vt 0.432180 0.723965 +vt 0.373340 0.723965 +vt 0.402397 0.723965 +vt 0.343557 0.723965 +vt 0.372614 0.723965 +vt 0.283990 0.723965 +vt 0.313774 0.723965 +vt 0.342830 0.723965 +vt 0.343557 0.806491 +vt 0.372614 0.806491 +vt 0.313774 0.806491 +vt 0.342830 0.806491 +vt 0.283990 0.806491 +vt 0.254206 0.806491 +vt 0.224423 0.806491 +vt 0.194639 0.806491 +vt 0.164856 0.806491 +vt 0.193913 0.806491 +vt 0.492473 0.806491 +vt 0.521530 0.806491 +vt 0.462690 0.806491 +vt 0.491746 0.806491 +vt 0.432907 0.806491 +vt 0.461963 0.806491 +vt 0.403123 0.806491 +vt 0.432180 0.806491 +vt 0.373340 0.806491 +vt 0.402397 0.806491 +vt 0.373340 0.765228 +vt 0.402397 0.765228 +vt 0.343557 0.765228 +vt 0.372614 0.765228 +vt 0.313773 0.765228 +vt 0.342830 0.765228 +vt 0.283990 0.765228 +vt 0.254206 0.765228 +vt 0.224422 0.765228 +vt 0.194639 0.765228 +vt 0.164856 0.765228 +vt 0.193913 0.765228 +vt 0.492473 0.765228 +vt 0.521530 0.765228 +vt 0.462690 0.765228 +vt 0.491747 0.765228 +vt 0.432906 0.765228 +vt 0.461963 0.765228 +vt 0.403123 0.765228 +vt 0.432180 0.765228 +vt 0.223187 0.154438 +vt 0.208659 0.129274 +vt 0.183495 0.114745 +vt 0.154438 0.114745 +vt 0.129274 0.129274 +vt 0.114745 0.154438 +vt 0.114745 0.183495 +vt 0.129274 0.208659 +vt 0.154438 0.223187 +vt 0.183495 0.223187 +vt 0.208659 0.208659 +vt 0.223187 0.183495 +vt 0.164493 0.880382 +vt 0.164493 0.856746 +vt 0.179021 0.856746 +vt 0.469271 0.601370 +vt 0.454742 0.601370 +vt 0.481853 0.608634 +vt 0.489117 0.621216 +vt 0.489117 0.635744 +vt 0.481853 0.648326 +vt 0.469271 0.655591 +vt 0.454742 0.655591 +vt 0.442160 0.608634 +vt 0.434896 0.621216 +vt 0.434896 0.635744 +vt 0.442160 0.648326 +vt 0.280720 0.856747 +vt 0.266192 0.856747 +vt 0.268008 0.847755 +vt 0.208078 0.880382 +vt 0.208078 0.856746 +vt 0.222607 0.856746 +vt 0.251663 0.880382 +vt 0.251664 0.856747 +vt 0.324306 0.880382 +vt 0.324306 0.856747 +vt 0.338834 0.856747 +vt 0.193550 0.880382 +vt 0.193550 0.856746 +vt 0.237135 0.880382 +vt 0.237135 0.856746 +vt 0.309777 0.880382 +vt 0.309777 0.856747 +vt 0.280720 0.880382 +vt 0.295249 0.856747 +vt 0.179021 0.880382 +vt 0.222607 0.880382 +vt 0.295249 0.880382 +vt 0.266192 0.880382 +vt 0.464060 0.847755 +vt 0.489841 0.873536 +vt 0.454624 0.882972 +vt 0.166309 0.847755 +vt 0.177205 0.847755 +vt 0.209894 0.847755 +vt 0.220790 0.847755 +vt 0.253480 0.847755 +vt 0.326122 0.847755 +vt 0.337018 0.847755 +vt 0.195366 0.847755 +vt 0.206262 0.847755 +vt 0.238951 0.847755 +vt 0.249848 0.847755 +vt 0.311593 0.847755 +vt 0.282537 0.847755 +vt 0.293433 0.847755 +vt 0.180837 0.847755 +vt 0.224423 0.847755 +vt 0.235319 0.847755 +vt 0.297065 0.847755 +vt 0.846843 0.017799 +vt 0.972740 0.421069 +vt 0.959362 0.420457 +vt 0.962786 0.417503 +vt 0.943392 0.653449 +vt 0.699884 0.712633 +vt 0.883608 0.958541 +vt 0.877542 0.960019 +vt 0.622632 0.934009 +vt 0.583406 0.712633 +vt 0.967139 0.513767 +vt 0.957185 0.517334 +vt 0.466902 0.924018 +vt 0.771236 0.599762 +vt 0.972740 0.469201 +vt 0.968851 0.467112 +vt 0.962785 0.465635 +vt 0.698242 0.886599 +vt 0.775629 0.017799 +vt 0.947801 0.308272 +vt 0.946324 0.298782 +vt 0.943392 0.707137 +vt 0.901758 0.191765 +vt 0.938185 0.961496 +vt 0.932584 0.957930 +vt 0.572263 0.934009 +vt 0.640897 0.347218 +vt 0.960320 0.834836 +vt 0.958843 0.828770 +vt 0.291677 0.915980 +vt 0.838056 0.599762 +vt 0.945185 0.065931 +vt 0.520226 0.924018 +vt 0.846843 0.308780 +vt 0.941534 0.245452 +vt 0.940922 0.258831 +vt 0.937967 0.255407 +vt 0.740013 0.951495 +vt 0.893022 0.599762 +vt 0.957797 0.371339 +vt 0.957797 0.375693 +vt 0.790382 0.951495 +vt 0.644918 0.712633 +vt 0.952575 0.773728 +vt 0.949009 0.779329 +vt 0.952575 0.789283 +vt 0.151288 0.675581 +vt 0.048947 0.657491 +vt 0.952962 0.118241 +vt 0.945185 0.114063 +vt 0.311267 0.675581 +vt 0.775629 0.308780 +vt 0.693895 0.943853 +vt 0.688294 0.940287 +vt 0.682693 0.943853 +vt 0.928620 0.617852 +vt 0.901809 0.017799 +vt 0.387811 0.960779 +vt 0.384387 0.957824 +vt 0.376609 0.960779 +vt 0.937355 0.209855 +vt 0.702410 0.347218 +vt 0.947362 0.018411 +vt 0.943008 0.018411 +vt 0.257942 0.675581 +vt 0.115690 0.657491 +vt 0.285617 0.971756 +vt 0.281728 0.969667 +vt 0.277839 0.971756 +vt 0.204618 0.675581 +vt 0.873654 0.792193 +vt 0.194789 0.320134 +vt 0.017799 0.194789 +vt 0.143144 0.017799 +vt 0.320134 0.143144 +vt 0.374432 0.866220 +vt 0.413578 0.884685 +vt 0.882441 0.493661 +vt 0.921587 0.512126 +vt 0.219888 0.915980 +vt 0.182958 0.934445 +vt 0.238353 0.955125 +vt 0.929049 0.883186 +vt 0.892119 0.901651 +vt 0.947514 0.922332 +vt 0.912800 0.810658 +vt 0.882441 0.384203 +vt 0.921587 0.402668 +vt 0.795408 0.858662 +vt 0.758478 0.877127 +vt 0.813873 0.897808 +vt 0.402120 0.355731 +vt 0.097225 0.916402 +vt 0.060295 0.934867 +vt 0.115690 0.955548 +vt 0.597183 0.568594 +vt 0.626240 0.568594 +vt 0.651404 0.583122 +vt 0.665933 0.637343 +vt 0.651404 0.662507 +vt 0.626240 0.677036 +vt 0.572019 0.662507 +vt 0.557491 0.637343 +vt 0.557491 0.608286 +vt 0.283263 0.770894 +vt 0.355731 0.017799 +vt 0.372614 0.770893 +vt 0.521893 0.769538 +vt 0.253480 0.770894 +vt 0.432180 0.770893 +vt 0.223696 0.770894 +vt 0.313047 0.770894 +vt 0.193913 0.770894 +vt 0.283264 0.812157 +vt 0.017799 0.506671 +vt 0.372614 0.812157 +vt 0.521893 0.810801 +vt 0.253480 0.812157 +vt 0.432180 0.812157 +vt 0.223696 0.812157 +vt 0.313047 0.812157 +vt 0.193913 0.812157 +vt 0.283264 0.729630 +vt 0.017839 0.355731 +vt 0.372614 0.729630 +vt 0.521893 0.728275 +vt 0.253480 0.729630 +vt 0.432180 0.729630 +vt 0.223696 0.729630 +vt 0.313047 0.729630 +vt 0.193913 0.729630 +vt 0.402120 0.643009 +vt 0.355731 0.168618 +vt 0.476535 0.688367 +vt 0.478375 0.570345 +vt 0.402879 0.611119 +vt 0.445637 0.686615 +vt 0.505250 0.586318 +vt 0.521134 0.645841 +vt 0.419481 0.583881 +vt 0.417407 0.671005 +vt 0.520537 0.613588 +vt 0.447478 0.568594 +vt 0.283264 0.723964 +vt 0.253480 0.723964 +vt 0.223696 0.723964 +vt 0.313047 0.723965 +vt 0.313047 0.806491 +vt 0.283264 0.806491 +vt 0.253480 0.806491 +vt 0.223696 0.806491 +vt 0.313047 0.765228 +vt 0.283263 0.765228 +vt 0.253480 0.765228 +vt 0.223696 0.765228 +vt 0.278904 0.847755 +vt 0.338834 0.880382 +vt 0.449176 0.873536 +vt 0.449176 0.862639 +vt 0.454624 0.853203 +vt 0.474957 0.847755 +vt 0.484393 0.853203 +vt 0.489841 0.862639 +vt 0.484393 0.882972 +vt 0.474957 0.888420 +vt 0.464060 0.888420 +vt 0.264376 0.847755 +vt 0.322490 0.847755 +vt 0.191734 0.847755 +vt 0.307961 0.847755 +vn 0.923900 0.000000 0.382700 +vn 0.382700 0.000000 0.923900 +vn -0.382700 0.000000 0.923900 +vn -0.923900 0.000000 0.382700 +vn -0.923900 0.000000 -0.382700 +vn -0.382700 0.000000 -0.923900 +vn 0.923900 0.000000 -0.382700 +vn 0.382700 0.000000 -0.923900 +vn -0.281100 -0.678600 0.678600 +vn -0.862900 -0.357400 0.357400 +vn -0.862900 0.357400 -0.357400 +vn -0.281100 0.678600 -0.678600 +vn 0.281100 -0.678600 0.678600 +vn 0.862900 -0.357400 0.357400 +vn 0.862900 0.357400 -0.357400 +vn 0.281100 0.678600 -0.678600 +vn 0.382700 0.923900 0.000000 +vn -0.923900 0.382700 0.000000 +vn -0.382700 -0.923900 0.000000 +vn 0.923900 -0.382700 0.000000 +vn 0.923900 0.382700 0.000000 +vn -0.382700 0.923900 0.000000 +vn -0.923900 -0.382700 0.000000 +vn 0.382700 -0.923900 0.000000 +vn -0.678600 -0.678600 -0.281100 +vn -0.357400 -0.357400 -0.862900 +vn 0.357400 0.357400 -0.862800 +vn 0.678600 0.678600 -0.281100 +vn -0.678600 -0.678600 0.281100 +vn -0.357400 -0.357400 0.862900 +vn 0.357400 0.357400 0.862800 +vn 0.678600 0.678600 0.281100 +vn -0.000000 0.923900 0.382700 +vn 0.000000 0.382700 -0.923900 +vn 0.000000 -0.923900 -0.382700 +vn -0.000000 -0.382700 0.923900 +vn -0.000000 0.382700 0.923900 +vn 0.000000 0.923900 -0.382700 +vn 0.000000 -0.382700 -0.923900 +vn -0.000000 -0.923900 0.382700 +vn 0.357400 0.357400 -0.862900 +vn 0.357400 0.357400 0.862900 +vn 0.281100 -0.678600 -0.678600 +vn 0.862900 -0.357400 -0.357400 +vn 0.862900 0.357400 0.357400 +vn 0.281100 0.678600 0.678600 +vn -0.281100 -0.678600 -0.678600 +vn -0.862900 -0.357400 -0.357400 +vn -0.862900 0.357400 0.357400 +vn -0.281100 0.678600 0.678600 +vn 0.678600 -0.678600 0.281100 +vn 0.357400 -0.357400 0.862900 +vn -0.357400 0.357400 0.862800 +vn -0.678600 0.678600 0.281100 +vn 0.678600 -0.678600 -0.281100 +vn 0.357400 -0.357400 -0.862900 +vn -0.357400 0.357400 -0.862900 +vn -0.678600 0.678600 -0.281100 +vn -0.357400 0.357400 0.862900 +vn 0.000000 0.000000 1.000000 +vn 0.894400 0.447200 0.000000 +vn 0.000000 0.447200 -0.894400 +vn -0.894400 0.447200 0.000000 +vn 0.000000 0.447200 0.894400 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.707100 -0.000000 -0.707100 +vn -0.258800 0.000000 -0.965900 +vn 0.707100 -0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.258800 -0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.965900 -0.000000 0.258800 +vn -0.258800 0.000000 0.965900 +vn -0.965900 0.000000 -0.258800 +vn 0.965900 -0.000000 -0.258800 +vn 0.258800 -0.000000 0.965900 +vn -0.965900 0.000000 0.258800 +vn 0.000000 1.000000 -0.000100 +vn -0.464700 0.753800 -0.464700 +vn 0.634800 0.753800 0.170100 +vn -0.170100 0.753800 0.634800 +vn -0.634800 0.753800 -0.170100 +vn 0.634800 0.753800 -0.170100 +vn 0.170100 0.753800 0.634700 +vn -0.634800 0.753800 0.170100 +vn 0.464700 0.753800 -0.464700 +vn -0.170100 0.753800 -0.634800 +vn 0.464700 0.753800 0.464700 +vn -0.464700 0.753800 0.464700 +vn 0.170100 0.753800 -0.634800 +vn 0.170100 0.753800 0.634800 +vn 0.170100 0.753800 -0.634700 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/6/3 8/7/3 7/8/3 +f 8/7/4 10/9/4 9/10/4 +f 10/9/5 12/11/5 11/12/5 +f 12/11/6 14/13/6 13/14/6 +f 16/15/7 2/1/7 1/16/7 +f 14/13/8 16/15/8 15/17/8 +f 34/18/1 36/19/1 35/20/1 +f 19/21/9 20/22/9 8/23/9 +f 8/23/10 20/22/10 21/24/10 +f 10/25/11 21/24/11 22/26/11 +f 12/27/12 22/26/12 23/28/12 +f 18/29/13 19/30/13 6/31/13 +f 2/32/14 17/33/14 18/29/14 +f 24/34/15 17/33/15 2/32/15 +f 14/35/16 23/28/16 24/34/16 +f 23/36/17 31/37/17 32/38/17 +f 36/19/2 38/39/2 37/40/2 +f 21/41/18 29/42/18 30/43/18 +f 19/44/19 27/45/19 28/46/19 +f 17/47/20 26/48/20 25/49/20 +f 24/50/21 32/38/21 26/48/21 +f 22/51/22 30/43/22 31/37/22 +f 20/52/23 28/46/23 29/42/23 +f 18/53/24 25/49/24 27/54/24 +f 38/55/3 40/56/3 39/57/3 +f 40/56/4 42/58/4 41/59/4 +f 42/58/5 44/60/5 43/61/5 +f 44/60/6 46/62/6 45/63/6 +f 48/64/7 34/18/7 33/65/7 +f 46/62/8 48/64/8 47/66/8 +f 38/67/9 51/68/9 52/69/9 +f 40/70/10 52/69/10 53/71/10 +f 42/72/11 53/71/11 54/73/11 +f 54/73/12 55/74/12 46/75/12 +f 50/76/13 51/77/13 38/78/13 +f 49/79/14 50/76/14 36/80/14 +f 48/81/15 56/82/15 49/79/15 +f 46/75/16 55/74/16 56/82/16 +f 55/83/17 63/84/17 64/85/17 +f 53/86/18 61/87/18 62/88/18 +f 51/89/19 59/90/19 60/91/19 +f 49/92/20 58/93/20 57/94/20 +f 56/95/21 64/85/21 58/93/21 +f 54/96/22 62/88/22 63/84/22 +f 52/97/23 60/91/23 61/87/23 +f 50/98/24 57/94/24 59/99/24 +f 66/100/1 68/101/1 67/102/1 +f 68/101/2 70/103/2 69/104/2 +f 70/105/3 72/106/3 71/107/3 +f 72/106/4 74/108/4 73/109/4 +f 74/108/5 76/110/5 75/111/5 +f 76/110/6 78/112/6 77/113/6 +f 80/114/7 66/100/7 65/115/7 +f 78/112/8 80/114/8 79/116/8 +f 70/117/9 83/118/9 84/119/9 +f 72/120/10 84/119/10 85/121/10 +f 74/122/11 85/121/11 86/123/11 +f 86/123/12 87/124/12 78/125/12 +f 68/126/13 82/127/13 83/128/13 +f 66/129/14 81/130/14 82/127/14 +f 88/131/15 81/130/15 66/129/15 +f 87/124/16 88/131/16 80/132/16 +f 87/133/17 95/134/17 96/135/17 +f 85/136/18 93/137/18 94/138/18 +f 83/139/19 91/140/19 92/141/19 +f 81/142/20 90/143/20 89/144/20 +f 88/145/21 96/135/21 90/143/21 +f 86/146/22 94/138/22 95/134/22 +f 84/147/23 92/141/23 93/137/23 +f 82/148/24 89/144/24 91/149/24 +f 98/150/1 100/151/1 99/152/1 +f 100/151/2 102/153/2 101/154/2 +f 102/155/3 104/156/3 103/157/3 +f 104/156/4 106/158/4 105/159/4 +f 106/158/5 108/160/5 107/161/5 +f 108/160/6 110/162/6 109/163/6 +f 112/164/7 98/150/7 97/165/7 +f 110/162/8 112/164/8 111/166/8 +f 115/167/9 116/168/9 104/169/9 +f 104/169/10 116/168/10 117/170/10 +f 117/170/11 118/171/11 108/172/11 +f 108/172/12 118/171/12 119/173/12 +f 114/174/13 115/175/13 102/176/13 +f 113/177/14 114/174/14 100/178/14 +f 120/179/15 113/177/15 98/180/15 +f 110/181/16 119/173/16 120/179/16 +f 119/182/17 127/183/17 128/184/17 +f 117/185/18 125/186/18 126/187/18 +f 115/188/19 123/189/19 124/190/19 +f 113/191/20 122/192/20 121/193/20 +f 120/194/21 128/184/21 122/192/21 +f 118/195/22 126/187/22 127/183/22 +f 116/196/23 124/190/23 125/186/23 +f 114/197/24 121/193/24 123/198/24 +f 130/199/3 132/200/3 131/201/3 +f 132/200/4 134/202/4 133/203/4 +f 134/204/5 136/205/5 135/206/5 +f 136/205/6 138/207/6 137/208/6 +f 138/207/8 140/209/8 139/210/8 +f 140/209/7 142/211/7 141/212/7 +f 144/213/2 130/199/2 129/214/2 +f 142/211/1 144/213/1 143/215/1 +f 162/216/3 164/217/3 163/218/3 +f 134/219/25 147/220/25 148/221/25 +f 136/222/26 148/221/26 149/223/26 +f 149/223/27 150/224/27 140/225/27 +f 150/224/28 151/226/28 142/227/28 +f 146/228/29 147/229/29 134/230/29 +f 130/231/30 145/232/30 146/228/30 +f 144/233/31 152/234/31 145/232/31 +f 142/227/32 151/226/32 152/234/32 +f 151/235/33 159/236/33 160/237/33 +f 164/217/4 166/238/4 165/239/4 +f 149/240/34 157/241/34 158/242/34 +f 147/243/35 155/244/35 156/245/35 +f 145/246/36 154/247/36 153/248/36 +f 152/249/37 160/237/37 154/247/37 +f 150/250/38 158/242/38 159/236/38 +f 148/251/39 156/245/39 157/241/39 +f 146/252/40 153/248/40 155/253/40 +f 166/254/5 168/255/5 167/256/5 +f 168/255/6 170/257/6 169/258/6 +f 170/257/8 172/259/8 171/260/8 +f 172/259/7 174/261/7 173/262/7 +f 176/263/2 162/216/2 161/264/2 +f 174/261/1 176/263/1 175/265/1 +f 166/266/25 179/267/25 180/268/25 +f 180/268/26 181/269/26 170/270/26 +f 170/270/41 181/269/41 182/271/41 +f 172/272/28 182/271/28 183/273/28 +f 178/274/29 179/275/29 166/276/29 +f 177/277/30 178/274/30 164/278/30 +f 184/279/42 177/277/42 162/280/42 +f 183/273/32 184/279/32 176/281/32 +f 183/282/33 191/283/33 192/284/33 +f 181/285/34 189/286/34 190/287/34 +f 179/288/35 187/289/35 188/290/35 +f 177/291/36 186/292/36 185/293/36 +f 184/294/37 192/284/37 186/292/37 +f 182/295/38 190/287/38 191/283/38 +f 181/285/39 180/296/39 188/290/39 +f 178/297/40 185/293/40 187/298/40 +f 194/299/3 196/300/3 195/301/3 +f 196/300/4 198/302/4 197/303/4 +f 198/304/5 200/305/5 199/306/5 +f 200/305/6 202/307/6 201/308/6 +f 202/307/8 204/309/8 203/310/8 +f 204/309/7 206/311/7 205/312/7 +f 208/313/2 194/299/2 193/314/2 +f 206/311/1 208/313/1 207/315/1 +f 198/316/25 211/317/25 212/318/25 +f 200/319/26 212/318/26 213/320/26 +f 202/321/41 213/320/41 214/322/41 +f 214/322/28 215/323/28 206/324/28 +f 210/325/29 211/326/29 198/327/29 +f 209/328/30 210/325/30 196/329/30 +f 208/330/42 216/331/42 209/328/42 +f 215/323/32 216/331/32 208/330/32 +f 215/332/33 223/333/33 224/334/33 +f 214/335/34 213/336/34 221/337/34 +f 211/338/35 219/339/35 220/340/35 +f 209/341/36 218/342/36 217/343/36 +f 209/341/37 216/344/37 224/334/37 +f 214/335/38 222/345/38 223/333/38 +f 212/346/39 220/340/39 221/337/39 +f 210/347/40 217/343/40 219/348/40 +f 226/349/3 228/350/3 227/351/3 +f 228/350/4 230/352/4 229/353/4 +f 230/354/5 232/355/5 231/356/5 +f 232/355/6 234/357/6 233/358/6 +f 234/357/8 236/359/8 235/360/8 +f 236/359/7 238/361/7 237/362/7 +f 240/363/2 226/349/2 225/364/2 +f 238/361/1 240/363/1 239/365/1 +f 230/366/25 243/367/25 244/368/25 +f 232/369/26 244/368/26 245/370/26 +f 234/371/41 245/370/41 246/372/41 +f 236/373/28 246/372/28 247/374/28 +f 242/375/29 243/376/29 230/377/29 +f 241/378/30 242/375/30 228/379/30 +f 248/380/42 241/378/42 226/381/42 +f 247/374/32 248/380/32 240/382/32 +f 247/383/33 255/384/33 256/385/33 +f 246/386/34 245/387/34 253/388/34 +f 243/389/35 251/390/35 252/391/35 +f 241/392/36 250/393/36 249/394/36 +f 248/395/37 256/385/37 250/393/37 +f 246/386/38 254/396/38 255/384/38 +f 244/397/39 252/391/39 253/388/39 +f 242/398/40 249/394/40 251/399/40 +f 258/400/5 260/401/5 259/402/5 +f 260/401/6 262/403/6 261/404/6 +f 262/405/8 264/406/8 263/407/8 +f 264/406/7 266/408/7 265/409/7 +f 266/408/1 268/410/1 267/411/1 +f 268/410/2 270/412/2 269/413/2 +f 272/414/4 258/400/4 257/415/4 +f 270/412/3 272/414/3 271/416/3 +f 290/417/5 292/418/5 291/419/5 +f 275/420/43 276/421/43 264/422/43 +f 264/422/44 276/421/44 277/423/44 +f 266/424/45 277/423/45 278/425/45 +f 268/426/46 278/425/46 279/427/46 +f 274/428/47 275/429/47 262/430/47 +f 258/431/48 273/432/48 274/428/48 +f 280/433/49 273/432/49 258/431/49 +f 270/434/50 279/427/50 280/433/50 +f 279/435/22 287/436/22 288/437/22 +f 292/418/6 294/438/6 293/439/6 +f 277/440/21 285/441/21 286/442/21 +f 275/443/24 283/444/24 284/445/24 +f 273/446/23 282/447/23 281/448/23 +f 280/449/18 288/437/18 282/447/18 +f 278/450/17 286/442/17 287/436/17 +f 276/451/20 284/445/20 285/441/20 +f 274/452/19 281/448/19 283/453/19 +f 294/454/8 296/455/8 295/456/8 +f 296/455/7 298/457/7 297/458/7 +f 298/457/1 300/459/1 299/460/1 +f 300/459/2 302/461/2 301/462/2 +f 304/463/4 290/417/4 289/464/4 +f 302/461/3 304/463/3 303/465/3 +f 294/466/43 307/467/43 308/468/43 +f 296/469/44 308/468/44 309/470/44 +f 298/471/45 309/470/45 310/472/45 +f 310/472/46 311/473/46 302/474/46 +f 306/475/47 307/476/47 294/477/47 +f 305/478/48 306/475/48 292/479/48 +f 312/480/49 305/478/49 290/481/49 +f 302/474/50 311/473/50 312/480/50 +f 311/482/22 319/483/22 320/484/22 +f 309/485/21 317/486/21 318/487/21 +f 308/488/24 307/489/24 315/490/24 +f 306/491/23 305/492/23 314/493/23 +f 312/494/18 320/484/18 314/493/18 +f 310/495/17 318/487/17 319/483/17 +f 308/488/20 316/496/20 317/486/20 +f 306/491/19 313/497/19 315/498/19 +f 322/499/5 324/500/5 323/501/5 +f 324/500/6 326/502/6 325/503/6 +f 326/504/8 328/505/8 327/506/8 +f 328/505/7 330/507/7 329/508/7 +f 330/507/1 332/509/1 331/510/1 +f 332/509/2 334/511/2 333/512/2 +f 336/513/4 322/499/4 321/514/4 +f 334/511/3 336/513/3 335/515/3 +f 339/516/43 340/517/43 328/518/43 +f 328/518/44 340/517/44 341/519/44 +f 330/520/45 341/519/45 342/521/45 +f 342/521/46 343/522/46 334/523/46 +f 324/524/47 338/525/47 339/526/47 +f 337/527/48 338/525/48 324/524/48 +f 344/528/49 337/527/49 322/529/49 +f 343/522/50 344/528/50 336/530/50 +f 344/531/22 343/532/22 351/533/22 +f 341/534/21 349/535/21 350/536/21 +f 339/537/24 347/538/24 348/539/24 +f 337/540/23 346/541/23 345/542/23 +f 344/531/18 352/543/18 346/541/18 +f 342/544/17 350/536/17 351/533/17 +f 340/545/20 348/539/20 349/535/20 +f 338/546/19 345/542/19 347/547/19 +f 354/548/5 356/549/5 355/550/5 +f 356/549/6 358/551/6 357/552/6 +f 358/553/8 360/554/8 359/555/8 +f 360/554/7 362/556/7 361/557/7 +f 362/556/1 364/558/1 363/559/1 +f 364/558/2 366/560/2 365/561/2 +f 368/562/4 354/548/4 353/563/4 +f 366/560/3 368/562/3 367/564/3 +f 371/565/43 372/566/43 360/567/43 +f 360/567/44 372/566/44 373/568/44 +f 362/569/45 373/568/45 374/570/45 +f 364/571/46 374/570/46 375/572/46 +f 370/573/47 371/574/47 358/575/47 +f 369/576/48 370/573/48 356/577/48 +f 376/578/49 369/576/49 354/579/49 +f 375/572/50 376/578/50 368/580/50 +f 375/581/22 383/582/22 384/583/22 +f 373/584/21 381/585/21 382/586/21 +f 371/587/24 379/588/24 380/589/24 +f 369/590/23 378/591/23 377/592/23 +f 376/593/18 384/583/18 378/591/18 +f 374/594/17 382/586/17 383/582/17 +f 372/595/20 380/589/20 381/585/20 +f 370/596/19 377/592/19 379/597/19 +f 386/598/8 388/599/8 387/600/8 +f 388/599/7 390/601/7 389/602/7 +f 390/603/1 392/604/1 391/605/1 +f 392/604/2 394/606/2 393/607/2 +f 394/606/3 396/608/3 395/609/3 +f 396/608/4 398/610/4 397/611/4 +f 400/612/6 386/598/6 385/613/6 +f 398/610/5 400/612/5 399/614/5 +f 418/615/8 420/616/8 419/617/8 +f 390/618/51 403/619/51 404/620/51 +f 404/620/52 405/621/52 394/622/52 +f 405/621/53 406/623/53 396/624/53 +f 396/624/54 406/623/54 407/625/54 +f 402/626/55 403/627/55 390/628/55 +f 386/629/56 401/630/56 402/626/56 +f 408/631/57 401/630/57 386/629/57 +f 407/625/58 408/631/58 400/632/58 +f 407/633/38 415/634/38 416/635/38 +f 420/616/7 422/636/7 421/637/7 +f 405/638/37 413/639/37 414/640/37 +f 403/641/40 411/642/40 412/643/40 +f 401/644/39 410/645/39 409/646/39 +f 408/647/34 416/635/34 410/645/34 +f 406/648/33 414/640/33 415/634/33 +f 404/649/36 412/643/36 413/639/36 +f 402/650/35 409/646/35 411/651/35 +f 422/652/1 424/653/1 423/654/1 +f 424/653/2 426/655/2 425/656/2 +f 426/655/3 428/657/3 427/658/3 +f 428/657/4 430/659/4 429/660/4 +f 432/661/6 418/615/6 417/662/6 +f 430/659/5 432/661/5 431/663/5 +f 422/664/51 435/665/51 436/666/51 +f 436/666/52 437/667/52 426/668/52 +f 426/668/59 437/667/59 438/669/59 +f 438/669/54 439/670/54 430/671/54 +f 434/672/55 435/673/55 422/674/55 +f 418/675/56 433/676/56 434/672/56 +f 440/677/57 433/676/57 418/675/57 +f 439/670/58 440/677/58 432/678/58 +f 439/679/38 447/680/38 448/681/38 +f 437/682/37 445/683/37 446/684/37 +f 435/685/40 443/686/40 444/687/40 +f 433/688/39 442/689/39 441/690/39 +f 440/691/34 448/681/34 442/689/34 +f 438/692/33 446/684/33 447/680/33 +f 436/693/36 444/687/36 445/683/36 +f 434/694/35 441/690/35 443/695/35 +f 450/696/8 452/697/8 451/698/8 +f 452/697/7 454/699/7 453/700/7 +f 454/701/1 456/702/1 455/703/1 +f 456/702/2 458/704/2 457/705/2 +f 458/704/3 460/706/3 459/707/3 +f 460/706/4 462/708/4 461/709/4 +f 464/710/6 450/696/6 449/711/6 +f 462/708/5 464/710/5 463/712/5 +f 454/713/51 467/714/51 468/715/51 +f 456/716/52 468/715/52 469/717/52 +f 458/718/59 469/717/59 470/719/59 +f 470/719/54 471/720/54 462/721/54 +f 466/722/55 467/723/55 454/724/55 +f 465/725/56 466/722/56 452/726/56 +f 472/727/57 465/725/57 450/728/57 +f 462/721/58 471/720/58 472/727/58 +f 471/729/38 479/730/38 480/731/38 +f 469/732/37 477/733/37 478/734/37 +f 467/735/40 475/736/40 476/737/40 +f 465/738/39 474/739/39 473/740/39 +f 472/741/34 480/731/34 474/739/34 +f 470/742/33 478/734/33 479/730/33 +f 468/743/36 476/737/36 477/733/36 +f 466/744/35 473/740/35 475/745/35 +f 482/746/8 484/747/8 483/748/8 +f 484/747/7 486/749/7 485/750/7 +f 486/751/1 488/752/1 487/753/1 +f 488/752/2 490/754/2 489/755/2 +f 490/754/3 492/756/3 491/757/3 +f 492/756/4 494/758/4 493/759/4 +f 496/760/6 482/746/6 481/761/6 +f 494/758/5 496/760/5 495/762/5 +f 486/763/51 499/764/51 500/765/51 +f 488/766/52 500/765/52 501/767/52 +f 501/767/59 502/768/59 492/769/59 +f 492/769/54 502/768/54 503/770/54 +f 498/771/55 499/772/55 486/773/55 +f 497/774/56 498/771/56 484/775/56 +f 496/776/57 504/777/57 497/774/57 +f 503/770/58 504/777/58 496/776/58 +f 503/778/38 511/779/38 512/780/38 +f 501/781/37 509/782/37 510/783/37 +f 499/784/40 507/785/40 508/786/40 +f 497/787/39 506/788/39 505/789/39 +f 504/790/34 512/780/34 506/788/34 +f 502/791/33 510/783/33 511/779/33 +f 500/792/36 508/786/36 509/782/36 +f 498/793/35 505/789/35 507/794/35 +f 556/795/60 555/796/60 553/797/60 +f 779/798/61 518/799/61 514/800/61 +f 780/801/62 520/802/62 516/803/62 +f 777/804/63 519/805/63 515/806/63 +f 778/807/64 517/808/64 513/809/64 +f 524/810/65 523/811/65 521/812/65 +f 528/813/66 527/814/66 523/815/66 +f 522/816/60 521/812/60 525/817/60 +f 523/811/67 527/818/67 525/817/67 +f 528/813/68 524/819/68 522/816/68 +f 532/820/65 531/821/65 529/822/65 +f 536/823/66 535/824/66 531/825/66 +f 530/826/60 529/822/60 533/827/60 +f 531/821/67 535/828/67 533/827/67 +f 536/823/68 532/829/68 530/826/68 +f 544/830/66 543/831/66 539/832/66 +f 542/833/69 541/834/69 543/831/69 +f 538/835/60 537/836/60 541/837/60 +f 539/832/67 543/831/67 541/834/67 +f 544/830/68 540/838/68 538/835/68 +f 552/839/66 551/840/66 547/841/66 +f 550/842/69 549/843/69 551/840/69 +f 546/844/60 545/845/60 549/846/60 +f 547/841/67 551/840/67 549/843/67 +f 552/839/68 548/847/68 546/844/68 +f 560/848/65 559/849/65 555/850/65 +f 554/851/69 553/797/69 557/852/69 +f 555/796/67 559/853/67 557/852/67 +f 560/848/68 556/854/68 554/851/68 +f 564/855/60 563/856/60 561/857/60 +f 568/858/65 567/859/65 563/860/65 +f 562/861/69 561/857/69 565/862/69 +f 563/856/67 567/863/67 565/862/67 +f 568/858/68 564/864/68 562/861/68 +f 576/865/65 575/866/65 571/867/65 +f 574/868/66 573/869/66 575/866/66 +f 570/870/69 569/871/69 573/872/69 +f 571/867/67 575/866/67 573/869/67 +f 576/865/68 572/873/68 570/870/68 +f 516/874/67 514/875/67 513/876/67 +f 584/877/65 583/878/65 579/879/65 +f 582/880/66 581/881/66 583/878/66 +f 578/882/69 577/883/69 581/884/69 +f 579/879/67 583/878/67 581/881/67 +f 584/877/68 580/885/68 578/882/68 +f 595/886/67 591/887/67 587/888/67 +f 603/889/67 615/890/67 614/891/67 +f 596/892/70 608/893/70 607/894/70 +f 586/895/71 597/896/71 598/897/71 +f 593/898/72 605/899/72 604/900/72 +f 590/901/73 602/902/73 601/903/73 +f 585/904/74 598/897/74 608/893/74 +f 587/905/75 599/906/75 597/896/75 +f 594/907/76 606/908/76 605/899/76 +f 591/909/77 603/910/77 602/902/77 +f 588/911/78 600/912/78 599/906/78 +f 595/913/79 607/894/79 606/914/79 +f 592/915/80 604/900/80 603/910/80 +f 589/916/81 601/903/81 600/912/81 +f 618/917/76 630/918/76 629/919/76 +f 600/920/67 612/921/67 611/922/67 +f 606/923/67 607/924/67 619/925/67 +f 604/926/67 616/927/67 615/890/67 +f 600/928/67 601/929/67 613/930/67 +f 607/931/67 608/932/67 620/933/67 +f 597/934/67 609/935/67 610/936/67 +f 605/937/67 617/938/67 616/927/67 +f 602/939/67 614/891/67 613/930/67 +f 608/940/67 598/941/67 610/936/67 +f 597/942/67 599/943/67 611/922/67 +f 606/944/67 618/917/67 617/938/67 +f 651/945/67 663/946/67 662/947/67 +f 615/890/77 627/948/77 626/949/77 +f 612/921/78 624/950/78 623/951/78 +f 619/925/79 631/952/79 630/953/79 +f 616/927/80 628/954/80 627/948/80 +f 613/930/81 625/955/81 624/950/81 +f 620/933/70 632/956/70 631/952/70 +f 610/936/71 609/935/71 621/957/71 +f 617/938/72 629/919/72 628/954/72 +f 614/891/73 626/949/73 625/955/73 +f 610/936/74 622/958/74 632/956/74 +f 609/935/75 611/922/75 623/951/75 +f 644/959/70 656/960/70 655/961/70 +f 634/962/71 645/963/71 646/964/71 +f 641/965/72 653/966/72 652/967/72 +f 638/968/73 650/969/73 649/970/73 +f 633/971/74 646/964/74 656/960/74 +f 635/972/75 647/973/75 645/963/75 +f 642/974/76 654/975/76 653/966/76 +f 639/976/77 651/977/77 650/969/77 +f 636/978/78 648/979/78 647/973/78 +f 643/980/79 655/961/79 654/981/79 +f 640/982/80 652/967/80 651/977/80 +f 637/983/81 649/970/81 648/979/81 +f 666/984/76 678/985/76 677/986/76 +f 648/987/67 660/988/67 659/989/67 +f 654/990/67 655/991/67 667/992/67 +f 652/993/67 664/994/67 663/946/67 +f 648/995/67 649/996/67 661/997/67 +f 655/998/67 656/999/67 668/1000/67 +f 645/1001/67 657/1002/67 658/1003/67 +f 653/1004/67 665/1005/67 664/994/67 +f 650/1006/67 662/947/67 661/997/67 +f 656/1007/67 646/1008/67 658/1003/67 +f 645/1009/67 647/1010/67 659/989/67 +f 654/1011/67 666/984/67 665/1005/67 +f 662/947/77 663/946/77 675/1012/77 +f 660/988/78 672/1013/78 671/1014/78 +f 667/992/79 679/1015/79 678/1016/79 +f 664/994/80 676/1017/80 675/1012/80 +f 661/997/81 673/1018/81 672/1013/81 +f 668/1000/70 680/1019/70 679/1015/70 +f 657/1002/71 669/1020/71 670/1021/71 +f 665/1005/72 677/986/72 676/1017/72 +f 662/947/73 674/1022/73 673/1018/73 +f 658/1003/74 670/1021/74 680/1019/74 +f 659/989/75 671/1014/75 669/1020/75 +f 699/1023/67 711/1024/67 710/1025/67 +f 692/1026/70 704/1027/70 703/1028/70 +f 682/1029/71 693/1030/71 694/1031/71 +f 689/1032/72 701/1033/72 700/1034/72 +f 686/1035/73 698/1036/73 697/1037/73 +f 681/1038/74 694/1031/74 704/1027/74 +f 683/1039/75 695/1040/75 693/1030/75 +f 690/1041/76 702/1042/76 701/1033/76 +f 687/1043/77 699/1044/77 698/1036/77 +f 684/1045/78 696/1046/78 695/1040/78 +f 691/1047/79 703/1028/79 702/1048/79 +f 688/1049/80 700/1034/80 699/1044/80 +f 685/1050/81 697/1037/81 696/1046/81 +f 714/1051/76 726/1052/76 725/1053/76 +f 696/1054/67 708/1055/67 707/1056/67 +f 702/1057/67 703/1058/67 715/1059/67 +f 700/1060/67 712/1061/67 711/1024/67 +f 696/1062/67 697/1063/67 709/1064/67 +f 703/1065/67 704/1066/67 716/1067/67 +f 693/1068/67 705/1069/67 706/1070/67 +f 701/1071/67 713/1072/67 712/1061/67 +f 698/1073/67 710/1025/67 709/1064/67 +f 704/1074/67 694/1075/67 706/1070/67 +f 693/1076/67 695/1077/67 707/1056/67 +f 702/1078/67 714/1051/67 713/1072/67 +f 711/1024/77 723/1079/77 722/1080/77 +f 708/1055/78 720/1081/78 719/1082/78 +f 715/1059/79 727/1083/79 726/1084/79 +f 712/1061/80 724/1085/80 723/1079/80 +f 709/1064/81 721/1086/81 720/1081/81 +f 716/1067/70 728/1087/70 727/1083/70 +f 705/1069/71 717/1088/71 718/1089/71 +f 713/1072/72 725/1053/72 724/1085/72 +f 710/1025/73 722/1080/73 721/1086/73 +f 706/1070/74 718/1089/74 728/1087/74 +f 707/1056/75 719/1082/75 717/1088/75 +f 747/1090/67 759/1091/67 758/1092/67 +f 740/1093/70 752/1094/70 751/1095/70 +f 730/1096/71 741/1097/71 742/1098/71 +f 737/1099/72 749/1100/72 748/1101/72 +f 734/1102/73 746/1103/73 745/1104/73 +f 729/1105/74 742/1098/74 752/1094/74 +f 731/1106/75 743/1107/75 741/1097/75 +f 738/1108/76 750/1109/76 749/1100/76 +f 735/1110/77 747/1111/77 746/1103/77 +f 732/1112/78 744/1113/78 743/1107/78 +f 739/1114/79 751/1095/79 750/1115/79 +f 736/1116/80 748/1101/80 747/1111/80 +f 733/1117/81 745/1104/81 744/1113/81 +f 762/1118/76 774/1119/76 773/1120/76 +f 744/1121/67 756/1122/67 755/1123/67 +f 750/1124/67 751/1125/67 763/1126/67 +f 748/1127/67 760/1128/67 759/1129/67 +f 744/1130/67 745/1131/67 757/1132/67 +f 751/1133/67 752/1134/67 764/1135/67 +f 741/1136/67 753/1137/67 754/1138/67 +f 749/1139/67 761/1140/67 760/1141/67 +f 746/1142/67 758/1143/67 757/1144/67 +f 752/1145/67 742/1146/67 754/1147/67 +f 741/1148/67 743/1149/67 755/1150/67 +f 750/1151/67 762/1118/67 761/1152/67 +f 759/1091/77 771/1153/77 770/1154/77 +f 756/1122/78 768/1155/78 767/1156/78 +f 763/1126/79 775/1157/79 774/1119/79 +f 760/1128/80 772/1158/80 771/1153/80 +f 757/1132/81 769/1159/81 768/1155/81 +f 764/1135/70 776/1160/70 775/1157/70 +f 753/1137/71 765/1161/71 766/1162/71 +f 761/1140/72 773/1120/72 772/1158/72 +f 757/1144/73 758/1143/73 770/1154/73 +f 754/1147/74 766/1162/74 776/1160/74 +f 753/1163/75 755/1150/75 767/1156/75 +f 722/1080/82 723/1079/82 735/1164/82 +f 723/1079/68 724/1085/68 736/1165/68 +f 724/1085/68 725/1053/68 737/1166/68 +f 726/1052/68 738/1167/68 737/1168/68 +f 727/1083/68 739/1169/68 738/1170/68 +f 728/1087/68 740/1171/68 739/1172/68 +f 718/1089/68 729/1173/68 740/1174/68 +f 717/1088/68 730/1175/68 729/1176/68 +f 719/1082/68 731/1177/68 730/1178/68 +f 720/1081/68 732/1179/68 731/1180/68 +f 721/1086/68 722/1080/68 734/1181/68 +f 721/1086/68 733/1182/68 732/1183/68 +f 672/1013/68 684/1184/68 683/1185/68 +f 673/1018/68 685/1186/68 684/1187/68 +f 673/1018/68 674/1022/68 686/1188/68 +f 674/1022/68 675/1012/68 687/1189/68 +f 675/1012/68 676/1017/68 688/1190/68 +f 676/1017/68 677/986/68 689/1191/68 +f 678/985/68 690/1192/68 689/1193/68 +f 679/1015/68 691/1194/68 690/1195/68 +f 680/1019/68 692/1196/68 691/1197/68 +f 670/1021/68 681/1198/68 692/1199/68 +f 669/1020/68 682/1200/68 681/1201/68 +f 671/1014/68 683/1202/68 682/1203/68 +f 623/951/68 635/1204/68 634/1205/68 +f 624/950/68 636/1206/68 635/1207/68 +f 625/955/68 637/1208/68 636/1209/68 +f 625/955/68 626/949/68 638/1210/68 +f 626/949/68 627/948/68 639/1211/68 +f 627/948/68 628/954/68 640/1212/68 +f 628/954/68 629/919/68 641/1213/68 +f 630/918/68 642/1214/68 641/1215/68 +f 631/952/68 643/1216/68 642/1217/68 +f 632/956/68 644/1218/68 643/1219/68 +f 622/958/68 633/1220/68 644/1221/68 +f 621/957/68 634/1222/68 633/1223/68 +f 592/1224/68 591/1225/68 778/807/68 +f 778/807/68 591/1225/68 590/1226/68 +f 590/1226/68 589/1227/68 517/808/68 +f 777/804/68 517/808/68 589/1227/68 +f 777/804/68 588/1228/68 587/1229/68 +f 587/1229/68 586/1230/68 519/805/68 +f 780/801/68 519/805/68 586/1230/68 +f 780/801/68 585/1231/68 596/1232/68 +f 596/1232/68 595/1233/68 520/802/68 +f 779/798/68 520/802/68 595/1233/68 +f 779/798/68 594/1234/68 593/1235/68 +f 518/799/68 593/1235/68 592/1224/68 +f 790/1236/76 802/1237/76 801/1238/76 +f 774/1119/68 790/1239/68 789/1240/68 +f 775/1157/68 791/1241/68 790/1239/68 +f 776/1160/68 792/1242/68 791/1241/68 +f 766/1162/68 782/1243/68 792/1242/68 +f 765/1161/68 781/1244/68 782/1243/68 +f 767/1156/68 783/1245/68 781/1244/68 +f 768/1155/68 784/1246/68 783/1245/68 +f 773/1120/68 789/1240/68 788/1247/68 +f 772/1158/68 788/1247/68 787/1248/68 +f 770/1154/68 771/1153/68 787/1248/68 +f 770/1154/68 786/1249/68 785/1250/68 +f 768/1155/68 769/1159/68 785/1250/68 +f 793/1251/83 795/1252/83 807/1253/83 +f 787/1254/77 799/1255/77 798/1256/77 +f 784/1257/78 796/1258/78 795/1252/78 +f 791/1259/79 803/1260/79 802/1261/79 +f 788/1262/80 800/1263/80 799/1255/80 +f 785/1264/81 797/1265/81 796/1258/81 +f 792/1266/70 804/1267/70 803/1260/70 +f 781/1268/71 793/1251/71 794/1269/71 +f 789/1270/72 801/1238/72 800/1263/72 +f 786/1271/73 798/1256/73 797/1265/73 +f 782/1272/74 794/1269/74 804/1267/74 +f 783/1273/75 795/1252/75 793/1251/75 +f 809/1274/68 813/1275/68 806/1276/68 +f 802/1237/84 814/1277/84 813/1278/84 +f 799/1255/85 811/1279/85 810/1280/85 +f 795/1252/86 796/1258/86 808/1281/86 +f 803/1260/87 815/1282/87 814/1283/87 +f 800/1263/88 812/1284/88 811/1285/88 +f 797/1265/89 809/1286/89 808/1287/89 +f 803/1260/90 804/1267/90 816/1288/90 +f 793/1251/91 805/1289/91 806/1290/91 +f 800/1263/92 801/1238/92 813/1291/92 +f 798/1256/93 810/1292/93 809/1293/93 +f 804/1267/94 794/1269/94 806/1294/94 +f 1/16/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/1295/3 6/6/3 7/8/3 +f 7/8/4 8/7/4 9/10/4 +f 9/10/5 10/9/5 11/12/5 +f 11/12/6 12/11/6 13/14/6 +f 15/17/7 16/15/7 1/16/7 +f 13/14/8 14/13/8 15/17/8 +f 33/65/1 34/18/1 35/20/1 +f 6/1296/9 19/21/9 8/23/9 +f 10/25/10 8/23/10 21/24/10 +f 12/27/11 10/25/11 22/26/11 +f 14/35/12 12/27/12 23/28/12 +f 4/1297/13 18/29/13 6/31/13 +f 4/1297/14 2/32/14 18/29/14 +f 16/1298/15 24/34/15 2/32/15 +f 16/1298/16 14/35/16 24/34/16 +f 24/50/17 23/36/17 32/38/17 +f 35/20/2 36/19/2 37/40/2 +f 22/51/18 21/41/18 30/43/18 +f 20/52/19 19/44/19 28/46/19 +f 18/53/20 17/47/20 25/49/20 +f 17/47/21 24/50/21 26/48/21 +f 23/36/22 22/51/22 31/37/22 +f 21/41/23 20/52/23 29/42/23 +f 19/1299/24 18/53/24 27/54/24 +f 37/1300/3 38/55/3 39/57/3 +f 39/57/4 40/56/4 41/59/4 +f 41/59/5 42/58/5 43/61/5 +f 43/61/6 44/60/6 45/63/6 +f 47/66/7 48/64/7 33/65/7 +f 45/63/8 46/62/8 47/66/8 +f 40/70/9 38/67/9 52/69/9 +f 42/72/10 40/70/10 53/71/10 +f 44/1301/11 42/72/11 54/73/11 +f 44/1301/12 54/73/12 46/75/12 +f 36/80/13 50/76/13 38/78/13 +f 34/1302/14 49/79/14 36/80/14 +f 34/1302/15 48/81/15 49/79/15 +f 48/81/16 46/75/16 56/82/16 +f 56/95/17 55/83/17 64/85/17 +f 54/96/18 53/86/18 62/88/18 +f 52/97/19 51/89/19 60/91/19 +f 50/98/20 49/92/20 57/94/20 +f 49/92/21 56/95/21 58/93/21 +f 55/83/22 54/96/22 63/84/22 +f 53/86/23 52/97/23 61/87/23 +f 51/1303/24 50/98/24 59/99/24 +f 65/115/1 66/100/1 67/102/1 +f 67/102/2 68/101/2 69/104/2 +f 69/1304/3 70/105/3 71/107/3 +f 71/107/4 72/106/4 73/109/4 +f 73/109/5 74/108/5 75/111/5 +f 75/111/6 76/110/6 77/113/6 +f 79/116/7 80/114/7 65/115/7 +f 77/113/8 78/112/8 79/116/8 +f 72/120/9 70/117/9 84/119/9 +f 74/122/10 72/120/10 85/121/10 +f 76/1305/11 74/122/11 86/123/11 +f 76/1305/12 86/123/12 78/125/12 +f 70/1306/13 68/126/13 83/128/13 +f 68/126/14 66/129/14 82/127/14 +f 80/132/15 88/131/15 66/129/15 +f 78/125/16 87/124/16 80/132/16 +f 88/145/17 87/133/17 96/135/17 +f 86/146/18 85/136/18 94/138/18 +f 84/147/19 83/139/19 92/141/19 +f 82/148/20 81/142/20 89/144/20 +f 81/142/21 88/145/21 90/143/21 +f 87/133/22 86/146/22 95/134/22 +f 85/136/23 84/147/23 93/137/23 +f 83/1307/24 82/148/24 91/149/24 +f 97/165/1 98/150/1 99/152/1 +f 99/152/2 100/151/2 101/154/2 +f 101/1308/3 102/155/3 103/157/3 +f 103/157/4 104/156/4 105/159/4 +f 105/159/5 106/158/5 107/161/5 +f 107/161/6 108/160/6 109/163/6 +f 111/166/7 112/164/7 97/165/7 +f 109/163/8 110/162/8 111/166/8 +f 102/1309/9 115/167/9 104/169/9 +f 106/1310/10 104/169/10 117/170/10 +f 106/1310/11 117/170/11 108/172/11 +f 110/181/12 108/172/12 119/173/12 +f 100/178/13 114/174/13 102/176/13 +f 98/180/14 113/177/14 100/178/14 +f 112/1311/15 120/179/15 98/180/15 +f 112/1311/16 110/181/16 120/179/16 +f 120/194/17 119/182/17 128/184/17 +f 118/195/18 117/185/18 126/187/18 +f 116/196/19 115/188/19 124/190/19 +f 114/197/20 113/191/20 121/193/20 +f 113/191/21 120/194/21 122/192/21 +f 119/182/22 118/195/22 127/183/22 +f 117/185/23 116/196/23 125/186/23 +f 115/1312/24 114/197/24 123/198/24 +f 129/214/3 130/199/3 131/201/3 +f 131/201/4 132/200/4 133/203/4 +f 133/1313/5 134/204/5 135/206/5 +f 135/206/6 136/205/6 137/208/6 +f 137/208/8 138/207/8 139/210/8 +f 139/210/7 140/209/7 141/212/7 +f 143/215/2 144/213/2 129/214/2 +f 141/212/1 142/211/1 143/215/1 +f 161/264/3 162/216/3 163/218/3 +f 136/222/25 134/219/25 148/221/25 +f 138/1314/26 136/222/26 149/223/26 +f 138/1314/41 149/223/41 140/225/41 +f 140/225/28 150/224/28 142/227/28 +f 132/1315/29 146/228/29 134/230/29 +f 132/1315/30 130/231/30 146/228/30 +f 130/231/42 144/233/42 145/232/42 +f 144/233/32 142/227/32 152/234/32 +f 152/249/33 151/235/33 160/237/33 +f 163/218/4 164/217/4 165/239/4 +f 150/250/34 149/240/34 158/242/34 +f 148/251/35 147/243/35 156/245/35 +f 146/252/36 145/246/36 153/248/36 +f 145/246/37 152/249/37 154/247/37 +f 151/235/38 150/250/38 159/236/38 +f 149/240/39 148/251/39 157/241/39 +f 147/1316/40 146/252/40 155/253/40 +f 165/1317/5 166/254/5 167/256/5 +f 167/256/6 168/255/6 169/258/6 +f 169/258/8 170/257/8 171/260/8 +f 171/260/7 172/259/7 173/262/7 +f 175/265/2 176/263/2 161/264/2 +f 173/262/1 174/261/1 175/265/1 +f 168/1318/25 166/266/25 180/268/25 +f 168/1318/26 180/268/26 170/270/26 +f 172/272/41 170/270/41 182/271/41 +f 174/1319/28 172/272/28 183/273/28 +f 164/278/29 178/274/29 166/276/29 +f 162/280/30 177/277/30 164/278/30 +f 176/281/42 184/279/42 162/280/42 +f 174/1319/32 183/273/32 176/281/32 +f 184/294/33 183/282/33 192/284/33 +f 182/295/34 181/285/34 190/287/34 +f 180/296/35 179/288/35 188/290/35 +f 178/297/36 177/291/36 185/293/36 +f 177/291/37 184/294/37 186/292/37 +f 183/282/38 182/295/38 191/283/38 +f 189/286/39 181/285/39 188/290/39 +f 179/1320/40 178/297/40 187/298/40 +f 193/314/3 194/299/3 195/301/3 +f 195/301/4 196/300/4 197/303/4 +f 197/1321/5 198/304/5 199/306/5 +f 199/306/6 200/305/6 201/308/6 +f 201/308/8 202/307/8 203/310/8 +f 203/310/7 204/309/7 205/312/7 +f 207/315/2 208/313/2 193/314/2 +f 205/312/1 206/311/1 207/315/1 +f 200/319/25 198/316/25 212/318/25 +f 202/321/26 200/319/26 213/320/26 +f 204/1322/41 202/321/41 214/322/41 +f 204/1322/28 214/322/28 206/324/28 +f 196/329/29 210/325/29 198/327/29 +f 194/1323/30 209/328/30 196/329/30 +f 194/1323/42 208/330/42 209/328/42 +f 206/324/32 215/323/32 208/330/32 +f 216/344/33 215/332/33 224/334/33 +f 222/345/34 214/335/34 221/337/34 +f 212/346/35 211/338/35 220/340/35 +f 210/347/36 209/341/36 217/343/36 +f 218/342/37 209/341/37 224/334/37 +f 215/332/38 214/335/38 223/333/38 +f 213/336/39 212/346/39 221/337/39 +f 211/1324/40 210/347/40 219/348/40 +f 225/364/3 226/349/3 227/351/3 +f 227/351/4 228/350/4 229/353/4 +f 229/1325/5 230/354/5 231/356/5 +f 231/356/6 232/355/6 233/358/6 +f 233/358/8 234/357/8 235/360/8 +f 235/360/7 236/359/7 237/362/7 +f 239/365/2 240/363/2 225/364/2 +f 237/362/1 238/361/1 239/365/1 +f 232/369/25 230/366/25 244/368/25 +f 234/371/26 232/369/26 245/370/26 +f 236/373/41 234/371/41 246/372/41 +f 238/1326/28 236/373/28 247/374/28 +f 228/379/29 242/375/29 230/377/29 +f 226/381/30 241/378/30 228/379/30 +f 240/382/42 248/380/42 226/381/42 +f 238/1326/32 247/374/32 240/382/32 +f 248/395/33 247/383/33 256/385/33 +f 254/396/34 246/386/34 253/388/34 +f 244/397/35 243/389/35 252/391/35 +f 242/398/36 241/392/36 249/394/36 +f 241/392/37 248/395/37 250/393/37 +f 247/383/38 246/386/38 255/384/38 +f 245/387/39 244/397/39 253/388/39 +f 243/1327/40 242/398/40 251/399/40 +f 257/415/5 258/400/5 259/402/5 +f 259/402/6 260/401/6 261/404/6 +f 261/1328/8 262/405/8 263/407/8 +f 263/407/7 264/406/7 265/409/7 +f 265/409/1 266/408/1 267/411/1 +f 267/411/2 268/410/2 269/413/2 +f 271/416/4 272/414/4 257/415/4 +f 269/413/3 270/412/3 271/416/3 +f 289/464/5 290/417/5 291/419/5 +f 262/1329/43 275/420/43 264/422/43 +f 266/424/44 264/422/44 277/423/44 +f 268/426/45 266/424/45 278/425/45 +f 270/434/46 268/426/46 279/427/46 +f 260/1330/47 274/428/47 262/430/47 +f 260/1330/48 258/431/48 274/428/48 +f 272/1331/49 280/433/49 258/431/49 +f 272/1331/50 270/434/50 280/433/50 +f 280/449/22 279/435/22 288/437/22 +f 291/419/6 292/418/6 293/439/6 +f 278/450/21 277/440/21 286/442/21 +f 276/451/24 275/443/24 284/445/24 +f 274/452/23 273/446/23 281/448/23 +f 273/446/18 280/449/18 282/447/18 +f 279/435/17 278/450/17 287/436/17 +f 277/440/20 276/451/20 285/441/20 +f 275/1332/19 274/452/19 283/453/19 +f 293/1333/8 294/454/8 295/456/8 +f 295/456/7 296/455/7 297/458/7 +f 297/458/1 298/457/1 299/460/1 +f 299/460/2 300/459/2 301/462/2 +f 303/465/4 304/463/4 289/464/4 +f 301/462/3 302/461/3 303/465/3 +f 296/469/43 294/466/43 308/468/43 +f 298/471/44 296/469/44 309/470/44 +f 300/1334/45 298/471/45 310/472/45 +f 300/1334/46 310/472/46 302/474/46 +f 292/479/47 306/475/47 294/477/47 +f 290/481/48 305/478/48 292/479/48 +f 304/1335/49 312/480/49 290/481/49 +f 304/1335/50 302/474/50 312/480/50 +f 312/494/22 311/482/22 320/484/22 +f 310/495/21 309/485/21 318/487/21 +f 316/496/24 308/488/24 315/490/24 +f 313/497/23 306/491/23 314/493/23 +f 305/492/18 312/494/18 314/493/18 +f 311/482/17 310/495/17 319/483/17 +f 309/485/20 308/488/20 317/486/20 +f 307/1336/19 306/491/19 315/498/19 +f 321/514/5 322/499/5 323/501/5 +f 323/501/6 324/500/6 325/503/6 +f 325/1337/8 326/504/8 327/506/8 +f 327/506/7 328/505/7 329/508/7 +f 329/508/1 330/507/1 331/510/1 +f 331/510/2 332/509/2 333/512/2 +f 335/515/4 336/513/4 321/514/4 +f 333/512/3 334/511/3 335/515/3 +f 326/1338/43 339/516/43 328/518/43 +f 330/520/44 328/518/44 341/519/44 +f 332/1339/45 330/520/45 342/521/45 +f 332/1339/46 342/521/46 334/523/46 +f 326/1340/47 324/524/47 339/526/47 +f 322/529/48 337/527/48 324/524/48 +f 336/530/49 344/528/49 322/529/49 +f 334/523/50 343/522/50 336/530/50 +f 352/543/22 344/531/22 351/533/22 +f 342/544/21 341/534/21 350/536/21 +f 340/545/24 339/537/24 348/539/24 +f 338/546/23 337/540/23 345/542/23 +f 337/540/18 344/531/18 346/541/18 +f 343/532/17 342/544/17 351/533/17 +f 341/534/20 340/545/20 349/535/20 +f 339/1341/19 338/546/19 347/547/19 +f 353/563/5 354/548/5 355/550/5 +f 355/550/6 356/549/6 357/552/6 +f 357/1342/8 358/553/8 359/555/8 +f 359/555/7 360/554/7 361/557/7 +f 361/557/1 362/556/1 363/559/1 +f 363/559/2 364/558/2 365/561/2 +f 367/564/4 368/562/4 353/563/4 +f 365/561/3 366/560/3 367/564/3 +f 358/1343/43 371/565/43 360/567/43 +f 362/569/44 360/567/44 373/568/44 +f 364/571/45 362/569/45 374/570/45 +f 366/1344/46 364/571/46 375/572/46 +f 356/577/47 370/573/47 358/575/47 +f 354/579/48 369/576/48 356/577/48 +f 368/580/49 376/578/49 354/579/49 +f 366/1344/50 375/572/50 368/580/50 +f 376/593/22 375/581/22 384/583/22 +f 374/594/21 373/584/21 382/586/21 +f 372/595/24 371/587/24 380/589/24 +f 370/596/23 369/590/23 377/592/23 +f 369/590/18 376/593/18 378/591/18 +f 375/581/17 374/594/17 383/582/17 +f 373/584/20 372/595/20 381/585/20 +f 371/1345/19 370/596/19 379/597/19 +f 385/613/8 386/598/8 387/600/8 +f 387/600/7 388/599/7 389/602/7 +f 389/1346/1 390/603/1 391/605/1 +f 391/605/2 392/604/2 393/607/2 +f 393/607/3 394/606/3 395/609/3 +f 395/609/4 396/608/4 397/611/4 +f 399/614/6 400/612/6 385/613/6 +f 397/611/5 398/610/5 399/614/5 +f 417/662/8 418/615/8 419/617/8 +f 392/1347/51 390/618/51 404/620/51 +f 392/1347/52 404/620/52 394/622/52 +f 394/622/59 405/621/59 396/624/59 +f 398/1348/54 396/624/54 407/625/54 +f 388/1349/55 402/626/55 390/628/55 +f 388/1349/56 386/629/56 402/626/56 +f 400/632/57 408/631/57 386/629/57 +f 398/1348/58 407/625/58 400/632/58 +f 408/647/38 407/633/38 416/635/38 +f 419/617/7 420/616/7 421/637/7 +f 406/648/37 405/638/37 414/640/37 +f 404/649/40 403/641/40 412/643/40 +f 402/650/39 401/644/39 409/646/39 +f 401/644/34 408/647/34 410/645/34 +f 407/633/33 406/648/33 415/634/33 +f 405/638/36 404/649/36 413/639/36 +f 403/1350/35 402/650/35 411/651/35 +f 421/1351/1 422/652/1 423/654/1 +f 423/654/2 424/653/2 425/656/2 +f 425/656/3 426/655/3 427/658/3 +f 427/658/4 428/657/4 429/660/4 +f 431/663/6 432/661/6 417/662/6 +f 429/660/5 430/659/5 431/663/5 +f 424/1352/51 422/664/51 436/666/51 +f 424/1352/52 436/666/52 426/668/52 +f 428/1353/59 426/668/59 438/669/59 +f 428/1353/54 438/669/54 430/671/54 +f 420/1354/55 434/672/55 422/674/55 +f 420/1354/56 418/675/56 434/672/56 +f 432/678/57 440/677/57 418/675/57 +f 430/671/58 439/670/58 432/678/58 +f 440/691/38 439/679/38 448/681/38 +f 438/692/37 437/682/37 446/684/37 +f 436/693/40 435/685/40 444/687/40 +f 434/694/39 433/688/39 441/690/39 +f 433/688/34 440/691/34 442/689/34 +f 439/679/33 438/692/33 447/680/33 +f 437/682/36 436/693/36 445/683/36 +f 435/1355/35 434/694/35 443/695/35 +f 449/711/8 450/696/8 451/698/8 +f 451/698/7 452/697/7 453/700/7 +f 453/1356/1 454/701/1 455/703/1 +f 455/703/2 456/702/2 457/705/2 +f 457/705/3 458/704/3 459/707/3 +f 459/707/4 460/706/4 461/709/4 +f 463/712/6 464/710/6 449/711/6 +f 461/709/5 462/708/5 463/712/5 +f 456/716/51 454/713/51 468/715/51 +f 458/718/52 456/716/52 469/717/52 +f 460/1357/59 458/718/59 470/719/59 +f 460/1357/54 470/719/54 462/721/54 +f 452/726/55 466/722/55 454/724/55 +f 450/728/56 465/725/56 452/726/56 +f 464/1358/57 472/727/57 450/728/57 +f 464/1358/58 462/721/58 472/727/58 +f 472/741/38 471/729/38 480/731/38 +f 470/742/37 469/732/37 478/734/37 +f 468/743/40 467/735/40 476/737/40 +f 466/744/39 465/738/39 473/740/39 +f 465/738/34 472/741/34 474/739/34 +f 471/729/33 470/742/33 479/730/33 +f 469/732/36 468/743/36 477/733/36 +f 467/1359/35 466/744/35 475/745/35 +f 481/761/8 482/746/8 483/748/8 +f 483/748/7 484/747/7 485/750/7 +f 485/1360/1 486/751/1 487/753/1 +f 487/753/2 488/752/2 489/755/2 +f 489/755/3 490/754/3 491/757/3 +f 491/757/4 492/756/4 493/759/4 +f 495/762/6 496/760/6 481/761/6 +f 493/759/5 494/758/5 495/762/5 +f 488/766/51 486/763/51 500/765/51 +f 490/1361/52 488/766/52 501/767/52 +f 490/1361/59 501/767/59 492/769/59 +f 494/1362/54 492/769/54 503/770/54 +f 484/775/55 498/771/55 486/773/55 +f 482/1363/56 497/774/56 484/775/56 +f 482/1363/57 496/776/57 497/774/57 +f 494/1362/58 503/770/58 496/776/58 +f 504/790/38 503/778/38 512/780/38 +f 502/791/37 501/781/37 510/783/37 +f 500/792/40 499/784/40 508/786/40 +f 498/793/39 497/787/39 505/789/39 +f 497/787/34 504/790/34 506/788/34 +f 503/778/33 502/791/33 511/779/33 +f 501/781/36 500/792/36 509/782/36 +f 499/1364/35 498/793/35 507/794/35 +f 554/1365/60 556/795/60 553/797/60 +f 514/800/61 516/1366/61 779/798/61 +f 520/802/61 779/798/61 516/1366/61 +f 516/803/62 515/1367/62 780/801/62 +f 519/805/62 780/801/62 515/1367/62 +f 515/806/63 513/1368/63 777/804/63 +f 517/808/63 777/804/63 513/1368/63 +f 513/809/64 514/1369/64 778/807/64 +f 518/799/64 778/807/64 514/1369/64 +f 522/1370/65 524/810/65 521/812/65 +f 524/819/66 528/813/66 523/815/66 +f 526/1371/60 522/816/60 525/817/60 +f 521/812/67 523/811/67 525/817/67 +f 526/1371/68 528/813/68 522/816/68 +f 530/1372/65 532/820/65 529/822/65 +f 532/829/66 536/823/66 531/825/66 +f 534/1373/60 530/826/60 533/827/60 +f 529/822/67 531/821/67 533/827/67 +f 534/1373/68 536/823/68 530/826/68 +f 540/838/66 544/830/66 539/832/66 +f 544/1374/69 542/833/69 543/831/69 +f 542/1375/60 538/835/60 541/837/60 +f 537/1376/67 539/832/67 541/834/67 +f 542/1375/68 544/830/68 538/835/68 +f 548/847/66 552/839/66 547/841/66 +f 552/1377/69 550/842/69 551/840/69 +f 550/1378/60 546/844/60 549/846/60 +f 545/1379/67 547/841/67 549/843/67 +f 550/1378/68 552/839/68 546/844/68 +f 556/854/65 560/848/65 555/850/65 +f 558/1380/69 554/851/69 557/852/69 +f 553/797/67 555/796/67 557/852/67 +f 558/1380/68 560/848/68 554/851/68 +f 562/1381/60 564/855/60 561/857/60 +f 564/864/65 568/858/65 563/860/65 +f 566/1382/69 562/861/69 565/862/69 +f 561/857/67 563/856/67 565/862/67 +f 566/1382/68 568/858/68 562/861/68 +f 572/873/65 576/865/65 571/867/65 +f 576/1383/66 574/868/66 575/866/66 +f 574/1384/69 570/870/69 573/872/69 +f 569/1385/67 571/867/67 573/869/67 +f 574/1384/68 576/865/68 570/870/68 +f 515/1386/67 516/874/67 513/876/67 +f 580/885/65 584/877/65 579/879/65 +f 584/1387/66 582/880/66 583/878/66 +f 582/1388/69 578/882/69 581/884/69 +f 577/1389/67 579/879/67 581/881/67 +f 582/1388/68 584/877/68 578/882/68 +f 587/888/67 586/1390/67 585/1391/67 +f 585/1391/67 596/1392/67 595/886/67 +f 595/886/67 594/1393/67 591/887/67 +f 593/1394/67 592/1395/67 591/887/67 +f 591/887/67 590/1396/67 589/1397/67 +f 589/1397/67 588/1398/67 587/888/67 +f 587/888/67 585/1391/67 595/886/67 +f 594/1393/67 593/1394/67 591/887/67 +f 591/887/67 589/1397/67 587/888/67 +f 602/1399/67 603/889/67 614/891/67 +f 595/913/70 596/892/70 607/894/70 +f 585/904/71 586/895/71 598/897/71 +f 592/915/72 593/898/72 604/900/72 +f 589/916/73 590/901/73 601/903/73 +f 596/892/74 585/904/74 608/893/74 +f 586/895/75 587/905/75 597/896/75 +f 593/898/76 594/907/76 605/899/76 +f 590/901/77 591/909/77 602/902/77 +f 587/905/78 588/911/78 599/906/78 +f 594/1400/79 595/913/79 606/914/79 +f 591/909/80 592/915/80 603/910/80 +f 588/911/81 589/916/81 600/912/81 +f 617/938/76 618/917/76 629/919/76 +f 599/1401/67 600/920/67 611/922/67 +f 618/1402/67 606/923/67 619/925/67 +f 603/1403/67 604/926/67 615/890/67 +f 612/921/67 600/928/67 613/930/67 +f 619/925/67 607/931/67 620/933/67 +f 598/1404/67 597/934/67 610/936/67 +f 604/1405/67 605/937/67 616/927/67 +f 601/1406/67 602/939/67 613/930/67 +f 620/933/67 608/940/67 610/936/67 +f 609/935/67 597/942/67 611/922/67 +f 605/1407/67 606/944/67 617/938/67 +f 650/1408/67 651/945/67 662/947/67 +f 614/891/77 615/890/77 626/949/77 +f 611/922/78 612/921/78 623/951/78 +f 618/1402/79 619/925/79 630/953/79 +f 615/890/80 616/927/80 627/948/80 +f 612/921/81 613/930/81 624/950/81 +f 619/925/70 620/933/70 631/952/70 +f 622/958/71 610/936/71 621/957/71 +f 616/927/72 617/938/72 628/954/72 +f 613/930/73 614/891/73 625/955/73 +f 620/933/74 610/936/74 632/956/74 +f 621/957/75 609/935/75 623/951/75 +f 643/980/70 644/959/70 655/961/70 +f 633/971/71 634/962/71 646/964/71 +f 640/982/72 641/965/72 652/967/72 +f 637/983/73 638/968/73 649/970/73 +f 644/959/74 633/971/74 656/960/74 +f 634/962/75 635/972/75 645/963/75 +f 641/965/76 642/974/76 653/966/76 +f 638/968/77 639/976/77 650/969/77 +f 635/972/78 636/978/78 647/973/78 +f 642/1409/79 643/980/79 654/981/79 +f 639/976/80 640/982/80 651/977/80 +f 636/978/81 637/983/81 648/979/81 +f 665/1005/76 666/984/76 677/986/76 +f 647/1410/67 648/987/67 659/989/67 +f 666/1411/67 654/990/67 667/992/67 +f 651/1412/67 652/993/67 663/946/67 +f 660/988/67 648/995/67 661/997/67 +f 667/992/67 655/998/67 668/1000/67 +f 646/1413/67 645/1001/67 658/1003/67 +f 652/1414/67 653/1004/67 664/994/67 +f 649/1415/67 650/1006/67 661/997/67 +f 668/1000/67 656/1007/67 658/1003/67 +f 657/1002/67 645/1009/67 659/989/67 +f 653/1416/67 654/1011/67 665/1005/67 +f 674/1022/77 662/947/77 675/1012/77 +f 659/989/78 660/988/78 671/1014/78 +f 666/1411/79 667/992/79 678/1016/79 +f 663/946/80 664/994/80 675/1012/80 +f 660/988/81 661/997/81 672/1013/81 +f 667/992/70 668/1000/70 679/1015/70 +f 658/1003/71 657/1002/71 670/1021/71 +f 664/994/72 665/1005/72 676/1017/72 +f 661/997/73 662/947/73 673/1018/73 +f 668/1000/74 658/1003/74 680/1019/74 +f 657/1002/75 659/989/75 669/1020/75 +f 698/1417/67 699/1023/67 710/1025/67 +f 691/1047/70 692/1026/70 703/1028/70 +f 681/1038/71 682/1029/71 694/1031/71 +f 688/1049/72 689/1032/72 700/1034/72 +f 685/1050/73 686/1035/73 697/1037/73 +f 692/1026/74 681/1038/74 704/1027/74 +f 682/1029/75 683/1039/75 693/1030/75 +f 689/1032/76 690/1041/76 701/1033/76 +f 686/1035/77 687/1043/77 698/1036/77 +f 683/1039/78 684/1045/78 695/1040/78 +f 690/1418/79 691/1047/79 702/1048/79 +f 687/1043/80 688/1049/80 699/1044/80 +f 684/1045/81 685/1050/81 696/1046/81 +f 713/1072/76 714/1051/76 725/1053/76 +f 695/1419/67 696/1054/67 707/1056/67 +f 714/1420/67 702/1057/67 715/1059/67 +f 699/1421/67 700/1060/67 711/1024/67 +f 708/1055/67 696/1062/67 709/1064/67 +f 715/1059/67 703/1065/67 716/1067/67 +f 694/1422/67 693/1068/67 706/1070/67 +f 700/1423/67 701/1071/67 712/1061/67 +f 697/1424/67 698/1073/67 709/1064/67 +f 716/1067/67 704/1074/67 706/1070/67 +f 705/1069/67 693/1076/67 707/1056/67 +f 701/1425/67 702/1078/67 713/1072/67 +f 710/1025/77 711/1024/77 722/1080/77 +f 707/1056/78 708/1055/78 719/1082/78 +f 714/1420/79 715/1059/79 726/1084/79 +f 711/1024/80 712/1061/80 723/1079/80 +f 708/1055/81 709/1064/81 720/1081/81 +f 715/1059/70 716/1067/70 727/1083/70 +f 706/1070/71 705/1069/71 718/1089/71 +f 712/1061/72 713/1072/72 724/1085/72 +f 709/1064/73 710/1025/73 721/1086/73 +f 716/1067/74 706/1070/74 728/1087/74 +f 705/1069/75 707/1056/75 717/1088/75 +f 746/1426/67 747/1090/67 758/1092/67 +f 739/1114/70 740/1093/70 751/1095/70 +f 729/1105/71 730/1096/71 742/1098/71 +f 736/1116/72 737/1099/72 748/1101/72 +f 733/1117/73 734/1102/73 745/1104/73 +f 740/1093/74 729/1105/74 752/1094/74 +f 730/1096/75 731/1106/75 741/1097/75 +f 737/1099/76 738/1108/76 749/1100/76 +f 734/1102/77 735/1110/77 746/1103/77 +f 731/1106/78 732/1112/78 743/1107/78 +f 738/1427/79 739/1114/79 750/1115/79 +f 735/1110/80 736/1116/80 747/1111/80 +f 732/1112/81 733/1117/81 744/1113/81 +f 761/1152/76 762/1118/76 773/1120/76 +f 743/1428/67 744/1121/67 755/1123/67 +f 762/1429/67 750/1124/67 763/1126/67 +f 747/1430/67 748/1127/67 759/1129/67 +f 756/1431/67 744/1130/67 757/1132/67 +f 763/1432/67 751/1133/67 764/1135/67 +f 742/1433/67 741/1136/67 754/1138/67 +f 748/1434/67 749/1139/67 760/1141/67 +f 745/1435/67 746/1142/67 757/1144/67 +f 764/1436/67 752/1145/67 754/1147/67 +f 753/1163/67 741/1148/67 755/1150/67 +f 749/1437/67 750/1151/67 761/1152/67 +f 758/1092/77 759/1091/77 770/1154/77 +f 755/1123/78 756/1122/78 767/1156/78 +f 762/1429/79 763/1126/79 774/1119/79 +f 759/1129/80 760/1128/80 771/1153/80 +f 756/1431/81 757/1132/81 768/1155/81 +f 763/1432/70 764/1135/70 775/1157/70 +f 754/1138/71 753/1137/71 766/1162/71 +f 760/1141/72 761/1140/72 772/1158/72 +f 769/1159/73 757/1144/73 770/1154/73 +f 764/1436/74 754/1147/74 776/1160/74 +f 765/1161/75 753/1163/75 767/1156/75 +f 734/1438/68 722/1080/68 735/1164/68 +f 735/1439/68 723/1079/68 736/1165/68 +f 736/1440/68 724/1085/68 737/1166/68 +f 725/1053/68 726/1052/68 737/1168/68 +f 726/1084/68 727/1083/68 738/1170/68 +f 727/1083/68 728/1087/68 739/1172/68 +f 728/1087/68 718/1089/68 740/1174/68 +f 718/1089/68 717/1088/68 729/1176/68 +f 717/1088/68 719/1082/68 730/1178/68 +f 719/1082/68 720/1081/68 731/1180/68 +f 733/1441/68 721/1086/68 734/1181/68 +f 720/1081/68 721/1086/68 732/1183/68 +f 671/1014/68 672/1013/68 683/1185/68 +f 672/1013/68 673/1018/68 684/1187/68 +f 685/1442/68 673/1018/68 686/1188/68 +f 686/1443/68 674/1022/68 687/1189/68 +f 687/1444/68 675/1012/68 688/1190/68 +f 688/1445/68 676/1017/68 689/1191/68 +f 677/986/68 678/985/68 689/1193/68 +f 678/1016/68 679/1015/68 690/1195/68 +f 679/1015/68 680/1019/68 691/1197/68 +f 680/1019/68 670/1021/68 692/1199/68 +f 670/1021/68 669/1020/68 681/1201/68 +f 669/1020/68 671/1014/68 682/1203/68 +f 621/957/68 623/951/68 634/1205/68 +f 623/951/68 624/950/68 635/1207/68 +f 624/950/68 625/955/68 636/1209/68 +f 637/1446/68 625/955/68 638/1210/68 +f 638/1447/68 626/949/68 639/1211/68 +f 639/1448/68 627/948/68 640/1212/68 +f 640/1449/68 628/954/68 641/1213/68 +f 629/919/68 630/918/68 641/1215/68 +f 630/953/68 631/952/68 642/1217/68 +f 631/952/68 632/956/68 643/1219/68 +f 632/956/68 622/958/68 644/1221/68 +f 622/958/68 621/957/68 633/1223/68 +f 518/799/68 592/1224/68 778/807/68 +f 517/808/68 778/807/68 590/1226/68 +f 588/1228/68 777/804/68 589/1227/68 +f 519/805/68 777/804/68 587/1229/68 +f 585/1231/68 780/801/68 586/1230/68 +f 520/802/68 780/801/68 596/1232/68 +f 594/1234/68 779/798/68 595/1233/68 +f 518/799/68 779/798/68 593/1235/68 +f 789/1270/76 790/1236/76 801/1238/76 +f 773/1120/68 774/1119/68 789/1240/68 +f 774/1119/68 775/1157/68 790/1239/68 +f 775/1157/68 776/1160/68 791/1241/68 +f 776/1160/68 766/1162/68 792/1242/68 +f 766/1162/68 765/1161/68 782/1243/68 +f 765/1161/68 767/1156/68 781/1244/68 +f 767/1156/68 768/1155/68 783/1245/68 +f 772/1158/68 773/1120/68 788/1247/68 +f 771/1153/68 772/1158/68 787/1248/68 +f 786/1249/68 770/1154/68 787/1248/68 +f 769/1159/68 770/1154/68 785/1250/68 +f 784/1246/68 768/1155/68 785/1250/68 +f 805/1450/83 793/1251/83 807/1253/83 +f 786/1271/77 787/1254/77 798/1256/77 +f 783/1273/78 784/1257/78 795/1252/78 +f 790/1451/79 791/1259/79 802/1261/79 +f 787/1254/80 788/1262/80 799/1255/80 +f 784/1257/81 785/1264/81 796/1258/81 +f 791/1259/70 792/1266/70 803/1260/70 +f 782/1272/71 781/1268/71 794/1269/71 +f 788/1262/72 789/1270/72 800/1263/72 +f 785/1264/73 786/1271/73 797/1265/73 +f 792/1266/74 782/1272/74 804/1267/74 +f 781/1268/75 783/1273/75 793/1251/75 +f 806/1276/68 805/1452/68 809/1274/68 +f 807/1453/68 808/1454/68 809/1274/68 +f 809/1274/68 810/1455/68 811/1456/68 +f 811/1456/68 812/1457/68 809/1274/68 +f 813/1275/68 814/1458/68 815/1459/68 +f 815/1459/68 816/1460/68 806/1276/68 +f 805/1452/68 807/1453/68 809/1274/68 +f 809/1274/68 812/1457/68 813/1275/68 +f 813/1275/68 815/1459/68 806/1276/68 +f 801/1238/84 802/1237/84 813/1278/84 +f 798/1256/85 799/1255/85 810/1280/85 +f 807/1461/86 795/1252/86 808/1281/86 +f 802/1261/87 803/1260/87 814/1283/87 +f 799/1255/95 800/1263/95 811/1285/95 +f 796/1258/89 797/1265/89 808/1287/89 +f 815/1462/90 803/1260/90 816/1288/90 +f 794/1269/91 793/1251/91 806/1290/91 +f 812/1463/92 800/1263/92 813/1291/92 +f 797/1265/93 798/1256/93 809/1293/93 +f 816/1464/96 804/1267/96 806/1294/96 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 5a5b44577..3e403939b 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -7,6 +7,10 @@ "block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]}, "block.shutdown": {"category": "block", "sounds": [{"name": "block/shutdown", "stream": false}]}, "block.minerOperate": {"category": "block", "sounds": [{"name": "block/minerOperate", "stream": false}]}, + "block.assemblerOperate": {"category": "block", "sounds": [{"name": "block/assemblerOperate", "stream": false}]}, + "block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": false}]}, + "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]}, + "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/textures/gui/fluids2.png b/assets/hbm/textures/gui/fluids2.png old mode 100644 new mode 100755 index 93d146ad5..895402a63 Binary files a/assets/hbm/textures/gui/fluids2.png and b/assets/hbm/textures/gui/fluids2.png differ diff --git a/assets/hbm/textures/gui/gui_refinery.png b/assets/hbm/textures/gui/gui_refinery.png index 1804a2ef3..86aff4829 100644 Binary files a/assets/hbm/textures/gui/gui_refinery.png and b/assets/hbm/textures/gui/gui_refinery.png differ diff --git a/assets/hbm/textures/gui/gui_refinery_alt.png b/assets/hbm/textures/gui/gui_refinery_alt.png new file mode 100644 index 000000000..1804a2ef3 Binary files /dev/null and b/assets/hbm/textures/gui/gui_refinery_alt.png differ diff --git a/assets/hbm/textures/items/canister_bitumen.png b/assets/hbm/textures/items/canister_bitumen.png new file mode 100644 index 000000000..310e712f9 Binary files /dev/null and b/assets/hbm/textures/items/canister_bitumen.png differ diff --git a/assets/hbm/textures/items/canister_heatingoil.png b/assets/hbm/textures/items/canister_heatingoil.png new file mode 100644 index 000000000..5ac3eddd6 Binary files /dev/null and b/assets/hbm/textures/items/canister_heatingoil.png differ diff --git a/assets/hbm/textures/items/canister_heavyoil.png b/assets/hbm/textures/items/canister_heavyoil.png new file mode 100644 index 000000000..6c36ec828 Binary files /dev/null and b/assets/hbm/textures/items/canister_heavyoil.png differ diff --git a/assets/hbm/textures/items/canister_lightoil.png b/assets/hbm/textures/items/canister_lightoil.png new file mode 100644 index 000000000..d030fa54b Binary files /dev/null and b/assets/hbm/textures/items/canister_lightoil.png differ diff --git a/assets/hbm/textures/items/canister_naphtha.png b/assets/hbm/textures/items/canister_naphtha.png new file mode 100644 index 000000000..3635c1c82 Binary files /dev/null and b/assets/hbm/textures/items/canister_naphtha.png differ diff --git a/assets/hbm/textures/items/gas_petroleum.png b/assets/hbm/textures/items/gas_petroleum.png new file mode 100644 index 000000000..29c9f755d Binary files /dev/null and b/assets/hbm/textures/items/gas_petroleum.png differ diff --git a/assets/hbm/textures/models/MissileDoomsday.png b/assets/hbm/textures/models/MissileDoomsday.png new file mode 100755 index 000000000..083168766 Binary files /dev/null and b/assets/hbm/textures/models/MissileDoomsday.png differ diff --git a/assets/hbm/textures/models/bombletThetaTexture.png b/assets/hbm/textures/models/bombletThetaTexture.png new file mode 100755 index 000000000..e4f809d0d Binary files /dev/null and b/assets/hbm/textures/models/bombletThetaTexture.png differ diff --git a/assets/hbm/textures/models/tank.png b/assets/hbm/textures/models/tank.png new file mode 100755 index 000000000..66098bb2b Binary files /dev/null and b/assets/hbm/textures/models/tank.png differ diff --git a/assets/hbm/textures/models/tank_AMAT.png b/assets/hbm/textures/models/tank_AMAT.png new file mode 100644 index 000000000..ec9b69f91 Binary files /dev/null and b/assets/hbm/textures/models/tank_AMAT.png differ diff --git a/assets/hbm/textures/models/tank_ASCHRAB.png b/assets/hbm/textures/models/tank_ASCHRAB.png new file mode 100644 index 000000000..3d92a25a0 Binary files /dev/null and b/assets/hbm/textures/models/tank_ASCHRAB.png differ diff --git a/assets/hbm/textures/models/tank_BITUMEN.png b/assets/hbm/textures/models/tank_BITUMEN.png new file mode 100644 index 000000000..302d43eeb Binary files /dev/null and b/assets/hbm/textures/models/tank_BITUMEN.png differ diff --git a/assets/hbm/textures/models/tank_COOLANT.png b/assets/hbm/textures/models/tank_COOLANT.png new file mode 100644 index 000000000..fa75ede0c Binary files /dev/null and b/assets/hbm/textures/models/tank_COOLANT.png differ diff --git a/assets/hbm/textures/models/tank_DEUTERIUM.png b/assets/hbm/textures/models/tank_DEUTERIUM.png new file mode 100644 index 000000000..2c79dc66e Binary files /dev/null and b/assets/hbm/textures/models/tank_DEUTERIUM.png differ diff --git a/assets/hbm/textures/models/tank_DIESEL.png b/assets/hbm/textures/models/tank_DIESEL.png new file mode 100644 index 000000000..6f5b73477 Binary files /dev/null and b/assets/hbm/textures/models/tank_DIESEL.png differ diff --git a/assets/hbm/textures/models/tank_GAS.png b/assets/hbm/textures/models/tank_GAS.png new file mode 100644 index 000000000..de0c11c1b Binary files /dev/null and b/assets/hbm/textures/models/tank_GAS.png differ diff --git a/assets/hbm/textures/models/tank_HEATINGOIL.png b/assets/hbm/textures/models/tank_HEATINGOIL.png new file mode 100644 index 000000000..0caf88878 Binary files /dev/null and b/assets/hbm/textures/models/tank_HEATINGOIL.png differ diff --git a/assets/hbm/textures/models/tank_HEAVYOIL.png b/assets/hbm/textures/models/tank_HEAVYOIL.png new file mode 100644 index 000000000..27356c602 Binary files /dev/null and b/assets/hbm/textures/models/tank_HEAVYOIL.png differ diff --git a/assets/hbm/textures/models/tank_KEROSENE.png b/assets/hbm/textures/models/tank_KEROSENE.png new file mode 100644 index 000000000..74fe4c934 Binary files /dev/null and b/assets/hbm/textures/models/tank_KEROSENE.png differ diff --git a/assets/hbm/textures/models/tank_LAVA.png b/assets/hbm/textures/models/tank_LAVA.png new file mode 100644 index 000000000..7611062f0 Binary files /dev/null and b/assets/hbm/textures/models/tank_LAVA.png differ diff --git a/assets/hbm/textures/models/tank_LIGHTOIL.png b/assets/hbm/textures/models/tank_LIGHTOIL.png new file mode 100644 index 000000000..e1e1e2714 Binary files /dev/null and b/assets/hbm/textures/models/tank_LIGHTOIL.png differ diff --git a/assets/hbm/textures/models/tank_LUBRICANT.png b/assets/hbm/textures/models/tank_LUBRICANT.png new file mode 100644 index 000000000..eb439da73 Binary files /dev/null and b/assets/hbm/textures/models/tank_LUBRICANT.png differ diff --git a/assets/hbm/textures/models/tank_NAPHTHA.png b/assets/hbm/textures/models/tank_NAPHTHA.png new file mode 100644 index 000000000..6c59fa6e6 Binary files /dev/null and b/assets/hbm/textures/models/tank_NAPHTHA.png differ diff --git a/assets/hbm/textures/models/tank_NONE.png b/assets/hbm/textures/models/tank_NONE.png new file mode 100755 index 000000000..143f752d9 Binary files /dev/null and b/assets/hbm/textures/models/tank_NONE.png differ diff --git a/assets/hbm/textures/models/tank_OIL.png b/assets/hbm/textures/models/tank_OIL.png new file mode 100644 index 000000000..c32da3e94 Binary files /dev/null and b/assets/hbm/textures/models/tank_OIL.png differ diff --git a/assets/hbm/textures/models/tank_PETROIL.png b/assets/hbm/textures/models/tank_PETROIL.png new file mode 100644 index 000000000..a3eace10d Binary files /dev/null and b/assets/hbm/textures/models/tank_PETROIL.png differ diff --git a/assets/hbm/textures/models/tank_PETROLEUM.png b/assets/hbm/textures/models/tank_PETROLEUM.png new file mode 100644 index 000000000..800ab35c6 Binary files /dev/null and b/assets/hbm/textures/models/tank_PETROLEUM.png differ diff --git a/assets/hbm/textures/models/tank_PUF6.png b/assets/hbm/textures/models/tank_PUF6.png new file mode 100644 index 000000000..23d7d36bc Binary files /dev/null and b/assets/hbm/textures/models/tank_PUF6.png differ diff --git a/assets/hbm/textures/models/tank_RECLAIMED.png b/assets/hbm/textures/models/tank_RECLAIMED.png new file mode 100644 index 000000000..f51afe9e4 Binary files /dev/null and b/assets/hbm/textures/models/tank_RECLAIMED.png differ diff --git a/assets/hbm/textures/models/tank_SMEAR.png b/assets/hbm/textures/models/tank_SMEAR.png new file mode 100644 index 000000000..c4116c89c Binary files /dev/null and b/assets/hbm/textures/models/tank_SMEAR.png differ diff --git a/assets/hbm/textures/models/tank_TRITIUM.png b/assets/hbm/textures/models/tank_TRITIUM.png new file mode 100644 index 000000000..34b873ed4 Binary files /dev/null and b/assets/hbm/textures/models/tank_TRITIUM.png differ diff --git a/assets/hbm/textures/models/tank_UF6.png b/assets/hbm/textures/models/tank_UF6.png new file mode 100644 index 000000000..8acf17f4c Binary files /dev/null and b/assets/hbm/textures/models/tank_UF6.png differ diff --git a/assets/hbm/textures/models/tank_WATER.png b/assets/hbm/textures/models/tank_WATER.png new file mode 100644 index 000000000..3fe168322 Binary files /dev/null and b/assets/hbm/textures/models/tank_WATER.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 67b30bef3..d32a2ed5a 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -408,6 +408,8 @@ public class ModBlocks { public static Block dummy_port_chemplant; public static Block dummy_block_fluidtank; public static Block dummy_port_fluidtank; + public static Block dummy_block_refinery; + public static Block dummy_port_refinery; private static void initializeBlock() { @@ -672,7 +674,7 @@ public class ModBlocks { machine_well = new MachineOilWell(Material.iron).setBlockName("machine_well").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_well"); oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe"); machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_flare"); - machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery_side"); + machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_drill"); drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe"); machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); @@ -723,6 +725,8 @@ public class ModBlocks { dummy_port_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_block_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_port_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_port_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_block_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_block_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); + dummy_port_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_port_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); } private static void registerBlock() { @@ -1023,6 +1027,8 @@ public class ModBlocks { GameRegistry.registerBlock(dummy_port_chemplant, dummy_port_chemplant.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_fluidtank, dummy_block_fluidtank.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_fluidtank, dummy_port_fluidtank.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_block_refinery, dummy_block_refinery.getUnlocalizedName()); + GameRegistry.registerBlock(dummy_port_refinery, dummy_port_refinery.getUnlocalizedName()); //Other Technical Blocks GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/LaunchPad.java b/com/hbm/blocks/bomb/LaunchPad.java index 32b02c94a..32e07b22d 100644 --- a/com/hbm/blocks/bomb/LaunchPad.java +++ b/com/hbm/blocks/bomb/LaunchPad.java @@ -239,7 +239,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary && entity.power >= 75000) { - EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -257,7 +257,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster && entity.power >= 75000) { - EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -266,7 +266,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_strong && entity.power >= 75000) { - EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -275,7 +275,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary_strong && entity.power >= 75000) { - EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -284,7 +284,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_cluster_strong && entity.power >= 75000) { - EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -293,7 +293,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster_strong && entity.power >= 75000) { - EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -302,7 +302,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_burst && entity.power >= 75000) { - EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -311,7 +311,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_inferno && entity.power >= 75000) { - EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -320,7 +320,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_rain && entity.power >= 75000) { - EntityMissileRain missile = new EntityMissileRain(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileRain missile = new EntityMissileRain(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -329,7 +329,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_drill && entity.power >= 75000) { - EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -338,7 +338,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear && entity.power >= 75000) { - EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -347,7 +347,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_endo && entity.power >= 75000) { - EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -356,7 +356,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_exo && entity.power >= 75000) { - EntityMissileExo missile = new EntityMissileExo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileExo missile = new EntityMissileExo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; @@ -365,7 +365,7 @@ public class LaunchPad extends BlockContainer implements IBomb { } if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear_cluster && entity.power >= 75000) { - EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F); + EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord); p_149695_1_.spawnEntityInWorld(missile); entity.power -= 75000; diff --git a/com/hbm/blocks/machine/DummyBlockRefinery.java b/com/hbm/blocks/machine/DummyBlockRefinery.java new file mode 100644 index 000000000..090944311 --- /dev/null +++ b/com/hbm/blocks/machine/DummyBlockRefinery.java @@ -0,0 +1,106 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.interfaces.IDummy; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityDummy; +import com.hbm.tileentity.TileEntityMachineCyclotron; +import com.hbm.tileentity.TileEntityMachineRefinery; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class DummyBlockRefinery extends BlockContainer implements IDummy { + + public static boolean safeBreak = false; + + public DummyBlockRefinery(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityDummy(); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) + { + if(!safeBreak) { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + //world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i); + if(!world.isRemote) + world.func_147480_a(a, b, c, true); + } + } + world.removeTileEntity(x, y, z); + } + + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) + { + return Item.getItemFromBlock(ModBlocks.machine_refinery); + } + + @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()) + { + TileEntity te = world.getTileEntity(x, y, z); + if(te != null && te instanceof TileEntityDummy) { + int a = ((TileEntityDummy)te).targetX; + int b = ((TileEntityDummy)te).targetY; + int c = ((TileEntityDummy)te).targetZ; + + TileEntityMachineRefinery entity = (TileEntityMachineRefinery) world.getTileEntity(a, b, c); + if(entity != null) + { + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_refinery, world, a, b, c); + } + } + return true; + } else { + return false; + } + } +} diff --git a/com/hbm/blocks/machine/MachineMiningDrill.java b/com/hbm/blocks/machine/MachineMiningDrill.java index 751220592..e72498d7c 100644 --- a/com/hbm/blocks/machine/MachineMiningDrill.java +++ b/com/hbm/blocks/machine/MachineMiningDrill.java @@ -99,7 +99,7 @@ public class MachineMiningDrill extends BlockContainer implements IMultiblock { } world.setBlock(x, y, z - 1, ModBlocks.dummy_port_drill); TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { + if(te2 instanceof TileEntityDummy) { TileEntityDummy dummy = (TileEntityDummy)te2; dummy.targetX = x; dummy.targetY = y; diff --git a/com/hbm/blocks/machine/MachineRefinery.java b/com/hbm/blocks/machine/MachineRefinery.java index 9f9c3a92f..664b44fae 100644 --- a/com/hbm/blocks/machine/MachineRefinery.java +++ b/com/hbm/blocks/machine/MachineRefinery.java @@ -3,8 +3,11 @@ package com.hbm.blocks.machine; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.MultiblockHandler; +import com.hbm.interfaces.IMultiblock; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityDummy; import com.hbm.tileentity.TileEntityMachineRefinery; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -14,6 +17,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -21,28 +25,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class MachineRefinery extends BlockContainer { +public class MachineRefinery extends BlockContainer implements IMultiblock { private final Random field_149933_a = new Random(); private Random rand; private static boolean keepInventory; - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + + public MachineRefinery(Material p_i45386_1_) { + super(p_i45386_1_); } @Override @@ -51,8 +44,19 @@ public class MachineRefinery extends BlockContainer { return Item.getItemFromBlock(ModBlocks.machine_refinery); } - public MachineRefinery(Material p_i45386_1_) { - super(p_i45386_1_); + @Override + public int getRenderType() { + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; } @Override @@ -129,4 +133,51 @@ public class MachineRefinery extends BlockContainer { 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) { + world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.refineryDimensions)) { + MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.refineryDimensions, ModBlocks.dummy_block_refinery); + + // + DummyBlockRefinery.safeBreak = true; + world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_refinery); + TileEntity te = world.getTileEntity(x + 1, y, z + 1); + if(te instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_refinery); + TileEntity te2 = world.getTileEntity(x + 1, y, z - 1); + if(te2 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te2; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_refinery); + TileEntity te3 = world.getTileEntity(x - 1, y, z - 1); + if(te3 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te3; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_refinery); + TileEntity te4 = world.getTileEntity(x - 1, y, z + 1); + if(te4 instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te4; + dummy.targetX = x; + dummy.targetY = y; + dummy.targetZ = z; + } + DummyBlockRefinery.safeBreak = false; + // + + } else + world.func_147480_a(x, y, z, true); + } } diff --git a/com/hbm/entity/missile/EntityBombletSelena.java b/com/hbm/entity/missile/EntityBombletSelena.java new file mode 100644 index 000000000..f9d7bbb24 --- /dev/null +++ b/com/hbm/entity/missile/EntityBombletSelena.java @@ -0,0 +1,101 @@ +package com.hbm.entity.missile; + +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityNukeExplosionAdvanced; +import com.hbm.entity.particle.EntityOilSpillFX; +import com.hbm.entity.particle.EntitySSmokeFX; +import com.hbm.entity.particle.EntitySmokeFX; +import com.hbm.explosion.ExplosionChaos; +import com.hbm.explosion.ExplosionLarge; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.init.Blocks; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBombletSelena extends EntityThrowable { + + double decelY = 0.1D; + double accelXZ = 0.1D; + + public EntityBombletSelena(World p_i1582_1_) { + super(p_i1582_1_); + this.ignoreFrustumCheck = true; + } + + @Override + public void onUpdate() { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + + Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ); + vector = vector.normalize(); + vector.xCoord *= accelXZ; + vector.zCoord *= accelXZ; + this.motionY -= decelY; + this.motionX -= vector.xCoord; + this.motionZ -= vector.zCoord; + + this.rotation(); + + if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + { + if(!this.worldObj.isRemote) + { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F, true, true, true); + ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); + } + this.setDead(); + } + + //if(!this.worldObj.isRemote) + // this.worldObj.spawnEntityInWorld(new EntityOilSpillFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); + } + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + } + + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) + { + return distance < 25000; + } + +} diff --git a/com/hbm/entity/missile/EntityBombletTheta.java b/com/hbm/entity/missile/EntityBombletTheta.java index cc83f65bb..886f24ace 100644 --- a/com/hbm/entity/missile/EntityBombletTheta.java +++ b/com/hbm/entity/missile/EntityBombletTheta.java @@ -4,6 +4,7 @@ import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.particle.EntitySSmokeFX; import com.hbm.entity.particle.EntitySmokeFX; +import com.hbm.explosion.ExplosionLarge; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -42,6 +43,19 @@ public class EntityBombletTheta extends EntityThrowable { this.motionY -= decelY; this.motionX -= vector.xCoord; this.motionZ -= vector.zCoord; + + if(motionY < -0.75D && !worldObj.isRemote && rand.nextInt(10) == 0) { + EntityBombletSelena selena = new EntityBombletSelena(worldObj); + selena.posX = this.posX; + selena.posY = this.posY; + selena.posZ = this.posZ; + selena.motionX = rand.nextGaussian(); + selena.motionY = rand.nextGaussian(); + selena.motionZ = rand.nextGaussian(); + selena.decelY = this.decelY; + selena.accelXZ = this.accelXZ; + worldObj.spawnEntityInWorld(selena); + } this.rotation(); @@ -49,21 +63,7 @@ public class EntityBombletTheta extends EntityThrowable { { if(!this.worldObj.isRemote) { - /*EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); - entity.posX = this.posX; - entity.posY = this.posY; - entity.posZ = this.posZ; - entity.destructionRange = MainRegistry.mirvRadius; - entity.speed = 25; - entity.coefficient = 10.0F; - - this.worldObj.spawnEntityInWorld(entity); - - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); - entity2.posX = this.posX; - entity2.posY = this.posY - 9; - entity2.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(entity2);*/ + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 50.0F, true, true, true); } this.setDead(); } @@ -99,7 +99,6 @@ public class EntityBombletTheta extends EntityThrowable { @Override protected void onImpact(MovingObjectPosition p_70184_1_) { - } @Override diff --git a/com/hbm/entity/missile/EntityMissileBunkerBuster.java b/com/hbm/entity/missile/EntityMissileBunkerBuster.java index 382fe1f1f..ff14d5042 100644 --- a/com/hbm/entity/missile/EntityMissileBunkerBuster.java +++ b/com/hbm/entity/missile/EntityMissileBunkerBuster.java @@ -6,155 +6,26 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBunkerBuster extends EntityMissileBase { +public class EntityMissileBunkerBuster extends EntityMissileBaseAdvanced { public EntityMissileBunkerBuster(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBunkerBuster(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); + public EntityMissileBunkerBuster(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 15; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); - } - - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 5); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 15; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true); + } + + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 5); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5); + } } diff --git a/com/hbm/entity/missile/EntityMissileBurst.java b/com/hbm/entity/missile/EntityMissileBurst.java index e2f46f568..4aab894c1 100644 --- a/com/hbm/entity/missile/EntityMissileBurst.java +++ b/com/hbm/entity/missile/EntityMissileBurst.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBurst extends EntityMissileBase { +public class EntityMissileBurst extends EntityMissileBaseAdvanced { public EntityMissileBurst(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBurst(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileBurst(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 4; i++) - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true); - ExplosionLarge.explode(worldObj, posX, posY, posZ, 50.0F, true, true, true); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 4; i++) + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 50.0F, true, true, true); + } } diff --git a/com/hbm/entity/missile/EntityMissileBusterStrong.java b/com/hbm/entity/missile/EntityMissileBusterStrong.java index 13634b5a2..6c54478d0 100644 --- a/com/hbm/entity/missile/EntityMissileBusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileBusterStrong.java @@ -6,154 +6,24 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileBusterStrong extends EntityMissileBase { +public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced { public EntityMissileBusterStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileBusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileBusterStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 20; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); - } - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 8); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 20; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true); + } + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 8); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8); + } } diff --git a/com/hbm/entity/missile/EntityMissileClusterStrong.java b/com/hbm/entity/missile/EntityMissileClusterStrong.java index 5a8e75b09..df039f1cd 100644 --- a/com/hbm/entity/missile/EntityMissileClusterStrong.java +++ b/com/hbm/entity/missile/EntityMissileClusterStrong.java @@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileClusterStrong extends EntityMissileBase { +public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced { public EntityMissileClusterStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileClusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileClusterStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); - this.setDead(); - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100); - } - this.setDead(); - } - } + public void cluster() { + this.onImpact(); + } } diff --git a/com/hbm/entity/missile/EntityMissileDoomsday.java b/com/hbm/entity/missile/EntityMissileDoomsday.java index adfa89f0f..a82b44f50 100644 --- a/com/hbm/entity/missile/EntityMissileDoomsday.java +++ b/com/hbm/entity/missile/EntityMissileDoomsday.java @@ -87,150 +87,10 @@ public class EntityMissileDoomsday extends EntityMissileBaseAdvanced { worldObj.spawnEntityInWorld(bomblet4); worldObj.spawnEntityInWorld(bomblet5); worldObj.spawnEntityInWorld(bomblet6); + ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(25)); + ExplosionLarge.spawnTracers(worldObj, posX, posY, posZ, 10); } } } - /*public EntityMissileGeneric(World p_i1582_1_) { - super(p_i1582_1_); - } - - public EntityMissileGeneric(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - } - - @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true); - } - this.setDead(); - } - }*/ - } diff --git a/com/hbm/entity/missile/EntityMissileDrill.java b/com/hbm/entity/missile/EntityMissileDrill.java index 23409638c..b3312da10 100644 --- a/com/hbm/entity/missile/EntityMissileDrill.java +++ b/com/hbm/entity/missile/EntityMissileDrill.java @@ -6,154 +6,24 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileDrill extends EntityMissileBase { +public class EntityMissileDrill extends EntityMissileBaseAdvanced { public EntityMissileDrill(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileDrill(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileDrill(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - for(int i = 0; i < 30; i++) - { - this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true); - } - ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 25); - ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 12); - ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 12); - } - this.setDead(); - } - } + @Override + public void onImpact() { + for(int i = 0; i < 30; i++) + { + this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true); + } + ExplosionLarge.spawnParticles(worldObj, this.posX, this.posY, this.posZ, 25); + ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 12); + ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 12); + } } diff --git a/com/hbm/entity/missile/EntityMissileEndo.java b/com/hbm/entity/missile/EntityMissileEndo.java index 4cbd6a343..172bfccc8 100644 --- a/com/hbm/entity/missile/EntityMissileEndo.java +++ b/com/hbm/entity/missile/EntityMissileEndo.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileEndo extends EntityMissileBase { +public class EntityMissileEndo extends EntityMissileBaseAdvanced { public EntityMissileEndo(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileEndo(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileEndo(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - this.setDead(); - } - } + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } } diff --git a/com/hbm/entity/missile/EntityMissileExo.java b/com/hbm/entity/missile/EntityMissileExo.java index d4b3be99c..d4943c05c 100644 --- a/com/hbm/entity/missile/EntityMissileExo.java +++ b/com/hbm/entity/missile/EntityMissileExo.java @@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileExo extends EntityMissileBase { +public class EntityMissileExo extends EntityMissileBaseAdvanced { public EntityMissileExo(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileExo(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileExo(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - this.setDead(); - } - } + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); + ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); + ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); + } } diff --git a/com/hbm/entity/missile/EntityMissileGeneric.java b/com/hbm/entity/missile/EntityMissileGeneric.java index 9f9b80154..51072b481 100644 --- a/com/hbm/entity/missile/EntityMissileGeneric.java +++ b/com/hbm/entity/missile/EntityMissileGeneric.java @@ -11,7 +11,7 @@ public class EntityMissileGeneric extends EntityMissileBaseAdvanced { public EntityMissileGeneric(World p_i1582_1_) { super(p_i1582_1_); } - + public EntityMissileGeneric(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } diff --git a/com/hbm/entity/missile/EntityMissileIncendiary.java b/com/hbm/entity/missile/EntityMissileIncendiary.java index 696195a42..52599eebb 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiary.java +++ b/com/hbm/entity/missile/EntityMissileIncendiary.java @@ -8,155 +8,19 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileIncendiary extends EntityMissileBase { +public class EntityMissileIncendiary extends EntityMissileBaseAdvanced { public EntityMissileIncendiary(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileIncendiary(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); + public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 10.0F, true, true, true); - } - this.setDead(); - } - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 10.0F, true, true, true); + } } diff --git a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java index 83a68036a..93bb28501 100644 --- a/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java +++ b/com/hbm/entity/missile/EntityMissileIncendiaryStrong.java @@ -7,149 +7,19 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileIncendiaryStrong extends EntityMissileBase { +public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced { public EntityMissileIncendiaryStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileIncendiaryStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileIncendiaryStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 25.0F, true, true, true); - ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 25.0F, true, true, true); + ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); + } } diff --git a/com/hbm/entity/missile/EntityMissileInferno.java b/com/hbm/entity/missile/EntityMissileInferno.java index d06bb610f..aa08a0abc 100644 --- a/com/hbm/entity/missile/EntityMissileInferno.java +++ b/com/hbm/entity/missile/EntityMissileInferno.java @@ -7,150 +7,20 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileInferno extends EntityMissileBase { +public class EntityMissileInferno extends EntityMissileBaseAdvanced { public EntityMissileInferno(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileInferno(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileInferno(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 35.0F, true, true, true); - ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); - ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 35.0F, true, true, true); + ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); + ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); + } } diff --git a/com/hbm/entity/missile/EntityMissileMirv.java b/com/hbm/entity/missile/EntityMissileMirv.java index 4e44436ad..6e7533e11 100644 --- a/com/hbm/entity/missile/EntityMissileMirv.java +++ b/com/hbm/entity/missile/EntityMissileMirv.java @@ -1,153 +1,47 @@ package com.hbm.entity.missile; +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.particle.EntitySmokeFX; import com.hbm.explosion.ExplosionChaos; +import com.hbm.main.MainRegistry; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileMirv extends EntityMissileBase { +public class EntityMissileMirv extends EntityMissileBaseAdvanced { public EntityMissileMirv(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileMirv(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 150; + public EntityMissileMirv(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = MainRegistry.missileRadius; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); + + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 9; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); - ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); - this.setDead(); - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); - ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); - } - this.setDead(); - } - } + public void cluster() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true); + ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ); + } } diff --git a/com/hbm/entity/missile/EntityMissileNuclear.java b/com/hbm/entity/missile/EntityMissileNuclear.java index 16143e172..840736920 100644 --- a/com/hbm/entity/missile/EntityMissileNuclear.java +++ b/com/hbm/entity/missile/EntityMissileNuclear.java @@ -8,163 +8,33 @@ import com.hbm.main.MainRegistry; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileNuclear extends EntityMissileBase { +public class EntityMissileNuclear extends EntityMissileBaseAdvanced { public EntityMissileNuclear(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileNuclear(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileNuclear(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - + @Override - public void onUpdate() - { + public void onImpact() { + EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); + entity.posX = this.posX; + entity.posY = this.posY; + entity.posZ = this.posZ; + entity.destructionRange = MainRegistry.missileRadius; + entity.speed = 25; + entity.coefficient = 10.0F; + + this.worldObj.spawnEntityInWorld(entity); - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj); - entity.posX = this.posX; - entity.posY = this.posY; - entity.posZ = this.posZ; - entity.destructionRange = MainRegistry.missileRadius; - entity.speed = 25; - entity.coefficient = 10.0F; - - this.worldObj.spawnEntityInWorld(entity); - - EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); - entity2.posX = this.posX; - entity2.posY = this.posY - 9; - entity2.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(entity2); - } - this.setDead(); - } - } + EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000); + entity2.posX = this.posX; + entity2.posY = this.posY - 9; + entity2.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(entity2); + } } diff --git a/com/hbm/entity/missile/EntityMissileRain.java b/com/hbm/entity/missile/EntityMissileRain.java index f1628f9f0..a93793b8f 100644 --- a/com/hbm/entity/missile/EntityMissileRain.java +++ b/com/hbm/entity/missile/EntityMissileRain.java @@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileRain extends EntityMissileBase { +public class EntityMissileRain extends EntityMissileBaseAdvanced { public EntityMissileRain(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileRain(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 100; + public EntityMissileRain(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); + this.isCluster = true; + } + + @Override + public void onImpact() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); + ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); } @Override - public void onUpdate() - { - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); - this.setDead(); - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true); - ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100); - } - this.setDead(); - } - } + public void cluster() { + this.onImpact(); + } } diff --git a/com/hbm/entity/missile/EntityMissileStrong.java b/com/hbm/entity/missile/EntityMissileStrong.java index f2986f9c4..da3378749 100644 --- a/com/hbm/entity/missile/EntityMissileStrong.java +++ b/com/hbm/entity/missile/EntityMissileStrong.java @@ -6,149 +6,19 @@ import com.hbm.explosion.ExplosionLarge; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class EntityMissileStrong extends EntityMissileBase { +public class EntityMissileStrong extends EntityMissileBaseAdvanced { public EntityMissileStrong(World p_i1582_1_) { super(p_i1582_1_); } - public EntityMissileStrong(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_, x, z, a, b, c); - this.baseHeight = 75; + public EntityMissileStrong(World world, float x, float y, float z, int a, int b) { + super(world, x, y, z, a, b); } - - @Override - public void onUpdate() - { - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); - } - this.setDead(); - } - } + @Override + public void onImpact() { + ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true); + } } diff --git a/com/hbm/handler/FluidTypeHandler.java b/com/hbm/handler/FluidTypeHandler.java index ee6ccf1d0..4d9d2d62e 100644 --- a/com/hbm/handler/FluidTypeHandler.java +++ b/com/hbm/handler/FluidTypeHandler.java @@ -4,16 +4,18 @@ public class FluidTypeHandler { public enum FluidType { NONE (0x888888, 8947848, 0, 1, "hbmfluid.none"), - + WATER (0x3333FF, 3355647, 1, 1, "hbmfluid.water"), + STEAM (0x3333FF, 3355647, 1, 1, "hbmfluid.steam"), COOLANT (0xd8fcff, 14220543, 2, 1, "hbmfluid.coolant"), LAVA (0xFF3300, 16724736, 3, 1, "hbmfluid.lava"), DEUTERIUM (0x0000FF, 255, 4, 1, "hbmfluid.deuterium"), TRITIUM (0x000099, 153, 5, 1, "hbmfluid.tritium"), - + OIL (0x020202, 131586, 6, 1, "hbmfluid.oil"), + HOTOIL (0x020202, 131586, 6, 1, "hbmfluid.hotoil"), HEAVYOIL (0x141312, 1315602, 2, 2, "hbmfluid.heavyoil"), BITUMEN (0x1f2426, 2040870, 3, 2, "hbmfluid.bitumen"), diff --git a/com/hbm/handler/MultiblockHandler.java b/com/hbm/handler/MultiblockHandler.java index 66246ee8c..c38e2e958 100644 --- a/com/hbm/handler/MultiblockHandler.java +++ b/com/hbm/handler/MultiblockHandler.java @@ -58,6 +58,7 @@ public class MultiblockHandler { public static final int[] chemplantDimensionWest = new int[] { 1, 2, 2, 0, 1, 2 }; public static final int[] fluidTankDimensionNS = new int[] { 1, 1, 2, 0, 2, 2 }; public static final int[] fluidTankDimensionEW = new int[] { 2, 2, 2, 0, 1, 1 }; + public static final int[] refineryDimensions = new int[] { 1, 1, 9, 0, 1, 1 }; //Approved! public static boolean checkSpace(World world, int x, int y, int z, int[] i) { diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index e9178d2f9..6f6b6ffa0 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -1638,7 +1638,7 @@ public class MachineRecipes { break; case WT3_CLUSTER: list.add(new ItemStack(ModItems.warhead_generic_large, 1)); - list.add(new ItemStack(ModItems.powder_fire, 16)); + list.add(new ItemStack(ModItems.pellet_cluster, 16)); break; case WT1_BUSTER: list.add(new ItemStack(ModItems.warhead_generic_small, 1)); @@ -2511,6 +2511,20 @@ public class MachineRecipes { list.add(new ItemStack(Items.gold_ingot, 2)); list.add(new ItemStack(Items.coal, 8)); break; + case CC_I: + list.add(new ItemStack(Items.coal, 8)); + break; + case CC_HEATING: + list.add(new ItemStack(Items.coal, 8)); + break; + case CC_HEAVY: + list.add(new ItemStack(Items.coal, 10)); + break; + case CC_NAPHTHA: + list.add(new ItemStack(Items.coal, 10)); + break; + default: + break; } if(list.isEmpty()) @@ -2531,6 +2545,59 @@ public class MachineRecipes { input[0] = new FluidStack(400, FluidType.LAVA); input[1] = new FluidStack(200, FluidType.KEROSENE); break; + case FP_HEAVYOIL: + input[0] = new FluidStack(1000, FluidType.HEAVYOIL); + break; + case FP_SMEAR: + input[0] = new FluidStack(1000, FluidType.SMEAR); + break; + case FP_NAPHTHA: + input[0] = new FluidStack(1000, FluidType.NAPHTHA); + break; + case FP_LIGHTOIL: + input[0] = new FluidStack(1000, FluidType.LIGHTOIL); + break; + case FR_REOIL: + input[0] = new FluidStack(1000, FluidType.SMEAR); + break; + case FR_PETROIL: + input[0] = new FluidStack(800, FluidType.RECLAIMED); + input[1] = new FluidStack(200, FluidType.LUBRICANT); + break; + case FC_I_NAPHTHA: + input[0] = new FluidStack(1400, FluidType.SMEAR); + input[1] = new FluidStack(800, FluidType.WATER); + break; + case FC_GAS_PETROLEUM: + input[0] = new FluidStack(1800, FluidType.GAS); + input[1] = new FluidStack(1200, FluidType.WATER); + break; + case FC_DIESEL_KEROSENE: + input[0] = new FluidStack(1200, FluidType.DIESEL); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case FC_KEROSENE_PETROLEUM: + input[0] = new FluidStack(1400, FluidType.KEROSENE); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case CC_I: + input[0] = new FluidStack(800, FluidType.HEAVYOIL); + input[1] = new FluidStack(1800, FluidType.WATER); + break; + case CC_HEATING: + input[0] = new FluidStack(800, FluidType.SMEAR); + input[1] = new FluidStack(2000, FluidType.STEAM); + break; + case CC_HEAVY: + input[0] = new FluidStack(600, FluidType.SMEAR); + input[1] = new FluidStack(1400, FluidType.WATER); + break; + case CC_NAPHTHA: + input[0] = new FluidStack(1200, FluidType.HEAVYOIL); + input[1] = new FluidStack(2400, FluidType.STEAM); + break; + default: + break; } return input; @@ -2548,6 +2615,8 @@ public class MachineRecipes { output[0] = new ItemStack(ModItems.ingot_steel); output[1] = new ItemStack(ModItems.ingot_desh, 2); break; + default: + break; } return output; @@ -2564,6 +2633,54 @@ public class MachineRecipes { case TEST: input[0] = new FluidStack(200, FluidType.WATER); break; + case FP_HEAVYOIL: + input[0] = new FluidStack(300, FluidType.BITUMEN); + input[1] = new FluidStack(700, FluidType.SMEAR); + break; + case FP_SMEAR: + input[0] = new FluidStack(600, FluidType.HEATINGOIL); + input[1] = new FluidStack(400, FluidType.LUBRICANT); + break; + case FP_NAPHTHA: + input[0] = new FluidStack(400, FluidType.HEATINGOIL); + input[1] = new FluidStack(600, FluidType.DIESEL); + break; + case FP_LIGHTOIL: + input[0] = new FluidStack(400, FluidType.DIESEL); + input[1] = new FluidStack(600, FluidType.KEROSENE); + break; + case FR_REOIL: + input[0] = new FluidStack(800, FluidType.RECLAIMED); + break; + case FR_PETROIL: + input[0] = new FluidStack(1000, FluidType.PETROIL); + break; + case FC_I_NAPHTHA: + input[0] = new FluidStack(800, FluidType.NAPHTHA); + break; + case FC_GAS_PETROLEUM: + input[0] = new FluidStack(800, FluidType.PETROLEUM); + break; + case FC_DIESEL_KEROSENE: + input[0] = new FluidStack(400, FluidType.KEROSENE); + break; + case FC_KEROSENE_PETROLEUM: + input[0] = new FluidStack(800, FluidType.PETROLEUM); + break; + case CC_I: + input[0] = new FluidStack(800, FluidType.SMEAR); + break; + case CC_HEATING: + input[0] = new FluidStack(800, FluidType.HEATINGOIL); + break; + case CC_HEAVY: + input[0] = new FluidStack(1800, FluidType.HEAVYOIL); + break; + case CC_NAPHTHA: + input[0] = new FluidStack(2000, FluidType.NAPHTHA); + break; + default: + break; } return input; diff --git a/com/hbm/inventory/container/ContainerMachineRefinery.java b/com/hbm/inventory/container/ContainerMachineRefinery.java index 906830015..09bc79ee8 100644 --- a/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -14,46 +14,36 @@ public class ContainerMachineRefinery extends Container { private TileEntityMachineRefinery testNuke; private int power; - private float oil; - private int fuel; - private int lubricant; - private int diesel; - private int kerosene; public ContainerMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) { power = 0; - oil = 0; - fuel = 0; - lubricant = 0; - diesel = 0; - kerosene = 0; testNuke = tedf; //Battery - this.addSlotToContainer(new Slot(tedf, 0, 44, 54)); + this.addSlotToContainer(new Slot(tedf, 0, 8, 90)); //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 134, 18)); + this.addSlotToContainer(new Slot(tedf, 1, 35, 90)); //Canister Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 134, 54)); - //Fuel Input - this.addSlotToContainer(new Slot(tedf, 3, 26, 72)); - //Fuel Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 26, 108)); - //Lubricant Input - this.addSlotToContainer(new Slot(tedf, 5, 62, 72)); - //Lubricant Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 62, 108)); - //Diesel Input - this.addSlotToContainer(new Slot(tedf, 7, 98, 72)); - //Diesel Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 98, 108)); - //Kerosene Input - this.addSlotToContainer(new Slot(tedf, 9, 134, 72)); - //Kerosene Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 35, 108)); + //Heavy Oil Input + this.addSlotToContainer(new Slot(tedf, 3, 80, 90)); + //Heavy Oil Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 80, 108)); + //Nahptha Input + this.addSlotToContainer(new Slot(tedf, 5, 98, 90)); + //Nahptha Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 98, 108)); + //Light Oil Input + this.addSlotToContainer(new Slot(tedf, 7, 116, 90)); + //Light Oil Output + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 116, 108)); + //Petroleum Input + this.addSlotToContainer(new Slot(tedf, 9, 134, 90)); + //Petroleum Output this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 10, 134, 108)); //Sulfur Output - this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 108)); + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 36)); for(int i = 0; i < 3; i++) { @@ -73,11 +63,6 @@ public class ContainerMachineRefinery extends Container { public void addCraftingToCrafters(ICrafting crafting) { super.addCraftingToCrafters(crafting); crafting.sendProgressBarUpdate(this, 0, this.testNuke.power); - crafting.sendProgressBarUpdate(this, 1, this.testNuke.oil); - crafting.sendProgressBarUpdate(this, 2, this.testNuke.fuel); - crafting.sendProgressBarUpdate(this, 3, this.testNuke.lubricant); - crafting.sendProgressBarUpdate(this, 4, this.testNuke.diesel); - crafting.sendProgressBarUpdate(this, 5, this.testNuke.kerosene); } @Override @@ -136,34 +121,9 @@ public class ContainerMachineRefinery extends Container { { par1.sendProgressBarUpdate(this, 0, this.testNuke.power); } - if(this.oil != this.testNuke.oil) - { - par1.sendProgressBarUpdate(this, 1, this.testNuke.oil); - } - if(this.fuel != this.testNuke.fuel) - { - par1.sendProgressBarUpdate(this, 2, this.testNuke.fuel); - } - if(this.lubricant != this.testNuke.lubricant) - { - par1.sendProgressBarUpdate(this, 3, this.testNuke.lubricant); - } - if(this.diesel != this.testNuke.diesel) - { - par1.sendProgressBarUpdate(this, 4, this.testNuke.diesel); - } - if(this.kerosene != this.testNuke.kerosene) - { - par1.sendProgressBarUpdate(this, 5, this.testNuke.kerosene); - } } this.power = this.testNuke.power; - this.oil = this.testNuke.oil; - this.oil = this.testNuke.fuel; - this.oil = this.testNuke.lubricant; - this.oil = this.testNuke.diesel; - this.oil = this.testNuke.kerosene; } @Override @@ -172,25 +132,5 @@ public class ContainerMachineRefinery extends Container { { testNuke.power = j; } - if(i == 1) - { - testNuke.oil = j; - } - if(i == 2) - { - testNuke.fuel = j; - } - if(i == 3) - { - testNuke.lubricant = j; - } - if(i == 4) - { - testNuke.diesel = j; - } - if(i == 5) - { - testNuke.kerosene = j; - } } } diff --git a/com/hbm/inventory/gui/GUIMachineChemplant.java b/com/hbm/inventory/gui/GUIMachineChemplant.java index 12b7ea480..d40b53b8f 100644 --- a/com/hbm/inventory/gui/GUIMachineChemplant.java +++ b/com/hbm/inventory/gui/GUIMachineChemplant.java @@ -51,6 +51,12 @@ public class GUIMachineChemplant extends GuiFluidContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = chemplant.getPowerScaled(52); + drawTexturedModalRect(guiLeft + 44, guiTop + 70 - i, 176, 52 - i, 16, i); + + int j = chemplant.getProgressScaled(90); + drawTexturedModalRect(guiLeft + 43, guiTop + 89, 0, 222, j, 18); Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures); diff --git a/com/hbm/inventory/gui/GUIMachineRefinery.java b/com/hbm/inventory/gui/GUIMachineRefinery.java index 0e266a31b..dee599fdc 100644 --- a/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -2,6 +2,7 @@ package com.hbm.inventory.gui; import org.lwjgl.opengl.GL11; +import com.hbm.inventory.FluidTank; import com.hbm.inventory.container.ContainerMachineRefinery; import com.hbm.lib.RefStrings; import com.hbm.tileentity.TileEntityMachineRefinery; @@ -12,22 +13,33 @@ import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; -public class GUIMachineRefinery extends GuiContainer { +public class GUIMachineRefinery extends GuiFluidContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_refinery.png"); - private TileEntityMachineRefinery diFurnace; + private TileEntityMachineRefinery refinery; public GUIMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) { super(new ContainerMachineRefinery(invPlayer, tedf)); - diFurnace = tedf; + refinery = tedf; this.xSize = 176; this.ySize = 222; } + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 34, 52); + refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 70 - 52, 16, 52); + refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 70 - 52, 16, 52); + refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52); + refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52); + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.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); @@ -39,17 +51,16 @@ public class GUIMachineRefinery extends GuiContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - int i = diFurnace.getOilScaled(52); - drawTexturedModalRect(guiLeft + 80, guiTop + 70 - i, 192, 52 - i, 34, i); - int j = diFurnace.getPowerScaled(52); + int j = refinery.getPowerScaled(52); drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 52 - j, 16, j); - int k = diFurnace.getSmearScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 124 - k, 176, 104 - k, 7, k); - int l = diFurnace.getLubricantScaled(52); - drawTexturedModalRect(guiLeft + 44, guiTop + 124 - l, 183, 104 - l, 7, l); - int m = diFurnace.getDieselScaled(52); - drawTexturedModalRect(guiLeft + 80, guiTop + 124 - m, 190, 104 - m, 7, m); - int n = diFurnace.getKeroseneScaled(52); - drawTexturedModalRect(guiLeft + 116, guiTop + 124 - n, 197, 104 - n, 7, n); + + Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures); + refinery.tanks[0].renderTank(this, guiLeft + 26, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[0].renderTank(this, guiLeft + 26 + 16, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[0].renderTank(this, guiLeft + 26 + 32, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 2, 52); + refinery.tanks[1].renderTank(this, guiLeft + 80, guiTop + 70, refinery.tanks[1].getTankType().textureX() * FluidTank.x, refinery.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[2].renderTank(this, guiLeft + 98, guiTop + 70, refinery.tanks[2].getTankType().textureX() * FluidTank.x, refinery.tanks[2].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[3].renderTank(this, guiLeft + 116, guiTop + 70, refinery.tanks[3].getTankType().textureX() * FluidTank.x, refinery.tanks[3].getTankType().textureY() * FluidTank.y, 16, 52); + refinery.tanks[4].renderTank(this, guiLeft + 134, guiTop + 70, refinery.tanks[4].getTankType().textureX() * FluidTank.x, refinery.tanks[4].getTankType().textureY() * FluidTank.y, 16, 52); } } diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 95ea7ed35..f727024a5 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -355,8 +355,15 @@ public class ModItems { public static Item canister_napalm; public static Item canister_NITAN; + public static Item canister_heavyoil; + public static Item canister_bitumen; + public static Item canister_heatingoil; + public static Item canister_naphtha; + public static Item canister_lightoil; + public static Item gas_empty; public static Item gas_full; + public static Item gas_petroleum; public static Item syringe_empty; public static Item syringe_antidote; @@ -1279,8 +1286,14 @@ public class ModItems { canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_petroil"); canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm"); canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_superfuel"); + canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heavyoil"); + canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_bitumen"); + canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heatingoil"); + canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_naphtha"); + canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_lightoil"); gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":gas_empty"); gas_full = new Item().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_full"); + gas_petroleum = new Item().setUnlocalizedName("gas_petroleum").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_petroleum"); tank_waste = new ItemTankWaste().setUnlocalizedName("tank_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts); @@ -2232,10 +2245,15 @@ public class ModItems { //Canisters GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName()); + GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName()); + GameRegistry.registerItem(canister_bitumen, canister_bitumen.getUnlocalizedName()); GameRegistry.registerItem(canister_smear, canister_smear.getUnlocalizedName()); + GameRegistry.registerItem(canister_heatingoil, canister_heatingoil.getUnlocalizedName()); GameRegistry.registerItem(canister_canola, canister_canola.getUnlocalizedName()); + GameRegistry.registerItem(canister_naphtha, canister_naphtha.getUnlocalizedName()); GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName()); GameRegistry.registerItem(canister_kerosene, canister_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(canister_lightoil, canister_lightoil.getUnlocalizedName()); GameRegistry.registerItem(canister_reoil, canister_reoil.getUnlocalizedName()); GameRegistry.registerItem(canister_petroil, canister_petroil.getUnlocalizedName()); GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); @@ -2244,6 +2262,7 @@ public class ModItems { //Gastanks GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName()); GameRegistry.registerItem(gas_full, gas_full.getUnlocalizedName()); + GameRegistry.registerItem(gas_petroleum, gas_petroleum.getUnlocalizedName()); //Batteries GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index d1ff0e79f..0a43e17d4 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -422,6 +422,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -15 (from 50)"); list.add("Drawback: Power consumption +300 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -25 (from 100)"); + list.add("Drawback: Power consumption +300 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -25 (from 100)"); + list.add("Drawback: Power consumption +300 (from 100)"); } if(this == ModItems.upgrade_speed_2) @@ -429,6 +437,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -30 (from 50)"); list.add("Drawback: Power consumption +600 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -50 (from 100)"); + list.add("Drawback: Power consumption +600 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -50 (from 100)"); + list.add("Drawback: Power consumption +600 (from 100)"); } if(this == ModItems.upgrade_speed_3) @@ -436,6 +452,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill speed upgrade"); list.add("Effect: Delay -45 (from 50)"); list.add("Drawback: Power consumption +900 (from 100)"); + list.add(""); + list.add("Assembly machine speed upgrade"); + list.add("Effect: Delay -75 (from 100)"); + list.add("Drawback: Power consumption +900 (from 100)"); + list.add(""); + list.add("Chemical plant speed upgrade"); + list.add("Effect: Delay -75 (from 100)"); + list.add("Drawback: Power consumption +900 (from 100)"); } if(this == ModItems.upgrade_effect_1) @@ -464,6 +488,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -30 (from 100)"); list.add("Drawback: Delay +5 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -30 (from 100)"); + list.add("Drawback: Delay +5 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -30 (from 100)"); + list.add("Drawback: Delay +5 (from 50)"); } if(this == ModItems.upgrade_power_2) @@ -471,6 +503,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -60 (from 100)"); list.add("Drawback: Delay +10 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -60 (from 100)"); + list.add("Drawback: Delay +10 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -60 (from 100)"); + list.add("Drawback: Delay +10 (from 50)"); } if(this == ModItems.upgrade_power_3) @@ -478,6 +518,14 @@ public class ItemCustomLore extends ItemRadioactive { list.add("Mining drill power saving upgrade"); list.add("Effect: Power consumption -90 (from 100)"); list.add("Drawback: Delay +15 (from 50)"); + list.add(""); + list.add("Assembly machine power saving upgrade"); + list.add("Effect: Power consumption -90 (from 100)"); + list.add("Drawback: Delay +15 (from 50)"); + list.add(""); + list.add("Chemical plant power saving upgrade"); + list.add("Effect: Power consumption -90 (from 100)"); + list.add("Drawback: Delay +15 (from 50)"); } if(this == ModItems.upgrade_fortune_1) diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/tool/ItemChemistryTemplate.java index eabc5ef6f..33ecdefc4 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/tool/ItemChemistryTemplate.java @@ -17,7 +17,14 @@ public class ItemChemistryTemplate extends Item { public enum EnumChemistryTemplate { - TEST; + //FP - Fuel Processing + //FR - Fuel Reprocessing + //FC - Fuel Cracking + //CC - Coal Cracking + + TEST, FP_HEAVYOIL, FP_SMEAR, FP_NAPHTHA, FP_LIGHTOIL, FR_REOIL, FR_PETROIL, + FC_I_NAPHTHA, FC_GAS_PETROLEUM, FC_DIESEL_KEROSENE, FC_KEROSENE_PETROLEUM, CC_I, + CC_HEATING, CC_HEAVY, CC_NAPHTHA; public static EnumChemistryTemplate getEnum(int i) { return EnumChemistryTemplate.values()[i]; @@ -62,6 +69,34 @@ public class ItemChemistryTemplate extends Item { switch (enum1) { case TEST: return 200; + case FP_HEAVYOIL: + return 50; + case FP_SMEAR: + return 50; + case FP_NAPHTHA: + return 50; + case FP_LIGHTOIL: + return 50; + case FR_REOIL: + return 30; + case FR_PETROIL: + return 30; + case FC_I_NAPHTHA: + return 150; + case FC_GAS_PETROLEUM: + return 100; + case FC_DIESEL_KEROSENE: + return 150; + case FC_KEROSENE_PETROLEUM: + return 150; + case CC_I: + return 200; + case CC_HEATING: + return 250; + case CC_HEAVY: + return 200; + case CC_NAPHTHA: + return 300; default: return 100; } @@ -91,8 +126,9 @@ public class ItemChemistryTemplate extends Item { list.add("Inputs:"); - for(int i = 0; i < stacks.size(); i++) - list.add(stacks.get(i).stackSize + "x " + stacks.get(i).getDisplayName()); + if(stacks != null) + for(int i = 0; i < stacks.size(); i++) + list.add(stacks.get(i).stackSize + "x " + stacks.get(i).getDisplayName()); for(int i = 0; i < 2; i++) if(inF[i] != null) diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 3a39f18dd..e5f6d9b3e 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -284,7 +284,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.dummy_port_flare || world.getBlock(x, y, z) == ModBlocks.dummy_port_drill || world.getBlock(x, y, z) == ModBlocks.dummy_port_assembler || - world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant) + world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant || + world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery) { return true; } @@ -325,7 +326,8 @@ public class Library { world.getBlock(x, y, z) == ModBlocks.dummy_port_well || world.getBlock(x, y, z) == ModBlocks.dummy_port_flare || world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant || - world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank) + world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank || + world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery) { return true; } @@ -856,6 +858,11 @@ public class Library { { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Refinery + if(block == ModBlocks.dummy_port_refinery) + { + tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); + } if(tileentity instanceof IConductor) { @@ -1168,10 +1175,16 @@ public class Library { { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Fluid Tank if(block == ModBlocks.dummy_port_fluidtank) { tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); } + //Refinery + if(block == ModBlocks.dummy_port_refinery) + { + tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); + } if(tileentity == that) tileentity = null; diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 588b98c29..e7139307e 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -35,6 +35,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong; import com.hbm.entity.grenade.EntityGrenadeTau; import com.hbm.entity.grenade.EntityGrenadeZOMG; import com.hbm.entity.item.EntityMinecartTest; +import com.hbm.entity.missile.EntityBombletSelena; import com.hbm.entity.missile.EntityBombletTheta; import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.missile.EntityMissileAntiBallistic; @@ -100,6 +101,7 @@ import com.hbm.render.entity.RenderBeam3; import com.hbm.render.entity.RenderBeam4; import com.hbm.render.entity.RenderBigNuke; import com.hbm.render.entity.RenderBlackHole; +import com.hbm.render.entity.RenderBombletSelena; import com.hbm.render.entity.RenderBombletTheta; import com.hbm.render.entity.RenderChopperMine; import com.hbm.render.entity.RenderCloudFleija; @@ -198,6 +200,7 @@ import com.hbm.render.tileentity.RenderPoleTop; import com.hbm.render.tileentity.RenderPuF6Tank; import com.hbm.render.tileentity.RenderPylon; import com.hbm.render.tileentity.RenderRedBarrel; +import com.hbm.render.tileentity.RenderRefinery; import com.hbm.render.tileentity.RenderRotationTester; import com.hbm.render.tileentity.RenderSteelPoles; import com.hbm.render.tileentity.RenderStructureMaker; @@ -234,6 +237,7 @@ import com.hbm.tileentity.TileEntityMachineCyclotron; import com.hbm.tileentity.TileEntityMachineFluidTank; import com.hbm.tileentity.TileEntityMachineGasFlare; import com.hbm.tileentity.TileEntityMachinePuF6Tank; +import com.hbm.tileentity.TileEntityMachineRefinery; import com.hbm.tileentity.TileEntityMachineUF6Tank; import com.hbm.tileentity.TileEntityNukeBoy; import com.hbm.tileentity.TileEntityNukeCustom; @@ -294,6 +298,7 @@ public class ClientProxy extends ServerProxy ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery()); //RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); @@ -446,6 +451,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta()); + RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo()); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index f8f911bab..0f6e316ba 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -63,6 +63,7 @@ import com.hbm.entity.item.EntityMinecartTest; import com.hbm.entity.logic.EntityNukeExplosion; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.logic.EntityNukeExplosionPlus; +import com.hbm.entity.missile.EntityBombletSelena; import com.hbm.entity.missile.EntityBombletTheta; import com.hbm.entity.missile.EntityMIRV; import com.hbm.entity.missile.EntityMissileAntiBallistic; @@ -552,6 +553,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntitySparkBeam.class, "entity_spark_beam", 77, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 78, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityBombletTheta.class, "entity_theta", 79, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBombletSelena.class, "entity_selena", 80, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); @@ -810,11 +812,18 @@ public class MainRegistry FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_oil), new ItemStack(ModItems.canister_empty), FluidType.OIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_smear), new ItemStack(ModItems.canister_empty), FluidType.SMEAR, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heavyoil), new ItemStack(ModItems.canister_empty), FluidType.HEAVYOIL, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_bitumen), new ItemStack(ModItems.canister_empty), FluidType.BITUMEN, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heatingoil), new ItemStack(ModItems.canister_empty), FluidType.HEATINGOIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_reoil), new ItemStack(ModItems.canister_empty), FluidType.RECLAIMED, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_petroil), new ItemStack(ModItems.canister_empty), FluidType.PETROIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_canola), new ItemStack(ModItems.canister_empty), FluidType.LUBRICANT, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_naphtha), new ItemStack(ModItems.canister_empty), FluidType.NAPHTHA, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_fuel), new ItemStack(ModItems.canister_empty), FluidType.DIESEL, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_lightoil), new ItemStack(ModItems.canister_empty), FluidType.LIGHTOIL, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_kerosene), new ItemStack(ModItems.canister_empty), FluidType.KEROSENE, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full), new ItemStack(ModItems.gas_empty), FluidType.GAS, 1000)); + FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_petroleum), new ItemStack(ModItems.gas_empty), FluidType.PETROLEUM, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), FluidType.DEUTERIUM, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), FluidType.TRITIUM, 1000)); diff --git a/com/hbm/packet/LoopedSoundPacket.java b/com/hbm/packet/LoopedSoundPacket.java index 93dc0f594..abc5139ef 100644 --- a/com/hbm/packet/LoopedSoundPacket.java +++ b/com/hbm/packet/LoopedSoundPacket.java @@ -1,6 +1,10 @@ package com.hbm.packet; +import com.hbm.sound.SoundLoopAssembler; +import com.hbm.sound.SoundLoopChemplant; import com.hbm.sound.SoundLoopMiner; +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineChemplant; import com.hbm.tileentity.TileEntityMachineMiningDrill; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -63,6 +67,30 @@ public class LoopedSoundPacket implements IMessage { if(flag && te.getWorldObj().isRemote && ((TileEntityMachineMiningDrill)te).torque > 0.2F) Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopMiner(new ResourceLocation("hbm:block.minerOperate"), te)); } + + if (te != null && te instanceof TileEntityMachineChemplant) { + + boolean flag = true; + for(int i = 0; i < SoundLoopChemplant.list.size(); i++) { + if(SoundLoopChemplant.list.get(i).getTE() == te && !SoundLoopChemplant.list.get(i).isDonePlaying()) + flag = false; + } + + if(flag && te.getWorldObj().isRemote && ((TileEntityMachineChemplant)te).isProgressing) + Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopChemplant(new ResourceLocation("hbm:block.chemplantOperate"), te)); + } + + if (te != null && te instanceof TileEntityMachineAssembler) { + + boolean flag = true; + for(int i = 0; i < SoundLoopAssembler.list.size(); i++) { + if(SoundLoopAssembler.list.get(i).getTE() == te && !SoundLoopAssembler.list.get(i).isDonePlaying()) + flag = false; + } + + if(flag && te.getWorldObj().isRemote && ((TileEntityMachineAssembler)te).isProgressing) + Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopAssembler(new ResourceLocation("hbm:block.assemblerOperate"), te)); + } return null; } } diff --git a/com/hbm/packet/PacketDispatcher.java b/com/hbm/packet/PacketDispatcher.java index e30530e97..5ce6d86a8 100644 --- a/com/hbm/packet/PacketDispatcher.java +++ b/com/hbm/packet/PacketDispatcher.java @@ -37,6 +37,8 @@ public class PacketDispatcher { wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT); //Sound packet that keeps client and server separated wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT); + //Chemplant piston rotation for rendering + wrapper.registerMessage(TEChemplantPacket.Handler.class, TEChemplantPacket.class, i++, Side.CLIENT); } } diff --git a/com/hbm/packet/TEAssemblerPacket.java b/com/hbm/packet/TEAssemblerPacket.java index 63dfb6d36..2cbd1199f 100644 --- a/com/hbm/packet/TEAssemblerPacket.java +++ b/com/hbm/packet/TEAssemblerPacket.java @@ -14,18 +14,20 @@ public class TEAssemblerPacket implements IMessage { int y; int z; float spin; + boolean progress; public TEAssemblerPacket() { } - public TEAssemblerPacket(int x, int y, int z, float spin) + public TEAssemblerPacket(int x, int y, int z, float spin, boolean bool) { this.x = x; this.y = y; this.z = z; this.spin = spin; + this.progress = bool; } @Override @@ -34,6 +36,7 @@ public class TEAssemblerPacket implements IMessage { y = buf.readInt(); z = buf.readInt(); spin = buf.readFloat(); + progress = buf.readBoolean(); } @Override @@ -42,6 +45,7 @@ public class TEAssemblerPacket implements IMessage { buf.writeInt(y); buf.writeInt(z); buf.writeFloat(spin); + buf.writeBoolean(progress); } public static class Handler implements IMessageHandler { @@ -54,6 +58,7 @@ public class TEAssemblerPacket implements IMessage { TileEntityMachineAssembler gen = (TileEntityMachineAssembler) te; gen.rotation = m.spin; + gen.isProgressing = m.progress; } return null; } diff --git a/com/hbm/packet/TEChemplantPacket.java b/com/hbm/packet/TEChemplantPacket.java new file mode 100644 index 000000000..007fa809b --- /dev/null +++ b/com/hbm/packet/TEChemplantPacket.java @@ -0,0 +1,68 @@ +package com.hbm.packet; + +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineChemplant; + +import cpw.mods.fml.common.network.simpleimpl.IMessage; +import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; +import cpw.mods.fml.common.network.simpleimpl.MessageContext; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.Minecraft; +import net.minecraft.tileentity.TileEntity; + +public class TEChemplantPacket implements IMessage { + + int x; + int y; + int z; + float spin; + boolean isProgressing; + + public TEChemplantPacket() + { + + } + + public TEChemplantPacket(int x, int y, int z, float spin, boolean isProgressing) + { + this.x = x; + this.y = y; + this.z = z; + this.spin = spin; + this.isProgressing = isProgressing; + } + + @Override + public void fromBytes(ByteBuf buf) { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + spin = buf.readFloat(); + isProgressing = buf.readBoolean(); + } + + @Override + public void toBytes(ByteBuf buf) { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + buf.writeFloat(spin); + buf.writeBoolean(isProgressing); + } + + public static class Handler implements IMessageHandler { + + @Override + public IMessage onMessage(TEChemplantPacket m, MessageContext ctx) { + TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); + + if (te != null && te instanceof TileEntityMachineChemplant) { + + TileEntityMachineChemplant gen = (TileEntityMachineChemplant) te; + gen.rotation = m.spin; + gen.isProgressing = m.isProgressing; + } + return null; + } + } +} diff --git a/com/hbm/render/entity/RenderBombletSelena.java b/com/hbm/render/entity/RenderBombletSelena.java new file mode 100644 index 000000000..e2a5e0126 --- /dev/null +++ b/com/hbm/render/entity/RenderBombletSelena.java @@ -0,0 +1,42 @@ +package com.hbm.render.entity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderBombletSelena extends Render { + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/bombletSelena.obj"); + private IModelCustom boyModel; + private ResourceLocation boyTexture; + + public RenderBombletSelena() { + boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + @Override + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); + GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glScalef(2, 2, 2); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + } +} diff --git a/com/hbm/render/entity/RenderBombletTheta.java b/com/hbm/render/entity/RenderBombletTheta.java index 97e415646..001ec8f53 100644 --- a/com/hbm/render/entity/RenderBombletTheta.java +++ b/com/hbm/render/entity/RenderBombletTheta.java @@ -18,7 +18,7 @@ public class RenderBombletTheta extends Render { public RenderBombletTheta() { boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/bombletThetaTexture.png"); } @Override @@ -36,6 +36,6 @@ public class RenderBombletTheta extends Render { @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID +":textures/models/bombletThetaTexture.png"); } } diff --git a/com/hbm/render/entity/RenderMissileDoomsday.java b/com/hbm/render/entity/RenderMissileDoomsday.java index 6b836c51f..66a460796 100644 --- a/com/hbm/render/entity/RenderMissileDoomsday.java +++ b/com/hbm/render/entity/RenderMissileDoomsday.java @@ -18,7 +18,7 @@ public class RenderMissileDoomsday extends Render { public RenderMissileDoomsday() { boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png"); } @Override @@ -29,14 +29,16 @@ public class RenderMissileDoomsday extends Render { GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); GL11.glScalef(2F, 2F, 2F); - + + GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(boyTexture); boyModel.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID +":textures/models/MissileDoomsday.png"); } } diff --git a/com/hbm/render/tileentity/RenderChemplant.java b/com/hbm/render/tileentity/RenderChemplant.java index e09e1baf6..2d8515bb2 100644 --- a/com/hbm/render/tileentity/RenderChemplant.java +++ b/com/hbm/render/tileentity/RenderChemplant.java @@ -3,6 +3,8 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityMachineChemplant; + import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; @@ -11,20 +13,20 @@ import net.minecraftforge.client.model.IModelCustom; public class RenderChemplant extends TileEntitySpecialRenderer { - private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant.obj"); - //private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/assembler_wheel.obj"); + private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_main.obj"); + private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_piston.obj"); private IModelCustom bodyModel; private ResourceLocation bodyTexture; - //private IModelCustom boltModel; - //private ResourceLocation boltTexture; + private IModelCustom boltModel; + private ResourceLocation boltTexture; public RenderChemplant() { bodyModel = AdvancedModelLoader.loadModel(body); bodyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); - //boltModel = AdvancedModelLoader.loadModel(bolt); - //boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); + boltModel = AdvancedModelLoader.loadModel(bolt); + boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); } @Override @@ -62,32 +64,35 @@ public class RenderChemplant extends TileEntitySpecialRenderer { public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) { - /*GL11.glPushMatrix(); - GL11.glTranslated(x, y, z); + 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); switch(tileEntity.getBlockMetadata()) { case 2: - GL11.glTranslated(-1, 0, 0); - GL11.glRotatef(90, 0F, 1F, 0F); break; + GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; + GL11.glRotatef(270, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 3: - GL11.glTranslated(0, 0, -1); - GL11.glRotatef(270, 0F, 1F, 0F); break; + GL11.glRotatef(0, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; case 5: - GL11.glTranslated(-1, 0, -1); - GL11.glRotatef(0, 0F, 1F, 0F); break; + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glTranslated(0.5D, 0.0D, -0.5D); break; } + float i = ((TileEntityMachineChemplant)tileEntity).rotation; + float t = (float) Math.sin((i / (180 / Math.PI)))/4 + 0.25F; - GL11.glRotatef(((TileEntityMachineAssembler)tileEntity).rotation, 0F, 1F, 0F); + GL11.glTranslatef(0, t, 0); bindTexture(boltTexture); boltModel.renderAll(); - GL11.glPopMatrix();*/ + GL11.glPopMatrix(); } } diff --git a/com/hbm/render/tileentity/RenderFluidTank.java b/com/hbm/render/tileentity/RenderFluidTank.java index a4f0849c1..ffc812c55 100644 --- a/com/hbm/render/tileentity/RenderFluidTank.java +++ b/com/hbm/render/tileentity/RenderFluidTank.java @@ -3,6 +3,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; +import com.hbm.tileentity.TileEntityMachineFluidTank; import com.hbm.tileentity.TileEntityMachineIGenerator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -25,8 +26,8 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { genModel = AdvancedModelLoader.loadModel(body); rotModel = AdvancedModelLoader.loadModel(rotor); //gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); - genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); - rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png"); + genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); + rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_none.png"); } @Override @@ -87,6 +88,10 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { //GL11.glTranslated(0.5D, 0.0D, 0.0D); } + String s = "NONE"; + if(tileEntity instanceof TileEntityMachineFluidTank) + s = ((TileEntityMachineFluidTank)tileEntity).tank.getTankType().name(); + rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_" + s + ".png"); bindTexture(rotTexture); rotModel.renderAll(); diff --git a/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/com/hbm/render/tileentity/RenderLaunchPadTier1.java index 3b0a1edae..2d42426a7 100644 --- a/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ b/com/hbm/render/tileentity/RenderLaunchPadTier1.java @@ -46,6 +46,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { private ResourceLocation missileMirvTexture; private ResourceLocation missileThermoEndoTexture; private ResourceLocation missileThermoExoTexture; + private ResourceLocation missileDoomTexture; public RenderLaunchPadTier1() { @@ -74,6 +75,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { missileMirvTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileMirv.png"); missileThermoEndoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalEndo.png"); missileThermoExoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalExo.png"); + missileDoomTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png"); } @Override @@ -94,9 +96,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { GL11.glRotatef(0, 0F, 1F, 0F); break; } + GL11.glScalef(1.5F, 1.0F, 1.5F); bindTexture(padTexture); padModel.renderAll(); - + GL11.glScalef(2/3F, 1.0F, 2/3F); + + GL11.glDisable(GL11.GL_CULL_FACE); int state = 0; if(tileEntity instanceof TileEntityLaunchPad) @@ -203,9 +208,11 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { if(state == 17) { GL11.glScalef(2F, 2F, 2F); - bindTexture(missileStrongTexture); + bindTexture(missileDoomTexture); missileDoom.renderAll(); } + + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); } diff --git a/com/hbm/render/tileentity/RenderRefinery.java b/com/hbm/render/tileentity/RenderRefinery.java new file mode 100644 index 000000000..45a4d4467 --- /dev/null +++ b/com/hbm/render/tileentity/RenderRefinery.java @@ -0,0 +1,40 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +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 RenderRefinery extends TileEntitySpecialRenderer { + + private static final ResourceLocation body = new ResourceLocation(RefStrings.MODID, "models/refinery.obj"); + private IModelCustom genModel; + private ResourceLocation genTexture; + + public RenderRefinery() + { + genModel = AdvancedModelLoader.loadModel(body); + genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); + } + + @Override + 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); + + bindTexture(genTexture); + + genModel.renderAll(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/sound/SoundLoopAssembler.java b/com/hbm/sound/SoundLoopAssembler.java new file mode 100644 index 000000000..a1a98994f --- /dev/null +++ b/com/hbm/sound/SoundLoopAssembler.java @@ -0,0 +1,40 @@ +package com.hbm.sound; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.tileentity.TileEntityMachineAssembler; +import com.hbm.tileentity.TileEntityMachineMiningDrill; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class SoundLoopAssembler extends SoundLoopMachine { + + public static List list = new ArrayList(); + + public SoundLoopAssembler(ResourceLocation path, TileEntity te) { + super(path, te); + list.add(this); + } + + @Override + public void update() { + super.update(); + + if(te instanceof TileEntityMachineAssembler) { + TileEntityMachineAssembler drill = (TileEntityMachineAssembler)te; + + if(this.volume != 3) + volume = 3; + + if(!drill.isProgressing) + this.donePlaying = true; + } + } + + public TileEntity getTE() { + return te; + } + +} diff --git a/com/hbm/sound/SoundLoopChemplant.java b/com/hbm/sound/SoundLoopChemplant.java new file mode 100644 index 000000000..db89c01fb --- /dev/null +++ b/com/hbm/sound/SoundLoopChemplant.java @@ -0,0 +1,40 @@ +package com.hbm.sound; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.tileentity.TileEntityMachineChemplant; +import com.hbm.tileentity.TileEntityMachineMiningDrill; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class SoundLoopChemplant extends SoundLoopMachine { + + public static List list = new ArrayList(); + + public SoundLoopChemplant(ResourceLocation path, TileEntity te) { + super(path, te); + list.add(this); + } + + @Override + public void update() { + super.update(); + + if(te instanceof TileEntityMachineChemplant) { + TileEntityMachineChemplant plant = (TileEntityMachineChemplant)te; + + if(this.volume != 3) + volume = 3; + + if(!plant.isProgressing) + this.donePlaying = true; + } + } + + public TileEntity getTE() { + return te; + } + +} diff --git a/com/hbm/tileentity/TileEntityMachineAssembler.java b/com/hbm/tileentity/TileEntityMachineAssembler.java index 958216361..4549f9965 100644 --- a/com/hbm/tileentity/TileEntityMachineAssembler.java +++ b/com/hbm/tileentity/TileEntityMachineAssembler.java @@ -9,6 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.items.tool.ItemAssemblyTemplate; import com.hbm.lib.Library; +import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEAssemblerPacket; import cpw.mods.fml.relauncher.Side; @@ -34,6 +35,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve public int progress; public int maxProgress = 100; public float rotation = 0; + public boolean isProgressing; int age = 0; int consumption = 100; int speed = 100; @@ -252,6 +254,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve if(!worldObj.isRemote) { + isProgressing = false; power = Library.chargeTEFromItems(slots, 0, power, maxPower); if(MachineRecipes.getOutputFromTempate(slots[4]) != null && MachineRecipes.getRecipeFromTempate(slots[4]) != null) { @@ -261,7 +264,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve if(slots[5] == null || (slots[5] != null && slots[5].getItem() == MachineRecipes.getOutputFromTempate(slots[4]).copy().getItem()) && slots[5].stackSize + MachineRecipes.getOutputFromTempate(slots[4]).copy().stackSize <= slots[5].getMaxStackSize()) { progress++; - + isProgressing = true; rotation += 5; if(rotation >= 360) @@ -342,7 +345,8 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve break; } - PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation)); + PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation, isProgressing)); + PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord)); } } diff --git a/com/hbm/tileentity/TileEntityMachineChemplant.java b/com/hbm/tileentity/TileEntityMachineChemplant.java index 580b14439..1f350906e 100644 --- a/com/hbm/tileentity/TileEntityMachineChemplant.java +++ b/com/hbm/tileentity/TileEntityMachineChemplant.java @@ -17,8 +17,10 @@ import com.hbm.items.special.ItemBattery; import com.hbm.items.tool.ItemAssemblyTemplate; import com.hbm.items.tool.ItemChemistryTemplate; import com.hbm.lib.Library; +import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEAssemblerPacket; +import com.hbm.packet.TEChemplantPacket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -44,6 +46,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve public int progress; public int maxProgress = 100; public float rotation = 0; + public boolean isProgressing; int age = 0; int consumption = 100; int speed = 100; @@ -284,6 +287,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(!worldObj.isRemote) { + isProgressing = false; + age++; if(age >= 20) { @@ -292,7 +297,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(age == 9 || age == 19) { fillFluidInit(tanks[2].getTankType()); - //fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[3].getTankType()); } setContainers(); @@ -319,7 +324,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(hasSpaceForItems(MachineRecipes.getChemOutputFromTempate(slots[4])) && hasSpaceForFluids(outputs)) { progress++; - + isProgressing = true; rotation += 5; if(rotation >= 360) @@ -400,6 +405,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve if(tryFillAssembler(hopper, i)) break; } + + PacketDispatcher.wrapper.sendToAll(new TEChemplantPacket(xCoord, yCoord, zCoord, rotation, isProgressing)); + PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord)); } } @@ -666,8 +674,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve //boolean true: remove items, boolean false: simulation mode public boolean removeItems(List stack, ItemStack[] array) { - if(stack == null) - return false; + if(stack == null || stack.isEmpty()) + return true; for(int i = 0; i < stack.size(); i++) { for(int j = 0; j < stack.get(i).stackSize; j++) { @@ -830,9 +838,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve else if(type.name().equals(tanks[1].getTankType().name())) return tanks[1].getMaxFill(); else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[1].getMaxFill(); + return tanks[2].getMaxFill(); else if(type.name().equals(tanks[3].getTankType().name())) - return tanks[1].getMaxFill(); + return tanks[3].getMaxFill(); return 0; } diff --git a/com/hbm/tileentity/TileEntityMachineRefinery.java b/com/hbm/tileentity/TileEntityMachineRefinery.java index 94cf7ea35..a37fb6753 100644 --- a/com/hbm/tileentity/TileEntityMachineRefinery.java +++ b/com/hbm/tileentity/TileEntityMachineRefinery.java @@ -1,37 +1,43 @@ package com.hbm.tileentity; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.IFluidContainer; +import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.IOilAcceptor; +import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.lib.Library; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; 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 TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IOilAcceptor { +public class TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IFluidContainer, IFluidAcceptor, IFluidSource { private ItemStack slots[]; public int power = 0; - public int oil = 0; - public int fuel = 0; - public int lubricant = 0; - public int diesel = 0; - public int kerosene = 0; public int sulfur = 0; + public static final int maxSulfur = 1000; public static final int maxPower = 100000; - public static final int maxOil = 640; - public static final int maxFuel = 64 * 100; - public static final int maxLubricant = 64 * 100; - public static final int maxDiesel = 64 * 100; - public static final int maxKerosene = 64 * 100; - public static final int maxSulfur = 100; public int age = 0; + public FluidTank[] tanks; + public List list1 = new ArrayList(); + public List list2 = new ArrayList(); + public List list3 = new ArrayList(); + public List list4 = new ArrayList(); private static final int[] slots_top = new int[] { 1 }; private static final int[] slots_bottom = new int[] { 0, 2, 4, 6, 8, 10, 11}; @@ -41,6 +47,17 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public TileEntityMachineRefinery() { slots = new ItemStack[12]; + tanks = new FluidTank[5]; + tanks[0] = new FluidTank(FluidType.OIL, 64000, 0); + tanks[1] = new FluidTank(FluidType.HEAVYOIL, 16000, 0); + tanks[2] = new FluidTank(FluidType.NAPHTHA, 16000, 0); + tanks[3] = new FluidTank(FluidType.LIGHTOIL, 16000, 0); + tanks[4] = new FluidTank(FluidType.PETROLEUM, 16000, 0); + tanks[0].index = 0; + tanks[1].index = 1; + tanks[2].index = 2; + tanks[3].index = 3; + tanks[4].index = 4; } @Override @@ -99,7 +116,7 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven { return false; }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; } } @@ -157,11 +174,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven NBTTagList list = nbt.getTagList("items", 10); power = nbt.getInteger("power"); - oil = nbt.getInteger("oil"); - fuel = nbt.getInteger("fuel"); - lubricant = nbt.getInteger("lubricant"); - diesel = nbt.getInteger("diesel"); - kerosene = nbt.getInteger("kerosene"); + tanks[0].readFromNBT(nbt, "input"); + tanks[1].readFromNBT(nbt, "heavy"); + tanks[2].readFromNBT(nbt, "naphtha"); + tanks[3].readFromNBT(nbt, "light"); + tanks[4].readFromNBT(nbt, "petroleum"); sulfur = nbt.getInteger("sulfur"); slots = new ItemStack[getSizeInventory()]; @@ -180,11 +197,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("power", power); - nbt.setInteger("oil", oil); - nbt.setInteger("fuel", fuel); - nbt.setInteger("lubricant", lubricant); - nbt.setInteger("diesel", diesel); - nbt.setInteger("kerosene", kerosene); + tanks[0].writeToNBT(nbt, "input"); + tanks[1].writeToNBT(nbt, "heavy"); + tanks[2].writeToNBT(nbt, "naphtha"); + tanks[3].writeToNBT(nbt, "light"); + tanks[4].writeToNBT(nbt, "petroleum"); nbt.setInteger("sulfur", sulfur); NBTTagList list = new NBTTagList(); @@ -235,109 +252,53 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven @Override public void updateEntity() { - - int timer = 20; - age++; - if(age >= timer) - age -= timer; if (!worldObj.isRemote) { power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - if(slots[1] != null && slots[1].getItem() == ModItems.canister_oil && oil + 5 <= maxOil) { - if(slots[2] == null) { - oil += 5; - slots[1].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - slots[2] = new ItemStack(ModItems.canister_empty); - }else if(slots[2] != null && slots[2].getItem() == ModItems.canister_empty && slots[2].stackSize < slots[2].getMaxStackSize()) { - oil += 5; - slots[1].stackSize--; - if(slots[1].stackSize <= 0) - slots[1] = null; - slots[2].stackSize++; - } + + age++; + if(age >= 20) + { + age = 0; } - if(age == 0) - if(power >= 100 && oil - 5 >= 0 && fuel + 45 <= maxFuel && - lubricant + 30 <= maxLubricant && - diesel + 20 <= maxDiesel && - kerosene + 5 <= maxKerosene) { - - oil -= 5; - fuel += 45; - lubricant += 30; - diesel += 20; - kerosene += 5; + if(age == 9 || age == 19) { + fillFluidInit(tanks[1].getTankType()); + fillFluidInit(tanks[2].getTankType()); + fillFluidInit(tanks[3].getTankType()); + fillFluidInit(tanks[4].getTankType()); + } + + tanks[0].loadTank(1, 2, slots); + + int ho = 50; + int nt = 25; + int lo = 15; + int pe = 10; + + if(power >= 50 && tanks[0].getFill() >= 100 && + tanks[1].getFill() + ho <= tanks[1].getMaxFill() && + tanks[2].getFill() + nt <= tanks[2].getMaxFill() && + tanks[3].getFill() + lo <= tanks[3].getMaxFill() && + tanks[4].getFill() + pe <= tanks[4].getMaxFill()) { + + tanks[0].setFill(tanks[0].getFill() - 100); + tanks[1].setFill(tanks[1].getFill() + ho); + tanks[2].setFill(tanks[2].getFill() + nt); + tanks[3].setFill(tanks[3].getFill() + lo); + tanks[4].setFill(tanks[4].getFill() + pe); sulfur += 1; power -= 100; } + + tanks[1].unloadTank(3, 4, slots); + tanks[2].unloadTank(5, 6, slots); + tanks[3].unloadTank(7, 8, slots); + tanks[4].unloadTank(9, 10, slots); - if(slots[3] != null && slots[3].getItem() == ModItems.canister_empty && fuel - 100 >= 0) { - if(slots[4] == null) { - slots[4] = new ItemStack(ModItems.canister_smear); - fuel -= 100; - slots[3].stackSize--; - if(slots[3].stackSize <= 0) - slots[3] = null; - } else if(slots[4] != null && slots[4].getItem() == ModItems.canister_smear && slots[4].stackSize < slots[4].getMaxStackSize()) { - slots[4].stackSize++; - fuel -= 100; - slots[3].stackSize--; - if(slots[3].stackSize <= 0) - slots[3] = null; - } - } - - if(slots[5] != null && slots[5].getItem() == ModItems.canister_empty && lubricant - 100 >= 0) { - if(slots[6] == null) { - slots[6] = new ItemStack(ModItems.canister_canola); - lubricant -= 100; - slots[5].stackSize--; - if(slots[5].stackSize <= 0) - slots[5] = null; - } else if(slots[6] != null && slots[6].getItem() == ModItems.canister_canola && slots[6].stackSize < slots[6].getMaxStackSize()) { - slots[6].stackSize++; - lubricant -= 100; - slots[5].stackSize--; - if(slots[5].stackSize <= 0) - slots[5] = null; - } - } - - if(slots[7] != null && slots[7].getItem() == ModItems.canister_empty && diesel - 100 >= 0) { - if(slots[8] == null) { - slots[8] = new ItemStack(ModItems.canister_fuel); - diesel -= 100; - slots[7].stackSize--; - if(slots[7].stackSize <= 0) - slots[7] = null; - } else if(slots[8] != null && slots[8].getItem() == ModItems.canister_fuel && slots[8].stackSize < slots[8].getMaxStackSize()) { - slots[8].stackSize++; - diesel -= 100; - slots[7].stackSize--; - if(slots[7].stackSize <= 0) - slots[7] = null; - } - } - - if(slots[9] != null && slots[9].getItem() == ModItems.canister_empty && kerosene - 100 >= 0) { - if(slots[10] == null) { - slots[10] = new ItemStack(ModItems.canister_kerosene); - kerosene -= 100; - slots[9].stackSize--; - if(slots[9].stackSize <= 0) - slots[9] = null; - } else if(slots[10] != null && slots[10].getItem() == ModItems.canister_kerosene && slots[10].stackSize < slots[10].getMaxStackSize()) { - slots[10].stackSize++; - kerosene -= 100; - slots[9].stackSize--; - if(slots[9].stackSize <= 0) - slots[9] = null; - } + for(int i = 0; i < 5; i++) { + tanks[i].updateTank(xCoord, yCoord, zCoord); } if(sulfur >= maxSulfur) { @@ -347,7 +308,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven } else if(slots[11] != null && slots[11].getItem() == ModItems.sulfur && slots[11].stackSize < slots[11].getMaxStackSize()) { slots[11].stackSize++; sulfur -= maxSulfur; - } } } @@ -356,26 +316,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven public int getPowerScaled(int i) { return (power * i) / maxPower; } - - public int getOilScaled(int i) { - return (oil * i) / maxOil; - } - - public int getSmearScaled(int i) { - return (fuel * i) / maxFuel; - } - - public int getLubricantScaled(int i) { - return (lubricant * i) / maxLubricant; - } - - public int getDieselScaled(int i) { - return (diesel * i) / maxDiesel; - } - - public int getKeroseneScaled(int i) { - return (kerosene * i) / maxKerosene; - } @Override public void setPower(int i) { @@ -395,17 +335,154 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven } @Override - public void setFill(int i) { - this.oil = i; + public void fillFluidInit(FluidType type) { + fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 2, getTact(), type); + fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 2, getTact(), type); + fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 2, getTact(), type); + fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 2, getTact(), type); + + fillFluid(this.xCoord - 2, this.yCoord, this.zCoord + 1, getTact(), type); + fillFluid(this.xCoord + 2, this.yCoord, this.zCoord + 1, getTact(), type); + fillFluid(this.xCoord - 2, this.yCoord, this.zCoord - 1, getTact(), type); + fillFluid(this.xCoord + 2, this.yCoord, this.zCoord - 1, getTact(), type); } @Override - public int getFill() { - return this.oil; + public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { + Library.transmitFluid(x, y, z, newTact, this, worldObj, type); } @Override - public int getMaxFill() { - return TileEntityMachineRefinery.maxOil; + public boolean getTact() { + if (age >= 0 && age < 10) { + return true; + } + + return false; + } + + @Override + public int getSFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getFill(); + + return 0; + } + + @Override + public void setSFluidFill(int i, FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + tanks[0].setFill(i); + else if(type.name().equals(tanks[1].getTankType().name())) + tanks[1].setFill(i); + else if(type.name().equals(tanks[2].getTankType().name())) + tanks[2].setFill(i); + else if(type.name().equals(tanks[3].getTankType().name())) + tanks[3].setFill(i); + else if(type.name().equals(tanks[4].getTankType().name())) + tanks[4].setFill(i); + } + + @Override + public List getFluidList(FluidType type) { + if(type.name().equals(tanks[1].getTankType().name())) + return list1; + if(type.name().equals(tanks[2].getTankType().name())) + return list2; + if(type.name().equals(tanks[3].getTankType().name())) + return list3; + if(type.name().equals(tanks[4].getTankType().name())) + return list4; + return new ArrayList(); + } + + @Override + public void clearFluidList(FluidType type) { + if(type.name().equals(tanks[1].getTankType().name())) + list1.clear(); + if(type.name().equals(tanks[2].getTankType().name())) + list2.clear(); + if(type.name().equals(tanks[3].getTankType().name())) + list3.clear(); + if(type.name().equals(tanks[4].getTankType().name())) + list4.clear(); + } + + @Override + public void setAFluidFill(int i, FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + tanks[0].setFill(i); + else if(type.name().equals(tanks[1].getTankType().name())) + tanks[1].setFill(i); + else if(type.name().equals(tanks[2].getTankType().name())) + tanks[2].setFill(i); + else if(type.name().equals(tanks[3].getTankType().name())) + tanks[3].setFill(i); + else if(type.name().equals(tanks[4].getTankType().name())) + tanks[4].setFill(i); + } + + @Override + public int getAFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getFill(); + + return 0; + } + + @Override + public int getMaxAFluidFill(FluidType type) { + if(type.name().equals(tanks[0].getTankType().name())) + return tanks[0].getMaxFill(); + else if(type.name().equals(tanks[1].getTankType().name())) + return tanks[1].getMaxFill(); + else if(type.name().equals(tanks[2].getTankType().name())) + return tanks[2].getMaxFill(); + else if(type.name().equals(tanks[3].getTankType().name())) + return tanks[3].getMaxFill(); + else if(type.name().equals(tanks[4].getTankType().name())) + return tanks[4].getMaxFill(); + + return 0; + } + + @Override + public void setFillstate(int fill, int index) { + if(index < 5 && tanks[index] != null) + tanks[index].setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + if(index < 5 && tanks[index] != null) + tanks[index].setTankType(type); + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; } }