diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index e2de021c8..98074fae2 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -695,6 +695,7 @@ item.ingot_saturnite.name=Saturnitbarren item.plate_saturnite.name=Saturnitplatte item.ingot_fiberglass.name=Fiberglasstafel item.ingot_asbestos.name=Asbestplatte +item.ingot_electronium.name=Elektroniumbarren item.solid_fuel.name=Festbrennstoff item.rocket_fuel.name=Festbrennstoff (Raketentreibstoff) @@ -1643,6 +1644,8 @@ entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper entity.entity_mob_tainted_creeper.name=Verseuchter Creeper entity.entity_mob_hunter_chopper.name=Jagdschrauber entity.entity_cyber_crab.name=Cyber-Krabbe +entity.entity_tesla_crab.name=Tesla-Krabbe +entity.entity_taint_crab.name=Verseuchte Krabbe item.cap_aluminium.name=Aluminiumdeckel item.hull_small_steel.name=Kleine Stahlhülle @@ -1912,6 +1915,7 @@ item.sat_miner.name=Asteroiden-Förderschiff item.sat_gerald.name=Gerald der Konstruktionsandroid item.sat_chip.name=Satelliten-ID-Chip item.sat_interface.name=Satelliten-Kontrollinterface +item.sat_coord.name=Satelliten-Zielmarkierer tile.sat_mapper.name=Oberflächen-Abtastungssatellit (Dekoblock) tile.sat_scanner.name=Satellit mit Tiefenscanning-Modul (Dekoblock) tile.sat_radar.name=Radar-Überwachungssatellit (Dekoblock) diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 976d8457a..12e1b4990 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -695,6 +695,7 @@ item.ingot_saturnite.name=Saturnite Ingot item.plate_saturnite.name=Saturnite Plate item.ingot_fiberglass.name=Fiberglass Bar item.ingot_asbestos.name=Asbestos Sheet +item.ingot_electronium.name=Electronium Ingot item.solid_fuel.name=Solid Fuel item.rocket_fuel.name=Solid Fuel (Rocket Propellant) @@ -1643,6 +1644,8 @@ entity.entity_mob_nuclear_creeper.name=Nuclear Creeper entity.entity_mob_tainted_creeper.name=Tainted Creeper entity.entity_mob_hunter_chopper.name=Hunter Chopper entity.entity_cyber_crab.name=Cyber Crab +entity.entity_tesla_crab.name=Tesla Crab +entity.entity_taint_crab.name=Taint Crab item.cap_aluminium.name=Aluminium Cap item.hull_small_steel.name=Small Steel Shell @@ -1912,6 +1915,7 @@ item.sat_miner.name=Asteroid Mining Ship item.sat_gerald.name=Gerald The Construction Android item.sat_chip.name=Satellite ID-Chip item.sat_interface.name=Satellite Control Interface +item.sat_coord.name=Satellite Designator tile.sat_mapper.name=Surface Mapping Satellite (Deco Block) tile.sat_scanner.name=Satellite with Depth-Resource Scanning Module (Deco Block) tile.sat_radar.name=Radar Survey Satellite (Deco Block) diff --git a/assets/hbm/models/blocks/conservecrate.obj b/assets/hbm/models/blocks/conservecrate.obj new file mode 100644 index 000000000..bd5bfed58 --- /dev/null +++ b/assets/hbm/models/blocks/conservecrate.obj @@ -0,0 +1,154 @@ +# Blender v2.76 (sub 0) OBJ File: '' +# www.blender.org +o Cube.001 +v -0.500000 0.000000 -0.500000 +v -0.500000 -0.000000 0.500000 +v -0.500000 0.187500 0.500000 +v -0.500000 0.187500 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.187500 -0.500000 +v 0.500000 0.187500 0.500000 +v 0.500000 -0.000000 0.500000 +v -0.437500 0.187500 -0.437500 +v -0.437500 0.812500 -0.437500 +v 0.437500 0.812500 -0.437500 +v 0.437500 0.187500 -0.437500 +v -0.437500 0.187500 0.437500 +v 0.437500 0.187500 0.437500 +v -0.500000 1.000000 -0.500000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 1.000000 -0.500000 +v 0.437500 0.812500 0.437500 +v -0.500000 0.812500 0.500000 +v 0.500000 0.812500 0.500000 +v -0.500000 0.812500 -0.500000 +v 0.500000 0.812500 -0.500000 +v -0.437500 0.812500 0.437500 +v 0.187500 0.187500 -0.500000 +v 0.375000 0.187500 -0.500000 +v 0.375000 0.812500 -0.500000 +v 0.187500 0.812500 -0.500000 +v -0.187500 0.187500 -0.500000 +v -0.375000 0.187500 -0.500000 +v -0.375000 0.812500 -0.500000 +v -0.187500 0.812500 -0.500000 +v -0.187500 0.812500 0.500000 +v -0.187500 0.187500 0.500000 +v -0.375000 0.187500 0.500000 +v -0.375000 0.812500 0.500000 +v 0.187500 0.812500 0.500000 +v 0.187500 0.187500 0.500000 +v 0.375000 0.187500 0.500000 +v 0.375000 0.812500 0.500000 +v -0.500000 0.187500 -0.187500 +v -0.500000 0.187500 -0.375000 +v -0.500000 0.812500 -0.375000 +v -0.500000 0.812500 -0.187500 +v -0.500000 0.187500 0.187500 +v -0.500000 0.187500 0.375000 +v -0.500000 0.812500 0.375000 +v -0.500000 0.812500 0.187500 +v 0.500000 0.812500 0.187500 +v 0.500000 0.187500 0.187500 +v 0.500000 0.187500 0.375000 +v 0.500000 0.812500 0.375000 +v 0.500000 0.187500 -0.187500 +v 0.500000 0.812500 -0.187500 +v 0.500000 0.812500 -0.375000 +v 0.500000 0.187500 -0.375000 +vt 1.000000 0.500000 +vt 1.000000 0.593750 +vt 0.500000 0.593750 +vt 0.500000 0.500000 +vt 0.468750 0.406250 +vt 0.031250 0.406250 +vt 0.031250 0.093750 +vt 0.968750 0.468750 +vt 0.531250 0.031250 +vt 0.500000 -0.000000 +vt 1.000000 -0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.906250 +vt 1.000000 0.906250 +vt 0.531250 0.468750 +vt 0.968750 0.031250 +vt 0.468750 0.093750 +vt 0.656250 0.593750 +vt 0.562500 0.593750 +vt 0.562500 0.906250 +vt 0.843750 0.906250 +vt 0.843750 0.593750 +vt 0.937500 0.593750 +vt 0.656250 0.906250 +vt 0.937500 0.906250 +vt 1.000000 1.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 1.000000 0.000000 +vn 0.000000 -1.000000 -0.000000 +vn 0.000000 0.000000 1.000000 +s 1 +f 2/1/1 3/2/1 4/3/1 +f 6/2/2 7/3/2 8/4/2 +f 10/5/3 11/6/3 12/7/3 +f 9/8/4 4/1/4 3/4/4 +f 14/9/4 7/10/4 6/11/4 +f 16/12/4 17/13/4 18/4/4 +f 5/12/5 8/13/5 2/4/5 +f 11/5/2 19/6/2 14/7/2 +f 16/14/6 20/15/6 21/16/6 +f 15/14/1 22/15/1 20/16/1 +f 17/14/2 21/15/2 23/16/2 +f 18/14/3 23/15/3 22/16/3 +f 24/8/5 20/1/5 22/4/5 +f 10/17/5 22/4/5 23/10/5 +f 19/18/5 21/11/5 20/1/5 +f 11/9/5 23/10/5 21/11/5 +f 24/5/1 10/6/1 9/7/1 +f 19/7/6 24/19/6 13/5/6 +f 8/1/6 7/2/6 3/3/6 +f 3/4/4 7/10/4 14/9/4 +f 6/11/4 4/1/4 9/8/4 +f 1/1/3 4/2/3 6/3/3 +f 28/20/3 27/21/3 26/22/3 +f 30/23/3 31/24/3 32/25/3 +f 36/26/6 35/20/6 34/21/6 +f 38/27/6 39/23/6 40/24/6 +f 44/22/1 43/26/1 42/20/1 +f 46/23/1 47/24/1 48/25/1 +f 52/24/2 51/23/2 50/27/2 +f 56/26/2 55/20/2 54/21/2 +f 1/4/1 2/1/1 4/3/1 +f 5/1/2 6/2/2 8/4/2 +f 9/19/3 10/5/3 12/7/3 +f 13/17/4 9/8/4 3/4/4 +f 12/18/4 14/9/4 6/11/4 +f 15/14/4 16/12/4 18/4/4 +f 1/14/5 5/12/5 2/4/5 +f 12/19/2 11/5/2 14/7/2 +f 17/28/6 16/14/6 21/16/6 +f 16/28/1 15/14/1 20/16/1 +f 18/28/2 17/14/2 23/16/2 +f 15/28/3 18/14/3 22/16/3 +f 10/17/5 24/8/5 22/4/5 +f 11/9/5 10/17/5 23/10/5 +f 24/8/5 19/18/5 20/1/5 +f 19/18/5 11/9/5 21/11/5 +f 13/19/1 24/5/1 9/7/1 +f 14/6/6 19/7/6 13/5/6 +f 2/4/6 8/1/6 3/3/6 +f 13/17/4 3/4/4 14/9/4 +f 12/18/4 6/11/4 9/8/4 +f 5/4/3 1/1/3 6/3/3 +f 25/26/3 28/20/3 26/22/3 +f 29/27/3 30/23/3 32/25/3 +f 33/22/6 36/26/6 34/21/6 +f 37/25/6 38/27/6 40/24/6 +f 41/21/1 44/22/1 42/20/1 +f 45/27/1 46/23/1 48/25/1 +f 49/25/2 52/24/2 50/27/2 +f 53/22/2 56/26/2 54/21/2 diff --git a/assets/hbm/models/mobs/taintcrab.obj b/assets/hbm/models/mobs/taintcrab.obj new file mode 100644 index 000000000..af8c164fe --- /dev/null +++ b/assets/hbm/models/mobs/taintcrab.obj @@ -0,0 +1,1139 @@ +# Blender v2.76 (sub 0) OBJ File: 'taintcrab.blend' +# www.blender.org +o Legs2 +v 0.062500 0.187500 0.187500 +v 0.062500 0.312500 0.187500 +v 0.062500 0.187500 0.687500 +v 0.062500 0.312500 0.687500 +v -0.062500 0.187500 0.187500 +v -0.062500 0.312500 0.187500 +v -0.062500 0.187500 0.687500 +v -0.062500 0.312500 0.687500 +v 0.062500 0.187500 0.537500 +v 0.062500 0.115803 0.639894 +v -0.062500 0.187500 0.537500 +v -0.062500 0.115803 0.639894 +v 0.062500 0.801864 0.967682 +v 0.062500 0.730167 1.070076 +v -0.062500 0.730167 1.070076 +v -0.062500 0.801864 0.967682 +v 0.062500 0.801864 0.967682 +v 0.062500 0.823570 1.090783 +v -0.062500 0.823570 1.090783 +v -0.062500 0.801864 0.967682 +v -0.062500 -0.038137 1.242725 +v -0.062500 -0.059843 1.119624 +v 0.062500 -0.059843 1.119624 +v 0.062500 -0.038137 1.242725 +v -0.176777 0.187500 -0.088388 +v -0.176777 0.312500 -0.088388 +v -0.530330 0.187500 -0.441942 +v -0.530330 0.312500 -0.441942 +v -0.088388 0.187500 -0.176777 +v -0.088388 0.312500 -0.176777 +v -0.441942 0.187500 -0.530330 +v -0.441942 0.312500 -0.530330 +v -0.424264 0.187500 -0.335876 +v -0.496667 0.115803 -0.408279 +v -0.335876 0.187500 -0.424264 +v -0.408279 0.115803 -0.496668 +v -0.728449 0.801864 -0.640061 +v -0.800852 0.730167 -0.712464 +v -0.712464 0.730167 -0.800853 +v -0.640060 0.801864 -0.728449 +v -0.728449 0.801864 -0.640061 +v -0.815494 0.823570 -0.727106 +v -0.727106 0.823570 -0.815495 +v -0.640060 0.801864 -0.728449 +v -0.834545 -0.038137 -0.922934 +v -0.747500 -0.059843 -0.835888 +v -0.835888 -0.059843 -0.747500 +v -0.922934 -0.038137 -0.834546 +v 0.088388 0.187500 -0.176777 +v 0.088388 0.312500 -0.176777 +v 0.441942 0.187500 -0.530330 +v 0.441942 0.312500 -0.530330 +v 0.176777 0.187500 -0.088388 +v 0.176777 0.312500 -0.088388 +v 0.530330 0.187500 -0.441942 +v 0.530330 0.312500 -0.441942 +v 0.335876 0.187500 -0.424264 +v 0.408279 0.115803 -0.496668 +v 0.424264 0.187500 -0.335876 +v 0.496668 0.115803 -0.408279 +v 0.640061 0.801864 -0.728449 +v 0.712464 0.730167 -0.800852 +v 0.800852 0.730167 -0.712464 +v 0.728449 0.801864 -0.640061 +v 0.640061 0.801864 -0.728449 +v 0.727106 0.823570 -0.815494 +v 0.815495 0.823570 -0.727106 +v 0.728449 0.801864 -0.640061 +v 0.922934 -0.038137 -0.834545 +v 0.835888 -0.059843 -0.747500 +v 0.747500 -0.059843 -0.835888 +v 0.834545 -0.038137 -0.922934 +vt 0.000000 1.000000 +vt 0.000000 0.928571 +vt 0.138889 0.928571 +vt 0.111111 0.928571 +vt 0.111111 1.000000 +vt 0.138889 1.000000 +vt 0.166667 0.928571 +vt 0.166667 1.000000 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 -0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 -0.000000 +vn 0.000000 -0.819200 -0.573600 +vn 0.000000 -0.573600 0.819200 +vn 0.000000 0.573600 -0.819200 +vn 0.000000 -0.173600 -0.984800 +vn 0.000000 0.984800 -0.173600 +vn 0.000000 0.173600 0.984800 +vn 0.000000 -0.984800 0.173600 +vn -0.707100 0.000000 0.707100 +vn 0.707100 0.000000 -0.707100 +vn 0.405600 -0.819200 0.405600 +vn -0.579200 -0.573600 -0.579200 +vn 0.579200 0.573600 0.579200 +vn 0.696400 -0.173600 0.696400 +vn 0.122800 0.984800 0.122800 +vn -0.696400 0.173600 -0.696400 +vn -0.122800 -0.984800 -0.122800 +vn -0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.405600 -0.819200 0.405600 +vn 0.579200 -0.573600 -0.579200 +vn -0.579200 0.573600 0.579200 +vn -0.696400 -0.173600 0.696400 +vn -0.122800 0.984800 0.122800 +vn 0.696400 0.173600 -0.696400 +vn 0.122800 -0.984800 -0.122800 +s off +f 4/1/1 3/2/1 1/3/1 +f 6/4/2 5/5/2 7/1/2 +f 3/4/3 7/5/3 5/1/3 +f 8/4/4 4/5/4 2/1/4 +f 15/3/2 16/6/2 11/1/2 +f 10/3/5 12/7/5 11/8/5 +f 12/1/6 10/2/6 14/3/6 +f 11/2/7 16/3/7 13/6/7 +f 23/1/8 22/2/8 20/7/8 +f 18/8/1 24/1/1 23/2/1 +f 18/6/9 17/3/9 20/7/9 +f 9/2/1 13/3/1 14/6/1 +f 21/1/10 24/2/10 18/7/10 +f 24/6/11 21/3/11 22/7/11 +f 22/1/2 21/2/2 19/7/2 +f 28/1/12 27/2/12 25/3/12 +f 30/4/13 29/5/13 31/1/13 +f 27/4/3 31/5/3 29/1/3 +f 32/4/4 28/5/4 26/1/4 +f 39/3/13 40/6/13 35/1/13 +f 36/7/14 35/8/14 33/6/14 +f 36/1/15 34/2/15 38/3/15 +f 40/3/16 37/6/16 33/1/16 +f 47/1/17 46/2/17 44/7/17 +f 48/1/12 47/2/12 41/7/12 +f 42/6/18 41/3/18 44/7/18 +f 37/3/12 38/6/12 34/1/12 +f 43/8/19 45/1/19 48/2/19 +f 45/3/20 46/7/20 47/8/20 +f 46/1/13 45/2/13 43/7/13 +f 52/1/21 51/2/21 49/3/21 +f 54/4/22 53/5/22 55/1/22 +f 51/4/3 55/5/3 53/1/3 +f 56/4/4 52/5/4 50/1/4 +f 63/3/22 64/6/22 59/1/22 +f 60/7/23 59/8/23 57/6/23 +f 58/2/24 62/3/24 63/6/24 +f 64/3/25 61/6/25 57/1/25 +f 71/1/26 70/2/26 68/7/26 +f 72/1/21 71/2/21 65/7/21 +f 66/6/27 65/3/27 68/7/27 +f 61/3/21 62/6/21 58/1/21 +f 69/1/28 72/2/28 66/7/28 +f 69/3/29 70/7/29 71/8/29 +f 70/1/22 69/2/22 67/7/22 +f 2/6/1 4/1/1 1/3/1 +f 8/2/2 6/4/2 7/1/2 +f 1/2/3 3/4/3 5/1/3 +f 6/2/4 8/4/4 2/1/4 +f 12/2/2 15/3/2 11/1/2 +f 9/6/5 10/3/5 11/8/5 +f 15/6/6 12/1/6 14/3/6 +f 9/1/7 11/2/7 13/6/7 +f 17/8/8 23/1/8 20/7/8 +f 17/7/1 18/8/1 23/2/1 +f 19/8/9 18/6/9 20/7/9 +f 10/1/1 9/2/1 14/6/1 +f 19/8/10 21/1/10 18/7/10 +f 23/8/11 24/6/11 22/7/11 +f 20/8/2 22/1/2 19/7/2 +f 26/6/12 28/1/12 25/3/12 +f 32/2/13 30/4/13 31/1/13 +f 25/2/3 27/4/3 29/1/3 +f 30/2/4 32/4/4 26/1/4 +f 36/2/13 39/3/13 35/1/13 +f 34/3/14 36/7/14 33/6/14 +f 39/6/15 36/1/15 38/3/15 +f 35/2/16 40/3/16 33/1/16 +f 41/8/17 47/1/17 44/7/17 +f 42/8/12 48/1/12 41/7/12 +f 43/8/18 42/6/18 44/7/18 +f 33/2/12 37/3/12 34/1/12 +f 42/7/19 43/8/19 48/2/19 +f 48/6/20 45/3/20 47/8/20 +f 44/8/13 46/1/13 43/7/13 +f 50/6/21 52/1/21 49/3/21 +f 56/2/22 54/4/22 55/1/22 +f 49/2/3 51/4/3 53/1/3 +f 54/2/4 56/4/4 50/1/4 +f 60/2/22 63/3/22 59/1/22 +f 58/3/23 60/7/23 57/6/23 +f 60/1/24 58/2/24 63/6/24 +f 59/2/25 64/3/25 57/1/25 +f 65/8/26 71/1/26 68/7/26 +f 66/8/21 72/1/21 65/7/21 +f 67/8/27 66/6/27 68/7/27 +f 57/2/21 61/3/21 58/1/21 +f 67/8/28 69/1/28 66/7/28 +f 72/6/29 69/3/29 71/8/29 +f 68/8/22 70/1/22 67/7/22 +o Legs1 +v -0.088388 0.187500 0.176777 +v -0.088388 0.312500 0.176777 +v -0.441942 0.187500 0.530330 +v -0.441942 0.312500 0.530330 +v -0.176777 0.187500 0.088388 +v -0.176777 0.312500 0.088388 +v -0.530330 0.187500 0.441942 +v -0.530330 0.312500 0.441942 +v -0.335876 0.187500 0.424264 +v -0.408279 0.115803 0.496667 +v -0.424264 0.187500 0.335876 +v -0.496668 0.115803 0.408279 +v -0.640061 0.801864 0.728449 +v -0.712464 0.730167 0.800852 +v -0.800853 0.730167 0.712464 +v -0.728449 0.801864 0.640060 +v -0.640061 0.801864 0.728449 +v -0.727106 0.823570 0.815494 +v -0.815495 0.823570 0.727106 +v -0.728449 0.801864 0.640060 +v -0.922934 -0.038137 0.834545 +v -0.835888 -0.059843 0.747500 +v -0.747500 -0.059843 0.835888 +v -0.834546 -0.038137 0.922934 +v 0.176777 0.187500 0.088388 +v 0.176777 0.312500 0.088388 +v 0.530330 0.187500 0.441942 +v 0.530330 0.312500 0.441942 +v 0.088388 0.187500 0.176777 +v 0.088388 0.312500 0.176777 +v 0.441942 0.187500 0.530330 +v 0.441942 0.312500 0.530330 +v 0.424264 0.187500 0.335876 +v 0.496668 0.115803 0.408279 +v 0.335876 0.187500 0.424264 +v 0.408279 0.115803 0.496668 +v 0.728449 0.801864 0.640061 +v 0.800852 0.730167 0.712464 +v 0.712464 0.730167 0.800852 +v 0.640061 0.801864 0.728449 +v 0.728449 0.801864 0.640061 +v 0.815494 0.823570 0.727106 +v 0.727106 0.823570 0.815495 +v 0.640061 0.801864 0.728449 +v 0.834545 -0.038137 0.922934 +v 0.747500 -0.059843 0.835888 +v 0.835888 -0.059843 0.747500 +v 0.922934 -0.038137 0.834545 +v -0.062500 0.187500 -0.187500 +v -0.062500 0.312500 -0.187500 +v -0.062500 0.187500 -0.687500 +v -0.062500 0.312500 -0.687500 +v 0.062500 0.187500 -0.187500 +v 0.062500 0.312500 -0.187500 +v 0.062500 0.187500 -0.687500 +v 0.062500 0.312500 -0.687500 +v -0.062500 0.187500 -0.537500 +v -0.062500 0.115803 -0.639894 +v 0.062500 0.187500 -0.537500 +v 0.062500 0.115803 -0.639894 +v -0.062500 0.801864 -0.967682 +v -0.062500 0.730167 -1.070076 +v 0.062500 0.730167 -1.070076 +v 0.062500 0.801864 -0.967682 +v -0.062500 0.801864 -0.967682 +v -0.062500 0.823570 -1.090783 +v 0.062500 0.823570 -1.090783 +v 0.062500 0.801864 -0.967682 +v 0.062500 -0.038137 -1.242725 +v 0.062500 -0.059843 -1.119624 +v -0.062500 -0.059843 -1.119624 +v -0.062500 -0.038137 -1.242725 +vt 0.000000 1.000000 +vt 0.000000 0.928571 +vt 0.138889 0.928571 +vt 0.111111 0.928571 +vt 0.111111 1.000000 +vt 0.138889 1.000000 +vt 0.166667 0.928571 +vt 0.166667 1.000000 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 -0.707100 +vn 0.000000 -1.000000 -0.000000 +vn 0.000000 1.000000 -0.000000 +vn 0.405600 -0.819200 -0.405600 +vn -0.579200 -0.573600 0.579200 +vn 0.579200 0.573600 -0.579200 +vn 0.696400 -0.173600 -0.696400 +vn 0.122800 0.984800 -0.122800 +vn -0.696400 0.173600 0.696400 +vn -0.122800 -0.984800 0.122800 +vn 0.707100 0.000000 -0.707100 +vn -0.707100 0.000000 0.707100 +vn -0.405600 -0.819200 -0.405600 +vn 0.579200 -0.573600 0.579200 +vn -0.579200 0.573600 -0.579200 +vn -0.696400 -0.173600 -0.696400 +vn -0.122800 0.984800 -0.122800 +vn 0.696400 0.173600 0.696400 +vn 0.122800 -0.984800 0.122800 +vn -1.000000 0.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -0.819200 0.573600 +vn 0.000000 -0.573600 -0.819200 +vn 0.000000 0.573600 0.819200 +vn 0.000000 -0.173600 0.984800 +vn 0.000000 0.984800 0.173600 +vn 0.000000 0.173600 -0.984800 +vn 0.000000 -0.984800 -0.173600 +s off +f 76/9/30 75/10/30 73/11/30 +f 78/12/31 77/13/31 79/9/31 +f 73/10/32 75/12/32 79/13/32 +f 80/12/33 76/13/33 74/9/33 +f 87/11/31 88/14/31 83/9/31 +f 84/15/34 83/16/34 81/14/34 +f 84/9/35 82/10/35 86/11/35 +f 83/10/36 88/11/36 85/14/36 +f 95/9/37 94/10/37 92/15/37 +f 96/9/30 95/10/30 89/15/30 +f 90/14/38 89/11/38 92/15/38 +f 85/11/30 86/14/30 82/9/30 +f 91/16/39 93/9/39 96/10/39 +f 93/11/40 94/15/40 95/16/40 +f 94/9/31 93/10/31 91/15/31 +f 100/9/41 99/10/41 97/11/41 +f 102/12/42 101/13/42 103/9/42 +f 99/12/32 103/13/32 101/9/32 +f 104/12/33 100/13/33 98/9/33 +f 111/11/42 112/14/42 107/9/42 +f 106/11/43 108/15/43 107/16/43 +f 106/10/44 110/11/44 111/14/44 +f 107/10/45 112/11/45 109/14/45 +f 119/9/46 118/10/46 116/15/46 +f 120/9/41 119/10/41 113/15/41 +f 115/16/47 114/14/47 113/11/47 +f 105/10/41 109/11/41 110/14/41 +f 117/9/48 120/10/48 114/15/48 +f 117/11/49 118/15/49 119/16/49 +f 118/9/42 117/10/42 115/15/42 +f 124/9/50 123/10/50 121/11/50 +f 126/12/51 125/13/51 127/9/51 +f 123/12/32 127/13/32 125/9/32 +f 128/12/33 124/13/33 122/9/33 +f 135/11/51 136/14/51 131/9/51 +f 132/15/52 131/16/52 129/14/52 +f 130/10/53 134/11/53 135/14/53 +f 136/11/54 133/14/54 129/9/54 +f 143/9/55 142/10/55 140/15/55 +f 138/16/50 144/9/50 143/10/50 +f 138/14/56 137/11/56 140/15/56 +f 129/10/50 133/11/50 134/14/50 +f 141/9/57 144/10/57 138/15/57 +f 141/11/58 142/15/58 143/16/58 +f 142/9/51 141/10/51 139/15/51 +f 74/14/30 76/9/30 73/11/30 +f 80/10/31 78/12/31 79/9/31 +f 77/9/32 73/10/32 79/13/32 +f 78/10/33 80/12/33 74/9/33 +f 84/10/31 87/11/31 83/9/31 +f 82/11/34 84/15/34 81/14/34 +f 87/14/35 84/9/35 86/11/35 +f 81/9/36 83/10/36 85/14/36 +f 89/16/37 95/9/37 92/15/37 +f 90/16/30 96/9/30 89/15/30 +f 91/16/38 90/14/38 92/15/38 +f 81/10/30 85/11/30 82/9/30 +f 90/15/39 91/16/39 96/10/39 +f 96/14/40 93/11/40 95/16/40 +f 92/16/31 94/9/31 91/15/31 +f 98/14/41 100/9/41 97/11/41 +f 104/10/42 102/12/42 103/9/42 +f 97/10/32 99/12/32 101/9/32 +f 102/10/33 104/12/33 98/9/33 +f 108/10/42 111/11/42 107/9/42 +f 105/14/43 106/11/43 107/16/43 +f 108/9/44 106/10/44 111/14/44 +f 105/9/45 107/10/45 109/14/45 +f 113/16/46 119/9/46 116/15/46 +f 114/16/41 120/9/41 113/15/41 +f 116/15/47 115/16/47 113/11/47 +f 106/9/41 105/10/41 110/14/41 +f 115/16/48 117/9/48 114/15/48 +f 120/14/49 117/11/49 119/16/49 +f 116/16/42 118/9/42 115/15/42 +f 122/14/50 124/9/50 121/11/50 +f 128/10/51 126/12/51 127/9/51 +f 121/10/32 123/12/32 125/9/32 +f 126/10/33 128/12/33 122/9/33 +f 132/10/51 135/11/51 131/9/51 +f 130/11/52 132/15/52 129/14/52 +f 132/9/53 130/10/53 135/14/53 +f 131/10/54 136/11/54 129/9/54 +f 137/16/55 143/9/55 140/15/55 +f 137/15/50 138/16/50 143/10/50 +f 139/16/56 138/14/56 140/15/56 +f 130/9/50 129/10/50 134/14/50 +f 139/16/57 141/9/57 138/15/57 +f 144/14/58 141/11/58 143/16/58 +f 140/16/51 142/9/51 139/15/51 +o Body +v 0.625000 1.250000 0.000000 +v 0.562500 1.358253 0.000000 +v 0.437500 1.358253 0.000000 +v 0.375000 1.250000 0.000000 +v 0.437500 1.141747 0.000000 +v 0.562500 1.141747 0.000000 +v 0.441942 1.250000 -0.441942 +v 0.397747 1.358253 -0.397748 +v 0.309359 1.358253 -0.309359 +v 0.265165 1.250000 -0.265165 +v 0.309359 1.141747 -0.309359 +v 0.397747 1.141747 -0.397748 +v -0.000000 1.250000 -0.625000 +v 0.000000 1.358253 -0.562500 +v -0.000000 1.358253 -0.437500 +v -0.000000 1.250000 -0.375000 +v -0.000000 1.141747 -0.437500 +v 0.000000 1.141747 -0.562500 +v -0.441942 1.250000 -0.441942 +v -0.397748 1.358253 -0.397747 +v -0.309359 1.358253 -0.309359 +v -0.265165 1.250000 -0.265165 +v -0.309359 1.141747 -0.309359 +v -0.397748 1.141747 -0.397747 +v -0.625000 1.250000 -0.000000 +v -0.562500 1.358253 -0.000000 +v -0.437500 1.358253 -0.000000 +v -0.375000 1.250000 -0.000000 +v -0.437500 1.141747 -0.000000 +v -0.562500 1.141747 -0.000000 +v -0.441942 1.250000 0.441942 +v -0.397748 1.358253 0.397747 +v -0.309359 1.358253 0.309359 +v -0.265165 1.250000 0.265165 +v -0.309359 1.141747 0.309359 +v -0.397748 1.141747 0.397747 +v -0.000000 1.250000 0.625000 +v 0.000000 1.358253 0.562500 +v -0.000000 1.358253 0.437500 +v -0.000000 1.250000 0.375000 +v -0.000000 1.141747 0.437500 +v 0.000000 1.141747 0.562500 +v 0.441941 1.250000 0.441942 +v 0.397747 1.358253 0.397748 +v 0.309359 1.358253 0.309359 +v 0.265165 1.250000 0.265165 +v 0.309359 1.141747 0.309359 +v 0.397747 1.141747 0.397748 +v 0.000000 0.375000 -0.500000 +v 0.000000 0.625000 -0.500000 +v 0.353553 0.375000 -0.353553 +v 0.353553 0.625000 -0.353553 +v 0.500000 0.375000 0.000000 +v 0.500000 0.625000 0.000000 +v 0.353553 0.375000 0.353553 +v 0.353553 0.625000 0.353553 +v -0.000000 0.375000 0.500000 +v -0.000000 0.625000 0.500000 +v -0.353553 0.375000 0.353553 +v -0.353553 0.625000 0.353553 +v -0.500000 0.375000 -0.000000 +v -0.500000 0.625000 -0.000000 +v -0.353553 0.375000 -0.353553 +v -0.353553 0.625000 -0.353553 +v 0.176777 0.875000 -0.176777 +v 0.000000 0.875000 -0.250000 +v 0.250000 0.875000 0.000000 +v 0.176777 0.875000 0.176777 +v -0.000000 0.875000 0.250000 +v -0.176777 0.875000 0.176777 +v -0.250000 0.875000 -0.000000 +v -0.176777 0.875000 -0.176777 +v 0.088388 0.875000 -0.088388 +v 0.000000 0.875000 -0.125000 +v 0.125000 0.875000 0.000000 +v 0.088388 0.875000 0.088388 +v -0.000000 0.875000 0.125000 +v -0.088388 0.875000 0.088388 +v -0.125000 0.875000 -0.000000 +v -0.088388 0.875000 -0.088388 +v 0.088388 1.500000 -0.088388 +v -0.000000 1.500000 -0.125000 +v 0.125000 1.500000 0.000000 +v 0.088388 1.500000 0.088388 +v -0.000000 1.500000 0.125000 +v -0.088389 1.500000 0.088388 +v -0.125000 1.500000 -0.000000 +v -0.088389 1.500000 -0.088388 +v -0.250000 0.750000 0.200000 +v 0.750000 0.750000 0.200000 +v -0.250000 0.661612 0.236612 +v 0.750000 0.661612 0.236612 +v -0.250000 0.625000 0.325000 +v 0.750000 0.625000 0.325000 +v -0.250000 0.661612 0.413388 +v 0.750000 0.661612 0.413388 +v -0.250000 0.750000 0.450000 +v 0.750000 0.750000 0.450000 +v -0.250000 0.838388 0.413388 +v 0.750000 0.838388 0.413388 +v -0.250000 0.875000 0.325000 +v 0.750000 0.875000 0.325000 +v -0.250000 0.838388 0.236612 +v 0.750000 0.838388 0.236612 +v 0.750000 0.700000 0.281250 +v 0.750000 0.669064 0.294064 +v 0.750000 0.656250 0.325000 +v 0.750000 0.669064 0.355936 +v 0.750000 0.700000 0.368750 +v 0.750000 0.730936 0.355936 +v 0.750000 0.743750 0.325000 +v 0.750000 0.730936 0.294064 +v 1.000000 0.638128 0.263128 +v 1.000000 0.700000 0.237500 +v 1.000000 0.612500 0.325000 +v 1.000000 0.638128 0.386872 +v 1.000000 0.700000 0.412500 +v 1.000000 0.761872 0.386872 +v 1.000000 0.787500 0.325000 +v 1.000000 0.761872 0.263128 +v -0.250000 0.750000 -0.450000 +v 0.750000 0.750000 -0.450000 +v -0.250000 0.661612 -0.413388 +v 0.750000 0.661612 -0.413388 +v -0.250000 0.625000 -0.325000 +v 0.750000 0.625000 -0.325000 +v -0.250000 0.661612 -0.236612 +v 0.750000 0.661612 -0.236612 +v -0.250000 0.750000 -0.200000 +v 0.750000 0.750000 -0.200000 +v -0.250000 0.838388 -0.236612 +v 0.750000 0.838388 -0.236612 +v -0.250000 0.875000 -0.325000 +v 0.750000 0.875000 -0.325000 +v -0.250000 0.838388 -0.413388 +v 0.750000 0.838388 -0.413388 +v 0.937500 0.700000 -0.325000 +v 1.000000 0.761872 -0.386872 +v 1.000000 0.787500 -0.325000 +v 1.000000 0.761872 -0.263128 +v 1.000000 0.700000 -0.237500 +v 1.000000 0.638128 -0.263128 +v 1.000000 0.612500 -0.325000 +v 1.000000 0.700000 -0.412500 +v 1.000000 0.638128 -0.386872 +v 0.750000 0.730936 -0.355936 +v 0.750000 0.743750 -0.325000 +v 0.750000 0.730936 -0.294064 +v 0.750000 0.700000 -0.281250 +v 0.750000 0.669064 -0.294064 +v 0.750000 0.656250 -0.325000 +v 0.750000 0.669064 -0.355936 +v -0.000000 0.375000 -0.250000 +v 0.176777 0.375000 -0.176777 +v 0.250000 0.375000 0.000000 +v 0.176777 0.375000 0.176777 +v -0.000000 0.375000 0.250000 +v -0.176777 0.375000 0.176777 +v -0.250000 0.375000 -0.000000 +v -0.176777 0.375000 -0.176777 +v -0.000000 0.125000 -0.250000 +v 0.176777 0.125000 -0.176777 +v 0.250000 0.125000 0.000000 +v 0.176777 0.125000 0.176777 +v -0.000000 0.125000 0.250000 +v -0.176777 0.125000 0.176777 +v -0.250000 0.125000 -0.000000 +v -0.176777 0.125000 -0.176777 +v 0.187600 0.562500 0.125000 +v 0.187600 0.562500 -0.125000 +v 0.437600 0.562500 0.125000 +v 0.437600 0.562500 -0.125000 +v 0.937500 0.700000 0.325000 +v 0.750000 0.700000 -0.368750 +v 0.309359 1.358253 -0.309359 +v 0.265165 1.250000 -0.265165 +v 0.309359 1.141747 -0.309359 +v -0.309359 1.358253 -0.309359 +v -0.265165 1.250000 -0.265165 +v -0.309359 1.141747 -0.309359 +v -0.309359 1.358253 0.309359 +v -0.265165 1.250000 0.265165 +v -0.309359 1.141747 0.309359 +v 0.309359 1.358253 0.309359 +v 0.265165 1.250000 0.265165 +v 0.309359 1.141747 0.309359 +v 0.059359 1.358253 0.059359 +v 0.015165 1.250000 0.015165 +v 0.059359 1.141747 0.059359 +v 0.059359 1.358253 -0.059359 +v 0.015165 1.250000 -0.015165 +v 0.059359 1.141747 -0.059359 +v -0.059359 1.358253 -0.059359 +v -0.015165 1.250000 -0.015165 +v -0.059359 1.141747 -0.059359 +v -0.059359 1.358253 0.059359 +v -0.015165 1.250000 0.015165 +v -0.059359 1.141747 0.059359 +v 0.187600 0.812500 0.125000 +v 0.187600 0.812500 -0.125000 +v 0.437600 0.812500 -0.125000 +v 0.437600 0.812500 0.125000 +vt 0.555556 0.571429 +vt 0.444444 0.571429 +vt 0.458333 0.500000 +vt 0.458333 0.428571 +vt 0.541667 0.428571 +vt 0.472222 0.357143 +vt 0.472222 0.785714 +vt 0.458333 0.714286 +vt 0.541667 0.714286 +vt 0.458333 0.642857 +vt 0.541667 0.642857 +vt 0.541667 0.500000 +vt 0.527778 0.357143 +vt 0.527778 0.785714 +vt 0.500000 0.142857 +vt 0.416667 0.142857 +vt 0.416667 0.000000 +vt 0.333333 0.142857 +vt 0.333333 0.000000 +vt 0.250000 0.142857 +vt 0.250000 0.000000 +vt 0.166667 0.142857 +vt 0.166667 0.000000 +vt 0.083333 0.142857 +vt 0.083333 0.000000 +vt -0.000000 0.142857 +vt -0.000000 0.000000 +vt 0.666667 0.142857 +vt 0.638889 0.357143 +vt 0.597222 0.357143 +vt 0.583333 0.142857 +vt 0.500000 0.000000 +vt 0.583333 0.000000 +vt 0.154669 0.913266 +vt 0.005952 0.754864 +vt 0.067553 0.372448 +vt 0.225894 0.444738 +vt 0.329661 0.444738 +vt 0.329661 0.555262 +vt 0.388889 0.357143 +vt 0.347222 0.357143 +vt 0.138889 0.357143 +vt 0.097222 0.357143 +vt 0.555556 0.357143 +vt 0.513889 0.357143 +vt 0.430556 0.357143 +vt 0.305556 0.357143 +vt 0.055556 0.357143 +vt 0.013889 0.357143 +vt 0.222222 0.357143 +vt 0.180556 0.357143 +vt 0.335268 0.762733 +vt 0.352174 0.719260 +vt 0.359177 0.737267 +vt 0.347222 0.714286 +vt 0.333333 0.714286 +vt 0.375000 0.357143 +vt 0.375000 0.714286 +vt 0.361111 0.714286 +vt 0.402778 0.357143 +vt 0.402778 0.714286 +vt 0.388889 0.714286 +vt 0.444444 0.357143 +vt 0.444444 0.714286 +vt 0.430556 0.714286 +vt 0.361111 0.357143 +vt 0.416667 0.357143 +vt 0.416667 0.714286 +vt 0.805556 0.714286 +vt 0.791667 0.714286 +vt 0.791667 0.142857 +vt 0.777778 0.714286 +vt 0.777778 0.142857 +vt 0.888889 0.714286 +vt 0.875000 0.714286 +vt 0.875000 0.142857 +vt 0.861111 0.714286 +vt 0.861111 0.142857 +vt 0.847222 0.714286 +vt 0.847222 0.142857 +vt 0.833333 0.714286 +vt 0.833333 0.142857 +vt 0.796684 0.781146 +vt 0.779555 0.762901 +vt 0.786650 0.718854 +vt 0.819444 0.714286 +vt 0.805556 0.142857 +vt 0.819444 0.142857 +vt 0.807709 0.762500 +vt 0.824306 0.719822 +vt 0.831180 0.737500 +vt 0.902778 0.428571 +vt 0.888889 0.285714 +vt 0.902778 0.285714 +vt 0.902778 0.142857 +vt 0.888889 0.142857 +vt 0.786650 0.781146 +vt 0.779555 0.737099 +vt 0.796684 0.718854 +vt 0.742751 0.413155 +vt 0.672662 0.338502 +vt 0.701694 0.158273 +vt 0.708333 0.000000 +vt 0.708333 0.142857 +vt 0.958333 0.000000 +vt 0.958333 0.142857 +vt 0.916667 0.142857 +vt 0.875000 0.000000 +vt 0.791667 0.000000 +vt 0.750000 0.142857 +vt 0.750000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.142857 +vt 0.916667 0.000000 +vt 0.833333 0.000000 +vt 0.555556 0.642857 +vt 0.555556 0.500000 +vt 0.611111 0.500000 +vt 0.611111 0.642857 +vt 0.569444 0.428571 +vt 0.625000 0.357143 +vt 0.638889 0.428571 +vt 0.625000 0.500000 +vt 0.666667 0.000000 +vt 0.154669 0.372448 +vt 0.216270 0.530850 +vt 0.216270 0.754864 +vt 0.067553 0.913266 +vt 0.005952 0.530850 +vt 0.299269 0.633415 +vt 0.256287 0.633415 +vt 0.225894 0.555262 +vt 0.256287 0.366585 +vt 0.299269 0.366585 +vt 0.263889 0.357143 +vt 0.359177 0.762733 +vt 0.352174 0.780740 +vt 0.342270 0.780740 +vt 0.335268 0.737267 +vt 0.342270 0.719260 +vt 0.333333 0.357143 +vt 0.803779 0.737099 +vt 0.803779 0.762901 +vt 0.831180 0.762500 +vt 0.824306 0.780178 +vt 0.814583 0.780178 +vt 0.807709 0.737500 +vt 0.814583 0.719822 +vt 0.742751 0.158273 +vt 0.771783 0.232927 +vt 0.771783 0.338502 +vt 0.701694 0.413155 +vt 0.672662 0.232927 +vn 0.815200 0.470600 -0.337700 +vn 0.000000 1.000000 0.000000 +vn -0.815200 0.470600 0.337700 +vn -0.815200 -0.470600 0.337700 +vn 0.000000 -1.000000 0.000000 +vn 0.815200 -0.470600 -0.337700 +vn 0.337700 0.470600 -0.815200 +vn -0.337700 0.470600 0.815200 +vn -0.337700 -0.470600 0.815200 +vn 0.337700 -0.470600 -0.815200 +vn -0.337700 0.470600 -0.815200 +vn 0.337700 0.470600 0.815200 +vn 0.337700 -0.470600 0.815200 +vn -0.337700 -0.470600 -0.815200 +vn -0.815200 0.470600 -0.337700 +vn 0.815200 0.470600 0.337700 +vn 0.815200 -0.470600 0.337700 +vn -0.815200 -0.470600 -0.337700 +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.678600 0.678600 -0.281100 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.678600 0.678600 -0.281100 +vn -0.281100 0.678600 0.678600 +vn -0.281100 0.678600 -0.678600 +vn 0.281100 0.678600 -0.678600 +vn 0.678600 0.678600 0.281100 +vn -0.678600 0.678600 0.281100 +vn 0.281100 0.678600 0.678600 +vn 0.000000 -0.382700 -0.923900 +vn 0.000000 -0.923900 -0.382700 +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 1.000000 0.000000 0.000000 +vn 0.000000 0.382700 -0.923900 +vn -0.000000 0.923900 -0.382700 +vn -1.000000 -0.000000 0.000000 +vn 0.791100 0.234100 -0.565100 +vn -0.159600 -0.377800 0.912000 +vn -0.159600 -0.912000 -0.377800 +vn -0.159600 0.912000 -0.377800 +vn -0.159600 0.377800 0.912000 +vn -0.159600 -0.912000 0.377800 +vn -0.159600 -0.377800 -0.912000 +vn -0.159600 0.377800 -0.912000 +vn -0.159600 0.912000 0.377800 +vn 0.791100 -0.565100 -0.234100 +vn 0.791100 0.234100 0.565100 +vn 0.791100 0.565100 -0.234100 +vn 0.791100 -0.234100 0.565100 +vn 0.791100 -0.234100 -0.565100 +vn 0.791100 -0.565100 0.234100 +vn 0.791100 0.565100 0.234100 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.000000 1.000000 +vn 0.707100 -0.000000 -0.707100 +vn -0.707100 -0.000000 -0.707100 +vn -0.707100 -0.000000 0.707100 +vn 0.707100 0.000000 0.707100 +s off +f 145/17/59 151/18/59 152/19/59 +f 152/19/60 153/20/60 147/21/60 +f 147/21/61 153/20/61 154/22/61 +f 154/23/62 155/24/62 149/25/62 +f 155/24/63 156/26/63 150/27/63 +f 145/17/64 150/27/64 156/26/64 +f 157/18/65 158/19/65 152/28/65 +f 158/19/60 159/20/60 153/21/60 +f 153/21/66 159/20/66 160/22/66 +f 160/23/67 161/24/67 155/25/67 +f 161/24/63 162/26/63 156/27/63 +f 156/27/68 162/26/68 157/18/68 +f 157/17/69 163/18/69 164/19/69 +f 158/28/60 164/19/60 165/20/60 +f 165/20/70 166/22/70 160/29/70 +f 166/23/71 167/24/71 161/25/71 +f 167/24/63 168/26/63 162/27/63 +f 168/26/72 163/18/72 157/17/72 +f 169/18/73 170/19/73 164/28/73 +f 164/28/60 170/19/60 171/20/60 +f 171/20/74 172/22/74 166/29/74 +f 172/23/75 173/24/75 167/25/75 +f 173/24/63 174/26/63 168/27/63 +f 174/26/76 169/18/76 163/17/76 +f 175/18/61 176/19/61 170/28/61 +f 176/19/60 177/20/60 171/21/60 +f 171/21/59 177/20/59 178/22/59 +f 178/23/64 179/24/64 173/25/64 +f 173/25/63 179/24/63 180/26/63 +f 174/27/62 180/26/62 175/18/62 +f 175/17/66 181/18/66 182/19/66 +f 182/19/60 183/20/60 177/21/60 +f 183/20/65 184/22/65 178/29/65 +f 178/30/68 184/23/68 185/24/68 +f 179/25/63 185/24/63 186/26/63 +f 186/26/67 181/18/67 175/17/67 +f 187/18/70 188/19/70 182/28/70 +f 188/19/60 189/20/60 183/21/60 +f 189/20/69 190/22/69 184/29/69 +f 190/23/72 191/24/72 185/25/72 +f 185/25/63 191/24/63 192/26/63 +f 192/26/71 187/18/71 181/17/71 +f 145/18/74 146/19/74 188/28/74 +f 146/19/60 147/20/60 189/21/60 +f 147/20/73 148/22/73 190/29/73 +f 148/23/76 149/24/76 191/25/76 +f 149/24/63 150/26/63 192/27/63 +f 192/27/75 150/26/75 145/18/75 +f 194/31/77 196/32/77 195/33/77 +f 196/32/78 198/34/78 197/35/78 +f 198/34/79 200/36/79 199/37/79 +f 200/36/80 202/38/80 201/39/80 +f 202/38/81 204/40/81 203/41/81 +f 204/40/82 206/42/82 205/43/82 +f 206/44/83 215/45/83 216/46/83 +f 208/47/84 194/31/84 193/48/84 +f 206/44/85 208/47/85 207/49/85 +f 199/50/63 203/51/63 207/52/63 +f 215/53/60 212/54/60 211/55/60 +f 196/32/86 209/56/86 211/57/86 +f 202/38/87 213/58/87 214/59/87 +f 208/47/88 216/60/88 210/61/88 +f 194/31/89 210/22/89 209/62/89 +f 200/36/90 198/34/90 211/63/90 +f 204/40/91 214/64/91 215/65/91 +f 200/36/92 212/66/92 213/67/92 +f 231/68/60 228/69/60 227/70/60 +f 222/57/82 230/71/82 231/72/82 +f 220/73/80 228/74/80 229/75/80 +f 217/76/78 225/77/78 227/78/78 +f 223/79/85 231/80/85 232/81/85 +f 221/82/81 229/75/81 230/71/81 +f 219/56/79 227/78/79 228/74/79 +f 218/83/77 226/84/77 225/77/77 +f 224/62/84 232/81/84 226/84/84 +f 234/85/93 236/86/93 235/87/93 +f 236/86/94 238/88/94 237/89/94 +f 238/90/95 240/91/95 239/92/95 +f 240/91/96 242/93/96 241/94/96 +f 242/93/97 244/95/97 243/96/97 +f 244/95/98 246/97/98 245/98/98 +f 246/99/99 242/100/99 238/101/99 +f 248/102/100 234/85/100 233/103/100 +f 246/97/101 248/102/101 247/104/101 +f 239/105/102 245/106/102 247/107/102 +f 266/85/93 268/86/93 267/87/93 +f 317/108/103 261/109/103 260/110/103 +f 252/111/104 260/110/104 261/109/104 +f 250/111/105 257/110/105 259/109/105 +f 255/111/106 263/110/106 264/109/106 +f 254/112/107 253/111/107 261/110/107 +f 252/112/108 251/111/108 259/110/108 +f 249/111/109 258/110/109 257/109/109 +f 249/112/110 256/111/110 264/110/110 +f 254/111/111 262/110/111 263/109/111 +f 268/86/94 270/88/94 269/89/94 +f 270/90/95 272/91/95 271/92/95 +f 272/91/96 274/93/96 273/94/96 +f 274/93/97 276/95/97 275/96/97 +f 276/95/98 278/97/98 277/98/98 +f 278/113/99 274/114/99 270/115/99 +f 280/102/100 266/85/100 265/103/100 +f 278/97/101 280/102/101 279/104/101 +f 271/105/102 277/106/102 279/107/102 +f 281/108/112 283/109/112 284/110/112 +f 289/109/113 288/110/113 281/108/113 +f 287/110/114 281/108/114 286/109/114 +f 288/109/115 282/110/115 281/108/115 +f 285/110/116 281/108/116 284/109/116 +f 282/109/117 283/110/117 281/108/117 +f 287/109/118 289/110/118 281/108/118 +f 292/111/111 284/110/111 283/109/111 +f 318/112/110 290/111/110 282/110/110 +f 308/116/63 310/117/63 312/118/63 +f 304/119/85 312/120/85 311/44/85 +f 302/121/81 310/122/81 309/123/81 +f 300/124/79 308/92/79 307/98/79 +f 298/125/77 306/87/77 305/126/77 +f 297/127/84 305/126/84 312/120/84 +f 303/128/82 311/129/82 310/122/82 +f 301/130/80 309/123/80 308/92/80 +f 299/131/78 307/98/78 306/87/78 +f 345/132/119 316/133/119 314/134/119 +f 346/132/99 315/133/99 316/134/99 +f 343/132/120 313/133/120 315/134/120 +f 346/133/60 345/134/60 344/135/60 +f 259/109/118 257/110/118 317/108/118 +f 264/109/117 263/110/117 317/108/117 +f 261/110/116 317/108/116 262/109/116 +f 258/109/115 264/110/115 317/108/115 +f 259/110/114 317/108/114 260/109/114 +f 257/109/113 258/110/113 317/108/113 +f 317/108/112 263/109/112 262/110/112 +f 318/111/109 288/110/109 289/109/109 +f 294/112/108 295/111/108 287/110/108 +f 292/112/107 293/111/107 285/110/107 +f 291/111/106 283/110/106 282/109/106 +f 296/111/105 289/110/105 287/109/105 +f 294/111/104 286/110/104 285/109/104 +f 281/108/103 285/109/103 286/110/103 +f 329/136/121 330/60/121 333/137/121 +f 329/136/121 332/138/121 331/139/121 +f 320/136/122 335/138/122 334/139/122 +f 320/136/122 321/60/122 336/137/122 +f 323/136/123 338/138/123 337/139/123 +f 323/136/123 324/60/123 339/137/123 +f 326/136/124 327/60/124 342/137/124 +f 326/136/124 341/138/124 340/139/124 +f 146/28/59 145/17/59 152/19/59 +f 146/28/60 152/19/60 147/21/60 +f 148/29/61 147/21/61 154/22/61 +f 148/30/62 154/23/62 149/25/62 +f 149/25/63 155/24/63 150/27/63 +f 151/18/64 145/17/64 156/26/64 +f 151/17/65 157/18/65 152/28/65 +f 152/28/60 158/19/60 153/21/60 +f 154/29/66 153/21/66 160/22/66 +f 154/30/67 160/23/67 155/25/67 +f 155/25/63 161/24/63 156/27/63 +f 151/17/68 156/27/68 157/18/68 +f 158/28/69 157/17/69 164/19/69 +f 159/21/60 158/28/60 165/20/60 +f 159/21/70 165/20/70 160/29/70 +f 160/30/71 166/23/71 161/25/71 +f 161/25/63 167/24/63 162/27/63 +f 162/27/72 168/26/72 157/17/72 +f 163/17/73 169/18/73 164/28/73 +f 165/21/60 164/28/60 171/20/60 +f 165/21/74 171/20/74 166/29/74 +f 166/30/75 172/23/75 167/25/75 +f 167/25/63 173/24/63 168/27/63 +f 168/27/76 174/26/76 163/17/76 +f 169/17/61 175/18/61 170/28/61 +f 170/28/60 176/19/60 171/21/60 +f 172/29/59 171/21/59 178/22/59 +f 172/30/64 178/23/64 173/25/64 +f 174/27/63 173/25/63 180/26/63 +f 169/17/62 174/27/62 175/18/62 +f 176/28/66 175/17/66 182/19/66 +f 176/28/60 182/19/60 177/21/60 +f 177/21/65 183/20/65 178/29/65 +f 179/25/68 178/30/68 185/24/68 +f 180/27/63 179/25/63 186/26/63 +f 180/27/67 186/26/67 175/17/67 +f 181/17/70 187/18/70 182/28/70 +f 182/28/60 188/19/60 183/21/60 +f 183/21/69 189/20/69 184/29/69 +f 184/30/72 190/23/72 185/25/72 +f 186/27/63 185/25/63 192/26/63 +f 186/27/71 192/26/71 181/17/71 +f 187/17/74 145/18/74 188/28/74 +f 188/28/60 146/19/60 189/21/60 +f 189/21/73 147/20/73 190/29/73 +f 190/30/76 148/23/76 191/25/76 +f 191/25/63 149/24/63 192/27/63 +f 187/17/75 192/27/75 145/18/75 +f 193/48/77 194/31/77 195/33/77 +f 195/33/78 196/32/78 197/35/78 +f 197/35/79 198/34/79 199/37/79 +f 199/37/80 200/36/80 201/39/80 +f 201/39/81 202/38/81 203/41/81 +f 203/41/82 204/40/82 205/43/82 +f 208/47/83 206/44/83 216/46/83 +f 207/49/84 208/47/84 193/48/84 +f 205/140/85 206/44/85 207/49/85 +f 207/52/63 193/141/63 195/142/63 +f 195/142/63 197/143/63 207/52/63 +f 199/50/63 201/144/63 203/51/63 +f 203/51/63 205/145/63 207/52/63 +f 207/52/63 197/143/63 199/50/63 +f 211/55/60 209/146/60 210/147/60 +f 210/147/60 216/148/60 211/55/60 +f 215/53/60 214/149/60 213/150/60 +f 213/150/60 212/54/60 215/53/60 +f 211/55/60 216/148/60 215/53/60 +f 198/34/86 196/32/86 211/57/86 +f 204/40/87 202/38/87 214/59/87 +f 194/31/88 208/47/88 210/61/88 +f 196/32/89 194/31/89 209/62/89 +f 212/151/90 200/36/90 211/63/90 +f 206/42/91 204/40/91 215/65/91 +f 202/38/92 200/36/92 213/67/92 +f 227/70/60 225/152/60 226/153/60 +f 226/153/60 232/154/60 227/70/60 +f 231/68/60 230/155/60 229/156/60 +f 229/156/60 228/69/60 231/68/60 +f 227/70/60 232/154/60 231/68/60 +f 223/157/82 222/57/82 231/72/82 +f 221/82/80 220/73/80 229/75/80 +f 219/56/78 217/76/78 227/78/78 +f 224/62/85 223/79/85 232/81/85 +f 222/57/81 221/82/81 230/71/81 +f 220/73/79 219/56/79 228/74/79 +f 217/76/77 218/83/77 225/77/77 +f 218/83/84 224/62/84 226/84/84 +f 233/103/93 234/85/93 235/87/93 +f 235/87/94 236/86/94 237/89/94 +f 237/112/95 238/90/95 239/92/95 +f 239/92/96 240/91/96 241/94/96 +f 241/94/97 242/93/97 243/96/97 +f 243/96/98 244/95/98 245/98/98 +f 238/101/99 236/115/99 234/158/99 +f 234/158/99 248/159/99 246/99/99 +f 246/99/99 244/113/99 242/100/99 +f 242/100/99 240/114/99 238/101/99 +f 238/101/99 234/158/99 246/99/99 +f 247/104/100 248/102/100 233/103/100 +f 245/98/101 246/97/101 247/104/101 +f 247/107/102 233/160/102 235/161/102 +f 235/161/102 237/162/102 239/105/102 +f 239/105/102 241/163/102 243/164/102 +f 243/164/102 245/106/102 239/105/102 +f 247/107/102 235/161/102 239/105/102 +f 265/103/93 266/85/93 267/87/93 +f 253/112/104 252/111/104 261/109/104 +f 251/112/105 250/111/105 259/109/105 +f 256/112/106 255/111/106 264/109/106 +f 262/109/107 254/112/107 261/110/107 +f 260/109/108 252/112/108 259/110/108 +f 250/112/109 249/111/109 257/109/109 +f 258/109/110 249/112/110 264/110/110 +f 255/112/111 254/111/111 263/109/111 +f 267/87/94 268/86/94 269/89/94 +f 269/112/95 270/90/95 271/92/95 +f 271/92/96 272/91/96 273/94/96 +f 273/94/97 274/93/97 275/96/97 +f 275/96/98 276/95/98 277/98/98 +f 270/115/99 268/158/99 266/159/99 +f 266/159/99 280/99/99 278/113/99 +f 278/113/99 276/100/99 274/114/99 +f 274/114/99 272/101/99 270/115/99 +f 270/115/99 266/159/99 278/113/99 +f 279/104/100 280/102/100 265/103/100 +f 277/98/101 278/97/101 279/104/101 +f 279/107/102 265/160/102 267/161/102 +f 267/161/102 269/162/102 271/105/102 +f 271/105/102 273/163/102 275/164/102 +f 275/164/102 277/106/102 271/105/102 +f 279/107/102 267/161/102 271/105/102 +f 291/112/111 292/111/111 283/109/111 +f 288/109/110 318/112/110 282/110/110 +f 312/118/63 305/165/63 306/166/63 +f 306/166/63 307/167/63 312/118/63 +f 308/116/63 309/168/63 310/117/63 +f 310/117/63 311/169/63 312/118/63 +f 312/118/63 307/167/63 308/116/63 +f 303/140/85 304/119/85 311/44/85 +f 301/130/81 302/121/81 309/123/81 +f 299/131/79 300/124/79 307/98/79 +f 297/127/77 298/125/77 305/126/77 +f 304/119/84 297/127/84 312/120/84 +f 302/121/82 303/128/82 310/122/82 +f 300/124/80 301/130/80 308/92/80 +f 298/125/78 299/131/78 306/87/78 +f 344/135/119 345/132/119 314/134/119 +f 345/135/99 346/132/99 316/134/99 +f 346/135/120 343/132/120 315/134/120 +f 343/132/60 346/133/60 344/135/60 +f 296/112/109 318/111/109 289/109/109 +f 286/109/108 294/112/108 287/110/108 +f 284/109/107 292/112/107 285/110/107 +f 290/112/106 291/111/106 282/109/106 +f 295/112/105 296/111/105 287/109/105 +f 293/112/104 294/111/104 285/109/104 +f 332/138/121 329/136/121 333/137/121 +f 328/133/121 329/136/121 331/139/121 +f 319/133/122 320/136/122 334/139/122 +f 335/138/122 320/136/122 336/137/122 +f 322/133/123 323/136/123 337/139/123 +f 338/138/123 323/136/123 339/137/123 +f 341/138/124 326/136/124 342/137/124 +f 325/133/124 326/136/124 340/139/124 diff --git a/assets/hbm/models/mobs/teslacrab.obj b/assets/hbm/models/mobs/teslacrab.obj new file mode 100644 index 000000000..2c2086907 --- /dev/null +++ b/assets/hbm/models/mobs/teslacrab.obj @@ -0,0 +1,588 @@ +# Blender v2.76 (sub 0) OBJ File: 'teslacrab.blend' +# www.blender.org +o Front +v 0.353553 0.187500 -0.265165 +v 0.353553 0.312500 -0.265165 +v 0.176777 0.187500 -0.088388 +v 0.176777 0.312500 -0.088388 +v 0.265165 0.187500 -0.353553 +v 0.265165 0.312500 -0.353553 +v 0.088388 0.187500 -0.176777 +v 0.088388 0.312500 -0.176777 +v 0.433446 -0.001047 -0.389252 +v 0.350388 -0.043799 -0.306194 +v 0.389252 -0.001047 -0.433446 +v 0.306194 -0.043799 -0.350389 +v 0.312524 0.468799 -0.268330 +v 0.229466 0.426047 -0.185272 +v 0.185272 0.426047 -0.229466 +v 0.268330 0.468799 -0.312524 +v 0.265165 0.187500 0.353553 +v 0.265165 0.312500 0.353553 +v 0.088388 0.187500 0.176777 +v 0.088388 0.312500 0.176777 +v 0.353553 0.187500 0.265165 +v 0.353553 0.312500 0.265165 +v 0.176777 0.187500 0.088388 +v 0.176777 0.312500 0.088388 +v 0.389252 -0.001047 0.433446 +v 0.306194 -0.043799 0.350388 +v 0.433446 -0.001047 0.389252 +v 0.350389 -0.043799 0.306194 +v 0.268330 0.468799 0.312524 +v 0.185272 0.426047 0.229466 +v 0.229466 0.426047 0.185272 +v 0.312524 0.468799 0.268330 +vt 0.142857 0.166667 +vt 0.238095 0.166667 +vt 0.238095 0.500000 +vt 0.238095 -0.000000 +vt 0.142857 0.500000 +vt 0.142857 0.000000 +vt 0.047619 0.750000 +vt 0.047619 0.666667 +vt 0.142857 0.666667 +vt 0.142857 0.750000 +vt 0.047619 -0.000000 +vt -0.000000 0.666667 +vt 0.142911 0.000076 +vt 0.000053 0.000054 +vt -0.000000 -0.000000 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn -0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 -0.707100 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.241800 -0.939700 -0.241800 +vn -0.241800 0.939700 0.241800 +vn -0.664500 -0.342000 0.664500 +vn 0.664500 0.342000 -0.664500 +vn 0.241800 -0.939700 0.241800 +vn -0.241800 0.939700 -0.241800 +vn -0.664500 -0.342000 -0.664500 +vn 0.664500 0.342000 0.664500 +s off +f 4/1/1 3/2/1 1/3/1 +f 8/4/2 7/2/2 3/1/2 +f 6/3/3 5/5/3 7/1/3 +f 2/1/4 1/6/4 5/4/4 +f 3/1/5 7/2/5 5/3/5 +f 8/1/6 4/2/6 2/3/6 +f 11/7/7 9/8/7 10/9/7 +f 15/9/8 14/10/8 13/7/8 +f 10/11/9 14/8/9 15/12/9 +f 9/13/1 13/9/1 14/8/1 +f 9/14/10 11/11/10 16/8/10 +f 12/6/3 15/9/3 16/8/3 +f 20/1/2 19/2/2 17/3/2 +f 24/4/3 23/2/3 19/1/3 +f 22/3/4 21/5/4 23/1/4 +f 18/1/1 17/6/1 21/4/1 +f 19/1/5 23/2/5 21/3/5 +f 24/1/6 20/2/6 18/3/6 +f 27/7/11 25/8/11 26/9/11 +f 30/10/12 29/7/12 32/8/12 +f 26/11/13 30/8/13 31/12/13 +f 25/13/2 29/9/2 30/8/2 +f 27/11/14 32/8/14 29/12/14 +f 28/6/4 31/9/4 32/8/4 +f 2/5/1 4/1/1 1/3/1 +f 4/6/2 8/4/2 3/1/2 +f 8/2/3 6/3/3 7/1/3 +f 6/2/4 2/1/4 5/4/4 +f 1/5/5 3/1/5 5/3/5 +f 6/5/6 8/1/6 2/3/6 +f 12/10/7 11/7/7 10/9/7 +f 16/8/8 15/9/8 13/7/8 +f 12/15/9 10/11/9 15/12/9 +f 10/11/1 9/13/1 14/8/1 +f 13/12/10 9/14/10 16/8/10 +f 11/11/3 12/6/3 16/8/3 +f 18/5/2 20/1/2 17/3/2 +f 20/6/3 24/4/3 19/1/3 +f 24/2/4 22/3/4 23/1/4 +f 22/2/1 18/1/1 21/4/1 +f 17/5/5 19/1/5 21/3/5 +f 22/5/6 24/1/6 18/3/6 +f 28/10/11 27/7/11 26/9/11 +f 31/9/12 30/10/12 32/8/12 +f 28/15/13 26/11/13 31/12/13 +f 26/11/2 25/13/2 30/8/2 +f 25/14/14 27/11/14 29/12/14 +f 27/11/4 28/6/4 32/8/4 +o Back +v -0.353553 0.187500 0.265165 +v -0.353553 0.312500 0.265165 +v -0.176777 0.187500 0.088388 +v -0.176777 0.312500 0.088388 +v -0.265165 0.187500 0.353553 +v -0.265165 0.312500 0.353553 +v -0.088388 0.187500 0.176777 +v -0.088388 0.312500 0.176777 +v -0.433446 -0.001047 0.389252 +v -0.350388 -0.043799 0.306194 +v -0.389252 -0.001047 0.433447 +v -0.306194 -0.043799 0.350389 +v -0.312524 0.468799 0.268330 +v -0.229466 0.426047 0.185272 +v -0.185272 0.426047 0.229466 +v -0.268330 0.468799 0.312524 +v -0.265165 0.187500 -0.353553 +v -0.265165 0.312500 -0.353553 +v -0.088388 0.187500 -0.176777 +v -0.088388 0.312500 -0.176777 +v -0.353553 0.187500 -0.265165 +v -0.353553 0.312500 -0.265165 +v -0.176777 0.187500 -0.088388 +v -0.176777 0.312500 -0.088388 +v -0.389252 -0.001047 -0.433446 +v -0.306194 -0.043799 -0.350388 +v -0.433446 -0.001047 -0.389252 +v -0.350389 -0.043799 -0.306194 +v -0.268330 0.468799 -0.312524 +v -0.185272 0.426047 -0.229466 +v -0.229466 0.426047 -0.185272 +v -0.312524 0.468799 -0.268330 +vt 0.142857 0.166667 +vt 0.238095 0.166667 +vt 0.238095 0.500000 +vt 0.238095 -0.000000 +vt 0.142857 0.500000 +vt 0.142857 0.000000 +vt 0.047619 0.750000 +vt 0.047619 0.666667 +vt 0.142857 0.666667 +vt 0.142857 0.750000 +vt -0.000000 -0.000000 +vt 0.047619 -0.000000 +vt 0.142911 0.000076 +vt 0.000053 0.000054 +vt 0.000000 0.666667 +vn -0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 0.707100 +vn -0.707100 0.000000 0.707100 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 -0.000000 +vn -0.241800 -0.939700 0.241800 +vn 0.241800 0.939700 -0.241800 +vn 0.664500 -0.342000 -0.664500 +vn -0.664500 0.342000 0.664500 +vn -0.241800 -0.939700 -0.241800 +vn 0.241800 0.939700 0.241800 +vn 0.664500 -0.342000 0.664500 +vn -0.664500 0.342000 -0.664500 +s off +f 36/16/15 35/17/15 33/18/15 +f 40/19/16 39/17/16 35/16/16 +f 38/18/17 37/20/17 39/16/17 +f 34/16/18 33/21/18 37/19/18 +f 35/16/19 39/17/19 37/18/19 +f 40/16/20 36/17/20 34/18/20 +f 43/22/21 41/23/21 42/24/21 +f 46/25/22 45/22/22 48/23/22 +f 44/26/23 42/27/23 46/23/23 +f 41/28/15 45/24/15 46/23/15 +f 41/29/24 43/27/24 48/23/24 +f 43/27/17 44/21/17 47/24/17 +f 52/16/16 51/17/16 49/18/16 +f 56/19/17 55/17/17 51/16/17 +f 54/18/18 53/20/18 55/16/18 +f 50/16/15 49/21/15 53/19/15 +f 51/16/19 55/17/19 53/18/19 +f 56/16/20 52/17/20 50/18/20 +f 59/22/25 57/23/25 58/24/25 +f 62/25/26 61/22/26 64/23/26 +f 60/26/27 58/27/27 62/23/27 +f 57/28/16 61/24/16 62/23/16 +f 59/27/28 64/23/28 61/30/28 +f 59/27/18 60/21/18 63/24/18 +f 34/20/15 36/16/15 33/18/15 +f 36/21/16 40/19/16 35/16/16 +f 40/17/17 38/18/17 39/16/17 +f 38/17/18 34/16/18 37/19/18 +f 33/20/19 35/16/19 37/18/19 +f 38/20/20 40/16/20 34/18/20 +f 44/25/21 43/22/21 42/24/21 +f 47/24/22 46/25/22 48/23/22 +f 47/30/23 44/26/23 46/23/23 +f 42/27/15 41/28/15 46/23/15 +f 45/30/24 41/29/24 48/23/24 +f 48/23/17 43/27/17 47/24/17 +f 50/20/16 52/16/16 49/18/16 +f 52/21/17 56/19/17 51/16/17 +f 56/17/18 54/18/18 55/16/18 +f 54/17/15 50/16/15 53/19/15 +f 49/20/19 51/16/19 53/18/19 +f 54/20/20 56/16/20 50/18/20 +f 60/25/25 59/22/25 58/24/25 +f 63/24/26 62/25/26 64/23/26 +f 63/30/27 60/26/27 62/23/27 +f 58/27/16 57/28/16 62/23/16 +f 57/29/28 59/27/28 61/30/28 +f 64/23/18 59/27/18 63/24/18 +o Body +v -0.000000 0.187500 -0.250000 +v -0.000000 0.312500 -0.250000 +v 0.176777 0.187500 -0.176777 +v 0.176777 0.312500 -0.176777 +v 0.250000 0.187500 0.000000 +v 0.250000 0.312500 0.000000 +v 0.176777 0.187500 0.176777 +v 0.176777 0.312500 0.176777 +v -0.000000 0.187500 0.250000 +v -0.000000 0.312500 0.250000 +v -0.176777 0.187500 0.176777 +v -0.176777 0.312500 0.176777 +v -0.250000 0.187500 -0.000000 +v -0.250000 0.312500 -0.000000 +v -0.176777 0.187500 -0.176777 +v -0.176777 0.312500 -0.176777 +v 0.088388 0.437500 -0.088388 +v -0.000000 0.437500 -0.125000 +v 0.125000 0.437500 0.000000 +v 0.088388 0.437500 0.088388 +v -0.000000 0.437500 0.125000 +v -0.088388 0.437500 0.088388 +v -0.125000 0.437500 -0.000000 +v -0.088388 0.437500 -0.088388 +v 0.044194 0.437500 -0.044194 +v -0.000000 0.437500 -0.062500 +v 0.062500 0.437500 0.000000 +v 0.044194 0.437500 0.044194 +v -0.000000 0.437500 0.062500 +v -0.044194 0.437500 0.044194 +v -0.062500 0.437500 -0.000000 +v -0.044194 0.437500 -0.044194 +v 0.044194 1.187500 -0.044194 +v -0.000000 1.187500 -0.062500 +v 0.062500 1.187500 0.000000 +v 0.044194 1.187500 0.044194 +v -0.000000 1.187500 0.062500 +v -0.044194 1.187500 0.044194 +v -0.062500 1.187500 -0.000000 +v -0.044194 1.187500 -0.044194 +v 0.128163 0.625000 -0.039775 +v 0.128163 1.125000 -0.039775 +v 0.039775 0.625000 -0.128163 +v 0.039775 1.125000 -0.128163 +v 0.172357 0.625000 -0.083969 +v 0.172357 1.125000 -0.083969 +v 0.083969 0.625000 -0.172357 +v 0.083969 1.125000 -0.172357 +v 0.083969 0.625000 -0.083969 +v 0.083969 1.125000 -0.083969 +v 0.039775 0.625000 -0.039775 +v 0.039775 1.125000 -0.039775 +v -0.039775 0.625000 -0.128163 +v -0.039775 1.125000 -0.128163 +v -0.128163 0.625000 -0.039775 +v -0.128163 1.125000 -0.039775 +v -0.083969 0.625000 -0.172357 +v -0.083969 1.125000 -0.172357 +v -0.172357 0.625000 -0.083969 +v -0.172357 1.125000 -0.083969 +v -0.083969 0.625000 -0.083969 +v -0.083969 1.125000 -0.083969 +v -0.039775 0.625000 -0.039775 +v -0.039775 1.125000 -0.039775 +v -0.128163 0.625000 0.039775 +v -0.128163 1.125000 0.039775 +v -0.039775 0.625000 0.128163 +v -0.039775 1.125000 0.128163 +v -0.172357 0.625000 0.083969 +v -0.172357 1.125000 0.083969 +v -0.083969 0.625000 0.172357 +v -0.083969 1.125000 0.172357 +v -0.083969 0.625000 0.083969 +v -0.083969 1.125000 0.083969 +v -0.039775 0.625000 0.039775 +v -0.039775 1.125000 0.039775 +v 0.039775 0.625000 0.128163 +v 0.039775 1.125000 0.128163 +v 0.128163 0.625000 0.039775 +v 0.128163 1.125000 0.039775 +v 0.083969 0.625000 0.172357 +v 0.083969 1.125000 0.172357 +v 0.172357 0.625000 0.083969 +v 0.172357 1.125000 0.083969 +v 0.083969 0.625000 0.083969 +v 0.083969 1.125000 0.083969 +v 0.039775 0.625000 0.039775 +v 0.039775 1.125000 0.039775 +v 0.088388 0.187500 -0.088388 +v 0.088388 0.187500 0.088388 +v -0.088388 0.187500 0.088388 +v -0.088388 0.187500 -0.088388 +v 0.044194 0.062500 -0.044194 +v 0.044194 0.062500 0.044194 +v -0.044194 0.062500 0.044194 +v -0.044194 0.062500 -0.044194 +v 0.062500 0.300000 0.062500 +v 0.062500 0.425000 0.062500 +v 0.062500 0.300000 -0.062500 +v 0.062500 0.425000 -0.062500 +v 0.187500 0.300000 0.062500 +v 0.187500 0.425000 0.062500 +v 0.187500 0.300000 -0.062500 +v 0.187500 0.425000 -0.062500 +v -0.062500 0.300000 -0.062500 +v -0.062500 0.425000 -0.062500 +v -0.062500 0.300000 0.062500 +v -0.062500 0.425000 0.062500 +v -0.187500 0.300000 -0.062500 +v -0.187500 0.425000 -0.062500 +v -0.187500 0.300000 0.062500 +v -0.187500 0.425000 0.062500 +v 0.062500 0.300000 -0.062500 +v 0.062500 0.425000 -0.062500 +v -0.062500 0.300000 -0.062500 +v -0.062500 0.425000 -0.062500 +v 0.062500 0.300000 -0.187500 +v 0.062500 0.425000 -0.187500 +v -0.062500 0.300000 -0.187500 +v -0.062500 0.425000 -0.187500 +v -0.062500 0.300000 0.062500 +v -0.062500 0.425000 0.062500 +v 0.062500 0.300000 0.062500 +v 0.062500 0.425000 0.062500 +v -0.062500 0.300000 0.187500 +v -0.062500 0.425000 0.187500 +v 0.062500 0.300000 0.187500 +v 0.062500 0.425000 0.187500 +vt 0.380952 0.166667 +vt 0.238095 0.166667 +vt 0.238095 0.000000 +vt 0.333333 0.416667 +vt 0.661170 0.231718 +vt 0.534256 0.323714 +vt 0.481687 0.101615 +vt 0.479736 0.384719 +vt 0.505554 0.339539 +vt 0.567883 0.384719 +vt 0.285714 0.416667 +vt 0.780379 0.161384 +vt 0.717304 0.115663 +vt 0.806505 0.051004 +vt 0.714286 0.000000 +vt 0.714286 1.000000 +vt 0.666667 1.000000 +vt 0.857143 0.666667 +vt 0.857143 -0.000000 +vt 0.952381 -0.000000 +vt 0.809524 0.666667 +vt 0.809524 -0.000000 +vt 0.952381 0.750000 +vt 0.857143 0.750000 +vt 0.952381 0.666667 +vt 1.000000 0.000000 +vt 1.000000 0.666667 +vt 0.488988 0.211058 +vt 0.565087 0.122276 +vt 0.653869 0.211058 +vt 0.577770 0.122276 +vt 0.476190 0.000000 +vt 0.476190 0.166667 +vt 0.380952 0.000000 +vt 0.534257 0.009619 +vt 0.608601 0.009619 +vt 0.661170 0.101615 +vt 0.608601 0.323714 +vt 0.481687 0.231718 +vt 0.567883 0.448614 +vt 0.542065 0.493795 +vt 0.505554 0.493795 +vt 0.479736 0.448614 +vt 0.542065 0.339539 +vt 0.743431 0.005282 +vt 0.780379 0.005282 +vt 0.806505 0.115663 +vt 0.743431 0.161384 +vt 0.717304 0.051004 +vt 0.666667 0.000000 +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.678600 0.678600 -0.281100 +vn -0.382700 0.000000 -0.923900 +vn -0.923900 0.000000 -0.382700 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.678600 0.678600 -0.281100 +vn -0.281100 0.678600 0.678600 +vn -0.281100 0.678600 -0.678600 +vn 0.281100 0.678600 -0.678600 +vn 0.678600 0.678600 0.281100 +vn -0.678600 0.678600 0.281100 +vn 0.281100 0.678600 0.678600 +vn -0.707100 0.000000 0.707100 +vn -0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 0.707100 +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 +s off +f 66/31/29 68/32/29 67/33/29 +f 68/31/30 70/32/30 69/33/30 +f 70/31/31 72/32/31 71/33/31 +f 72/31/32 74/32/32 73/33/32 +f 74/31/33 76/32/33 75/33/33 +f 76/31/34 78/32/34 77/33/34 +f 80/32/35 78/31/35 87/34/35 +f 80/31/36 66/32/36 65/33/36 +f 78/31/37 80/32/37 79/33/37 +f 71/35/38 75/36/38 79/37/38 +f 86/38/39 85/39/39 83/40/39 +f 68/31/40 81/34/40 83/41/40 +f 76/32/41 74/31/41 85/34/41 +f 80/31/42 88/34/42 82/41/42 +f 68/32/43 66/31/43 82/34/43 +f 70/31/44 83/34/44 84/41/44 +f 76/31/45 86/34/45 87/41/45 +f 72/31/46 84/34/46 85/41/46 +f 103/42/39 101/43/39 98/44/39 +f 91/45/31 99/46/31 100/47/31 +f 90/45/29 98/46/29 97/47/29 +f 96/45/36 104/46/36 98/47/36 +f 94/45/34 102/46/34 103/47/34 +f 92/45/32 100/46/32 101/47/32 +f 89/45/30 97/46/30 99/47/30 +f 95/45/37 103/46/37 104/47/37 +f 93/45/33 101/46/33 102/47/33 +f 108/48/47 107/49/47 105/50/47 +f 112/51/48 111/52/48 107/49/48 +f 110/48/49 109/49/49 111/50/49 +f 106/51/50 105/52/50 109/49/50 +f 105/53/38 107/54/38 111/48/38 +f 110/48/39 112/55/39 108/53/39 +f 113/50/48 115/56/48 116/57/48 +f 120/48/50 119/49/50 117/50/50 +f 124/51/47 123/52/47 119/49/47 +f 122/48/48 121/49/48 123/50/48 +f 118/51/49 117/52/49 121/49/49 +f 119/54/38 123/48/38 121/55/38 +f 124/55/39 120/53/39 118/54/39 +f 125/50/47 127/56/47 128/57/47 +f 132/48/49 131/49/49 129/50/49 +f 136/51/50 135/52/50 131/49/50 +f 134/48/47 133/49/47 135/50/47 +f 130/51/48 129/52/48 133/49/48 +f 131/54/38 135/48/38 133/55/38 +f 136/55/39 132/53/39 130/54/39 +f 137/50/50 139/56/50 140/57/50 +f 144/48/48 143/49/48 141/50/48 +f 148/51/49 147/52/49 143/49/49 +f 146/48/50 145/49/50 147/50/50 +f 142/51/47 141/52/47 145/49/47 +f 141/48/38 143/55/38 147/53/38 +f 148/55/39 144/53/39 142/54/39 +f 149/50/49 151/56/49 152/57/49 +f 79/58/49 156/59/49 160/60/49 +f 157/58/48 153/61/48 67/60/48 +f 75/58/48 155/59/48 159/60/48 +f 158/58/49 154/61/49 71/60/49 +f 174/62/51 173/63/51 175/31/51 +f 168/62/52 167/63/52 163/31/52 +f 166/31/53 165/64/53 167/62/53 +f 162/31/54 161/64/54 165/62/54 +f 176/31/54 175/64/54 171/62/54 +f 168/63/39 164/31/39 162/64/39 +f 170/64/52 169/62/52 173/63/52 +f 176/63/39 172/31/39 170/64/39 +f 190/31/54 189/64/54 191/62/54 +f 184/31/51 183/64/51 179/62/51 +f 182/62/52 181/63/52 183/31/52 +f 178/31/53 177/64/53 181/62/53 +f 192/31/53 191/64/53 187/62/53 +f 184/31/39 180/64/39 178/62/39 +f 186/31/51 185/64/51 189/62/51 +f 192/62/39 188/63/39 186/31/39 +f 65/64/29 66/31/29 67/33/29 +f 67/64/30 68/31/30 69/33/30 +f 69/64/31 70/31/31 71/33/31 +f 71/64/32 72/31/32 73/33/32 +f 73/64/33 74/31/33 75/33/33 +f 75/64/34 76/31/34 77/33/34 +f 88/41/35 80/32/35 87/34/35 +f 79/64/36 80/31/36 65/33/36 +f 77/64/37 78/31/37 79/33/37 +f 79/37/38 65/65/38 67/66/38 +f 67/66/38 69/67/38 71/35/38 +f 71/35/38 73/68/38 75/36/38 +f 75/36/38 77/69/38 79/37/38 +f 79/37/38 67/66/38 71/35/38 +f 83/40/39 81/70/39 82/71/39 +f 82/71/39 88/72/39 83/40/39 +f 87/73/39 86/38/39 83/40/39 +f 85/39/39 84/74/39 83/40/39 +f 83/40/39 88/72/39 87/73/39 +f 70/32/40 68/31/40 83/41/40 +f 86/41/41 76/32/41 85/34/41 +f 66/32/42 80/31/42 82/41/42 +f 81/41/43 68/32/43 82/34/43 +f 72/32/44 70/31/44 84/41/44 +f 78/32/45 76/31/45 87/41/45 +f 74/32/46 72/31/46 85/41/46 +f 99/75/39 97/76/39 98/44/39 +f 98/44/39 104/77/39 103/42/39 +f 103/42/39 102/78/39 101/43/39 +f 101/43/39 100/79/39 99/75/39 +f 99/75/39 98/44/39 101/43/39 +f 92/80/31 91/45/31 100/47/31 +f 89/80/29 90/45/29 97/47/29 +f 90/80/36 96/45/36 98/47/36 +f 95/80/34 94/45/34 103/47/34 +f 93/80/32 92/45/32 101/47/32 +f 91/80/30 89/45/30 99/47/30 +f 96/80/37 95/45/37 104/47/37 +f 94/80/33 93/45/33 102/47/33 +f 106/55/47 108/48/47 105/50/47 +f 108/48/48 112/51/48 107/49/48 +f 112/55/49 110/48/49 111/50/49 +f 110/48/50 106/51/50 109/49/50 +f 109/55/38 105/53/38 111/48/38 +f 106/54/39 110/48/39 108/53/39 +f 114/55/48 113/50/48 116/57/48 +f 118/55/50 120/48/50 117/50/50 +f 120/48/47 124/51/47 119/49/47 +f 124/55/48 122/48/48 123/50/48 +f 122/48/49 118/51/49 121/49/49 +f 117/53/38 119/54/38 121/55/38 +f 122/48/39 124/55/39 118/54/39 +f 126/55/47 125/50/47 128/57/47 +f 130/55/49 132/48/49 129/50/49 +f 132/48/50 136/51/50 131/49/50 +f 136/55/47 134/48/47 135/50/47 +f 134/48/48 130/51/48 133/49/48 +f 129/53/38 131/54/38 133/55/38 +f 134/48/39 136/55/39 130/54/39 +f 138/55/50 137/50/50 140/57/50 +f 142/55/48 144/48/48 141/50/48 +f 144/48/49 148/51/49 143/49/49 +f 148/55/50 146/48/50 147/50/50 +f 146/48/47 142/51/47 145/49/47 +f 145/54/38 141/48/38 147/53/38 +f 146/48/39 148/55/39 142/54/39 +f 150/55/49 149/50/49 152/57/49 +f 176/64/51 174/62/51 175/31/51 +f 164/64/52 168/62/52 163/31/52 +f 168/63/53 166/31/53 167/62/53 +f 166/63/54 162/31/54 165/62/54 +f 172/63/54 176/31/54 171/62/54 +f 166/62/39 168/63/39 162/64/39 +f 174/31/52 170/64/52 173/63/52 +f 174/62/39 176/63/39 170/64/39 +f 192/63/54 190/31/54 191/62/54 +f 180/63/51 184/31/51 179/62/51 +f 184/64/52 182/62/52 183/31/52 +f 182/63/53 178/31/53 181/62/53 +f 188/63/53 192/31/53 187/62/53 +f 182/63/39 184/31/39 178/62/39 +f 190/63/51 186/31/51 189/62/51 +f 190/64/39 192/62/39 186/31/39 diff --git a/assets/hbm/textures/armor/starmetal_1.png b/assets/hbm/textures/armor/starmetal_1.png new file mode 100644 index 000000000..dad4c19c9 Binary files /dev/null and b/assets/hbm/textures/armor/starmetal_1.png differ diff --git a/assets/hbm/textures/armor/starmetal_2.png b/assets/hbm/textures/armor/starmetal_2.png new file mode 100644 index 000000000..2062d8e47 Binary files /dev/null and b/assets/hbm/textures/armor/starmetal_2.png differ diff --git a/assets/hbm/textures/blocks/crate_can.png b/assets/hbm/textures/blocks/crate_can.png new file mode 100644 index 000000000..1064e5ed2 Binary files /dev/null and b/assets/hbm/textures/blocks/crate_can.png differ diff --git a/assets/hbm/textures/entity/taintcrab.png b/assets/hbm/textures/entity/taintcrab.png new file mode 100644 index 000000000..b9968b89e Binary files /dev/null and b/assets/hbm/textures/entity/taintcrab.png differ diff --git a/assets/hbm/textures/entity/taintcrab_clean.png b/assets/hbm/textures/entity/taintcrab_clean.png new file mode 100644 index 000000000..462017f50 Binary files /dev/null and b/assets/hbm/textures/entity/taintcrab_clean.png differ diff --git a/assets/hbm/textures/entity/teslacrab.png b/assets/hbm/textures/entity/teslacrab.png new file mode 100644 index 000000000..ec87ee7a9 Binary files /dev/null and b/assets/hbm/textures/entity/teslacrab.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 9b4a21825..320324368 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -1187,7 +1187,7 @@ public class ModBlocks { crate_lead = new BlockCrate(Material.iron).setBlockName("crate_lead").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_lead"); crate_metal = new BlockCrate(Material.iron).setBlockName("crate_metal").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_metal"); crate_red = new BlockCrate(Material.iron).setBlockName("crate_red").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crate_red"); - crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab); + crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_can"); crate_ammo = new BlockAmmoCrate(Material.wood).setBlockName("crate_ammo").setStepSound(Block.soundTypeMetal).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab); crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); diff --git a/com/hbm/blocks/bomb/BlockTaint.java b/com/hbm/blocks/bomb/BlockTaint.java index 71144873b..6f5545f60 100644 --- a/com/hbm/blocks/bomb/BlockTaint.java +++ b/com/hbm/blocks/bomb/BlockTaint.java @@ -5,7 +5,9 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityTaintedCreeper; +import com.hbm.entity.mob.EntityTeslaCrab; import com.hbm.potion.HbmPotion; import cpw.mods.fml.relauncher.Side; @@ -189,6 +191,16 @@ public class BlockTaint extends Block/*Container*/ { world.spawnEntityInWorld(creep); } } + + if(entity instanceof EntityTeslaCrab) { + EntityTaintCrab crab = new EntityTaintCrab(world); + crab.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!world.isRemote) { + entity.setDead(); + world.spawnEntityInWorld(crab); + } + } } } diff --git a/com/hbm/blocks/generic/BlockCanCrate.java b/com/hbm/blocks/generic/BlockCanCrate.java index 0f2b591dc..e8e614b15 100644 --- a/com/hbm/blocks/generic/BlockCanCrate.java +++ b/com/hbm/blocks/generic/BlockCanCrate.java @@ -5,45 +5,34 @@ import java.util.List; import java.util.Random; import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; import net.minecraft.world.World; public class BlockCanCrate extends Block { - @SideOnly(Side.CLIENT) - private IIcon iconTop; - @SideOnly(Side.CLIENT) - private IIcon iconBottom; - public BlockCanCrate(Material p_i45394_1_) { super(p_i45394_1_); } @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_top"); - this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_bottom"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_side"); + public int getRenderType(){ + return 334085; } - + @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 0 ? this.iconBottom : (side == 1 ? this.iconTop : this.blockIcon); + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; } - @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { diff --git a/com/hbm/entity/mob/EntityCyberCrab.java b/com/hbm/entity/mob/EntityCyberCrab.java index f97242263..c61ebb800 100644 --- a/com/hbm/entity/mob/EntityCyberCrab.java +++ b/com/hbm/entity/mob/EntityCyberCrab.java @@ -23,12 +23,10 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityCyberCrab extends EntityMob implements IRangedAttackMob { - - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.5D, 60, 80, 15.0F); private static final IEntitySelector selector = new IEntitySelector() { public boolean isEntityApplicable(Entity p_82704_1_) { - return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper); + return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper || p_82704_1_ instanceof EntityNuclearCreeper); } }; @@ -37,20 +35,26 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob { super(p_i1733_1_); this.setSize(0.75F, 0.35F); this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(0, new EntityAIPanic(this, 0.75D)); + + if(!(this instanceof EntityTaintCrab)) + this.tasks.addTask(0, new EntityAIPanic(this, 0.75D)); + this.tasks.addTask(1, new EntityAIWander(this, 0.5F)); - //this.tasks.addTask(2, new EntityAIAvoidEntity(this, EntityPlayer.class, 3, 0.75D, 1.0D)); - this.tasks.addTask(4, this.aiArrowAttack); + this.tasks.addTask(4, arrowAI()); this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, true, true, selector)); } + + protected EntityAIArrowAttack arrowAI() { + return new EntityAIArrowAttack(this, 0.5D, 60, 80, 15.0F); + } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.75F); } @Override @@ -117,7 +121,11 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob { if(this.getHealth() <= 0) { this.setDead(); - worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.1F, true); + + if(this instanceof EntityTaintCrab) + worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 3F, false); + else + worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.1F, false); } } @@ -160,6 +168,10 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob { return ModItems.wire_gold; } + protected void dropRareDrop(int p_70600_1_) { + this.dropItem(ModItems.wire_magnetized_tungsten, 1); + } + @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) { EntityBullet bullet = new EntityBullet(worldObj, this, entity, 1.6F, 2); diff --git a/com/hbm/entity/mob/EntityTaintCrab.java b/com/hbm/entity/mob/EntityTaintCrab.java new file mode 100644 index 000000000..9c733ef12 --- /dev/null +++ b/com/hbm/entity/mob/EntityTaintCrab.java @@ -0,0 +1,88 @@ +package com.hbm.entity.mob; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.items.ModItems; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.potion.HbmPotion; +import com.hbm.tileentity.machine.TileEntityTesla; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAIArrowAttack; +import net.minecraft.item.Item; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityTaintCrab extends EntityCyberCrab { + + public List targets = new ArrayList(); + + public EntityTaintCrab(World p_i1733_1_) { + super(p_i1733_1_); + this.setSize(1.25F, 1.25F); + this.ignoreFrustumCheck = true; + } + + protected EntityAIArrowAttack arrowAI() { + return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F); + } + + @Override + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F); + } + + public void onLivingUpdate() { + + targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this); + + List targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5)); + + for(EntityLivingBase e : targets) { + + if(!(e instanceof EntityCyberCrab)) + e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15)); + } + + super.onLivingUpdate(); + } + + @Override + protected Item getDropItem() + { + return ModItems.coil_advanced_alloy; + } + + protected void dropRareDrop(int p_70600_1_) { + this.dropItem(ModItems.coil_magnetized_tungsten, 1); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) { + + EntityBulletBase bullet = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this); + Vec3 motion = Vec3.createVectorHelper(posX - entity.posX, posY - entity.posZ - entity.height / 2, posZ - entity.posZ); + motion = motion.normalize(); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanilla"); + data.setString("mode", "flame"); + data.setDouble("mX", bullet.motionX * 0.3); + data.setDouble("mY", bullet.motionY * 0.3); + data.setDouble("mZ", bullet.motionZ * 0.3); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(this.dimension, posX, posY, posZ, 50)); + this.worldObj.spawnEntityInWorld(bullet); + this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F); + } +} diff --git a/com/hbm/entity/mob/EntityTeslaCrab.java b/com/hbm/entity/mob/EntityTeslaCrab.java new file mode 100644 index 000000000..0ed0f7c39 --- /dev/null +++ b/com/hbm/entity/mob/EntityTeslaCrab.java @@ -0,0 +1,48 @@ +package com.hbm.entity.mob; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.TileEntityTesla; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.item.Item; +import net.minecraft.world.World; + +public class EntityTeslaCrab extends EntityCyberCrab { + + public List targets = new ArrayList(); + + public EntityTeslaCrab(World p_i1733_1_) { + super(p_i1733_1_); + this.setSize(0.75F, 1.25F); + this.ignoreFrustumCheck = true; + } + + @Override + protected void applyEntityAttributes() + { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F); + } + + public void onLivingUpdate() { + + targets = TileEntityTesla.zap(worldObj, posX, posY + 1, posZ, 3, this); + + super.onLivingUpdate(); + } + + @Override + protected Item getDropItem() + { + return ModItems.wire_advanced_alloy; + } + + protected void dropRareDrop(int p_70600_1_) { + this.dropItem(ModItems.coil_copper, 1); + } + +} diff --git a/com/hbm/entity/projectile/EntityTom.java b/com/hbm/entity/projectile/EntityTom.java index 7ded15ecd..89e6502fd 100644 --- a/com/hbm/entity/projectile/EntityTom.java +++ b/com/hbm/entity/projectile/EntityTom.java @@ -52,7 +52,7 @@ public class EntityTom extends EntityThrowable { @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { - return distance < 100000; + return distance < 500000; } @Override diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index c975f61bb..b188b18c0 100644 --- a/com/hbm/lib/RefStrings.java +++ b/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (3479)"; + public static final String VERSION = "1.0.27 BETA (3493)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index bc753878f..73bcdcbb2 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -61,7 +61,9 @@ import com.hbm.render.entity.item.RenderMinecartTest; import com.hbm.render.entity.mob.RenderCyberCrab; import com.hbm.render.entity.mob.RenderHunterChopper; import com.hbm.render.entity.mob.RenderNuclearCreeper; +import com.hbm.render.entity.mob.RenderTaintCrab; import com.hbm.render.entity.mob.RenderTaintedCreeper; +import com.hbm.render.entity.mob.RenderTeslaCrab; import com.hbm.render.entity.projectile.RenderBaleflare; import com.hbm.render.entity.projectile.RenderBeam; import com.hbm.render.entity.projectile.RenderBeam2; @@ -134,6 +136,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerBlockHandler(new RenderFence()); RenderingRegistry.registerBlockHandler(new RenderBarbedWire()); RenderingRegistry.registerBlockHandler(new RenderAntennaTop()); + RenderingRegistry.registerBlockHandler(new RenderConserve()); MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate()); MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate()); @@ -503,6 +506,8 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerEntityRenderingHandler(EntityTaintedCreeper.class, new RenderTaintedCreeper()); RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper()); RenderingRegistry.registerEntityRenderingHandler(EntityCyberCrab.class, new RenderCyberCrab()); + RenderingRegistry.registerEntityRenderingHandler(EntityTeslaCrab.class, new RenderTeslaCrab()); + RenderingRegistry.registerEntityRenderingHandler(EntityTaintCrab.class, new RenderTaintCrab()); RenderingRegistry.registerEntityRenderingHandler(EntityChopperMine.class, new RenderChopperMine()); RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); @@ -746,6 +751,14 @@ public class ClientProxy extends ServerProxy } } } + + if("vanilla".equals(type)) { + + double mX = data.getDouble("mX"); + double mY = data.getDouble("mY"); + double mZ = data.getDouble("mZ"); + world.spawnParticle(data.getString("mode"), x, y, z, mX, mY, mZ); + } } @Override diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index febf48028..c83408cd7 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -1525,6 +1525,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.sat_foeq), new Object[] { ModItems.sat_foeq }); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_interface), new Object[] { "ISI", "PCP", "PAP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_gold })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_coord), new Object[] { "SII", "SCA", "SPP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_red_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten })); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index d47433a24..a49ecabb2 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -700,6 +700,8 @@ public class MainRegistry EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); EntityRegistry.registerGlobalEntityID(EntityCyberCrab.class, "entity_cyber_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0x444444); + EntityRegistry.registerGlobalEntityID(EntityTeslaCrab.class, "entity_tesla_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0x440000); + EntityRegistry.registerGlobalEntityID(EntityTaintCrab.class, "entity_taint_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0xFF00FF); ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() { diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 8427be218..2e7f43eee 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -43,7 +43,6 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntitySign; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; @@ -353,7 +352,6 @@ public class ModEventHandler public void onEntityHurt(LivingAttackEvent event) { EntityLivingBase e = event.entityLiving; - DamageSource dmg = event.source; if(e instanceof EntityPlayer && Library.checkArmor((EntityPlayer)e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { e.worldObj.playSoundAtEntity(e, "random.break", 5F, 1.0F + e.getRNG().nextFloat() * 0.5F); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index b8c54b1a4..db946bf5c 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -150,6 +150,8 @@ public class ResourceManager { //Tesla Coil public static final IModelCustom tesla = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tesla.obj")); + public static final IModelCustom teslacrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/teslacrab.obj")); + public static final IModelCustom taintcrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/taintcrab.obj")); ////Textures TEs @@ -279,6 +281,8 @@ public class ResourceManager { //Tesla Coil public static final ResourceLocation tesla_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tesla.png"); + public static final ResourceLocation teslacrab_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/teslacrab.png"); + public static final ResourceLocation taintcrab_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/taintcrab.png"); @@ -651,5 +655,6 @@ public class ResourceManager { public static final IModelCustom pole = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pole.obj")); public static final IModelCustom barbed_wire = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/barbed_wire.obj")); public static final IModelCustom antenna_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/antenna_top.obj")); + public static final IModelCustom conservecrate = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/conservecrate.obj")); } diff --git a/com/hbm/potion/HbmPotion.java b/com/hbm/potion/HbmPotion.java index b84640093..b6d889bf5 100644 --- a/com/hbm/potion/HbmPotion.java +++ b/com/hbm/potion/HbmPotion.java @@ -4,6 +4,7 @@ import java.lang.reflect.Field; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.BlockTaint; +import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityTaintedCreeper; import com.hbm.explosion.ExplosionLarge; import com.hbm.lib.Library; @@ -86,7 +87,7 @@ public class HbmPotion extends Potion { if(this == taint) { - if(!(entity instanceof EntityTaintedCreeper) && entity.worldObj.rand.nextInt(80) == 0) + if(!(entity instanceof EntityTaintedCreeper) && !(entity instanceof EntityTaintCrab) && entity.worldObj.rand.nextInt(40) == 0) entity.attackEntityFrom(ModDamageSource.taint, (level + 1)); if(MainRegistry.enableHardcoreTaint && !entity.worldObj.isRemote) { diff --git a/com/hbm/render/block/RenderConserve.java b/com/hbm/render/block/RenderConserve.java new file mode 100644 index 000000000..37baae718 --- /dev/null +++ b/com/hbm/render/block/RenderConserve.java @@ -0,0 +1,68 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderConserve implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + GL11.glTranslated(0, -0.5, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.conservecrate, iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.conservecrate, iicon, tessellator, 0, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return 334085; + } +} diff --git a/com/hbm/render/entity/mob/RenderTaintCrab.java b/com/hbm/render/entity/mob/RenderTaintCrab.java new file mode 100644 index 000000000..f55b93441 --- /dev/null +++ b/com/hbm/render/entity/mob/RenderTaintCrab.java @@ -0,0 +1,52 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.mob.EntityTaintCrab; +import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelTaintCrab; +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; + +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class RenderTaintCrab extends RenderLiving { + + public RenderTaintCrab() { + super(new ModelTaintCrab(), 1.0F); + this.shadowOpaque = 0.0F; + } + + public void doRender(EntityLiving entity, double x, double y, double z, float p_76986_8_, float p_76986_9_) { + + if(entity instanceof EntityTaintCrab) { + GL11.glPushMatrix(); + GL11.glTranslated(x, y + 1.25, z); + + double sx = entity.posX; + double sy = entity.posY + 1.25; + double sz = entity.posZ; + + for(double[] target : ((EntityTaintCrab)entity).targets) { + + double length = Math.sqrt(Math.pow(target[0] - sx, 2) + Math.pow(target[1] - sy, 2) + Math.pow(target[2] - sz, 2)); + + BeamPronter.prontBeam(Vec3.createVectorHelper(target[0] - sx, target[1] - sy, target[2] - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x404040, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F); + } + + GL11.glPopMatrix(); + } + + super.doRender(entity, x, y, z, p_76986_8_, p_76986_9_); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.taintcrab_tex; + } +} diff --git a/com/hbm/render/entity/mob/RenderTeslaCrab.java b/com/hbm/render/entity/mob/RenderTeslaCrab.java new file mode 100644 index 000000000..b9b8d3f16 --- /dev/null +++ b/com/hbm/render/entity/mob/RenderTeslaCrab.java @@ -0,0 +1,52 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.mob.EntityTeslaCrab; +import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelTeslaCrab; +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; + +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; + +public class RenderTeslaCrab extends RenderLiving { + + public RenderTeslaCrab() { + super(new ModelTeslaCrab(), 1.0F); + this.shadowOpaque = 0.0F; + } + + public void doRender(EntityLiving entity, double x, double y, double z, float p_76986_8_, float p_76986_9_) { + + if(entity instanceof EntityTeslaCrab) { + GL11.glPushMatrix(); + GL11.glTranslated(x, y + 1, z); + + double sx = entity.posX; + double sy = entity.posY + 1; + double sz = entity.posZ; + + for(double[] target : ((EntityTeslaCrab)entity).targets) { + + double length = Math.sqrt(Math.pow(target[0] - sx, 2) + Math.pow(target[1] - sy, 2) + Math.pow(target[2] - sz, 2)); + + BeamPronter.prontBeam(Vec3.createVectorHelper(target[0] - sx, target[1] - sy, target[2] - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x404040, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F); + } + + GL11.glPopMatrix(); + } + + super.doRender(entity, x, y, z, p_76986_8_, p_76986_9_); + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.teslacrab_tex; + } +} diff --git a/com/hbm/render/model/ModelTaintCrab.java b/com/hbm/render/model/ModelTaintCrab.java new file mode 100644 index 000000000..a9bb0ac99 --- /dev/null +++ b/com/hbm/render/model/ModelTaintCrab.java @@ -0,0 +1,39 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; + +public class ModelTaintCrab extends ModelBase { + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + + GL11.glPushMatrix(); + + GL11.glRotatef(90, 0, -1, 0); + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0, -1.5F, 0); + + float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; + + ResourceManager.taintcrab.renderPart("Body"); + + GL11.glPushMatrix(); + GL11.glRotatef(rot, 0, 1, 0); + ResourceManager.taintcrab.renderPart("Legs1"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glRotatef(rot, 0, -1, 0); + ResourceManager.taintcrab.renderPart("Legs2"); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/model/ModelTeslaCrab.java b/com/hbm/render/model/ModelTeslaCrab.java new file mode 100644 index 000000000..786b1a9ed --- /dev/null +++ b/com/hbm/render/model/ModelTeslaCrab.java @@ -0,0 +1,39 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; + +public class ModelTeslaCrab extends ModelBase { + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + + GL11.glPushMatrix(); + + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0, -1.5F, 0); + + float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F; + + ResourceManager.teslacrab.renderPart("Body"); + + GL11.glPushMatrix(); + GL11.glRotatef(rot, 0, 1, 0); + ResourceManager.teslacrab.renderPart("Front"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glRotatef(rot, 0, -1, 0); + ResourceManager.teslacrab.renderPart("Back"); + GL11.glPopMatrix(); + + GL11.glPopMatrix(); + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityCyberCrab.java b/com/hbm/tileentity/machine/TileEntityCyberCrab.java index 751d9e341..df1c3f774 100644 --- a/com/hbm/tileentity/machine/TileEntityCyberCrab.java +++ b/com/hbm/tileentity/machine/TileEntityCyberCrab.java @@ -3,8 +3,10 @@ package com.hbm.tileentity.machine; import java.util.List; import com.hbm.entity.mob.EntityCyberCrab; +import com.hbm.entity.mob.EntityTeslaCrab; import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -18,13 +20,20 @@ public class TileEntityCyberCrab extends TileEntity { if (!this.worldObj.isRemote) { age++; - if(age > 200) { + if(age > 200 && worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.air) { List entities = this.worldObj.getEntitiesWithinAABB(EntityCyberCrab.class, AxisAlignedBB.getBoundingBox(this.xCoord - 5, this.yCoord - 2, this.zCoord - 5, this.xCoord + 6, this.yCoord + 4, this.zCoord + 6)); if(entities.size() < 5) { - EntityCyberCrab crab = new EntityCyberCrab(worldObj); + + EntityCyberCrab crab; + + if(worldObj.rand.nextInt(5) == 0) + crab = new EntityTeslaCrab(worldObj); + else + crab = new EntityCyberCrab(worldObj); + crab.setPosition(this.xCoord + 0.5, this.yCoord + 1, this.zCoord + 0.5); worldObj.spawnEntityInWorld(crab); } diff --git a/com/hbm/tileentity/machine/TileEntityTesla.java b/com/hbm/tileentity/machine/TileEntityTesla.java index 00251e054..c641feb11 100644 --- a/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/com/hbm/tileentity/machine/TileEntityTesla.java @@ -4,6 +4,10 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.mob.EntityCyberCrab; +import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityTaintCrab; +import com.hbm.entity.mob.EntityTeslaCrab; import com.hbm.interfaces.IConsumer; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; @@ -11,7 +15,9 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -19,6 +25,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; +import net.minecraft.world.World; public class TileEntityTesla extends TileEntityMachineBase implements IConsumer { @@ -56,27 +63,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IConsumer double dy = yCoord + offset; double dz = zCoord + 0.5; - List targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(dx - range, dy - range, dz - range, dx + range, dy + range, dz + range)); - - for(EntityLivingBase e : targets) { - - if(e instanceof EntityOcelot) - continue; - - Vec3 vec = Vec3.createVectorHelper(e.posX - dx, e.posY + e.height / 2 - dy, e.posZ - dz); - - if(vec.lengthVector() > range) - continue; - - if(Library.isObstructed(worldObj, xCoord + 0.5, yCoord + offset, zCoord + 0.5, e.posX, e.posY + e.height / 2, e.posZ)) - continue; - - if(!(e instanceof EntityPlayer && Library.checkForFaraday((EntityPlayer)e))) - if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size())) - worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F); - - this.targets.add(new double[] {e.posX, e.posY + e.height / 2, e.posZ}); - } + this.targets = zap(worldObj, dx, dy, dz, range, null); } NBTTagCompound data = new NBTTagCompound(); @@ -93,6 +80,65 @@ public class TileEntityTesla extends TileEntityMachineBase implements IConsumer } } + public static List zap(World worldObj, double x, double y, double z, double radius, Entity source) { + + List ret = new ArrayList(); + + List targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius)); + + for(EntityLivingBase e : targets) { + + if(e instanceof EntityOcelot || e == source) + continue; + + Vec3 vec = Vec3.createVectorHelper(e.posX - x, e.posY + e.height / 2 - y, e.posZ - z); + + if(vec.lengthVector() > range) + continue; + + if(Library.isObstructed(worldObj, x, y, z, e.posX, e.posY + e.height / 2, e.posZ)) + continue; + + if(e instanceof EntityTaintCrab) { + ret.add(new double[] {e.posX, e.posY + 1.25, e.posZ}); + e.heal(15F); + continue; + } + + if(e instanceof EntityTeslaCrab) { + ret.add(new double[] {e.posX, e.posY + 1, e.posZ}); + e.heal(10F); + continue; + } + + if(e instanceof EntityCyberCrab) { + ret.add(new double[] {e.posX, e.posY + e.height / 2, e.posZ}); + continue; + } + + if(!(e instanceof EntityPlayer && Library.checkForFaraday((EntityPlayer)e))) + if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size())) + worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F); + + if(e instanceof EntityCreeper) { + ((EntityCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); + } + + if(e instanceof EntityNuclearCreeper) { + ((EntityNuclearCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); + } + + double offset = 0; + + if(source != null && e instanceof EntityPlayer && worldObj.isRemote) + offset = e.height; + + ret.add(new double[] {e.posX, e.posY + e.height / 2 - offset, e.posZ}); + } + + return ret; + } + public void networkUnpack(NBTTagCompound data) { int s = data.getShort("length");