diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 9deff3fb3..c514db62d 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -375,6 +375,8 @@ tile.machine_turbine.name=Dampfturbine container.machineTurbine=Dampfturbine tile.launch_pad.name=Raketenabschussrampe container.launchPad=Raketenabschussrampe +tile.machine_missile_assembly.name=Raketenmontagestation +container.missileAssembly=Raketenmontagestation tile.sat_dock.name=Frachtlandeplattform container.satDock=Frachtlandeplattform tile.book_guide.name=Hbm's Nuclear Tech Mod Handbuch [LEGACY] @@ -1647,6 +1649,32 @@ item.missile_bhole.name=Schwarzes-Loch-Rakete item.missile_schrabidium.name=Schrabidiumrakete item.missile_emp.name=EMP-Rakete +item.mp_c_1.name=Stufe 1 Zielsucher-Schaltkreis +item.mp_c_2.name=Stufe 2 Zielsucher-Schaltkreis +item.mp_c_3.name=Stufe 3 Zielsucher-Schaltkreis +item.mp_c_4.name=Stufe 4 Zielsucher-Schaltkreis +item.mp_c_5.name=Stufe 5 Zielsucher-Schaltkreis +item.mp_warhead_10_he.name=Größe 10 HE-Sprengkopf +item.mp_warhead_10_incendiary.name=Größe 10 Brandsprengkopf +item.mp_warhead_10_buster.name=Größe 10 Bunkerbrechender Sprengkopf +item.mp_warhead_10_nuclear.name=Größe 10 Atomsprengkopf +item.mp_fuselage_10_kerosene.name=Größe 10 Kerosintank +item.mp_fuselage_10_solid.name=Größe 10 Festbrennstofftank +item.mp_fuselage_10_xenon.name=Größe 10 Xenontank +item.mp_fuselage_10_15_kerosene.name=Größe 10/15 Kerosintank +item.mp_fuselage_10_15_solid.name=Größe 10/15 Festbrennstofftank +item.mp_fuselage_10_15_hydrogen.name=Größe 10/15 Wasserstofftank +item.mp_fuselage_10_15_balefire.name=Größe 10/15 BF-Kraftstofftank +item.mp_stability_10_flat.name=Größe 10 Flache Flügel +item.mp_stability_10_cruise.name=Größe 10 Cruise-Flügel +item.mp_stability_15_flat.name=Größe 15 Flache Flügel +item.mp_stability_15_thin.name=Größe 15 Dünne Flügel +item.mp_thruster_10_kerosene.name=Größe 10 Flüssigtriebwerk +item.mp_thruster_10_solid.name=Größe 10 Festbrennstofftriebwerk +item.mp_thruster_10_xenon.name=Größe 10 Ionentriebwerk +item.mp_thruster_15_kerosene.name=Größe 15 Flüssigtriebwerk +item.mp_thruster_15_kerosene_dual.name=Größe 15 Flüssigtriebwerk-Zwilling + item.missile_carrier.name=HTR-01 Trägerrakete item.sat_mapper.name=Oberflächen-Abtastungssatellit item.sat_scanner.name=Satellit mit Tiefenscanning-Modul diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 6435c4d94..b5a4bc563 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -375,6 +375,8 @@ tile.machine_turbine.name=Steam Turbine container.machineTurbine=Steam Turbine tile.launch_pad.name=Missile Launch Pad container.launchPad=Missile Launch Pad +tile.machine_missile_assembly.name=Missile Assembly Station +container.missileAssembly=Missile Assembly Station tile.sat_dock.name=Cargo Landing Pad container.satDock=Cargo Landing Pad tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] @@ -1647,6 +1649,32 @@ item.missile_bhole.name=Black Hole Missile item.missile_schrabidium.name=Schrabidium Missile item.missile_emp.name=EMP Missile +item.mp_c_1.name=Tier 1 Missile Targeting Circuit +item.mp_c_2.name=Tier 2 Missile Targeting Circuit +item.mp_c_3.name=Tier 3 Missile Targeting Circuit +item.mp_c_4.name=Tier 4 Missile Targeting Circuit +item.mp_c_5.name=Tier 5 Missile Targeting Circuit +item.mp_warhead_10_he.name=Size 10 HE Warhead +item.mp_warhead_10_incendiary.name=Size 10 Incendiary Warhead +item.mp_warhead_10_buster.name=Size 10 Bunker Buster Warhead +item.mp_warhead_10_nuclear.name=Size 10 Nuclear Warhead +item.mp_fuselage_10_kerosene.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_solid.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_xenon.name=Size 10 Xenon Fuselage +item.mp_fuselage_10_15_kerosene.name=Size 10/15 Kerosene Fuselage +item.mp_fuselage_10_15_solid.name=Size 10/15 Solid Fuel Fuselage +item.mp_fuselage_10_15_hydrogen.name=Size 10/15 Hydrogen Fuselage +item.mp_fuselage_10_15_balefire.name=Size 10/15 BF Fuselage +item.mp_stability_10_flat.name=Size 10 Flat Fins +item.mp_stability_10_cruise.name=Size 10 Cruise Fins +item.mp_stability_15_flat.name=Size 15 Flat Fins +item.mp_stability_15_thin.name=Size 15 Thin Fins +item.mp_thruster_10_kerosene.name=Size 10 Liquid Fuel Thruster +item.mp_thruster_10_solid.name=Size 10 Solid Fuel Thruster +item.mp_thruster_10_xenon.name=Size 10 Ion Thruster +item.mp_thruster_15_kerosene.name=Size 15 Liquid Fuel Thruster +item.mp_thruster_15_kerosene_dual.name=Size 15 Liquid Fuel Twin Thrusters + item.missile_carrier.name=HTR-01 Carrier Rocket item.sat_mapper.name=Surface Mapping Satellite item.sat_scanner.name=Satellite with Depth-Resource Scanning Module diff --git a/assets/hbm/models/missile_assembly.obj b/assets/hbm/models/missile_assembly.obj new file mode 100644 index 000000000..f03472210 --- /dev/null +++ b/assets/hbm/models/missile_assembly.obj @@ -0,0 +1,83 @@ +# Blender v2.76 (sub 0) OBJ File: 'missile_assembly.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.250000 0.500000 +v -0.500000 0.250000 -0.500000 +v 0.500000 0.250000 0.500000 +v 0.500000 0.250000 -0.500000 +v -0.500000 0.750000 0.500000 +v -0.500000 0.750000 -0.500000 +v 0.500000 0.750000 0.500000 +v 0.500000 0.750000 -0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.250000 +vt -0.000000 0.250000 +vt 0.500000 0.000000 +vt 0.750000 -0.000000 +vt 0.750000 0.250000 +vt 0.500000 0.250000 +vt 1.000000 0.000000 +vt 0.250000 0.312500 +vt 0.000000 0.312500 +vt 0.500000 0.312500 +vt 1.000000 0.250000 +vt 1.000000 0.312500 +vt 0.750000 0.312500 +vt 0.750000 0.500000 +vt 0.750000 0.437500 +vt 1.000000 0.437500 +vt 0.000000 0.500000 +vt 0.000000 0.437500 +vt 0.250000 0.437500 +vt 0.250000 0.500000 +vt 0.500000 0.437500 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 1.000000 0.500000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn -1.000000 0.000000 0.000000 +s off +f 12/1/1 10/2/1 9/3/1 +f 3/2/2 7/1/2 5/4/2 +f 8/5/1 4/6/1 2/7/1 +f 14/6/2 16/5/2 15/8/2 +f 11/9/3 5/2/3 7/7/3 +f 9/10/4 1/3/4 5/2/4 +f 12/11/5 7/7/5 3/6/5 +f 1/12/6 9/13/6 10/14/6 +f 4/15/6 14/16/6 13/17/6 +f 2/18/4 13/19/4 15/20/4 +f 6/21/3 15/20/3 16/22/3 +f 8/23/5 16/22/5 14/16/5 +f 10/14/6 9/13/6 13/17/6 +f 15/20/4 13/19/4 9/10/4 +f 16/22/3 15/20/3 11/9/3 +f 14/16/5 16/22/5 12/11/5 +f 11/24/1 12/1/1 9/3/1 +f 1/7/2 3/2/2 5/4/2 +f 6/4/1 8/5/1 2/7/1 +f 13/12/2 14/6/2 15/8/2 +f 12/11/3 11/9/3 7/7/3 +f 11/9/4 9/10/4 5/2/4 +f 10/14/5 12/11/5 3/6/5 +f 3/6/6 1/12/6 10/14/6 +f 2/25/6 4/15/6 13/17/6 +f 6/21/4 2/18/4 15/20/4 +f 8/23/3 6/21/3 16/22/3 +f 4/15/5 8/23/5 14/16/5 +f 14/16/6 10/14/6 13/17/6 +f 11/9/4 15/20/4 9/10/4 +f 12/11/3 16/22/3 11/9/3 +f 10/14/5 14/16/5 12/11/5 diff --git a/assets/hbm/models/missile_parts/mp_f_10_15_kerosene.obj b/assets/hbm/models/missile_parts/mp_f_10_15_kerosene.obj new file mode 100644 index 000000000..b9ca35558 --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_f_10_15_kerosene.obj @@ -0,0 +1,247 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_f_10_15.blend' +# www.blender.org +o Cylinder.001 +v 0.000000 5.500000 -0.500000 +v 0.000000 9.000000 -0.500000 +v 0.250000 5.500000 -0.433013 +v 0.250000 9.000000 -0.433013 +v 0.433013 5.500000 -0.250000 +v 0.433013 9.000000 -0.250000 +v 0.500000 5.500000 0.000000 +v 0.500000 9.000000 0.000000 +v 0.433013 5.500000 0.250000 +v 0.433013 9.000000 0.250000 +v 0.250000 5.500000 0.433013 +v 0.250000 9.000000 0.433013 +v 0.000000 5.500000 0.500000 +v 0.000000 9.000000 0.500000 +v -0.250000 5.500000 0.433013 +v -0.250000 9.000000 0.433013 +v -0.433013 5.500000 0.250000 +v -0.433013 9.000000 0.250000 +v -0.500000 5.500000 0.000000 +v -0.500000 9.000000 0.000000 +v -0.433013 5.500000 -0.250000 +v -0.433013 9.000000 -0.250000 +v -0.250000 5.500000 -0.433012 +v -0.250000 9.000000 -0.433012 +v 0.000000 4.500000 -0.750000 +v 0.375000 4.500000 -0.649519 +v 0.649519 4.500000 -0.375000 +v 0.750000 4.500000 -0.000000 +v 0.649519 4.500000 0.375000 +v 0.375000 4.500000 0.649519 +v 0.000000 4.500000 0.750000 +v -0.375000 4.500000 0.649519 +v -0.649519 4.500000 0.375000 +v -0.750000 4.500000 0.000000 +v -0.649519 4.500000 -0.375000 +v -0.375000 4.500000 -0.649519 +v -0.000000 0.000000 -0.750000 +v 0.375000 0.000000 -0.649519 +v 0.649519 0.000000 -0.375000 +v 0.750000 0.000000 -0.000000 +v 0.649519 0.000000 0.375000 +v 0.375000 0.000000 0.649519 +v 0.000000 0.000000 0.750000 +v -0.375000 0.000000 0.649519 +v -0.649519 0.000000 0.375000 +v -0.750000 0.000000 0.000000 +v -0.649519 0.000000 -0.375000 +v -0.375001 0.000000 -0.649519 +vt 0.321429 1.000000 +vt 0.285714 1.000000 +vt 0.285714 0.523810 +vt 0.250000 1.000000 +vt 0.250000 0.523810 +vt 0.214286 1.000000 +vt 0.214286 0.523810 +vt 0.178571 1.000000 +vt 0.178571 0.523810 +vt 0.142857 1.000000 +vt 0.142857 0.523810 +vt 0.107143 1.000000 +vt 0.107143 0.523810 +vt 0.071429 1.000000 +vt 0.071429 0.523810 +vt 0.035714 1.000000 +vt 0.035714 0.523810 +vt -0.000000 1.000000 +vt -0.000000 0.523810 +vt 0.428571 1.000000 +vt 0.392857 1.000000 +vt 0.392857 0.523810 +vt 0.434524 0.166667 +vt 0.517857 0.214286 +vt 0.517857 0.166667 +vt 0.357143 1.000000 +vt 0.321429 0.523810 +vt 0.357143 0.523810 +vt 0.178571 0.428571 +vt 0.214286 0.428571 +vt 0.250000 0.428571 +vt 0.250000 -0.000000 +vt 0.285714 -0.000000 +vt 0.321429 0.428571 +vt 0.357143 0.428571 +vt 0.285714 0.428571 +vt 0.392857 0.428571 +vt 0.428571 0.428571 +vt 0.000000 0.428571 +vt 0.035714 0.428571 +vt 0.071429 0.428571 +vt 0.107143 0.428571 +vt 0.142857 0.428571 +vt 0.440476 0.035714 +vt 0.440476 0.107143 +vt 0.559524 0.107143 +vt 0.000000 0.000000 +vt 0.035714 0.000000 +vt 0.107143 0.000000 +vt 0.142857 0.000000 +vt 0.214286 -0.000000 +vt 0.392857 0.000000 +vt 0.071429 0.000000 +vt 0.178571 -0.000000 +vt 0.357143 -0.000000 +vt 0.321429 -0.000000 +vt 0.428571 0.523810 +vt 0.500000 0.148810 +vt 0.476190 0.142857 +vt 0.452381 0.148810 +vt 0.428571 0.190476 +vt 0.434524 0.214286 +vt 0.452381 0.232143 +vt 0.476190 0.238095 +vt 0.500000 0.232143 +vt 0.523810 0.190476 +vt 0.571429 0.071429 +vt 0.559524 0.035714 +vt 0.535714 0.011905 +vt 0.500000 -0.000000 +vt 0.464286 0.011905 +vt 0.428571 0.071429 +vt 0.464286 0.130952 +vt 0.500000 0.142857 +vt 0.535714 0.130952 +vt 0.428571 0.000000 +vn 0.258800 0.000000 -0.965900 +vn 0.707100 0.000000 -0.707100 +vn 0.965900 0.000000 -0.258800 +vn 0.965900 0.000000 0.258800 +vn 0.707100 0.000000 0.707100 +vn 0.258800 0.000000 0.965900 +vn -0.258800 0.000000 0.965900 +vn -0.707100 0.000000 0.707100 +vn -0.965900 0.000000 0.258800 +vn -0.965900 0.000000 -0.258800 +vn 0.000000 1.000000 -0.000000 +vn -0.258800 0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.938900 0.234700 0.251600 +vn -0.251600 0.234700 -0.938900 +vn 0.251600 0.234700 -0.938900 +vn 0.938900 0.234700 -0.251600 +vn -0.687400 0.234700 -0.687300 +vn 0.687400 0.234700 -0.687300 +vn -0.938900 0.234700 -0.251600 +vn -0.938900 0.234700 0.251600 +vn -0.687300 0.234700 0.687400 +vn -0.251600 0.234700 0.938900 +vn 0.251600 0.234700 0.938900 +vn 0.687300 0.234700 0.687300 +vn 0.000000 -1.000000 0.000000 +vn 0.687400 0.234700 0.687300 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/4/3 8/6/3 7/7/3 +f 8/6/4 10/8/4 9/9/4 +f 10/8/5 12/10/5 11/11/5 +f 12/10/6 14/12/6 13/13/6 +f 14/12/7 16/14/7 15/15/7 +f 16/14/8 18/16/8 17/17/8 +f 18/16/9 20/18/9 19/19/9 +f 20/20/10 22/21/10 21/22/10 +f 22/23/11 10/24/11 6/25/11 +f 24/26/12 2/1/12 1/27/12 +f 22/21/13 24/26/13 23/28/13 +f 9/9/14 29/29/14 28/30/14 +f 27/31/2 39/32/2 38/33/2 +f 1/27/15 25/34/15 36/35/15 +f 1/27/16 3/3/16 26/36/16 +f 5/5/17 7/7/17 28/30/17 +f 23/28/18 36/35/18 35/37/18 +f 5/5/19 27/31/19 26/36/19 +f 21/22/20 35/37/20 34/38/20 +f 19/19/21 34/39/21 33/40/21 +f 17/17/22 33/40/22 32/41/22 +f 13/13/23 15/15/23 32/41/23 +f 13/13/24 31/42/24 30/43/24 +f 11/11/25 30/43/25 29/29/25 +f 42/44/26 44/45/26 48/46/26 +f 34/39/9 46/47/9 45/48/9 +f 31/42/6 43/49/6 42/50/6 +f 28/30/3 40/51/3 39/32/3 +f 34/38/10 35/37/10 47/52/10 +f 32/41/7 44/53/7 43/49/7 +f 29/29/4 41/54/4 40/51/4 +f 36/35/13 48/55/13 47/52/13 +f 26/36/1 38/33/1 37/56/1 +f 33/40/8 45/48/8 44/53/8 +f 30/43/5 42/50/5 41/54/5 +f 25/34/12 37/56/12 48/55/12 +f 1/27/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/5/3 6/4/3 7/7/3 +f 7/7/4 8/6/4 9/9/4 +f 9/9/5 10/8/5 11/11/5 +f 11/11/6 12/10/6 13/13/6 +f 13/13/7 14/12/7 15/15/7 +f 15/15/8 16/14/8 17/17/8 +f 17/17/9 18/16/9 19/19/9 +f 19/57/10 20/20/10 21/22/10 +f 6/25/11 4/58/11 2/59/11 +f 2/59/11 24/60/11 22/23/11 +f 22/23/11 20/61/11 18/62/11 +f 18/62/11 16/63/11 22/23/11 +f 14/64/11 12/65/11 10/24/11 +f 10/24/11 8/66/11 6/25/11 +f 6/25/11 2/59/11 22/23/11 +f 22/23/11 16/63/11 14/64/11 +f 14/64/11 10/24/11 22/23/11 +f 23/28/12 24/26/12 1/27/12 +f 21/22/13 22/21/13 23/28/13 +f 7/7/14 9/9/14 28/30/14 +f 26/36/2 27/31/2 38/33/2 +f 23/28/15 1/27/15 36/35/15 +f 25/34/16 1/27/16 26/36/16 +f 27/31/17 5/5/17 28/30/17 +f 21/22/18 23/28/18 35/37/18 +f 3/3/19 5/5/19 26/36/19 +f 19/57/20 21/22/20 34/38/20 +f 17/17/21 19/19/21 33/40/21 +f 15/15/22 17/17/22 32/41/22 +f 31/42/23 13/13/23 32/41/23 +f 11/11/24 13/13/24 30/43/24 +f 9/9/27 11/11/27 29/29/27 +f 48/46/26 37/67/26 38/68/26 +f 38/68/26 39/69/26 40/70/26 +f 40/70/26 41/71/26 42/44/26 +f 42/44/26 43/72/26 44/45/26 +f 44/45/26 45/73/26 46/74/26 +f 46/74/26 47/75/26 48/46/26 +f 48/46/26 38/68/26 40/70/26 +f 40/70/26 42/44/26 48/46/26 +f 44/45/26 46/74/26 48/46/26 +f 33/40/9 34/39/9 45/48/9 +f 30/43/6 31/42/6 42/50/6 +f 27/31/3 28/30/3 39/32/3 +f 46/76/10 34/38/10 47/52/10 +f 31/42/7 32/41/7 43/49/7 +f 28/30/4 29/29/4 40/51/4 +f 35/37/13 36/35/13 47/52/13 +f 25/34/1 26/36/1 37/56/1 +f 32/41/8 33/40/8 44/53/8 +f 29/29/5 30/43/5 41/54/5 +f 36/35/12 25/34/12 48/55/12 diff --git a/assets/hbm/models/missile_parts/mp_s_15.obj b/assets/hbm/models/missile_parts/mp_s_15.obj deleted file mode 100644 index 7d6a5f5aa..000000000 --- a/assets/hbm/models/missile_parts/mp_s_15.obj +++ /dev/null @@ -1,54 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'mp_s_15.blend' -# www.blender.org -o Cube -v 0.093750 1.000000 -1.406250 -v 0.093750 1.000000 1.406250 -v -0.093750 1.000000 1.406250 -v -0.093750 1.000000 -1.406250 -v 0.093750 2.500000 -1.125000 -v 0.093750 2.500000 1.125001 -v -0.093750 2.500000 1.125000 -v -0.093750 2.500000 -1.125000 -v -1.406250 1.000000 -0.093750 -v 1.406250 1.000000 -0.093750 -v 1.406250 1.000000 0.093750 -v -1.406250 1.000000 0.093750 -v -1.125000 2.500000 -0.093750 -v 1.125001 2.500000 -0.093750 -v 1.125000 2.500000 0.093750 -v -1.125000 2.500000 0.093750 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -0.000000 0.184300 0.982900 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.184300 -0.982900 -vn 0.000000 0.000000 -1.000000 -vn 0.982900 0.184300 0.000000 -vn -0.000000 -0.000000 1.000000 -vn -0.982900 0.184300 -0.000000 -s off -f 1//1 2//1 3//1 -f 5//2 8//2 7//2 -f 5//3 6//3 2//3 -f 6//4 7//4 3//4 -f 7//5 8//5 4//5 -f 1//6 4//6 8//6 -f 9//1 10//1 11//1 -f 13//2 16//2 15//2 -f 13//7 14//7 10//7 -f 14//8 15//8 11//8 -f 11//9 15//9 16//9 -f 9//10 12//10 16//10 -f 4//1 1//1 3//1 -f 6//2 5//2 7//2 -f 1//3 5//3 2//3 -f 2//4 6//4 3//4 -f 3//5 7//5 4//5 -f 5//6 1//6 8//6 -f 12//1 9//1 11//1 -f 14//2 13//2 15//2 -f 9//7 13//7 10//7 -f 10//8 14//8 11//8 -f 12//9 11//9 16//9 -f 13//10 9//10 16//10 diff --git a/assets/hbm/models/missile_parts/mp_s_15_flat.obj b/assets/hbm/models/missile_parts/mp_s_15_flat.obj new file mode 100644 index 000000000..897656c38 --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_s_15_flat.obj @@ -0,0 +1,164 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_s_15_flat.blend' +# www.blender.org +o Cube_Cube.001 +v -0.062500 0.500000 0.750000 +v -0.062500 2.500000 0.750000 +v -0.062500 0.500000 -0.750000 +v -0.062500 2.500000 -0.750000 +v 0.062500 0.500000 0.750000 +v 0.062500 2.500000 0.750000 +v 0.062500 0.500000 -0.750000 +v 0.062500 2.500000 -0.750000 +v 0.750000 0.500000 0.062500 +v 0.750000 2.500000 0.062500 +v -0.750000 0.500000 0.062500 +v -0.750000 2.500000 0.062500 +v 0.750000 0.500000 -0.062500 +v 0.750000 2.500000 -0.062500 +v -0.750000 0.500000 -0.062500 +v -0.750000 2.500000 -0.062500 +v -0.062500 1.500000 -1.250000 +v 0.062500 1.500000 -1.250000 +v 0.062500 0.500000 -1.250000 +v -0.062500 0.500000 -1.250000 +v 0.062500 1.500000 1.250000 +v -0.062500 1.500000 1.250000 +v -0.062500 0.500000 1.250000 +v 0.062500 0.500000 1.250000 +v 1.250000 1.500000 -0.062500 +v 1.250000 1.500000 0.062500 +v 1.250000 0.500000 0.062500 +v 1.250000 0.500000 -0.062500 +v -1.250000 1.500000 0.062500 +v -1.250000 1.500000 -0.062500 +v -1.250000 0.500000 -0.062500 +v -1.250000 0.500000 0.062500 +v -0.062500 0.500000 0.687500 +v -0.062500 2.500000 0.687500 +v 0.062500 2.500000 0.687500 +v 0.062500 0.500000 0.687500 +v 0.687500 0.500000 0.062500 +v 0.687500 2.500000 0.062500 +v 0.687500 2.500000 -0.062500 +v 0.687500 0.500000 -0.062500 +v -0.062500 0.500000 -0.687500 +v 0.062500 0.500000 -0.687500 +v 0.062500 2.500000 -0.687500 +v -0.062500 2.500000 -0.687500 +v -0.687500 0.500000 -0.062500 +v -0.687500 2.500000 -0.062500 +v -0.687500 2.500000 0.062500 +v -0.687500 0.500000 0.062500 +vt 0.000000 0.470588 +vt 0.000000 0.000000 +vt 0.058824 0.000000 +vt 0.058824 0.470588 +vt 0.058824 0.941176 +vt 0.411765 0.000000 +vt 0.647059 0.000000 +vt 0.647059 0.470588 +vt -0.000000 1.000000 +vt -0.000000 0.941176 +vt 0.235294 0.941176 +vt 0.294118 0.000000 +vt 0.382353 0.941176 +vt 0.323529 0.941176 +vt 0.323529 0.000000 +vt 0.382353 0.000000 +vt 0.294118 0.941176 +vt 0.294118 1.000000 +vt 0.264706 1.000000 +vt 0.264706 0.941176 +vt 0.235294 1.000000 +vt 0.411765 0.941176 +vn 0.000000 0.000000 -1.000000 +vn 0.000000 0.447200 -0.894400 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.447200 0.894400 +vn 0.894400 0.447200 0.000000 +vn -0.894400 0.447200 0.000000 +vn 0.000000 1.000000 0.000000 +s off +f 18/1/1 19/2/1 20/3/1 +f 18/1/2 17/4/2 4/5/2 +f 7/6/3 19/7/3 18/8/3 +f 20/9/4 19/10/4 7/11/4 +f 17/4/5 20/3/5 3/12/5 +f 22/1/6 23/2/6 24/3/6 +f 22/1/7 21/4/7 6/5/7 +f 1/6/5 23/7/5 22/8/5 +f 24/9/4 23/10/4 1/11/4 +f 21/4/3 24/3/3 5/12/3 +f 26/1/3 27/2/3 28/3/3 +f 26/1/8 25/4/8 14/5/8 +f 9/6/6 27/7/6 26/8/6 +f 28/9/4 27/10/4 9/11/4 +f 25/4/1 28/3/1 13/12/1 +f 30/1/5 31/2/5 32/3/5 +f 30/1/9 29/4/9 12/5/9 +f 15/6/1 31/7/1 30/8/1 +f 32/9/4 31/10/4 15/11/4 +f 29/4/6 32/3/6 11/12/6 +f 34/13/1 35/14/1 36/15/1 +f 34/13/5 33/16/5 1/6/5 +f 35/17/10 34/18/10 2/19/10 +f 36/15/3 35/14/3 6/17/3 +f 33/20/4 36/19/4 5/21/4 +f 38/13/5 39/14/5 40/15/5 +f 38/13/6 37/16/6 9/6/6 +f 39/17/10 38/18/10 10/19/10 +f 40/15/1 39/14/1 14/17/1 +f 37/20/4 40/19/4 13/21/4 +f 42/16/6 43/13/6 44/14/6 +f 42/20/4 41/19/4 3/21/4 +f 43/13/3 42/16/3 7/6/3 +f 44/19/10 43/20/10 8/17/10 +f 41/15/5 44/14/5 4/17/5 +f 46/13/3 47/14/3 48/15/3 +f 46/13/1 45/16/1 15/6/1 +f 47/19/10 46/20/10 16/17/10 +f 48/15/6 47/14/6 12/17/6 +f 45/20/4 48/19/4 11/21/4 +f 17/4/1 18/1/1 20/3/1 +f 8/10/2 18/1/2 4/5/2 +f 8/22/3 7/6/3 18/8/3 +f 3/21/4 20/9/4 7/11/4 +f 4/17/5 17/4/5 3/12/5 +f 21/4/6 22/1/6 24/3/6 +f 2/10/7 22/1/7 6/5/7 +f 2/22/5 1/6/5 22/8/5 +f 5/21/4 24/9/4 1/11/4 +f 6/17/3 21/4/3 5/12/3 +f 25/4/3 26/1/3 28/3/3 +f 10/10/8 26/1/8 14/5/8 +f 10/22/6 9/6/6 26/8/6 +f 13/21/4 28/9/4 9/11/4 +f 14/17/1 25/4/1 13/12/1 +f 29/4/5 30/1/5 32/3/5 +f 16/10/9 30/1/9 12/5/9 +f 16/22/1 15/6/1 30/8/1 +f 11/21/4 32/9/4 15/11/4 +f 12/17/6 29/4/6 11/12/6 +f 33/16/1 34/13/1 36/15/1 +f 2/22/5 34/13/5 1/6/5 +f 6/20/10 35/17/10 2/19/10 +f 5/12/3 36/15/3 6/17/3 +f 1/11/4 33/20/4 5/21/4 +f 37/16/5 38/13/5 40/15/5 +f 10/22/6 38/13/6 9/6/6 +f 14/20/10 39/17/10 10/19/10 +f 13/12/1 40/15/1 14/17/1 +f 9/11/4 37/20/4 13/21/4 +f 41/15/6 42/16/6 44/14/6 +f 7/11/4 42/20/4 3/21/4 +f 8/22/3 43/13/3 7/6/3 +f 4/18/10 44/19/10 8/17/10 +f 3/12/5 41/15/5 4/17/5 +f 45/16/3 46/13/3 48/15/3 +f 16/22/1 46/13/1 15/6/1 +f 12/18/10 47/19/10 16/17/10 +f 11/12/6 48/15/6 12/17/6 +f 15/11/4 45/20/4 11/21/4 diff --git a/assets/hbm/models/missile_parts/mp_s_15_thin.obj b/assets/hbm/models/missile_parts/mp_s_15_thin.obj new file mode 100644 index 000000000..c610ff8ad --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_s_15_thin.obj @@ -0,0 +1,146 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_s_15_thin.blend' +# www.blender.org +o Cube_Cube.001 +v -0.031250 1.000000 0.750000 +v -0.031250 3.000000 0.750000 +v -0.031250 1.000000 -0.750000 +v -0.031250 3.000000 -0.750000 +v 0.031250 1.000000 0.750000 +v 0.031250 3.000000 0.750000 +v 0.031250 1.000000 -0.750000 +v 0.031250 3.000000 -0.750000 +v 0.750000 1.000000 0.031250 +v 0.750000 3.000000 0.031250 +v -0.750000 1.000000 0.031250 +v -0.750000 3.000000 0.031250 +v 0.750000 1.000000 -0.031250 +v 0.750000 3.000000 -0.031250 +v -0.750000 1.000000 -0.031250 +v -0.750000 3.000000 -0.031250 +v -0.031250 2.500000 -1.250000 +v 0.031250 2.500000 -1.250000 +v 0.031250 1.000000 -1.500000 +v -0.031250 1.000000 -1.500000 +v 0.031250 2.500000 1.250000 +v -0.031250 2.500000 1.250000 +v -0.031250 1.000000 1.500000 +v 0.031250 1.000000 1.500000 +v 1.250000 2.500000 -0.031250 +v 1.250000 2.500000 0.031250 +v 1.500000 1.000000 0.031250 +v 1.500000 1.000000 -0.031250 +v -1.250000 2.500000 0.031250 +v -1.250000 2.500000 -0.031250 +v -1.500000 1.000000 -0.031250 +v -1.500000 1.000000 0.031250 +v -0.031250 1.000000 0.687500 +v -0.031250 3.000000 0.687500 +v 0.031250 3.000000 0.687500 +v 0.031250 1.000000 0.687500 +v 0.687500 1.000000 0.031250 +v 0.687500 3.000000 0.031250 +v 0.687500 3.000000 -0.031250 +v 0.687500 1.000000 -0.031250 +v -0.031250 1.000000 -0.687500 +v 0.031250 1.000000 -0.687500 +v 0.031250 3.000000 -0.687500 +v -0.031250 3.000000 -0.687500 +v -0.687500 1.000000 -0.031250 +v -0.687500 3.000000 -0.031250 +v -0.687500 3.000000 0.031250 +v -0.687500 1.000000 0.031250 +vn 0.000000 0.164400 -0.986400 +vn 0.000000 0.707100 -0.707100 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.164400 0.986400 +vn 0.000000 0.707100 0.707100 +vn 0.986400 0.164400 0.000000 +vn 0.707100 0.707100 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn -0.986400 0.164400 0.000000 +vn -0.707100 0.707100 0.000000 +vn 0.000000 1.000000 0.000000 +s off +f 18//1 19//1 20//1 +f 18//2 17//2 4//2 +f 7//3 19//3 18//3 +f 20//4 19//4 7//4 +f 17//5 20//5 3//5 +f 22//6 23//6 24//6 +f 22//7 21//7 6//7 +f 1//5 23//5 22//5 +f 24//4 23//4 1//4 +f 21//3 24//3 5//3 +f 26//8 27//8 28//8 +f 26//9 25//9 14//9 +f 9//10 27//10 26//10 +f 28//4 27//4 9//4 +f 25//11 28//11 13//11 +f 30//12 31//12 32//12 +f 30//13 29//13 12//13 +f 15//11 31//11 30//11 +f 32//4 31//4 15//4 +f 29//10 32//10 11//10 +f 34//11 35//11 36//11 +f 34//5 33//5 1//5 +f 35//14 34//14 2//14 +f 36//3 35//3 6//3 +f 33//4 36//4 5//4 +f 38//5 39//5 40//5 +f 38//10 37//10 9//10 +f 39//14 38//14 10//14 +f 40//11 39//11 14//11 +f 37//4 40//4 13//4 +f 42//10 43//10 44//10 +f 42//4 41//4 3//4 +f 43//3 42//3 7//3 +f 44//14 43//14 8//14 +f 41//5 44//5 4//5 +f 46//3 47//3 48//3 +f 46//11 45//11 15//11 +f 47//14 46//14 16//14 +f 48//10 47//10 12//10 +f 45//4 48//4 11//4 +f 17//1 18//1 20//1 +f 8//2 18//2 4//2 +f 8//3 7//3 18//3 +f 3//4 20//4 7//4 +f 4//5 17//5 3//5 +f 21//6 22//6 24//6 +f 2//7 22//7 6//7 +f 2//5 1//5 22//5 +f 5//4 24//4 1//4 +f 6//3 21//3 5//3 +f 25//8 26//8 28//8 +f 10//9 26//9 14//9 +f 10//10 9//10 26//10 +f 13//4 28//4 9//4 +f 14//11 25//11 13//11 +f 29//12 30//12 32//12 +f 16//13 30//13 12//13 +f 16//11 15//11 30//11 +f 11//4 32//4 15//4 +f 12//10 29//10 11//10 +f 33//11 34//11 36//11 +f 2//5 34//5 1//5 +f 6//14 35//14 2//14 +f 5//3 36//3 6//3 +f 1//4 33//4 5//4 +f 37//5 38//5 40//5 +f 10//10 38//10 9//10 +f 14//14 39//14 10//14 +f 13//11 40//11 14//11 +f 9//4 37//4 13//4 +f 41//10 42//10 44//10 +f 7//4 42//4 3//4 +f 8//3 43//3 7//3 +f 4//14 44//14 8//14 +f 3//5 41//5 4//5 +f 45//3 46//3 48//3 +f 16//11 46//11 15//11 +f 12//14 47//14 16//14 +f 11//10 48//10 12//10 +f 15//4 45//4 11//4 diff --git a/assets/hbm/models/missile_parts/mp_t_10_xenon.obj b/assets/hbm/models/missile_parts/mp_t_10_xenon.obj new file mode 100644 index 000000000..80f071fbb --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_t_10_xenon.obj @@ -0,0 +1,436 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_t_10_xenon.blend' +# www.blender.org +o Cylinder +v -0.000000 0.250000 -0.375000 +v 0.000000 0.500000 -0.500000 +v 0.187500 0.250000 -0.324760 +v 0.250000 0.500000 -0.433013 +v 0.324760 0.250000 -0.187500 +v 0.433013 0.500000 -0.250000 +v 0.375000 0.250000 0.000000 +v 0.500000 0.500000 0.000000 +v 0.324760 0.250000 0.187500 +v 0.433013 0.500000 0.250000 +v 0.187500 0.250000 0.324760 +v 0.250000 0.500000 0.433013 +v 0.000000 0.250000 0.375000 +v 0.000000 0.500000 0.500000 +v -0.187500 0.250000 0.324760 +v -0.250000 0.500000 0.433013 +v -0.324759 0.250000 0.187500 +v -0.433013 0.500000 0.250000 +v -0.375000 0.250000 0.000000 +v -0.500000 0.500000 0.000000 +v -0.324760 0.250000 -0.187500 +v -0.433013 0.500000 -0.250000 +v -0.187500 0.250000 -0.324759 +v -0.250000 0.500000 -0.433013 +v 0.000000 0.000000 -0.375000 +v 0.187500 0.000000 -0.324760 +v 0.324760 0.000000 -0.187500 +v 0.375000 0.000000 0.000000 +v 0.324760 0.000000 0.187500 +v 0.187500 0.000000 0.324760 +v 0.000000 0.000000 0.375000 +v -0.187500 0.000000 0.324760 +v -0.324759 0.000000 0.187500 +v -0.375000 0.000000 0.000000 +v -0.324760 0.000000 -0.187500 +v -0.187500 0.000000 -0.324759 +v -0.000000 0.000000 -0.325000 +v 0.162500 0.000000 -0.281458 +v 0.281458 0.000000 -0.162500 +v 0.325000 0.000000 0.000000 +v 0.281458 0.000000 0.162500 +v 0.162500 0.000000 0.281458 +v 0.000000 0.000000 0.325000 +v -0.162500 0.000000 0.281458 +v -0.281458 0.000000 0.162500 +v -0.325000 0.000000 0.000000 +v -0.281458 0.000000 -0.162500 +v -0.162500 0.000000 -0.281458 +v -0.000000 0.000000 -0.175000 +v 0.087500 0.000000 -0.151554 +v 0.151554 0.000000 -0.087500 +v 0.175000 0.000000 0.000000 +v 0.151554 0.000000 0.087500 +v 0.087500 0.000000 0.151554 +v 0.000000 0.000000 0.175000 +v -0.087500 0.000000 0.151554 +v -0.151554 0.000000 0.087500 +v -0.175000 0.000000 0.000000 +v -0.151554 0.000000 -0.087500 +v -0.087500 0.000000 -0.151554 +v 0.162500 0.050000 -0.281458 +v -0.000000 0.050000 -0.325000 +v 0.281458 0.050000 -0.162500 +v 0.325000 0.050000 0.000000 +v 0.281458 0.050000 0.162500 +v 0.162500 0.050000 0.281458 +v 0.000000 0.050000 0.325000 +v -0.162500 0.050000 0.281458 +v -0.281458 0.050000 0.162500 +v -0.325000 0.050000 0.000000 +v -0.281458 0.050000 -0.162500 +v -0.162500 0.050000 -0.281458 +v 0.087500 0.050000 -0.151554 +v -0.000000 0.050000 -0.175000 +v 0.151554 0.050000 -0.087500 +v 0.175000 0.050000 0.000000 +v 0.151554 0.050000 0.087500 +v 0.087500 0.050000 0.151554 +v 0.000000 0.050000 0.175000 +v -0.087500 0.050000 0.151554 +v -0.151554 0.050000 0.087500 +v -0.175000 0.050000 0.000000 +v -0.151554 0.050000 -0.087500 +v -0.087500 0.050000 -0.151554 +vt 0.750000 0.083333 +vt 0.666667 0.083333 +vt 0.666667 0.000000 +vt 0.583333 0.083333 +vt 0.583333 -0.000000 +vt 0.500000 0.083333 +vt 0.500000 -0.000000 +vt 0.416667 0.083333 +vt 0.333333 0.083333 +vt 0.333333 -0.000000 +vt 0.250000 0.083333 +vt 0.250000 0.000000 +vt 0.166667 0.083333 +vt 0.083333 0.083333 +vt 0.083333 0.000000 +vt 0.000000 0.083333 +vt 0.000000 -0.000000 +vt 1.000000 0.083333 +vt 0.916667 0.083333 +vt 0.916667 0.000000 +vt 0.020833 0.250000 +vt 0.166667 0.500000 +vt 0.312500 0.250000 +vt 0.833333 0.083333 +vt 0.750000 -0.000000 +vt 0.833333 0.000000 +vt 0.625000 0.166667 +vt 0.625000 0.083333 +vt 0.687500 0.083333 +vt 0.437500 0.166667 +vt 0.437500 0.083333 +vt 0.687500 0.166667 +vt 0.000000 0.166667 +vt 0.062500 0.083333 +vt 0.062500 0.166667 +vt 0.125000 0.083333 +vt 0.125000 0.166667 +vt 0.187500 0.083333 +vt 0.187500 0.166667 +vt 0.250000 0.166667 +vt 0.312500 0.083333 +vt 0.312500 0.166667 +vt 0.375000 0.083333 +vt 0.562500 0.166667 +vt 0.562500 0.083333 +vt 0.500000 0.166667 +vt 0.375000 0.166667 +vt 0.395833 0.395833 +vt 0.354167 0.354167 +vt 0.375000 0.354167 +vt 0.333333 0.291667 +vt 0.354167 0.291667 +vt 0.354167 0.229167 +vt 0.375000 0.229167 +vt 0.395833 0.187500 +vt 0.395833 0.208333 +vt 0.458333 0.166667 +vt 0.458333 0.187500 +vt 0.520833 0.187500 +vt 0.520833 0.208333 +vt 0.562500 0.229167 +vt 0.541667 0.229167 +vt 0.583333 0.291667 +vt 0.562500 0.291667 +vt 0.562500 0.354167 +vt 0.541667 0.354167 +vt 0.520833 0.395833 +vt 0.520833 0.375000 +vt 0.458333 0.416667 +vt 0.458333 0.395833 +vt 0.395833 0.375000 +vt 0.250000 0.104167 +vt 0.125000 0.520833 +vt 0.125000 0.500000 +vt 0.416667 0.520833 +vt 0.416667 0.500000 +vt 0.458333 0.500000 +vt 0.312500 0.104167 +vt 0.625000 0.104167 +vt 0.500000 0.291667 +vt 0.416667 0.291667 +vt 0.437500 0.333333 +vt 0.375000 0.520833 +vt 0.375000 0.500000 +vt 0.375000 0.104167 +vt 0.687500 0.104167 +vt 0.333333 0.520833 +vt 0.333333 0.500000 +vt 0.437500 0.104167 +vt 0.000000 0.104167 +vt 0.291667 0.520833 +vt 0.291667 0.500000 +vt 0.770833 0.250000 +vt 0.812500 0.208333 +vt 0.833333 0.229167 +vt 0.750000 0.187500 +vt 0.812500 0.187500 +vt 0.770833 0.125000 +vt 0.812500 0.166667 +vt 0.791667 0.104167 +vt 0.833333 0.145833 +vt 0.854167 0.083333 +vt 0.854167 0.145833 +vt 0.916667 0.104167 +vt 0.875000 0.145833 +vt 0.937500 0.125000 +vt 0.895833 0.166667 +vt 0.958333 0.187500 +vt 0.895833 0.187500 +vt 0.937500 0.250000 +vt 0.895833 0.208333 +vt 0.916667 0.270833 +vt 0.875000 0.229167 +vt 0.854167 0.291667 +vt 0.854167 0.229167 +vt 0.791667 0.270833 +vt 0.458333 0.520833 +vt 0.500000 0.500000 +vt 0.166667 0.520833 +vt 0.208333 0.500000 +vt 0.187500 0.104167 +vt -0.000000 0.520833 +vt -0.000000 0.500000 +vt 0.041667 0.500000 +vt 0.208333 0.520833 +vt 0.250000 0.500000 +vt 0.125000 0.104167 +vt 0.041667 0.520833 +vt 0.083333 0.500000 +vt 0.562500 0.104167 +vt 0.250000 0.520833 +vt 0.062500 0.104167 +vt 0.083333 0.520833 +vt 0.500000 0.104167 +vt 0.416667 -0.000000 +vt 0.166667 0.000000 +vt 1.000000 -0.000000 +vt 0.250000 0.187500 +vt 0.166667 0.166667 +vt 0.083333 0.187500 +vt -0.000000 0.333333 +vt 0.020833 0.416667 +vt 0.083333 0.479167 +vt 0.250000 0.479167 +vt 0.312500 0.416667 +vt 0.333333 0.333333 +vt 0.750000 0.166667 +vt 0.458333 0.333333 +vt 0.479167 0.333333 +vt 0.500000 0.312500 +vt 0.500000 0.270833 +vt 0.479167 0.250000 +vt 0.458333 0.250000 +vt 0.437500 0.250000 +vt 0.416667 0.270833 +vt 0.416667 0.312500 +vt 0.750000 0.104167 +vt 0.500000 0.520833 +vn 0.233100 -0.434900 -0.869800 +vn 0.636700 -0.434900 -0.636700 +vn 0.869800 -0.434900 -0.233100 +vn 0.869800 -0.434900 0.233100 +vn 0.636700 -0.434900 0.636700 +vn 0.233100 -0.434900 0.869800 +vn -0.233100 -0.434900 0.869800 +vn -0.636700 -0.434900 0.636700 +vn -0.869800 -0.434900 0.233100 +vn -0.869800 -0.434900 -0.233100 +vn 0.000000 1.000000 0.000000 +vn -0.233100 -0.434900 -0.869800 +vn -0.636700 -0.434900 -0.636700 +vn -0.707100 0.000000 -0.707100 +vn 0.707100 0.000000 -0.707100 +vn -0.965900 0.000000 -0.258800 +vn -0.965900 0.000000 0.258800 +vn -0.707100 0.000000 0.707100 +vn -0.258800 0.000000 0.965900 +vn 0.258800 0.000000 0.965900 +vn 0.707100 0.000000 0.707100 +vn 0.965900 0.000000 0.258800 +vn -0.258800 0.000000 -0.965900 +vn 0.258800 0.000000 -0.965900 +vn 0.965900 0.000000 -0.258800 +vn 0.000000 -1.000000 0.000000 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 5/5/3 6/4/3 8/6/3 +f 7/7/4 8/6/4 10/8/4 +f 10/8/5 12/9/5 11/10/5 +f 12/9/6 14/11/6 13/12/6 +f 13/12/7 14/11/7 16/13/7 +f 16/13/8 18/14/8 17/15/8 +f 18/14/9 20/16/9 19/17/9 +f 20/18/10 22/19/10 21/20/10 +f 22/21/11 14/22/11 6/23/11 +f 24/24/12 2/1/12 1/25/12 +f 22/19/13 24/24/13 23/26/13 +f 23/27/14 36/28/14 35/29/14 +f 5/30/15 27/31/15 26/6/15 +f 21/32/16 35/29/16 34/1/16 +f 19/33/17 34/16/17 33/34/17 +f 17/35/18 33/34/18 32/36/18 +f 15/37/19 32/36/19 31/38/19 +f 13/39/20 31/38/20 30/11/20 +f 11/40/21 30/11/21 29/41/21 +f 9/42/22 29/41/22 28/43/22 +f 1/44/23 25/45/23 36/28/23 +f 3/46/24 26/6/24 25/45/24 +f 7/47/25 28/43/25 27/31/25 +f 32/48/26 33/49/26 45/50/26 +f 33/49/26 34/51/26 46/52/26 +f 35/53/26 47/54/26 46/52/26 +f 36/55/26 48/56/26 47/54/26 +f 25/57/26 37/58/26 48/56/26 +f 25/57/26 26/59/26 38/60/26 +f 26/59/26 27/61/26 39/62/26 +f 27/61/26 28/63/26 40/64/26 +f 29/65/26 41/66/26 40/64/26 +f 30/67/26 42/68/26 41/66/26 +f 31/69/26 43/70/26 42/68/26 +f 32/48/26 44/71/26 43/70/26 +f 43/72/23 67/11/23 66/41/23 +f 49/73/24 74/74/24 73/22/24 +f 56/75/18 80/76/18 81/77/18 +f 42/78/14 66/41/14 65/43/14 +f 37/79/20 62/28/20 72/29/20 +f 53/80/26 59/81/26 49/82/26 +f 55/83/19 79/84/19 80/76/19 +f 41/85/16 65/43/16 64/31/16 +f 48/86/21 72/29/21 71/1/21 +f 54/87/20 78/88/20 79/84/20 +f 40/89/17 64/31/17 63/6/17 +f 47/90/22 71/16/22 70/34/22 +f 53/91/21 77/92/21 78/88/21 +f 69/93/26 81/94/26 80/95/26 +f 69/93/26 70/96/26 82/97/26 +f 71/98/26 83/99/26 82/97/26 +f 72/100/26 84/101/26 83/99/26 +f 62/102/26 74/103/26 84/101/26 +f 61/104/26 73/105/26 74/103/26 +f 61/104/26 63/106/26 75/107/26 +f 64/108/26 76/109/26 75/107/26 +f 65/110/26 77/111/26 76/109/26 +f 66/112/26 78/113/26 77/111/26 +f 67/114/26 79/115/26 78/113/26 +f 68/116/26 80/95/26 79/115/26 +f 57/117/17 81/77/17 82/118/17 +f 50/119/15 73/22/15 75/120/15 +f 44/121/24 68/38/24 67/11/24 +f 58/122/16 82/123/16 83/124/16 +f 51/125/25 75/120/25 76/126/25 +f 45/127/15 69/36/15 68/38/15 +f 59/128/14 83/124/14 84/129/14 +f 38/130/19 61/45/19 62/28/19 +f 52/131/22 76/126/22 77/92/22 +f 46/132/25 70/34/25 69/36/25 +f 60/133/23 84/129/23 74/74/23 +f 39/134/18 63/6/18 61/45/18 +f 1/25/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 7/7/3 5/5/3 8/6/3 +f 9/135/4 7/7/4 10/8/4 +f 9/135/5 10/8/5 11/10/5 +f 11/10/6 12/9/6 13/12/6 +f 15/136/7 13/12/7 16/13/7 +f 15/136/8 16/13/8 17/15/8 +f 17/15/9 18/14/9 19/17/9 +f 19/137/10 20/18/10 21/20/10 +f 6/23/11 4/138/11 2/139/11 +f 2/139/11 24/140/11 22/21/11 +f 22/21/11 20/141/11 18/142/11 +f 18/142/11 16/143/11 14/22/11 +f 14/22/11 12/144/11 10/145/11 +f 10/145/11 8/146/11 6/23/11 +f 6/23/11 2/139/11 22/21/11 +f 22/21/11 18/142/11 14/22/11 +f 14/22/11 10/145/11 6/23/11 +f 23/26/12 24/24/12 1/25/12 +f 21/20/13 22/19/13 23/26/13 +f 21/32/14 23/27/14 35/29/14 +f 3/46/15 5/30/15 26/6/15 +f 19/147/16 21/32/16 34/1/16 +f 17/35/17 19/33/17 33/34/17 +f 15/37/18 17/35/18 32/36/18 +f 13/39/19 15/37/19 31/38/19 +f 11/40/20 13/39/20 30/11/20 +f 9/42/21 11/40/21 29/41/21 +f 7/47/22 9/42/22 28/43/22 +f 23/27/23 1/44/23 36/28/23 +f 1/44/24 3/46/24 25/45/24 +f 5/30/25 7/47/25 27/31/25 +f 44/71/26 32/48/26 45/50/26 +f 45/50/26 33/49/26 46/52/26 +f 34/51/26 35/53/26 46/52/26 +f 35/53/26 36/55/26 47/54/26 +f 36/55/26 25/57/26 48/56/26 +f 37/58/26 25/57/26 38/60/26 +f 38/60/26 26/59/26 39/62/26 +f 39/62/26 27/61/26 40/64/26 +f 28/63/26 29/65/26 40/64/26 +f 29/65/26 30/67/26 41/66/26 +f 30/67/26 31/69/26 42/68/26 +f 31/69/26 32/48/26 43/70/26 +f 42/78/23 43/72/23 66/41/23 +f 50/119/24 49/73/24 73/22/24 +f 57/117/18 56/75/18 81/77/18 +f 41/85/14 42/78/14 65/43/14 +f 48/86/20 37/79/20 72/29/20 +f 49/82/26 50/148/26 53/80/26 +f 51/149/26 52/150/26 53/80/26 +f 53/80/26 54/151/26 55/152/26 +f 55/152/26 56/153/26 53/80/26 +f 57/154/26 58/155/26 59/81/26 +f 59/81/26 60/156/26 49/82/26 +f 50/148/26 51/149/26 53/80/26 +f 53/80/26 56/153/26 57/154/26 +f 57/154/26 59/81/26 53/80/26 +f 56/75/19 55/83/19 80/76/19 +f 40/89/16 41/85/16 64/31/16 +f 47/157/21 48/86/21 71/1/21 +f 55/83/20 54/87/20 79/84/20 +f 39/134/17 40/89/17 63/6/17 +f 46/132/22 47/90/22 70/34/22 +f 54/87/21 53/91/21 78/88/21 +f 68/116/26 69/93/26 80/95/26 +f 81/94/26 69/93/26 82/97/26 +f 70/96/26 71/98/26 82/97/26 +f 71/98/26 72/100/26 83/99/26 +f 72/100/26 62/102/26 84/101/26 +f 62/102/26 61/104/26 74/103/26 +f 73/105/26 61/104/26 75/107/26 +f 63/106/26 64/108/26 75/107/26 +f 64/108/26 65/110/26 76/109/26 +f 65/110/26 66/112/26 77/111/26 +f 66/112/26 67/114/26 78/113/26 +f 67/114/26 68/116/26 79/115/26 +f 58/158/17 57/117/17 82/118/17 +f 51/125/15 50/119/15 75/120/15 +f 43/72/24 44/121/24 67/11/24 +f 59/128/16 58/122/16 83/124/16 +f 52/131/25 51/125/25 76/126/25 +f 44/121/15 45/127/15 68/38/15 +f 60/133/14 59/128/14 84/129/14 +f 37/79/19 38/130/19 62/28/19 +f 53/91/22 52/131/22 77/92/22 +f 45/127/25 46/132/25 69/36/25 +f 49/73/23 60/133/23 74/74/23 +f 38/130/18 39/134/18 61/45/18 diff --git a/assets/hbm/models/missile_parts/mp_t_15_kerosene.obj b/assets/hbm/models/missile_parts/mp_t_15_kerosene.obj new file mode 100644 index 000000000..f3b6ca2cc --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_t_15_kerosene.obj @@ -0,0 +1,357 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_t_15_kerosene.blend' +# www.blender.org +o Cylinder +v -0.000000 1.250000 -0.637500 +v 0.000000 1.500000 -0.750000 +v 0.318750 1.250000 -0.552091 +v 0.375000 1.500000 -0.649519 +v 0.552091 1.250000 -0.318750 +v 0.649519 1.500000 -0.375000 +v 0.637500 1.250000 0.000000 +v 0.750000 1.500000 0.000000 +v 0.552091 1.250000 0.318750 +v 0.649519 1.500000 0.375000 +v 0.318750 1.250000 0.552091 +v 0.375000 1.500000 0.649519 +v 0.000000 1.250000 0.637500 +v 0.000000 1.500000 0.750000 +v -0.318750 1.250000 0.552091 +v -0.375000 1.500000 0.649519 +v -0.552091 1.250000 0.318750 +v -0.649519 1.500000 0.375000 +v -0.637500 1.250000 0.000000 +v -0.750000 1.500000 0.000000 +v -0.552091 1.250000 -0.318750 +v -0.649519 1.500000 -0.375000 +v -0.318750 1.250000 -0.552091 +v -0.375000 1.500000 -0.649519 +v -0.253125 0.625000 -0.438425 +v -0.438425 0.625000 -0.253125 +v -0.506250 0.625000 0.000000 +v -0.438425 0.625000 0.253125 +v -0.253125 0.625000 0.438425 +v 0.000000 0.625000 0.506250 +v 0.253125 0.625000 0.438425 +v 0.438425 0.625000 0.253125 +v 0.506250 0.625000 0.000000 +v 0.438425 0.625000 -0.253125 +v 0.253125 0.625000 -0.438425 +v -0.000000 0.625000 -0.506250 +v -0.000000 1.125000 -0.281250 +v -0.140625 1.125000 -0.243569 +v -0.243570 1.125000 -0.140625 +v -0.281250 1.125000 0.000000 +v -0.243570 1.125000 0.140625 +v -0.140625 1.125000 0.243570 +v -0.000000 1.125000 0.281250 +v 0.140625 1.125000 0.243570 +v 0.243569 1.125000 0.140625 +v 0.281250 1.125000 0.000000 +v 0.243569 1.125000 -0.140625 +v 0.140625 1.125000 -0.243570 +v 0.000000 0.000000 -0.562500 +v -0.281250 0.000000 -0.487139 +v -0.487139 0.000000 -0.281250 +v -0.562500 0.000000 0.000000 +v -0.487139 0.000000 0.281250 +v -0.281250 0.000000 0.487139 +v 0.000000 0.000000 0.562500 +v 0.281250 0.000000 0.487139 +v 0.487139 0.000000 0.281250 +v 0.562500 0.000000 0.000000 +v 0.487139 0.000000 -0.281250 +v 0.281250 0.000000 -0.487139 +v 0.000000 0.000000 -0.421875 +v -0.210938 0.000000 -0.365354 +v -0.365355 0.000000 -0.210937 +v -0.421875 0.000000 0.000000 +v -0.365354 0.000000 0.210938 +v -0.210937 0.000000 0.365355 +v 0.000000 0.000000 0.421875 +v 0.210938 0.000000 0.365354 +v 0.365354 0.000000 0.210938 +v 0.421875 0.000000 0.000000 +v 0.365354 0.000000 -0.210937 +v 0.210938 0.000000 -0.365354 +v -0.000000 1.000000 -0.210937 +v -0.105469 1.000000 -0.182677 +v -0.182677 1.000000 -0.105469 +v -0.210938 1.000000 0.000000 +v -0.182677 1.000000 0.105469 +v -0.105469 1.000000 0.182677 +v -0.000000 1.000000 0.210938 +v 0.105469 1.000000 0.182677 +v 0.182677 1.000000 0.105469 +v 0.210937 1.000000 0.000000 +v 0.182677 1.000000 -0.105469 +v 0.105469 1.000000 -0.182677 +v -0.000000 1.250000 -0.431250 +v 0.215625 1.250000 -0.373473 +v 0.373473 1.250000 -0.215625 +v 0.431250 1.250000 0.000000 +v 0.373473 1.250000 0.215625 +v 0.215625 1.250000 0.373473 +v 0.000000 1.250000 0.431250 +v -0.215625 1.250000 0.373474 +v -0.373473 1.250000 0.215625 +v -0.431250 1.250000 0.000000 +v -0.373474 1.250000 -0.215625 +v -0.215625 1.250000 -0.373473 +v 0.187500 1.125000 -0.324759 +v -0.000000 1.125000 -0.375000 +v 0.324760 1.125000 -0.187500 +v 0.375000 1.125000 0.000000 +v 0.324759 1.125000 0.187500 +v 0.187500 1.125000 0.324760 +v 0.000000 1.125000 0.375000 +v -0.187500 1.125000 0.324760 +v -0.324759 1.125000 0.187500 +v -0.375000 1.125000 0.000000 +v -0.324760 1.125000 -0.187500 +v -0.187500 1.125000 -0.324759 +vn 0.237400 -0.398600 -0.885900 +vn 0.648500 -0.398600 -0.648500 +vn 0.885900 -0.398600 -0.237400 +vn 0.885900 -0.398600 0.237400 +vn 0.648500 -0.398600 0.648500 +vn 0.237400 -0.398600 0.885900 +vn -0.237400 -0.398600 0.885900 +vn -0.648500 -0.398600 0.648500 +vn -0.885900 -0.398600 0.237400 +vn -0.885900 -0.398600 -0.237400 +vn 0.000000 1.000000 0.000000 +vn -0.237400 -0.398600 -0.885900 +vn -0.648500 -0.398600 -0.648500 +vn 0.000000 -1.000000 0.000000 +vn -0.257800 0.086600 -0.962300 +vn -0.237400 0.398600 -0.885900 +vn 0.648500 0.398600 0.648500 +vn -0.648500 0.398600 0.648500 +vn 0.237400 0.398600 -0.885900 +vn -0.648500 0.398600 -0.648500 +vn 0.885900 0.398600 0.237400 +vn -0.237400 0.398600 0.885900 +vn -0.885900 0.398600 -0.237400 +vn 0.885900 0.398600 -0.237400 +vn 0.237400 0.398600 0.885900 +vn -0.885900 0.398600 0.237400 +vn 0.648500 0.398600 -0.648500 +vn 0.704400 0.086600 0.704400 +vn -0.704400 0.086600 0.704500 +vn 0.257800 0.086600 -0.962300 +vn -0.704500 0.086600 -0.704400 +vn 0.962300 0.086600 0.257800 +vn -0.257800 0.086600 0.962300 +vn -0.962300 0.086600 -0.257800 +vn 0.962300 0.086600 -0.257800 +vn 0.257800 0.086600 0.962300 +vn -0.962300 0.086600 0.257800 +vn 0.704500 0.086600 -0.704400 +vn -0.946500 -0.199600 -0.253600 +vn 0.253600 -0.199600 -0.946500 +vn 0.946500 -0.199600 0.253600 +vn -0.946500 -0.199600 0.253600 +vn -0.253600 -0.199600 -0.946500 +vn 0.946500 -0.199600 -0.253600 +vn -0.692900 -0.199600 0.692900 +vn 0.253600 -0.199600 0.946500 +vn -0.692900 -0.199600 -0.692900 +vn 0.692900 -0.199600 -0.692900 +vn -0.253600 -0.199600 0.946500 +vn 0.692900 -0.199600 0.692900 +vn -0.704400 0.086600 0.704400 +s off +f 1//1 2//1 4//1 +f 4//2 6//2 5//2 +f 5//3 6//3 8//3 +f 8//4 10//4 9//4 +f 10//5 12//5 11//5 +f 11//6 12//6 14//6 +f 14//7 16//7 15//7 +f 16//8 18//8 17//8 +f 18//9 20//9 19//9 +f 20//10 22//10 21//10 +f 22//11 14//11 6//11 +f 24//12 2//12 1//12 +f 22//13 24//13 23//13 +f 7//14 19//14 23//14 +f 36//15 49//15 50//15 +f 55//14 54//14 66//14 +f 25//16 38//16 37//16 +f 31//17 32//17 45//17 +f 28//18 29//18 42//18 +f 36//19 37//19 48//19 +f 26//20 39//20 38//20 +f 32//21 33//21 46//21 +f 30//22 43//22 42//22 +f 27//23 40//23 39//23 +f 34//24 47//24 46//24 +f 30//25 31//25 44//25 +f 28//26 41//26 40//26 +f 35//27 48//27 47//27 +f 31//28 56//28 57//28 +f 28//29 53//29 54//29 +f 36//30 35//30 60//30 +f 25//31 50//31 51//31 +f 32//32 57//32 58//32 +f 29//33 54//33 55//33 +f 26//34 51//34 52//34 +f 33//35 58//35 59//35 +f 30//36 55//36 56//36 +f 27//37 52//37 53//37 +f 34//38 59//38 60//38 +f 69//39 81//39 82//39 +f 52//14 51//14 63//14 +f 59//14 58//14 70//14 +f 55//14 67//14 68//14 +f 52//14 64//14 65//14 +f 59//14 71//14 72//14 +f 49//14 61//14 62//14 +f 56//14 68//14 69//14 +f 53//14 65//14 66//14 +f 60//14 72//14 61//14 +f 51//14 50//14 62//14 +f 57//14 69//14 70//14 +f 81//14 77//14 73//14 +f 66//40 78//40 79//40 +f 63//41 75//41 76//41 +f 70//42 82//42 83//42 +f 68//43 67//43 79//43 +f 64//44 76//44 77//44 +f 71//45 83//45 84//45 +f 62//46 61//46 73//46 +f 69//47 68//47 80//47 +f 66//48 65//48 77//48 +f 72//49 84//49 73//49 +f 63//50 62//50 74//50 +f 95//11 91//11 87//11 +f 101//14 105//14 98//14 +f 87//2 99//2 97//2 +f 93//9 94//9 106//9 +f 91//6 103//6 102//6 +f 88//3 100//3 99//3 +f 94//10 95//10 107//10 +f 92//7 104//7 103//7 +f 88//4 89//4 101//4 +f 95//13 96//13 108//13 +f 85//1 86//1 97//1 +f 92//8 93//8 105//8 +f 89//5 90//5 102//5 +f 85//12 98//12 108//12 +f 3//1 1//1 4//1 +f 3//2 4//2 5//2 +f 7//3 5//3 8//3 +f 7//4 8//4 9//4 +f 9//5 10//5 11//5 +f 13//6 11//6 14//6 +f 13//7 14//7 15//7 +f 15//8 16//8 17//8 +f 17//9 18//9 19//9 +f 19//10 20//10 21//10 +f 6//11 4//11 22//11 +f 2//11 24//11 22//11 +f 22//11 20//11 18//11 +f 18//11 16//11 22//11 +f 14//11 12//11 10//11 +f 10//11 8//11 14//11 +f 4//11 2//11 22//11 +f 22//11 16//11 14//11 +f 14//11 8//11 6//11 +f 23//12 24//12 1//12 +f 21//13 22//13 23//13 +f 23//14 1//14 7//14 +f 3//14 5//14 7//14 +f 7//14 9//14 15//14 +f 11//14 13//14 15//14 +f 15//14 17//14 19//14 +f 19//14 21//14 23//14 +f 1//14 3//14 7//14 +f 9//14 11//14 15//14 +f 15//14 19//14 7//14 +f 25//15 36//15 50//15 +f 67//14 55//14 66//14 +f 36//16 25//16 37//16 +f 44//17 31//17 45//17 +f 41//18 28//18 42//18 +f 35//19 36//19 48//19 +f 25//20 26//20 38//20 +f 45//21 32//21 46//21 +f 29//22 30//22 42//22 +f 26//23 27//23 39//23 +f 33//24 34//24 46//24 +f 43//25 30//25 44//25 +f 27//26 28//26 40//26 +f 34//27 35//27 47//27 +f 32//28 31//28 57//28 +f 29//51 28//51 54//51 +f 49//30 36//30 60//30 +f 26//31 25//31 51//31 +f 33//32 32//32 58//32 +f 30//33 29//33 55//33 +f 27//34 26//34 52//34 +f 34//35 33//35 59//35 +f 31//36 30//36 56//36 +f 28//37 27//37 53//37 +f 35//38 34//38 60//38 +f 70//39 69//39 82//39 +f 64//14 52//14 63//14 +f 71//14 59//14 70//14 +f 56//14 55//14 68//14 +f 53//14 52//14 65//14 +f 60//14 59//14 72//14 +f 50//14 49//14 62//14 +f 57//14 56//14 69//14 +f 54//14 53//14 66//14 +f 49//14 60//14 61//14 +f 63//14 51//14 62//14 +f 58//14 57//14 70//14 +f 73//14 84//14 81//14 +f 83//14 82//14 81//14 +f 81//14 80//14 79//14 +f 79//14 78//14 77//14 +f 77//14 76//14 75//14 +f 75//14 74//14 77//14 +f 84//14 83//14 81//14 +f 81//14 79//14 77//14 +f 77//14 74//14 73//14 +f 67//40 66//40 79//40 +f 64//41 63//41 76//41 +f 71//42 70//42 83//42 +f 80//43 68//43 79//43 +f 65//44 64//44 77//44 +f 72//45 71//45 84//45 +f 74//46 62//46 73//46 +f 81//47 69//47 80//47 +f 78//48 66//48 77//48 +f 61//49 72//49 73//49 +f 75//50 63//50 74//50 +f 87//11 86//11 95//11 +f 85//11 96//11 95//11 +f 95//11 94//11 91//11 +f 93//11 92//11 91//11 +f 91//11 90//11 89//11 +f 89//11 88//11 87//11 +f 86//11 85//11 95//11 +f 94//11 93//11 91//11 +f 91//11 89//11 87//11 +f 98//14 97//14 99//14 +f 99//14 100//14 101//14 +f 101//14 102//14 103//14 +f 103//14 104//14 101//14 +f 105//14 106//14 107//14 +f 107//14 108//14 98//14 +f 98//14 99//14 101//14 +f 101//14 104//14 105//14 +f 105//14 107//14 98//14 +f 86//2 87//2 97//2 +f 105//9 93//9 106//9 +f 90//6 91//6 102//6 +f 87//3 88//3 99//3 +f 106//10 94//10 107//10 +f 91//7 92//7 103//7 +f 100//4 88//4 101//4 +f 107//13 95//13 108//13 +f 98//1 85//1 97//1 +f 104//8 92//8 105//8 +f 101//5 89//5 102//5 +f 96//12 85//12 108//12 diff --git a/assets/hbm/models/missile_parts/mp_t_15_kerosene_dual.obj b/assets/hbm/models/missile_parts/mp_t_15_kerosene_dual.obj new file mode 100644 index 000000000..a63e69d1b --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_t_15_kerosene_dual.obj @@ -0,0 +1,637 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_t_15_kerosene_dual.blend' +# www.blender.org +o Cylinder +v -0.000000 0.750000 -0.637500 +v 0.000000 1.000000 -0.750000 +v 0.318750 0.750000 -0.552091 +v 0.375000 1.000000 -0.649519 +v 0.552091 0.750000 -0.318750 +v 0.649519 1.000000 -0.375000 +v 0.637500 0.750000 0.000000 +v 0.750000 1.000000 0.000000 +v 0.552091 0.750000 0.318750 +v 0.649519 1.000000 0.375000 +v 0.318750 0.750000 0.552091 +v 0.375000 1.000000 0.649519 +v 0.000000 0.750000 0.637500 +v 0.000000 1.000000 0.750000 +v -0.318750 0.750000 0.552091 +v -0.375000 1.000000 0.649519 +v -0.552091 0.750000 0.318750 +v -0.649519 1.000000 0.375000 +v -0.637500 0.750000 0.000000 +v -0.750000 1.000000 0.000000 +v -0.552091 0.750000 -0.318750 +v -0.649519 1.000000 -0.375000 +v -0.318750 0.750000 -0.552091 +v -0.375000 1.000000 -0.649519 +v 0.000000 0.400000 -0.626250 +v -0.138125 0.400000 -0.589239 +v -0.239240 0.400000 -0.488125 +v -0.276250 0.400000 -0.350000 +v -0.239239 0.400000 -0.211875 +v -0.138125 0.400000 -0.110760 +v -0.000000 0.400000 -0.073750 +v 0.138125 0.400000 -0.110760 +v 0.239239 0.400000 -0.211875 +v 0.276250 0.400000 -0.350000 +v 0.239240 0.400000 -0.488125 +v 0.138125 0.400000 -0.589239 +v 0.000000 0.400000 0.073750 +v -0.138125 0.400000 0.110761 +v -0.239240 0.400000 0.211875 +v -0.276250 0.400000 0.350000 +v -0.239239 0.400000 0.488125 +v -0.138125 0.400000 0.589240 +v -0.000000 0.400000 0.626250 +v 0.138125 0.400000 0.589240 +v 0.239239 0.400000 0.488125 +v 0.276250 0.400000 0.350000 +v 0.239240 0.400000 0.211875 +v 0.138125 0.400000 0.110761 +v -0.081250 0.750000 -0.490729 +v 0.000000 0.750000 -0.512500 +v -0.140729 0.750000 -0.431250 +v -0.162500 0.750000 -0.350000 +v -0.140729 0.750000 -0.268750 +v -0.081250 0.750000 -0.209271 +v -0.000000 0.750000 -0.187500 +v 0.081250 0.750000 -0.209271 +v 0.140729 0.750000 -0.268750 +v 0.162500 0.750000 -0.350000 +v 0.140729 0.750000 -0.431250 +v 0.081250 0.750000 -0.490729 +v -0.081250 0.750000 0.209271 +v 0.000000 0.750000 0.187500 +v -0.140729 0.750000 0.268750 +v -0.162500 0.750000 0.350000 +v -0.140729 0.750000 0.431250 +v -0.081250 0.750000 0.490729 +v -0.000000 0.750000 0.512500 +v 0.081250 0.750000 0.490729 +v 0.140729 0.750000 0.431250 +v 0.162500 0.750000 0.350000 +v 0.140729 0.750000 0.268750 +v 0.081250 0.750000 0.209271 +v -0.162500 0.000000 -0.631458 +v 0.000000 0.000000 -0.675000 +v -0.281458 0.000000 -0.512500 +v -0.325000 0.000000 -0.350000 +v -0.281458 0.000000 -0.187500 +v -0.162500 0.000000 -0.068542 +v -0.000000 0.000000 -0.025000 +v 0.162500 0.000000 -0.068542 +v 0.281458 0.000000 -0.187500 +v 0.325000 0.000000 -0.350000 +v 0.281458 0.000000 -0.512500 +v 0.162500 0.000000 -0.631458 +v -0.162500 0.000000 0.068542 +v 0.000000 0.000000 0.025000 +v -0.281458 0.000000 0.187500 +v -0.325000 0.000000 0.350000 +v -0.281458 0.000000 0.512500 +v -0.162500 0.000000 0.631458 +v -0.000000 0.000000 0.675000 +v 0.162500 0.000000 0.631458 +v 0.281458 0.000000 0.512500 +v 0.325000 0.000000 0.350000 +v 0.281458 0.000000 0.187500 +v 0.162500 0.000000 0.068542 +v 0.500000 0.750000 -0.062500 +v -0.500000 0.750000 -0.062500 +v 0.500000 0.750000 0.062500 +v -0.500000 0.750000 0.062500 +v 0.375000 0.625000 -0.062500 +v -0.375000 0.625000 -0.062500 +v 0.375000 0.625000 0.062500 +v -0.375000 0.625000 0.062500 +v -0.121875 0.000000 -0.561094 +v 0.000000 0.000000 -0.593750 +v -0.211094 0.000000 -0.471875 +v -0.243750 0.000000 -0.350000 +v -0.211094 0.000000 -0.228125 +v -0.121875 0.000000 -0.138906 +v -0.000000 0.000000 -0.106250 +v 0.121875 0.000000 -0.138906 +v 0.211094 0.000000 -0.228125 +v 0.243750 0.000000 -0.350000 +v 0.211094 0.000000 -0.471875 +v 0.121875 0.000000 -0.561094 +v -0.121875 0.000000 0.138906 +v 0.000000 0.000000 0.106250 +v -0.211094 0.000000 0.228125 +v -0.243750 0.000000 0.350000 +v -0.211094 0.000000 0.471875 +v -0.121875 0.000000 0.561094 +v -0.000000 0.000000 0.593750 +v 0.121875 0.000000 0.561094 +v 0.211094 0.000000 0.471875 +v 0.243750 0.000000 0.350000 +v 0.211094 0.000000 0.228125 +v 0.121875 0.000000 0.138906 +v -0.060937 0.625000 -0.455547 +v 0.000000 0.625000 -0.471875 +v -0.105547 0.625000 -0.410937 +v -0.121875 0.625000 -0.350000 +v -0.105547 0.625000 -0.289062 +v -0.060937 0.625000 -0.244453 +v -0.000000 0.625000 -0.228125 +v 0.060937 0.625000 -0.244453 +v 0.105547 0.625000 -0.289062 +v 0.121875 0.625000 -0.350000 +v 0.105547 0.625000 -0.410937 +v 0.060938 0.625000 -0.455547 +v -0.060937 0.625000 0.244453 +v 0.000000 0.625000 0.228125 +v -0.105547 0.625000 0.289063 +v -0.121875 0.625000 0.350000 +v -0.105547 0.625000 0.410938 +v -0.060937 0.625000 0.455547 +v -0.000000 0.625000 0.471875 +v 0.060937 0.625000 0.455547 +v 0.105547 0.625000 0.410938 +v 0.121875 0.625000 0.350000 +v 0.105547 0.625000 0.289063 +v 0.060938 0.625000 0.244453 +vt 0.750000 0.555556 +vt 0.750000 0.611111 +vt 0.666667 0.611111 +vt 0.666667 0.555556 +vt 0.583333 0.611111 +vt 0.583333 0.555556 +vt 0.500000 0.611111 +vt 0.416667 0.611111 +vt 0.416667 0.555556 +vt 0.333333 0.611111 +vt 0.333333 0.555556 +vt 0.250000 0.611111 +vt 0.166667 0.611111 +vt 0.166667 0.555556 +vt 0.083333 0.611111 +vt 0.000000 0.611111 +vt -0.000000 0.555556 +vt 1.000000 0.611111 +vt 0.916667 0.611111 +vt 0.916667 0.555556 +vt 0.416667 0.222222 +vt 0.555556 0.472222 +vt 0.694444 0.222222 +vt 0.833333 0.611111 +vt 0.833333 0.555556 +vt 0.277778 0.416667 +vt 0.000000 0.416667 +vt 0.069444 0.541667 +vt 0.041667 0.069444 +vt 0.041667 -0.000000 +vt 0.083333 0.000000 +vt 0.333333 0.069444 +vt 0.333333 0.000000 +vt 0.375000 0.000000 +vt 0.069444 0.277778 +vt 0.069444 0.263889 +vt 0.097222 0.250000 +vt 0.027778 0.152778 +vt 0.041667 0.166667 +vt 0.027778 0.180556 +vt 0.375000 0.069444 +vt 0.375000 0.138889 +vt 0.333333 0.138889 +vt 0.083333 0.069444 +vt 0.083333 0.138889 +vt 0.041667 0.138889 +vt 0.208333 0.069444 +vt 0.208333 0.138889 +vt 0.166667 0.138889 +vt 0.416667 0.069444 +vt 0.416667 0.138889 +vt 0.125000 0.069444 +vt 0.125000 0.138889 +vt 0.250000 0.069444 +vt 0.250000 0.138889 +vt 0.458333 0.069444 +vt 0.458333 0.138889 +vt 0.166667 0.069444 +vt 0.291667 0.069444 +vt 0.291667 0.138889 +vt 0.500000 0.069444 +vt 0.500000 0.138889 +vt 0.000000 0.138889 +vt 0.166667 0.000000 +vt 0.208333 -0.000000 +vt 0.416667 0.000000 +vt 0.125000 0.000000 +vt 0.250000 0.000000 +vt 0.458333 0.000000 +vt 0.500000 -0.000000 +vt 0.291667 0.000000 +vt 0.000000 0.069444 +vt 0.000000 0.000000 +vt 0.138889 0.194444 +vt 0.305556 0.194444 +vt 0.305556 0.222222 +vt 0.361111 0.166667 +vt 0.388889 0.166667 +vt 0.388889 0.194444 +vt 0.138889 0.166667 +vt 0.361111 0.138889 +vt 0.361111 0.194444 +vt 0.333333 0.166667 +vt 0.166667 0.166667 +vt 0.694444 -0.000000 +vt 0.694444 0.138889 +vt 0.666667 0.138889 +vt 0.750000 0.000000 +vt 0.777778 0.000000 +vt 0.777778 0.138889 +vt 0.138889 0.208333 +vt 0.125000 0.208333 +vt 0.111111 0.180556 +vt -0.000000 0.208333 +vt 0.013889 0.166667 +vt 0.111111 0.263889 +vt 0.111111 0.236111 +vt 0.125000 0.166667 +vt 0.097222 0.166667 +vt 0.069444 0.138889 +vt 0.069444 0.152778 +vt 0.013889 0.208333 +vt 0.027778 0.236111 +vt 0.125000 0.250000 +vt 0.111111 0.152778 +vt 0.027778 0.263889 +vt 0.013889 0.250000 +vt 0.041667 0.250000 +vt 0.180556 0.277778 +vt 0.138889 0.250000 +vt 0.180556 0.222222 +vt 0.555556 0.000000 +vt 0.555556 0.138889 +vt 0.527778 0.138889 +vt 0.750000 0.138889 +vt 0.722222 0.138889 +vt 0.666667 -0.000000 +vt 0.638889 0.138889 +vt 0.527778 -0.000000 +vt 0.722222 0.000000 +vt 0.638889 -0.000000 +vt 0.611111 0.138889 +vt 0.583333 -0.000000 +vt 0.583333 0.138889 +vt 0.833333 -0.000000 +vt 0.833333 0.138889 +vt 0.805556 0.138889 +vt 0.611111 0.000000 +vt 0.805556 -0.000000 +vt 0.500000 0.555556 +vt 0.250000 0.555556 +vt 0.083333 0.555556 +vt 1.000000 0.555556 +vt 0.638889 0.166667 +vt 0.472222 0.166667 +vt 0.388889 0.305556 +vt 0.416667 0.388889 +vt 0.472222 0.444444 +vt 0.638889 0.444444 +vt 0.694444 0.388889 +vt 0.722222 0.305556 +vt 0.138889 0.555556 +vt 0.208333 0.541667 +vt 0.263889 0.486111 +vt 0.263889 0.347222 +vt 0.069444 0.291667 +vt 0.208333 0.291667 +vt 0.138889 0.277778 +vt 0.013889 0.347222 +vt 0.013889 0.486111 +vt 0.138889 0.222222 +vt 0.388889 0.138889 +vt 0.194444 0.236111 +vt 0.194444 0.250000 +vt 0.194444 0.263889 +vt 0.166667 0.277778 +vt 0.152778 0.277778 +vt 0.138889 0.263889 +vt 0.138889 0.236111 +vt 0.152778 0.222222 +vt 0.166667 0.222222 +vn 0.237400 -0.398600 -0.885900 +vn 0.648500 -0.398600 -0.648500 +vn 0.885900 -0.398600 -0.237400 +vn 0.885900 -0.398600 0.237400 +vn 0.648500 -0.398600 0.648500 +vn 0.237400 -0.398600 0.885900 +vn -0.237400 -0.398600 0.885900 +vn -0.648500 -0.398600 0.648500 +vn -0.885900 -0.398600 0.237400 +vn -0.885900 -0.398600 -0.237400 +vn 0.000000 1.000000 0.000000 +vn -0.237400 -0.398600 -0.885900 +vn -0.648500 -0.398600 -0.648500 +vn 0.000000 -1.000000 0.000000 +vn -0.702300 0.116900 0.702300 +vn 0.257000 0.116900 -0.959300 +vn 0.246900 0.299500 -0.921600 +vn -0.674600 0.299500 0.674600 +vn 0.674600 0.299500 0.674600 +vn -0.246900 0.299500 -0.921600 +vn -0.246900 0.299500 0.921600 +vn 0.921600 0.299500 0.246900 +vn -0.674600 0.299500 -0.674600 +vn 0.246900 0.299500 0.921600 +vn 0.921600 0.299500 -0.246900 +vn -0.921600 0.299500 -0.246900 +vn 0.674600 0.299500 -0.674600 +vn -0.921600 0.299500 0.246900 +vn 0.702300 0.116900 0.702300 +vn -0.257000 0.116900 -0.959300 +vn -0.257000 0.116900 0.959300 +vn 0.959300 0.116900 0.257000 +vn -0.702300 0.116900 -0.702300 +vn 0.257000 0.116900 0.959300 +vn 0.959300 0.116900 -0.257000 +vn -0.959300 0.116900 -0.257000 +vn 0.702300 0.116900 -0.702300 +vn -0.959300 0.116900 0.257000 +vn -0.707100 -0.707100 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.707100 -0.707100 0.000000 +vn -0.000000 0.000000 -1.000000 +vn -0.949200 -0.185100 -0.254300 +vn 0.254300 -0.185100 -0.949200 +vn 0.694900 -0.185100 0.694900 +vn -0.254300 -0.185100 -0.949200 +vn -0.949200 -0.185100 0.254300 +vn 0.949200 -0.185100 0.254300 +vn -0.694900 -0.185100 -0.694900 +vn -0.694900 -0.185100 0.694900 +vn 0.254300 -0.185100 0.949200 +vn 0.949200 -0.185100 -0.254300 +vn -0.254300 -0.185100 0.949200 +vn 0.694900 -0.185100 -0.694900 +s off +f 1/1/1 2/2/1 4/3/1 +f 3/4/2 4/3/2 6/5/2 +f 5/6/3 6/5/3 8/7/3 +f 8/7/4 10/8/4 9/9/4 +f 10/8/5 12/10/5 11/11/5 +f 11/11/6 12/10/6 14/12/6 +f 14/12/7 16/13/7 15/14/7 +f 15/14/8 16/13/8 18/15/8 +f 18/15/9 20/16/9 19/17/9 +f 20/18/10 22/19/10 21/20/10 +f 22/21/11 14/22/11 6/23/11 +f 24/24/12 2/2/12 1/1/12 +f 22/19/13 24/24/13 23/25/13 +f 7/26/14 19/27/14 23/28/14 +f 29/29/15 77/30/15 78/31/15 +f 36/32/16 84/33/16 74/34/16 +f 79/35/14 111/36/14 112/37/14 +f 85/38/14 117/39/14 119/40/14 +f 25/41/17 50/42/17 60/43/17 +f 30/44/18 54/45/18 53/46/18 +f 45/47/19 69/48/19 68/49/19 +f 38/50/20 61/51/20 62/42/20 +f 31/52/21 55/53/21 54/45/21 +f 45/47/22 46/54/22 70/55/22 +f 39/56/23 63/57/23 61/51/23 +f 31/52/24 32/58/24 56/49/24 +f 47/59/25 71/60/25 70/55/25 +f 40/61/26 64/62/26 63/57/26 +f 32/58/19 33/47/19 57/48/19 +f 47/59/27 48/32/27 72/43/27 +f 25/41/20 26/50/20 49/51/20 +f 41/29/28 65/46/28 64/63/28 +f 33/47/22 34/54/22 58/55/22 +f 37/41/17 62/42/17 72/43/17 +f 26/50/23 27/56/23 51/57/23 +f 42/44/18 66/45/18 65/46/18 +f 34/54/25 35/59/25 59/60/25 +f 28/61/26 52/62/26 51/57/26 +f 42/44/21 43/52/21 67/53/21 +f 35/59/27 36/32/27 60/43/27 +f 29/29/28 53/46/28 52/63/28 +f 43/52/24 44/58/24 68/49/24 +f 44/58/29 92/64/29 93/65/29 +f 37/41/30 86/34/30 85/66/30 +f 30/44/31 78/31/31 79/67/31 +f 45/47/32 93/65/32 94/68/32 +f 39/56/33 38/50/33 85/66/33 +f 31/52/34 79/67/34 80/64/34 +f 47/59/35 46/54/35 94/68/35 +f 39/56/36 87/69/36 88/70/36 +f 32/58/29 80/64/29 81/65/29 +f 47/59/37 95/71/37 96/33/37 +f 25/41/30 74/34/30 73/66/30 +f 40/72/38 88/73/38 89/30/38 +f 33/47/32 81/65/32 82/68/32 +f 48/32/16 96/33/16 86/34/16 +f 27/56/33 26/50/33 73/66/33 +f 42/44/15 41/29/15 89/30/15 +f 35/59/35 34/54/35 82/68/35 +f 27/56/36 75/69/36 76/70/36 +f 43/52/31 42/44/31 90/31/31 +f 36/32/37 35/59/37 83/71/37 +f 29/29/38 28/72/38 76/73/38 +f 43/52/34 91/67/34 92/64/34 +f 102/74/14 101/75/14 103/76/14 +f 98/77/39 102/78/39 104/79/39 +f 100/80/40 104/49/40 103/43/40 +f 99/78/41 103/77/41 101/81/41 +f 97/82/42 101/83/42 102/84/42 +f 125/85/43 149/86/43 150/87/43 +f 111/88/44 110/89/44 134/90/44 +f 94/91/14 126/92/14 127/93/14 +f 88/94/14 87/95/14 119/40/14 +f 80/96/14 112/37/14 113/97/14 +f 95/98/14 127/93/14 128/99/14 +f 74/100/14 106/101/14 105/39/14 +f 88/94/14 120/102/14 121/103/14 +f 81/104/14 113/97/14 114/92/14 +f 96/105/14 128/99/14 118/101/14 +f 73/38/14 105/39/14 107/40/14 +f 90/106/14 89/107/14 121/103/14 +f 83/98/14 82/91/14 114/92/14 +f 75/95/14 107/40/14 108/102/14 +f 90/106/14 122/108/14 123/36/14 +f 84/105/14 83/98/14 115/93/14 +f 76/94/14 108/102/14 109/103/14 +f 91/35/14 123/36/14 124/37/14 +f 74/100/14 84/105/14 116/99/14 +f 77/107/14 109/103/14 110/108/14 +f 92/96/14 124/37/14 125/97/14 +f 86/100/14 118/101/14 117/39/14 +f 78/106/14 110/108/14 111/36/14 +f 93/104/14 125/97/14 126/92/14 +f 139/109/14 135/110/14 131/111/14 +f 151/111/14 147/109/14 143/110/14 +f 117/112/45 141/113/45 143/114/45 +f 111/88/46 135/115/46 136/116/46 +f 126/117/47 150/87/47 151/118/47 +f 119/119/48 143/114/48 144/62/48 +f 113/85/49 112/120/49 136/116/49 +f 127/121/50 151/118/50 152/122/50 +f 106/123/51 130/124/51 129/113/51 +f 120/125/52 144/126/52 145/127/52 +f 113/85/43 137/86/43 138/87/43 +f 128/128/53 152/122/53 142/124/53 +f 107/119/45 105/112/45 129/113/45 +f 121/129/54 145/127/54 146/90/54 +f 115/121/47 114/117/47 138/87/47 +f 107/119/48 131/114/48 132/62/48 +f 122/89/44 146/90/44 147/115/44 +f 115/121/50 139/118/50 140/122/50 +f 108/125/52 132/126/52 133/127/52 +f 123/88/46 147/115/46 148/116/46 +f 116/128/53 140/122/53 130/124/53 +f 109/129/54 133/127/54 134/90/54 +f 124/120/49 148/116/49 149/86/49 +f 118/123/51 142/124/51 141/113/51 +f 3/4/1 1/1/1 4/3/1 +f 5/6/2 3/4/2 6/5/2 +f 7/130/3 5/6/3 8/7/3 +f 7/130/4 8/7/4 9/9/4 +f 9/9/5 10/8/5 11/11/5 +f 13/131/6 11/11/6 14/12/6 +f 13/131/7 14/12/7 15/14/7 +f 17/132/8 15/14/8 18/15/8 +f 17/132/9 18/15/9 19/17/9 +f 19/133/10 20/18/10 21/20/10 +f 6/23/11 4/134/11 22/21/11 +f 2/113/11 24/135/11 22/21/11 +f 22/21/11 20/136/11 18/137/11 +f 18/137/11 16/138/11 14/22/11 +f 14/22/11 12/139/11 10/140/11 +f 10/140/11 8/141/11 14/22/11 +f 4/134/11 2/113/11 22/21/11 +f 22/21/11 18/137/11 14/22/11 +f 14/22/11 8/141/11 6/23/11 +f 23/25/12 24/24/12 1/1/12 +f 21/20/13 22/19/13 23/25/13 +f 23/28/14 1/142/14 7/26/14 +f 3/143/14 5/144/14 7/26/14 +f 7/26/14 9/145/14 15/146/14 +f 11/147/14 13/148/14 15/146/14 +f 15/146/14 17/149/14 19/27/14 +f 19/27/14 21/150/14 23/28/14 +f 1/142/14 3/143/14 7/26/14 +f 9/145/14 11/147/14 15/146/14 +f 15/146/14 19/27/14 7/26/14 +f 30/44/15 29/29/15 78/31/15 +f 25/41/16 36/32/16 74/34/16 +f 80/96/14 79/35/14 112/37/14 +f 87/95/14 85/38/14 119/40/14 +f 36/32/17 25/41/17 60/43/17 +f 29/29/18 30/44/18 53/46/18 +f 44/58/19 45/47/19 68/49/19 +f 37/41/20 38/50/20 62/42/20 +f 30/44/21 31/52/21 54/45/21 +f 69/48/22 45/47/22 70/55/22 +f 38/50/23 39/56/23 61/51/23 +f 55/53/24 31/52/24 56/49/24 +f 46/54/25 47/59/25 70/55/25 +f 39/56/26 40/61/26 63/57/26 +f 56/49/19 32/58/19 57/48/19 +f 71/60/27 47/59/27 72/43/27 +f 50/42/20 25/41/20 49/51/20 +f 40/72/28 41/29/28 64/63/28 +f 57/48/22 33/47/22 58/55/22 +f 48/32/17 37/41/17 72/43/17 +f 49/51/23 26/50/23 51/57/23 +f 41/29/18 42/44/18 65/46/18 +f 58/55/25 34/54/25 59/60/25 +f 27/56/26 28/61/26 51/57/26 +f 66/45/21 42/44/21 67/53/21 +f 59/60/27 35/59/27 60/43/27 +f 28/72/28 29/29/28 52/63/28 +f 67/53/24 43/52/24 68/49/24 +f 45/47/29 44/58/29 93/65/29 +f 38/50/30 37/41/30 85/66/30 +f 31/52/31 30/44/31 79/67/31 +f 46/54/32 45/47/32 94/68/32 +f 87/69/33 39/56/33 85/66/33 +f 32/58/34 31/52/34 80/64/34 +f 95/71/35 47/59/35 94/68/35 +f 40/61/36 39/56/36 88/70/36 +f 33/47/29 32/58/29 81/65/29 +f 48/32/37 47/59/37 96/33/37 +f 26/50/30 25/41/30 73/66/30 +f 41/29/38 40/72/38 89/30/38 +f 34/54/32 33/47/32 82/68/32 +f 37/41/16 48/32/16 86/34/16 +f 75/69/33 27/56/33 73/66/33 +f 90/31/15 42/44/15 89/30/15 +f 83/71/35 35/59/35 82/68/35 +f 28/61/36 27/56/36 76/70/36 +f 91/67/31 43/52/31 90/31/31 +f 84/33/37 36/32/37 83/71/37 +f 77/30/38 29/29/38 76/73/38 +f 44/58/34 43/52/34 92/64/34 +f 104/151/14 102/74/14 103/76/14 +f 100/82/39 98/77/39 104/79/39 +f 99/77/40 100/80/40 103/43/40 +f 97/152/41 99/78/41 101/81/41 +f 98/74/42 97/82/42 102/84/42 +f 126/117/43 125/85/43 150/87/43 +f 135/115/44 111/88/44 134/90/44 +f 95/98/14 94/91/14 127/93/14 +f 120/102/14 88/94/14 119/40/14 +f 81/104/14 80/96/14 113/97/14 +f 96/105/14 95/98/14 128/99/14 +f 73/38/14 74/100/14 105/39/14 +f 89/107/14 88/94/14 121/103/14 +f 82/91/14 81/104/14 114/92/14 +f 86/100/14 96/105/14 118/101/14 +f 75/95/14 73/38/14 107/40/14 +f 122/108/14 90/106/14 121/103/14 +f 115/93/14 83/98/14 114/92/14 +f 76/94/14 75/95/14 108/102/14 +f 91/35/14 90/106/14 123/36/14 +f 116/99/14 84/105/14 115/93/14 +f 77/107/14 76/94/14 109/103/14 +f 92/96/14 91/35/14 124/37/14 +f 106/101/14 74/100/14 116/99/14 +f 78/106/14 77/107/14 110/108/14 +f 93/104/14 92/96/14 125/97/14 +f 85/38/14 86/100/14 117/39/14 +f 79/35/14 78/106/14 111/36/14 +f 94/91/14 93/104/14 126/92/14 +f 131/111/14 129/153/14 130/154/14 +f 130/154/14 140/155/14 131/111/14 +f 139/109/14 138/156/14 137/157/14 +f 137/157/14 136/158/14 135/110/14 +f 135/110/14 134/159/14 133/160/14 +f 133/160/14 132/161/14 131/111/14 +f 131/111/14 140/155/14 139/109/14 +f 139/109/14 137/157/14 135/110/14 +f 135/110/14 133/160/14 131/111/14 +f 143/110/14 141/159/14 142/160/14 +f 142/160/14 152/161/14 151/111/14 +f 151/111/14 150/153/14 149/154/14 +f 149/154/14 148/155/14 151/111/14 +f 147/109/14 146/156/14 145/157/14 +f 145/157/14 144/158/14 147/109/14 +f 143/110/14 142/160/14 151/111/14 +f 151/111/14 148/155/14 147/109/14 +f 147/109/14 144/158/14 143/110/14 +f 119/119/45 117/112/45 143/114/45 +f 112/120/46 111/88/46 136/116/46 +f 127/121/47 126/117/47 151/118/47 +f 120/70/48 119/119/48 144/62/48 +f 137/86/49 113/85/49 136/116/49 +f 128/128/50 127/121/50 152/122/50 +f 105/112/51 106/123/51 129/113/51 +f 121/129/52 120/125/52 145/127/52 +f 114/117/43 113/85/43 138/87/43 +f 118/123/53 128/128/53 142/124/53 +f 131/114/45 107/119/45 129/113/45 +f 122/89/54 121/129/54 146/90/54 +f 139/118/47 115/121/47 138/87/47 +f 108/70/48 107/119/48 132/62/48 +f 123/88/44 122/89/44 147/115/44 +f 116/128/50 115/121/50 140/122/50 +f 109/129/52 108/125/52 133/127/52 +f 124/120/46 123/88/46 148/116/46 +f 106/123/53 116/128/53 130/124/53 +f 110/89/54 109/129/54 134/90/54 +f 125/85/49 124/120/49 149/86/49 +f 117/112/51 118/123/51 141/113/51 diff --git a/assets/hbm/models/missile_parts/mp_w_10_buster.obj b/assets/hbm/models/missile_parts/mp_w_10_buster.obj new file mode 100644 index 000000000..72534a189 --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_w_10_buster.obj @@ -0,0 +1,316 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_w_10_buster.blend' +# www.blender.org +o Circle +v -0.125000 0.500000 -0.216506 +v -0.000000 0.400000 -0.300000 +v -0.216506 0.500000 -0.125000 +v -0.250000 0.500000 0.000000 +v -0.216506 0.500000 0.125000 +v -0.125000 0.500000 0.216506 +v 0.000000 0.500000 0.250000 +v 0.125000 0.500000 0.216506 +v 0.216506 0.500000 0.125000 +v 0.250000 0.500000 0.000000 +v 0.216506 0.500000 -0.125000 +v 0.125000 0.500000 -0.216506 +v -0.000000 0.500000 -0.250000 +v -0.000000 0.400000 -0.325000 +v 0.162500 0.400000 -0.281458 +v 0.281458 0.400000 -0.162500 +v 0.325000 0.400000 0.000000 +v 0.281458 0.400000 0.162500 +v 0.162500 0.400000 0.281458 +v 0.000000 0.400000 0.325000 +v -0.162500 0.400000 0.281458 +v -0.281458 0.400000 0.162500 +v -0.325000 0.400000 0.000000 +v -0.281458 0.400000 -0.162500 +v -0.162500 0.400000 -0.281458 +v 0.150000 0.400000 -0.259808 +v 0.259808 0.400000 -0.150000 +v 0.300000 0.400000 0.000000 +v 0.259808 0.400000 0.150000 +v 0.150000 0.400000 0.259808 +v 0.000000 0.400000 0.300000 +v -0.150000 0.400000 0.259808 +v -0.259808 0.400000 0.150000 +v -0.300000 0.400000 0.000000 +v -0.259808 0.400000 -0.150000 +v -0.150000 0.400000 -0.259808 +v -0.200000 0.250000 -0.346410 +v -0.000000 0.250000 -0.400000 +v -0.346410 0.250000 -0.200000 +v -0.400000 0.250000 0.000000 +v -0.346410 0.250000 0.200000 +v -0.200000 0.250000 0.346410 +v 0.000000 0.250000 0.400000 +v 0.200000 0.250000 0.346410 +v 0.346410 0.250000 0.200000 +v 0.400000 0.250000 0.000000 +v 0.346410 0.250000 -0.200000 +v 0.200000 0.250000 -0.346410 +v -0.250000 0.000000 -0.433013 +v -0.000000 0.000000 -0.500000 +v -0.433013 0.000000 -0.250000 +v -0.500000 0.000000 0.000000 +v -0.433013 0.000000 0.250000 +v -0.250000 0.000000 0.433013 +v 0.000000 0.000000 0.500000 +v 0.250000 0.000000 0.433013 +v 0.433013 0.000000 0.250000 +v 0.500000 0.000000 0.000000 +v 0.433013 0.000000 -0.250000 +v 0.250000 0.000000 -0.433013 +vt 0.625000 0.145833 +vt 0.625000 0.166667 +vt 0.562500 0.166667 +vt 0.375000 0.145833 +vt 0.437500 0.145833 +vt 0.437500 0.166667 +vt 0.062500 0.145833 +vt 0.062500 0.166667 +vt 0.000000 0.166667 +vt 0.375000 0.166667 +vt 0.312500 0.166667 +vt 0.250000 0.145833 +vt 0.250000 0.166667 +vt 0.187500 0.166667 +vt 0.562500 0.145833 +vt 0.500000 0.166667 +vt 0.500000 0.145833 +vt 0.500000 0.083333 +vt 0.562500 0.187500 +vt 0.500000 0.187500 +vt 0.187500 0.145833 +vt 0.125000 0.166667 +vt 0.125000 0.145833 +vt 0.687500 0.145833 +vt 0.687500 0.166667 +vt 0.687500 0.187500 +vt 0.625000 0.187500 +vt 0.750000 0.145833 +vt 0.750000 0.166667 +vt 0.375000 0.187500 +vt 0.312500 0.187500 +vt 0.187500 0.187500 +vt 0.125000 0.187500 +vt 0.750000 0.187500 +vt 0.437500 0.187500 +vt 0.250000 0.187500 +vt -0.000000 0.145833 +vt 0.062500 0.187500 +vt 0.312500 0.145833 +vt 0.020833 0.312500 +vt 0.020833 0.229167 +vt 0.145833 0.229167 +vt 0.250000 0.083333 +vt 0.166667 0.083333 +vt 0.166667 0.000000 +vt 0.187500 0.083333 +vt 0.562500 0.083333 +vt 0.625000 0.083333 +vt 0.312500 0.083333 +vt 0.375000 0.083333 +vt -0.000000 0.083333 +vt 0.062500 0.083333 +vt 0.437500 0.083333 +vt 0.687500 0.083333 +vt 0.125000 0.083333 +vt 0.750000 0.083333 +vt 0.500000 0.354167 +vt 0.250000 0.500000 +vt 0.250000 0.208333 +vt 1.000000 0.083333 +vt 0.916667 0.083333 +vt 0.916667 -0.000000 +vt 0.500000 0.000000 +vt 0.583333 0.000000 +vt 0.333333 0.083333 +vt 0.250000 0.000000 +vt 0.083333 0.083333 +vt 0.000000 -0.000000 +vt 0.666667 0.083333 +vt 0.583333 0.083333 +vt 0.833333 0.083333 +vt 0.750000 0.000000 +vt 0.333333 0.000000 +vt 0.416667 0.000000 +vt 0.083333 0.000000 +vt 0.666667 -0.000000 +vt 0.833333 0.000000 +vt 0.416667 0.083333 +vt -0.000000 0.187500 +vt 0.166667 0.270833 +vt 0.083333 0.354167 +vt 0.145833 0.312500 +vt 0.125000 0.333333 +vt 0.041667 0.333333 +vt -0.000000 0.270833 +vt 0.041667 0.208333 +vt 0.083333 0.187500 +vt 0.125000 0.208333 +vt 0.333333 0.187500 +vt 0.416667 0.208333 +vt 0.479167 0.270833 +vt 0.479167 0.437500 +vt 0.416667 0.500000 +vt 0.333333 0.520833 +vt 0.187500 0.437500 +vt 0.166667 0.354167 +vt 0.187500 0.270833 +vt 1.000000 -0.000000 +vn -0.000000 -1.000000 0.000000 +vn 0.217600 0.541400 -0.812100 +vn 0.209600 0.586700 -0.782200 +vn -0.572600 0.586700 -0.572600 +vn 0.782200 0.586700 0.209600 +vn -0.209600 0.586700 0.782200 +vn -0.782200 0.586700 -0.209600 +vn 0.782200 0.586700 -0.209600 +vn 0.209600 0.586700 0.782200 +vn -0.782200 0.586700 0.209600 +vn 0.572600 0.586700 -0.572600 +vn -0.209600 0.586700 -0.782200 +vn 0.572600 0.586700 0.572600 +vn -0.572600 0.586700 0.572600 +vn 0.000000 1.000000 0.000000 +vn -0.241400 0.360400 0.901000 +vn 0.217600 0.541400 0.812100 +vn -0.217600 0.541400 -0.812100 +vn 0.812100 0.541400 0.217600 +vn -0.812100 0.541400 0.217600 +vn 0.594500 0.541400 -0.594500 +vn -0.594500 0.541400 -0.594500 +vn -0.217600 0.541400 0.812100 +vn 0.594500 0.541400 0.594500 +vn -0.812100 0.541400 -0.217600 +vn 0.812100 0.541400 -0.217600 +vn -0.594500 0.541400 0.594500 +vn -0.901000 0.360400 -0.241400 +vn 0.901000 0.360400 -0.241400 +vn 0.241400 0.360400 0.901000 +vn -0.901000 0.360400 0.241400 +vn 0.659600 0.360400 -0.659600 +vn -0.241400 0.360400 -0.901000 +vn 0.659600 0.360400 0.659600 +vn -0.659600 0.360400 0.659600 +vn 0.241400 0.360400 -0.901000 +vn -0.659600 0.360400 -0.659600 +vn 0.901000 0.360400 0.241400 +s off +f 20/1/1 31/2/1 30/3/1 +f 16/4/1 17/5/1 28/6/1 +f 23/7/1 34/8/1 33/9/1 +f 16/4/1 27/10/1 26/11/1 +f 14/12/1 2/13/1 36/14/1 +f 19/15/1 30/3/1 29/16/1 +f 2/15/2 26/17/2 48/18/2 +f 14/15/3 13/19/3 12/20/3 +f 18/17/1 29/16/1 28/6/1 +f 25/21/1 36/14/1 35/22/1 +f 24/23/1 35/22/1 34/8/1 +f 21/24/1 32/25/1 31/2/1 +f 24/24/4 3/26/4 1/27/4 +f 22/28/1 33/29/1 32/25/1 +f 17/4/5 10/30/5 9/31/5 +f 20/21/6 7/32/6 6/33/6 +f 23/28/7 4/34/7 3/26/7 +f 17/4/8 16/5/8 11/35/8 +f 20/21/9 19/12/9 8/36/9 +f 23/37/10 22/7/10 5/38/10 +f 15/17/11 12/20/11 11/35/11 +f 25/1/12 1/27/12 13/19/12 +f 18/39/13 9/31/13 8/36/13 +f 21/23/14 6/33/14 5/38/14 +f 6/40/15 8/41/15 12/42/15 +f 15/39/1 26/11/1 2/13/1 +f 43/43/16 42/44/16 54/45/16 +f 30/12/17 31/21/17 43/46/17 +f 2/15/18 38/47/18 37/48/18 +f 29/39/19 45/49/19 46/50/19 +f 34/37/20 40/51/20 41/52/20 +f 26/17/21 27/5/21 47/53/21 +f 36/1/22 37/48/22 39/54/22 +f 31/21/23 32/23/23 42/55/23 +f 30/12/24 44/43/24 45/49/24 +f 35/24/25 39/54/25 40/56/25 +f 28/4/26 46/50/26 47/53/26 +f 33/7/27 41/52/27 42/55/27 +f 58/57/1 54/58/1 49/59/1 +f 40/60/28 39/61/28 51/62/28 +f 46/18/29 58/63/29 59/64/29 +f 44/65/30 43/43/30 55/66/30 +f 41/67/31 40/51/31 52/68/31 +f 48/69/32 47/70/32 59/64/32 +f 37/71/33 38/56/33 50/72/33 +f 44/65/34 56/73/34 57/74/34 +f 41/67/35 53/75/35 54/45/35 +f 38/56/36 48/69/36 60/76/36 +f 37/71/37 49/77/37 51/62/37 +f 46/18/38 45/78/38 57/74/38 +f 19/15/1 20/1/1 30/3/1 +f 27/10/1 16/4/1 28/6/1 +f 22/37/1 23/7/1 33/9/1 +f 15/39/1 16/4/1 26/11/1 +f 25/21/1 14/12/1 36/14/1 +f 18/17/1 19/15/1 29/16/1 +f 38/47/2 2/15/2 48/18/2 +f 15/17/3 14/15/3 12/20/3 +f 17/5/1 18/17/1 28/6/1 +f 24/23/1 25/21/1 35/22/1 +f 23/7/1 24/23/1 34/8/1 +f 20/1/1 21/24/1 31/2/1 +f 25/1/4 24/24/4 1/27/4 +f 21/24/1 22/28/1 32/25/1 +f 18/39/5 17/4/5 9/31/5 +f 21/23/6 20/21/6 6/33/6 +f 24/24/7 23/28/7 3/26/7 +f 10/30/8 17/4/8 11/35/8 +f 7/32/9 20/21/9 8/36/9 +f 4/79/10 23/37/10 5/38/10 +f 16/5/11 15/17/11 11/35/11 +f 14/15/12 25/1/12 13/19/12 +f 19/12/13 18/39/13 8/36/13 +f 22/7/14 21/23/14 5/38/14 +f 12/42/15 13/80/15 4/81/15 +f 1/82/15 3/83/15 4/81/15 +f 4/81/15 5/84/15 6/40/15 +f 6/40/15 7/85/15 8/41/15 +f 8/41/15 9/86/15 10/87/15 +f 10/87/15 11/88/15 12/42/15 +f 13/80/15 1/82/15 4/81/15 +f 4/81/15 6/40/15 12/42/15 +f 8/41/15 10/87/15 12/42/15 +f 14/12/1 15/39/1 2/13/1 +f 55/66/16 43/43/16 54/45/16 +f 44/43/17 30/12/17 43/46/17 +f 36/1/18 2/15/18 37/48/18 +f 28/4/19 29/39/19 46/50/19 +f 33/7/20 34/37/20 41/52/20 +f 48/18/21 26/17/21 47/53/21 +f 35/24/22 36/1/22 39/54/22 +f 43/46/23 31/21/23 42/55/23 +f 29/39/24 30/12/24 45/49/24 +f 34/28/25 35/24/25 40/56/25 +f 27/5/26 28/4/26 47/53/26 +f 32/23/27 33/7/27 42/55/27 +f 49/59/1 50/89/1 60/90/1 +f 60/90/1 59/91/1 58/57/1 +f 58/57/1 57/92/1 56/93/1 +f 56/93/1 55/94/1 58/57/1 +f 54/58/1 53/95/1 52/96/1 +f 52/96/1 51/97/1 49/59/1 +f 49/59/1 60/90/1 58/57/1 +f 58/57/1 55/94/1 54/58/1 +f 54/58/1 52/96/1 49/59/1 +f 52/98/28 40/60/28 51/62/28 +f 47/70/29 46/18/29 59/64/29 +f 56/73/30 44/65/30 55/66/30 +f 53/75/31 41/67/31 52/68/31 +f 60/76/32 48/69/32 59/64/32 +f 49/77/33 37/71/33 50/72/33 +f 45/78/34 44/65/34 57/74/34 +f 42/44/35 41/67/35 54/45/35 +f 50/72/36 38/56/36 60/76/36 +f 39/61/37 37/71/37 51/62/37 +f 58/63/38 46/18/38 57/74/38 diff --git a/assets/hbm/models/missile_parts/mp_w_10_nuclear.obj b/assets/hbm/models/missile_parts/mp_w_10_nuclear.obj new file mode 100644 index 000000000..fddf333f8 --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_w_10_nuclear.obj @@ -0,0 +1,174 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_w_10_nuclear.blend' +# www.blender.org +o Cone +v -0.000000 1.750000 -0.175000 +v 0.000000 2.000000 0.000000 +v 0.087500 1.750000 -0.151554 +v 0.151554 1.750000 -0.087500 +v 0.175000 1.750000 0.000000 +v 0.151554 1.750000 0.087500 +v 0.087500 1.750000 0.151554 +v 0.000000 1.750000 0.175000 +v -0.087500 1.750000 0.151554 +v -0.151554 1.750000 0.087500 +v -0.175000 1.750000 0.000000 +v -0.151554 1.750000 -0.087500 +v -0.087500 1.750000 -0.151554 +v 0.000000 0.000000 -0.500000 +v 0.250000 0.000000 -0.433013 +v 0.433013 0.000000 -0.250000 +v 0.500000 0.000000 0.000000 +v 0.433013 0.000000 0.250000 +v 0.250000 0.000000 0.433013 +v 0.000000 0.000000 0.500000 +v -0.250000 0.000000 0.433013 +v -0.433012 0.000000 0.250000 +v -0.500000 0.000000 0.000000 +v -0.433013 0.000000 -0.250000 +v -0.250000 0.000000 -0.433013 +vt 0.458333 0.583333 +vt 0.437500 0.666667 +vt 0.416667 0.583333 +vt 0.375000 0.583333 +vt 0.354167 0.666667 +vt 0.333333 0.583333 +vt 0.500000 0.583333 +vt 0.479167 0.666667 +vt 0.041667 0.583333 +vt 0.020833 0.666667 +vt -0.000000 0.583333 +vt 0.083333 0.583333 +vt 0.062500 0.666667 +vt 0.125000 0.583333 +vt 0.104167 0.666667 +vt 0.166667 0.583333 +vt 0.145833 0.666667 +vt 0.208333 0.583333 +vt 0.187500 0.666667 +vt 0.250000 0.583333 +vt 0.229167 0.666667 +vt 0.291667 0.583333 +vt 0.270833 0.666667 +vt 0.395833 0.666667 +vt 0.312500 0.666667 +vt 0.229167 0.583333 +vt 0.187500 0.583333 +vt 0.166667 0.000000 +vt 0.666667 0.583333 +vt 0.666667 0.916667 +vt 0.812500 0.833333 +vt 0.604167 0.583333 +vt 0.583333 0.000000 +vt 0.666667 -0.000000 +vt 0.020833 0.583333 +vt -0.000000 -0.000000 +vt 0.083333 0.000000 +vt 0.479167 0.583333 +vt 0.437500 0.583333 +vt 0.416667 0.000000 +vt 0.854167 0.583333 +vt 0.833333 0.000000 +vt 0.916667 0.000000 +vt 0.312500 0.583333 +vt 0.270833 0.583333 +vt 0.250000 0.000000 +vt 0.145833 0.583333 +vt 0.104167 0.583333 +vt 0.770833 0.583333 +vt 0.750000 -0.000000 +vt 0.520833 0.583333 +vt 0.500000 0.000000 +vt 0.937500 0.583333 +vt 1.000000 0.000000 +vt 0.354167 0.583333 +vt 0.333333 -0.000000 +vt 0.687500 0.583333 +vt 0.833333 0.750000 +vt 0.812500 0.666667 +vt 0.750000 0.604167 +vt 0.583333 0.604167 +vt 0.520833 0.666667 +vt 0.500000 0.750000 +vt 0.520833 0.833333 +vt 0.583333 0.895833 +vt 0.750000 0.895833 +vt 0.645833 0.583333 +vt 0.062500 0.583333 +vt 0.895833 0.583333 +vt 0.812500 0.583333 +vt 0.562500 0.583333 +vt 0.979167 0.583333 +vt 0.395833 0.583333 +vt 0.729167 0.583333 +vn -0.585800 0.560100 -0.585800 +vn 0.214400 0.560100 -0.800200 +vn -0.800200 0.560100 -0.214400 +vn -0.800200 0.560100 0.214400 +vn -0.585800 0.560100 0.585800 +vn -0.214400 0.560100 0.800200 +vn 0.214400 0.560100 0.800200 +vn 0.585800 0.560100 0.585800 +vn 0.800200 0.560100 0.214400 +vn 0.800200 0.560100 -0.214400 +vn -0.214400 0.560100 -0.800200 +vn 0.585800 0.560100 -0.585800 +vn -0.254800 0.176600 0.950700 +vn 0.000000 -1.000000 0.000000 +vn 0.696000 0.176600 -0.696000 +vn -0.950700 0.176600 0.254800 +vn 0.950700 0.176600 0.254800 +vn -0.696000 0.176600 -0.696000 +vn 0.254800 0.176600 0.950700 +vn -0.696000 0.176600 0.696000 +vn -0.254800 0.176600 -0.950700 +vn 0.950700 0.176600 -0.254800 +vn -0.950700 0.176600 -0.254800 +vn 0.696000 0.176600 0.696000 +vn 0.254800 0.176600 -0.950700 +s off +f 12/1/1 2/2/1 13/3/1 +f 1/4/2 2/5/2 3/6/2 +f 11/7/3 2/8/3 12/1/3 +f 10/9/4 2/10/4 11/11/4 +f 9/12/5 2/13/5 10/9/5 +f 8/14/6 2/15/6 9/12/6 +f 7/16/7 2/17/7 8/14/7 +f 6/18/8 2/19/8 7/16/8 +f 5/20/9 2/21/9 6/18/9 +f 4/22/10 2/23/10 5/20/10 +f 13/3/11 2/24/11 1/4/11 +f 3/6/12 2/25/12 4/22/12 +f 8/26/13 9/27/13 21/28/13 +f 17/29/14 23/30/14 25/31/14 +f 4/32/15 16/33/15 15/34/15 +f 11/35/16 23/36/16 22/37/16 +f 5/38/17 6/39/17 18/40/17 +f 13/41/18 25/42/18 24/43/18 +f 7/44/19 8/45/19 20/46/19 +f 9/47/20 10/48/20 22/37/20 +f 1/49/21 14/50/21 25/42/21 +f 5/51/22 17/52/22 16/33/22 +f 12/53/23 24/43/23 23/54/23 +f 7/55/24 19/56/24 18/40/24 +f 3/57/25 15/34/25 14/50/25 +f 20/46/13 8/26/13 21/28/13 +f 25/31/14 14/58/14 15/59/14 +f 15/59/14 16/60/14 17/29/14 +f 17/29/14 18/61/14 19/62/14 +f 19/62/14 20/63/14 21/64/14 +f 21/64/14 22/65/14 23/30/14 +f 23/30/14 24/66/14 25/31/14 +f 25/31/14 15/59/14 17/29/14 +f 17/29/14 19/62/14 21/64/14 +f 21/64/14 23/30/14 17/29/14 +f 3/67/15 4/32/15 15/34/15 +f 10/68/16 11/35/16 22/37/16 +f 17/52/17 5/38/17 18/40/17 +f 12/69/18 13/41/18 24/43/18 +f 19/56/19 7/44/19 20/46/19 +f 21/28/20 9/47/20 22/37/20 +f 13/70/21 1/49/21 25/42/21 +f 4/71/22 5/51/22 16/33/22 +f 11/72/23 12/53/23 23/54/23 +f 6/73/24 7/55/24 18/40/24 +f 1/74/25 3/57/25 14/50/25 diff --git a/assets/hbm/models/strut.obj b/assets/hbm/models/strut.obj new file mode 100644 index 000000000..7081c4144 --- /dev/null +++ b/assets/hbm/models/strut.obj @@ -0,0 +1,68 @@ +# Blender v2.76 (sub 0) OBJ File: 'strut.blend' +# www.blender.org +o Cube_Cube.001 +v -0.187500 0.125000 0.187500 +v -0.187500 1.500000 0.187500 +v -0.187500 0.125000 -0.187500 +v -0.187500 1.500000 -0.187500 +v 0.187500 0.125000 0.187500 +v 0.187500 1.500000 0.187500 +v 0.187500 0.125000 -0.187500 +v 0.187500 1.500000 -0.187500 +v -0.250000 0.125000 -0.250000 +v -0.250000 0.125000 0.250000 +v 0.250000 0.125000 -0.250000 +v 0.250000 0.125000 0.250000 +v -0.250000 0.000000 -0.250000 +v -0.250000 0.000000 0.250000 +v 0.250000 0.000000 -0.250000 +v 0.250000 0.000000 0.250000 +vt 0.812500 0.750000 +vt 0.812500 0.062500 +vt 1.000000 0.062500 +vt 0.625000 0.750000 +vt 0.625000 0.062500 +vt 0.437500 0.750000 +vt 0.437500 0.062500 +vt 0.250000 0.750000 +vt 0.250000 0.062500 +vt 0.500000 0.062500 +vt 0.500000 0.000000 +vt 0.750000 0.000000 +vt -0.000000 0.312500 +vt 0.000000 0.062500 +vt -0.000000 0.562500 +vt 0.250000 0.312500 +vt 0.250000 -0.000000 +vt 0.750000 0.062500 +vt 1.000000 0.000000 +vt 0.000000 -0.000000 +vt 1.000000 0.750000 +vt 0.250000 0.562500 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 -1.000000 0.000000 +s off +f 4/1/1 3/2/1 1/3/1 +f 8/4/2 7/5/2 3/2/2 +f 6/6/3 5/7/3 7/5/3 +f 2/8/4 1/9/4 5/7/4 +f 11/10/2 15/11/2 13/12/2 +f 10/13/5 12/14/5 11/9/5 +f 13/15/6 15/13/6 16/16/6 +f 12/9/3 16/17/3 15/11/3 +f 9/18/1 13/12/1 14/19/1 +f 10/14/4 14/20/4 16/17/4 +f 2/21/1 4/1/1 1/3/1 +f 4/1/2 8/4/2 3/2/2 +f 8/4/3 6/6/3 7/5/3 +f 6/6/4 2/8/4 5/7/4 +f 9/18/2 11/10/2 13/12/2 +f 9/16/5 10/13/5 11/9/5 +f 14/22/6 13/15/6 16/16/6 +f 11/10/3 12/9/3 15/11/3 +f 10/3/1 9/18/1 14/19/1 +f 12/9/4 10/14/4 16/17/4 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 60cdaa779..55e6fd59c 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -28,6 +28,7 @@ "block.debris": {"category": "block", "sounds": ["block/debris1", "block/debris2", "block/debris3"]}, "block.centrifugeOperate": {"category": "block", "sounds": [{"name": "block/centrifugeOperate", "stream": false}]}, "block.pipePlaced": {"category": "block", "sounds": [{"name": "block/pipePlaced", "stream": false}]}, + "block.missileAssembly": {"category": "block", "sounds": [{"name": "block/missileAssembly", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/assets/hbm/sounds/block/missileAssembly.ogg b/assets/hbm/sounds/block/missileAssembly.ogg new file mode 100644 index 000000000..7765b56f1 Binary files /dev/null and b/assets/hbm/sounds/block/missileAssembly.ogg differ diff --git a/assets/hbm/textures/blocks/machine_missile_assembly.png b/assets/hbm/textures/blocks/machine_missile_assembly.png new file mode 100644 index 000000000..61849f13e Binary files /dev/null and b/assets/hbm/textures/blocks/machine_missile_assembly.png differ diff --git a/assets/hbm/textures/items/missile_custom.png b/assets/hbm/textures/items/missile_custom.png new file mode 100644 index 000000000..99e78b96d Binary files /dev/null and b/assets/hbm/textures/items/missile_custom.png differ diff --git a/assets/hbm/textures/items/mp_c_1.png b/assets/hbm/textures/items/mp_c_1.png index 6bf6d85c3..bcb7be52c 100644 Binary files a/assets/hbm/textures/items/mp_c_1.png and b/assets/hbm/textures/items/mp_c_1.png differ diff --git a/assets/hbm/textures/items/mp_c_2.png b/assets/hbm/textures/items/mp_c_2.png index e3990147e..8cb854f48 100644 Binary files a/assets/hbm/textures/items/mp_c_2.png and b/assets/hbm/textures/items/mp_c_2.png differ diff --git a/assets/hbm/textures/items/mp_c_3.png b/assets/hbm/textures/items/mp_c_3.png index fa0801aff..622f2af49 100644 Binary files a/assets/hbm/textures/items/mp_c_3.png and b/assets/hbm/textures/items/mp_c_3.png differ diff --git a/assets/hbm/textures/items/mp_c_4.png b/assets/hbm/textures/items/mp_c_4.png new file mode 100644 index 000000000..31427c80b Binary files /dev/null and b/assets/hbm/textures/items/mp_c_4.png differ diff --git a/assets/hbm/textures/items/mp_c_5.png b/assets/hbm/textures/items/mp_c_5.png new file mode 100644 index 000000000..afe5f1813 Binary files /dev/null and b/assets/hbm/textures/items/mp_c_5.png differ diff --git a/assets/hbm/textures/items/mp_f_10.png b/assets/hbm/textures/items/mp_f_10.png deleted file mode 100644 index 28ca9cd43..000000000 Binary files a/assets/hbm/textures/items/mp_f_10.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_f_15.png b/assets/hbm/textures/items/mp_f_15.png deleted file mode 100644 index c7ec9a4c0..000000000 Binary files a/assets/hbm/textures/items/mp_f_15.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_f_20.png b/assets/hbm/textures/items/mp_f_20.png deleted file mode 100644 index ceaaf586c..000000000 Binary files a/assets/hbm/textures/items/mp_f_20.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_fuselage.png b/assets/hbm/textures/items/mp_fuselage.png new file mode 100644 index 000000000..0bfc381dc Binary files /dev/null and b/assets/hbm/textures/items/mp_fuselage.png differ diff --git a/assets/hbm/textures/items/mp_s_10.png b/assets/hbm/textures/items/mp_s_10.png deleted file mode 100644 index fc5f1d56b..000000000 Binary files a/assets/hbm/textures/items/mp_s_10.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_s_15.png b/assets/hbm/textures/items/mp_s_15.png deleted file mode 100644 index 86f5980df..000000000 Binary files a/assets/hbm/textures/items/mp_s_15.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_s_20.png b/assets/hbm/textures/items/mp_s_20.png deleted file mode 100644 index 3125d73aa..000000000 Binary files a/assets/hbm/textures/items/mp_s_20.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_stability.png b/assets/hbm/textures/items/mp_stability.png new file mode 100644 index 000000000..b352b1a11 Binary files /dev/null and b/assets/hbm/textures/items/mp_stability.png differ diff --git a/assets/hbm/textures/items/mp_t_10.png b/assets/hbm/textures/items/mp_t_10.png deleted file mode 100644 index 29c07e98d..000000000 Binary files a/assets/hbm/textures/items/mp_t_10.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_t_15.png b/assets/hbm/textures/items/mp_t_15.png deleted file mode 100644 index 60462a6a6..000000000 Binary files a/assets/hbm/textures/items/mp_t_15.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_t_20.png b/assets/hbm/textures/items/mp_t_20.png deleted file mode 100644 index ad5a1ffb3..000000000 Binary files a/assets/hbm/textures/items/mp_t_20.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_thruster.png b/assets/hbm/textures/items/mp_thruster.png new file mode 100644 index 000000000..438631338 Binary files /dev/null and b/assets/hbm/textures/items/mp_thruster.png differ diff --git a/assets/hbm/textures/items/mp_w_10.png b/assets/hbm/textures/items/mp_w_10.png deleted file mode 100644 index 4b678bb04..000000000 Binary files a/assets/hbm/textures/items/mp_w_10.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_w_15.png b/assets/hbm/textures/items/mp_w_15.png deleted file mode 100644 index c438c067a..000000000 Binary files a/assets/hbm/textures/items/mp_w_15.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_w_20.png b/assets/hbm/textures/items/mp_w_20.png deleted file mode 100644 index 50df3001a..000000000 Binary files a/assets/hbm/textures/items/mp_w_20.png and /dev/null differ diff --git a/assets/hbm/textures/items/mp_warhead.png b/assets/hbm/textures/items/mp_warhead.png new file mode 100644 index 000000000..85e617ccf Binary files /dev/null and b/assets/hbm/textures/items/mp_warhead.png differ diff --git a/assets/hbm/textures/models/missile_assembly.png b/assets/hbm/textures/models/missile_assembly.png new file mode 100644 index 000000000..67bda6c88 Binary files /dev/null and b/assets/hbm/textures/models/missile_assembly.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_f_10_15_balefire.png b/assets/hbm/textures/models/missile_parts/mp_f_10_15_balefire.png new file mode 100644 index 000000000..ae6180ba7 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_f_10_15_balefire.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_f_10_15_hydrogen.png b/assets/hbm/textures/models/missile_parts/mp_f_10_15_hydrogen.png new file mode 100644 index 000000000..f32263d1c Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_f_10_15_hydrogen.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_f_10_15_kerosene.png b/assets/hbm/textures/models/missile_parts/mp_f_10_15_kerosene.png new file mode 100644 index 000000000..f0c7f7ca3 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_f_10_15_kerosene.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_f_10_15_solid.png b/assets/hbm/textures/models/missile_parts/mp_f_10_15_solid.png new file mode 100644 index 000000000..9a86a0fb0 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_f_10_15_solid.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_f_10_xenon.png b/assets/hbm/textures/models/missile_parts/mp_f_10_xenon.png new file mode 100644 index 000000000..90d92c8bd Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_f_10_xenon.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_s_15_flat.png b/assets/hbm/textures/models/missile_parts/mp_s_15_flat.png new file mode 100644 index 000000000..6766dd1e3 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_s_15_flat.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_t_10_xenon.png b/assets/hbm/textures/models/missile_parts/mp_t_10_xenon.png new file mode 100644 index 000000000..1f0dcc817 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_t_10_xenon.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_t_15_kerosene_dual.png b/assets/hbm/textures/models/missile_parts/mp_t_15_kerosene_dual.png new file mode 100644 index 000000000..13ab76bfe Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_t_15_kerosene_dual.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_w_10_buster.png b/assets/hbm/textures/models/missile_parts/mp_w_10_buster.png new file mode 100644 index 000000000..0a5580e2e Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_w_10_buster.png differ diff --git a/assets/hbm/textures/models/missile_parts/mp_w_10_nuclear.png b/assets/hbm/textures/models/missile_parts/mp_w_10_nuclear.png new file mode 100644 index 000000000..cd17dba9e Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/mp_w_10_nuclear.png differ diff --git a/assets/hbm/textures/models/strut.png b/assets/hbm/textures/models/strut.png new file mode 100644 index 000000000..b0abe3ee1 Binary files /dev/null and b/assets/hbm/textures/models/strut.png differ diff --git a/com/hbm/inventory/gui/GUIMachineMissileAssembly.java b/com/hbm/inventory/gui/GUIMachineMissileAssembly.java index a6623fdbd..12ee9ce72 100644 --- a/com/hbm/inventory/gui/GUIMachineMissileAssembly.java +++ b/com/hbm/inventory/gui/GUIMachineMissileAssembly.java @@ -7,6 +7,8 @@ import com.hbm.inventory.container.ContainerMachineMissileAssembly; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; import com.hbm.render.misc.MissileMultipart; import com.hbm.render.misc.MissilePart; import com.hbm.render.misc.MissilePronter; @@ -14,6 +16,7 @@ import com.hbm.tileentity.machine.TileEntityMachineAssembler; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; @@ -36,6 +39,16 @@ public class GUIMachineMissileAssembly extends GuiInfoContainer { super.drawScreen(mouseX, mouseY, f); } + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 115 <= x && guiLeft + 115 + 18 > x && guiTop + 35 < y && guiTop + 35 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(assembler.xCoord, assembler.yCoord, assembler.zCoord, 0, 0)); + } + } + @Override protected void drawGuiContainerForegroundLayer( int i, int j) { String name = this.assembler.hasCustomInventoryName() ? this.assembler.getInventoryName() : I18n.format(this.assembler.getInventoryName()); @@ -49,6 +62,22 @@ public class GUIMachineMissileAssembly extends GuiInfoContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(assembler.fuselageState() == 1) + drawTexturedModalRect(guiLeft + 49, guiTop + 23, 194, 0, 6, 8); + if(assembler.warheadState() == 1) + drawTexturedModalRect(guiLeft + 31, guiTop + 23, 194, 0, 6, 8); + if(assembler.chipState() == 1) + drawTexturedModalRect(guiLeft + 13, guiTop + 23, 194, 0, 6, 8); + if(assembler.stabilityState() == 1) + drawTexturedModalRect(guiLeft + 67, guiTop + 23, 194, 0, 6, 8); + if(assembler.stabilityState() == 0) + drawTexturedModalRect(guiLeft + 67, guiTop + 23, 200, 0, 6, 8); + if(assembler.thrusterState() == 1) + drawTexturedModalRect(guiLeft + 85, guiTop + 23, 194, 0, 6, 8); + + if(assembler.canBuild()) + drawTexturedModalRect(guiLeft + 115, guiTop + 35, 176, 0, 18, 18); /// DRAW MISSILE START GL11.glPushMatrix(); diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 32fbf139f..03d790a69 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -19,6 +19,9 @@ import com.hbm.items.gear.*; import com.hbm.items.special.*; import com.hbm.items.tool.*; import com.hbm.items.weapon.*; +import com.hbm.items.weapon.ItemMissile.FuelType; +import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemMissile.WarheadType; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -824,28 +827,41 @@ public class ModItems { public static Item mp_thruster_10_kerosene; public static Item mp_thruster_10_solid; + public static Item mp_thruster_10_xenon; public static Item mp_thruster_15_kerosene; + public static Item mp_thruster_15_kerosene_dual; public static Item mp_thruster_20_kerosene; public static Item mp_stability_10_flat; public static Item mp_stability_10_cruise; public static Item mp_stability_15_flat; + public static Item mp_stability_15_thin; public static Item mp_stability_20_flat; public static Item mp_fuselage_10_kerosene; public static Item mp_fuselage_10_solid; + public static Item mp_fuselage_10_xenon; + public static Item mp_fuselage_10_15_kerosene; + public static Item mp_fuselage_10_15_solid; + public static Item mp_fuselage_10_15_hydrogen; + public static Item mp_fuselage_10_15_balefire; public static Item mp_fuselage_15_kerosene; public static Item mp_fuselage_20_kerosene; public static Item mp_warhead_10_he; public static Item mp_warhead_10_incendiary; public static Item mp_warhead_10_buster; + public static Item mp_warhead_10_nuclear; public static Item mp_warhead_15_he; public static Item mp_warhead_20_he; public static Item mp_chip_1; public static Item mp_chip_2; public static Item mp_chip_3; + public static Item mp_chip_4; + public static Item mp_chip_5; + + public static Item missile_custom; public static Item missile_carrier; public static Item sat_mapper; @@ -2329,6 +2345,7 @@ public class ModItems { missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); missile_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier"); + missile_custom = new ItemCustomMissile().setUnlocalizedName("missile_custom").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_custom"); sat_mapper = new ItemSatChip().setUnlocalizedName("sat_mapper").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_mapper"); sat_scanner = new ItemSatChip().setUnlocalizedName("sat_scanner").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_scanner"); sat_radar = new ItemSatChip().setUnlocalizedName("sat_radar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_radar"); @@ -2339,26 +2356,37 @@ public class ModItems { sat_chip = new ItemSatChip().setUnlocalizedName("sat_chip").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_chip"); sat_interface = new ItemSatInterface().setUnlocalizedName("sat_interface").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_interface"); - mp_thruster_10_kerosene = new Item().setUnlocalizedName("mp_t_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_t_10"); - mp_thruster_10_solid = new Item().setUnlocalizedName("mp_thruster_10_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_t_10"); - mp_thruster_15_kerosene = new Item().setUnlocalizedName("mp_t_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_t_15"); - mp_thruster_20_kerosene = new Item().setUnlocalizedName("mp_t_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_t_20"); - mp_stability_10_flat = new Item().setUnlocalizedName("mp_s_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_s_10"); - mp_stability_10_cruise = new Item().setUnlocalizedName("mp_s_10_cruise").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_s_10_cruise"); - mp_stability_15_flat = new Item().setUnlocalizedName("mp_s_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_s_15"); - mp_stability_20_flat = new Item().setUnlocalizedName("mp_s_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_s_20"); - mp_fuselage_10_kerosene = new Item().setUnlocalizedName("mp_f_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_f_10"); - mp_fuselage_10_solid = new Item().setUnlocalizedName("mp_fuselage_10_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage_10_solid"); - mp_fuselage_15_kerosene = new Item().setUnlocalizedName("mp_f_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_f_15"); - mp_fuselage_20_kerosene = new Item().setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_f_20"); - mp_warhead_10_he = new Item().setUnlocalizedName("mp_w_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_w_10"); - mp_warhead_10_incendiary = new Item().setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_w_10"); - mp_warhead_10_buster = new Item().setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_w_10"); - mp_warhead_15_he = new Item().setUnlocalizedName("mp_w_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_w_15"); - mp_warhead_20_he = new Item().setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_w_20"); - mp_chip_1 = new Item().setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); - mp_chip_2 = new Item().setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); - mp_chip_3 = new Item().setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); + mp_thruster_10_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_thruster_10_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_thruster_10_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_thruster_10_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_thruster_10_xenon = new ItemMissile().makeThruster(FuelType.XENON, 1F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_thruster_10_xenon").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_thruster_15_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1F, PartSize.SIZE_15) .setUnlocalizedName("mp_thruster_15_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_thruster_15_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1F, PartSize.SIZE_15) .setUnlocalizedName("mp_thruster_15_kerosene_dual").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_thruster_20_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_t_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_thruster"); + mp_stability_10_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_10) .setUnlocalizedName("mp_stability_10_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_stability"); + mp_stability_10_cruise = new ItemMissile().makeStability(0.25F, PartSize.SIZE_10) .setUnlocalizedName("mp_stability_10_cruise").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_stability"); + mp_stability_15_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_15) .setUnlocalizedName("mp_stability_15_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_stability"); + mp_stability_15_thin = new ItemMissile().makeStability(0.25F, PartSize.SIZE_15) .setUnlocalizedName("mp_stability_15_thin").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_stability"); + mp_stability_20_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_stability"); + mp_fuselage_10_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_10, PartSize.SIZE_10) .setUnlocalizedName("mp_fuselage_10_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 1000F, PartSize.SIZE_10, PartSize.SIZE_10) .setUnlocalizedName("mp_fuselage_10_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_xenon = new ItemMissile().makeFuselage(FuelType.XENON, 1000F, PartSize.SIZE_10, PartSize.SIZE_10) .setUnlocalizedName("mp_fuselage_10_xenon").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_10, PartSize.SIZE_15) .setUnlocalizedName("mp_fuselage_10_15_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 1000F, PartSize.SIZE_10, PartSize.SIZE_15) .setUnlocalizedName("mp_fuselage_10_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_15_hydrogen = new ItemMissile().makeFuselage(FuelType.HYDROGEN, 1000F, PartSize.SIZE_10, PartSize.SIZE_15) .setUnlocalizedName("mp_fuselage_10_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_10_15_balefire = new ItemMissile().makeFuselage(FuelType.BALEFIRE, 1000F, PartSize.SIZE_10, PartSize.SIZE_15) .setUnlocalizedName("mp_fuselage_10_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_15, PartSize.SIZE_15) .setUnlocalizedName("mp_f_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_20_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_warhead_10_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 15F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_buster = new ItemMissile().makeWarhead(WarheadType.BUSTER, 15F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 15F, 1F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_15) .setUnlocalizedName("mp_w_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_20_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_chip_1 = new ItemMissile().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); + mp_chip_2 = new ItemMissile().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); + mp_chip_3 = new ItemMissile().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); + mp_chip_4 = new ItemMissile().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); + mp_chip_5 = new ItemMissile().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge"); ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_incendiary"); @@ -4030,28 +4058,40 @@ public class ModItems { GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName()); GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName()); + GameRegistry.registerItem(missile_custom, missile_custom.getUnlocalizedName()); //Missile Parts GameRegistry.registerItem(mp_thruster_10_kerosene, mp_thruster_10_kerosene.getUnlocalizedName()); GameRegistry.registerItem(mp_thruster_10_solid, mp_thruster_10_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_10_xenon, mp_thruster_10_xenon.getUnlocalizedName()); GameRegistry.registerItem(mp_thruster_15_kerosene, mp_thruster_15_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_15_kerosene_dual, mp_thruster_15_kerosene_dual.getUnlocalizedName()); GameRegistry.registerItem(mp_thruster_20_kerosene, mp_thruster_20_kerosene.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_10_flat, mp_stability_10_flat.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_10_cruise, mp_stability_10_cruise.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_15_flat, mp_stability_15_flat.getUnlocalizedName()); + GameRegistry.registerItem(mp_stability_15_thin, mp_stability_15_thin.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_20_flat, mp_stability_20_flat.getUnlocalizedName()); GameRegistry.registerItem(mp_fuselage_10_kerosene, mp_fuselage_10_kerosene.getUnlocalizedName()); GameRegistry.registerItem(mp_fuselage_10_solid, mp_fuselage_10_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_xenon, mp_fuselage_10_xenon.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_kerosene, mp_fuselage_10_15_kerosene.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_solid, mp_fuselage_10_15_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_hydrogen, mp_fuselage_10_15_hydrogen.getUnlocalizedName()); + GameRegistry.registerItem(mp_fuselage_10_15_balefire, mp_fuselage_10_15_balefire.getUnlocalizedName()); GameRegistry.registerItem(mp_fuselage_15_kerosene, mp_fuselage_15_kerosene.getUnlocalizedName()); GameRegistry.registerItem(mp_fuselage_20_kerosene, mp_fuselage_20_kerosene.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_10_he, mp_warhead_10_he.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_10_incendiary, mp_warhead_10_incendiary.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_10_buster, mp_warhead_10_buster.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_nuclear, mp_warhead_10_nuclear.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_15_he, mp_warhead_15_he.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_20_he, mp_warhead_20_he.getUnlocalizedName()); GameRegistry.registerItem(mp_chip_1, mp_chip_1.getUnlocalizedName()); GameRegistry.registerItem(mp_chip_2, mp_chip_2.getUnlocalizedName()); GameRegistry.registerItem(mp_chip_3, mp_chip_3.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_4, mp_chip_4.getUnlocalizedName()); + GameRegistry.registerItem(mp_chip_5, mp_chip_5.getUnlocalizedName()); //Satellites GameRegistry.registerItem(sat_mapper, sat_mapper.getUnlocalizedName()); diff --git a/com/hbm/items/weapon/ItemCustomMissile.java b/com/hbm/items/weapon/ItemCustomMissile.java new file mode 100644 index 000000000..f339cecf9 --- /dev/null +++ b/com/hbm/items/weapon/ItemCustomMissile.java @@ -0,0 +1,61 @@ +package com.hbm.items.weapon; + +import java.util.List; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemMissile.FuelType; +import com.hbm.items.weapon.ItemMissile.WarheadType; + +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; + +public class ItemCustomMissile extends Item { + + public static ItemStack buildMissile(ItemStack chip, ItemStack warhead, ItemStack fuselage, ItemStack stability, ItemStack thruster) { + + ItemStack missile = new ItemStack(ModItems.missile_custom); + + writeToNBT(missile, "chip", ItemMissile.parts.indexOf(chip.getItem())); + writeToNBT(missile, "warhead", ItemMissile.parts.indexOf(warhead.getItem())); + writeToNBT(missile, "fuselage", ItemMissile.parts.indexOf(fuselage.getItem())); + writeToNBT(missile, "thruster", ItemMissile.parts.indexOf(thruster.getItem())); + + if(stability != null) + writeToNBT(missile, "stability", ItemMissile.parts.indexOf(stability.getItem())); + + return missile; + } + + private static void writeToNBT(ItemStack stack, String key, int value) { + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setInteger(key, value); + } + + public static int readFromNBT(ItemStack stack, String key) { + if(!stack.hasTagCompound()) + stack.stackTagCompound = new NBTTagCompound(); + return stack.stackTagCompound.getInteger(key); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + ItemMissile chip = ItemMissile.parts.get(readFromNBT(stack, "chip")); + ItemMissile warhead = ItemMissile.parts.get(readFromNBT(stack, "warhead")); + ItemMissile fuselage = ItemMissile.parts.get(readFromNBT(stack, "fuselage")); + ItemMissile stability = ItemMissile.parts.get(readFromNBT(stack, "stability")); + ItemMissile thruster = ItemMissile.parts.get(readFromNBT(stack, "thruster")); + + list.add(I18n.format(StatCollector.translateToLocal(chip.getUnlocalizedName() + ".name")).trim()); + list.add(I18n.format(StatCollector.translateToLocal(warhead.getUnlocalizedName() + ".name")).trim()); + list.add(I18n.format(StatCollector.translateToLocal(fuselage.getUnlocalizedName() + ".name")).trim()); + if(stability != null) + list.add(I18n.format(StatCollector.translateToLocal(stability.getUnlocalizedName() + ".name")).trim()); + list.add(I18n.format(StatCollector.translateToLocal(thruster.getUnlocalizedName() + ".name")).trim()); + } +} diff --git a/com/hbm/items/weapon/ItemMissile.java b/com/hbm/items/weapon/ItemMissile.java new file mode 100644 index 000000000..d489af776 --- /dev/null +++ b/com/hbm/items/weapon/ItemMissile.java @@ -0,0 +1,240 @@ +package com.hbm.items.weapon; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemMissile extends Item { + + public PartType type; + public PartSize top; + public PartSize bottom; + + public static List parts = new ArrayList(); + + /** + * == Chips == + * [0]: inaccuracy + * + * == Warheads == + * [0]: type + * [1]: strength/radius/cluster count + * [2]: weight + * + * == Fuselages == + * [0]: type + * [1]: tank size + * + * == Stability == + * [0]: inaccuracy mod + * + * == Thrusters === + * [0]: type + * [1]: consumption + * [1]: lift strength + */ + public Object[] attributes; + + public enum PartType { + CHIP, + WARHEAD, + FUSELAGE, + FINS, + THRUSTER + } + + public enum PartSize { + + //for chips + ANY, + //for missile tips and thrusters + NONE, + //regular sizes, 1.0m, 1.5m and 2.0m + SIZE_10, + SIZE_15, + SIZE_20 + } + + public enum WarheadType { + + HE, + INC, + BUSTER, + CLUSTER, + NUCLEAR + } + + public enum FuelType { + + KEROSENE, + SOLID, + HYDROGEN, + XENON, + BALEFIRE + } + + public ItemMissile makeChip(float inaccuracy) { + + this.type = PartType.CHIP; + this.top = PartSize.ANY; + this.bottom = PartSize.ANY; + this.attributes = new Object[] { inaccuracy }; + + if(parts.size() == 0) + parts.add(null); + parts.add(this); + + return this; + } + + public ItemMissile makeWarhead(WarheadType type, float punch, float weight, PartSize size) { + + this.type = PartType.WARHEAD; + this.top = PartSize.NONE; + this.bottom = size; + this.attributes = new Object[] { type, punch, weight }; + + if(parts.size() == 0) + parts.add(null); + parts.add(this); + + return this; + } + + public ItemMissile makeFuselage(FuelType type, float fuel, PartSize top, PartSize bottom) { + + this.type = PartType.FUSELAGE; + this.top = top; + this.bottom = bottom; + attributes = new Object[] { type, fuel }; + + if(parts.size() == 0) + parts.add(null); + parts.add(this); + + return this; + } + + public ItemMissile makeStability(float inaccuracy, PartSize size) { + + this.type = PartType.FINS; + this.top = size; + this.bottom = size; + this.attributes = new Object[] { inaccuracy }; + + if(parts.size() == 0) + parts.add(null); + parts.add(this); + + return this; + } + + public ItemMissile makeThruster(FuelType type, float consumption, float lift, PartSize size) { + + this.type = PartType.THRUSTER; + this.top = size; + this.bottom = PartSize.NONE; + this.attributes = new Object[] { type, consumption, lift }; + + if(parts.size() == 0) + parts.add(null); + parts.add(this); + + return this; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) + { + try { + switch(type) { + case CHIP: + list.add("Inaccuracy: " + (Float)attributes[0]); + break; + case WARHEAD: + list.add("Size: " + getSize(bottom)); + list.add("Type: " + getWarhead((WarheadType)attributes[0])); + list.add("Strength: " + (Float)attributes[1]); + list.add("Weight: " + (Float)attributes[2]); + break; + case FUSELAGE: + list.add("Top size: " + getSize(top)); + list.add("Bottom size: " + getSize(bottom)); + list.add("Fuel type: " + getFuel((FuelType)attributes[0])); + list.add("Fuel amount: " + (Float)attributes[1] + "l"); + break; + case FINS: + list.add("Size: " + getSize(top)); + list.add("Inaccuracy: " + (Float)attributes[0]); + break; + case THRUSTER: + list.add("Size: " + getSize(top)); + list.add("Fuel type: " + getFuel((FuelType)attributes[0])); + list.add("Fuel consumption: " + (Float)attributes[1] + "l/t"); + list.add("Max. payload: " + (Float)attributes[2] + "t"); + break; + } + } catch(Exception ex) { + list.add("### I AM ERROR ###"); + } + } + + private String getSize(PartSize size) { + + switch(size) { + case ANY: + return "Any"; + case SIZE_10: + return "1.0m"; + case SIZE_15: + return "1.5m"; + case SIZE_20: + return "2.0m"; + default: + return "None"; + } + } + + private String getWarhead(WarheadType type) { + + switch(type) { + case HE: + return "HE"; + case INC: + return "Incendiary"; + case CLUSTER: + return "Cluster"; + case BUSTER: + return "Bunker Buster"; + case NUCLEAR: + return "Nuclear"; + default: + return "N/A"; + } + } + + private String getFuel(FuelType type) { + + switch(type) { + case KEROSENE: + return "Kerosene"; + case SOLID: + return "Solid Fuel"; + case HYDROGEN: + return "Hydrogen"; + case XENON: + return "Xenon Gas"; + case BALEFIRE: + return "BF Inferno Fuel"; + default: + return "N/A"; + } + } + +} diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 9a12f1d89..142985306 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -436,6 +436,8 @@ public class ClientProxy extends ServerProxy for(MissilePart part : MissilePart.parts) { MinecraftForgeClient.registerItemRenderer(part.part, new ItemRenderMissilePart(part)); } + + MinecraftForgeClient.registerItemRenderer(ModItems.missile_custom, new ItemRenderMissile()); } @Override diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 18b965760..b4ec4c755 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -65,7 +65,6 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.render.misc.MissilePart; -import com.hbm.render.misc.MissilePart.PartType; import com.hbm.render.util.HmfModelLoader; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.conductor.*; diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index 85ae70da4..37f920048 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -313,19 +313,30 @@ public class ResourceManager { public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj")); //Missile Parts + public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj")); + public static final IModelCustom strut = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/strut.obj")); public static final IModelCustom mp_t_10_kerosene = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_10_kerosene.obj")); public static final IModelCustom mp_t_10_solid = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_10_solid.obj")); - public static final IModelCustom mp_t_15 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_15.obj")); + public static final IModelCustom mp_t_10_xenon = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_10_xenon.obj")); + public static final IModelCustom mp_t_15_kerosene = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_15_kerosene.obj")); + public static final IModelCustom mp_t_15_kerosene_dual = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_15_kerosene_dual.obj")); public static final IModelCustom mp_t_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_20.obj")); + public static final IModelCustom mp_s_10_flat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_10_flat.obj")); public static final IModelCustom mp_s_10_cruise = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_10_cruise.obj")); - public static final IModelCustom mp_s_15 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_15.obj")); + public static final IModelCustom mp_s_15_flat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_15_flat.obj")); + public static final IModelCustom mp_s_15_thin = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_15_thin.obj")); public static final IModelCustom mp_s_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_20.obj")); + public static final IModelCustom mp_f_10_kerosene = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_10_kerosene.obj")); + public static final IModelCustom mp_f_10_15_kerosene = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_10_15_kerosene.obj")); public static final IModelCustom mp_f_15 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_15.obj")); public static final IModelCustom mp_f_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_f_20.obj")); + public static final IModelCustom mp_w_10_he = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_he.obj")); public static final IModelCustom mp_w_10_incendiary = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_incendiary.obj")); + public static final IModelCustom mp_w_10_buster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_buster.obj")); + public static final IModelCustom mp_w_10_nuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_nuclear.obj")); public static final IModelCustom mp_w_15 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15.obj")); public static final IModelCustom mp_w_20 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_20.obj")); @@ -377,12 +388,28 @@ public class ResourceManager { public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroEMP.png"); //Missile Parts + public static final ResourceLocation missile_assembly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_assembly.png"); + public static final ResourceLocation strut_tex = new ResourceLocation(RefStrings.MODID, "textures/models/strut.png"); + public static final ResourceLocation mp_t_10_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_t_10_kerosene.png"); public static final ResourceLocation mp_t_10_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_t_10_solid.png"); + public static final ResourceLocation mp_t_10_xenon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_t_10_xenon.png"); + public static final ResourceLocation mp_t_15_kerosene_dual_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_t_15_kerosene_dual.png"); + public static final ResourceLocation mp_s_10_flat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_s_10_flat.png"); public static final ResourceLocation mp_s_10_cruise_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_s_10_cruise.png"); + public static final ResourceLocation mp_s_15_flat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_s_15_flat.png"); + public static final ResourceLocation mp_f_10_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_kerosene.png"); public static final ResourceLocation mp_f_10_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_solid.png"); + public static final ResourceLocation mp_f_10_xenon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_xenon.png"); + public static final ResourceLocation mp_f_10_15_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_15_kerosene.png"); + public static final ResourceLocation mp_f_10_15_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_15_solid.png"); + public static final ResourceLocation mp_f_10_15_hydrogen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_15_hydrogen.png"); + public static final ResourceLocation mp_f_10_15_balefire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_f_10_15_balefire.png"); + public static final ResourceLocation mp_w_10_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_w_10_he.png"); public static final ResourceLocation mp_w_10_incendiary_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_w_10_incendiary.png"); + public static final ResourceLocation mp_w_10_buster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_w_10_buster.png"); + public static final ResourceLocation mp_w_10_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/mp_w_10_nuclear.png"); } diff --git a/com/hbm/packet/AuxButtonPacket.java b/com/hbm/packet/AuxButtonPacket.java index 434443a60..c23122c55 100644 --- a/com/hbm/packet/AuxButtonPacket.java +++ b/com/hbm/packet/AuxButtonPacket.java @@ -11,6 +11,7 @@ import com.hbm.tileentity.machine.TileEntityAMSEmitter; import com.hbm.tileentity.machine.TileEntityAMSLimiter; import com.hbm.tileentity.machine.TileEntityForceField; import com.hbm.tileentity.machine.TileEntityMachineDiesel; +import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; @@ -204,6 +205,12 @@ public class AuxButtonPacket implements IMessage { } } + if (te instanceof TileEntityMachineMissileAssembly) { + TileEntityMachineMissileAssembly assembly = (TileEntityMachineMissileAssembly)te; + + assembly.construct(); + } + //} catch (Exception x) { } return null; diff --git a/com/hbm/render/item/ItemRenderMissile.java b/com/hbm/render/item/ItemRenderMissile.java new file mode 100644 index 000000000..999709361 --- /dev/null +++ b/com/hbm/render/item/ItemRenderMissile.java @@ -0,0 +1,96 @@ +package com.hbm.render.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.ItemCustomMissile; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.render.misc.MissileMultipart; +import com.hbm.render.misc.MissilePart; +import com.hbm.render.misc.MissilePronter; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; + +public class ItemRenderMissile implements IItemRenderer { + + public ItemRenderMissile() { } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return false; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + MissileMultipart missile = new MissileMultipart(); + missile.warhead = MissilePart.getPart(ItemMissile.parts.get(ItemCustomMissile.readFromNBT(item, "warhead"))); + missile.fuselage = MissilePart.getPart(ItemMissile.parts.get(ItemCustomMissile.readFromNBT(item, "fuselage"))); + if(ItemMissile.parts.get(ItemCustomMissile.readFromNBT(item, "stability")) != null) + missile.fins = MissilePart.getPart(ItemMissile.parts.get(ItemCustomMissile.readFromNBT(item, "stability"))); + missile.thruster = MissilePart.getPart(ItemMissile.parts.get(ItemCustomMissile.readFromNBT(item, "thruster"))); + + GL11.glPushMatrix(); + + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + + double s = 0.2; + GL11.glScaled(s, s, s); + + GL11.glTranslated(2, 0, 0); + + MissilePronter.prontMissile(missile, Minecraft.getMinecraft().renderEngine); + + break; + + case INVENTORY: + + double height = missile.getHeight(); + + if(height == 0D) + height = 4D; + + double size = 20; + double scale = size / height; + + GL11.glTranslated(height / 2 * scale, 0, 0); + + GL11.glRotated(135, 0, 0, 1); + GL11.glRotated(215, 1, 0, 0); + + GL11.glTranslated(7, 14, 0); + + GL11.glScaled(-scale, -scale, -scale); + + /*if(part.type.name().equals(PartType.FINS.name())) { + GL11.glTranslated(0, 0, 0); + //GL11.glRotated(-45, 1, 0, 0); + }*/ + + MissilePronter.prontMissile(missile, Minecraft.getMinecraft().renderEngine); + + break; + default: break; + } + + GL11.glPopMatrix(); + } +} diff --git a/com/hbm/render/item/ItemRenderMissilePart.java b/com/hbm/render/item/ItemRenderMissilePart.java index e79467219..62f86b244 100644 --- a/com/hbm/render/item/ItemRenderMissilePart.java +++ b/com/hbm/render/item/ItemRenderMissilePart.java @@ -5,7 +5,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.render.misc.MissilePart; -import com.hbm.render.misc.MissilePart.PartType; import com.hbm.render.model.ModelSteelBeam; import com.hbm.render.model.ModelSteelCorner; import com.hbm.render.model.ModelSteelRoof; diff --git a/com/hbm/render/misc/MissileMultipart.java b/com/hbm/render/misc/MissileMultipart.java index 4865ff297..19de0c062 100644 --- a/com/hbm/render/misc/MissileMultipart.java +++ b/com/hbm/render/misc/MissileMultipart.java @@ -20,9 +20,4 @@ public class MissileMultipart { return height; } - - /*public boolean hadFuselage() { - return fuselage != null; - }*/ - } diff --git a/com/hbm/render/misc/MissilePart.java b/com/hbm/render/misc/MissilePart.java index 510db1198..97a5671d4 100644 --- a/com/hbm/render/misc/MissilePart.java +++ b/com/hbm/render/misc/MissilePart.java @@ -4,8 +4,8 @@ import java.util.ArrayList; import java.util.List; import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemMissile.PartType; import com.hbm.main.ResourceManager; -import com.hbm.render.misc.MissilePart.PartType; import net.minecraft.item.Item; import net.minecraft.util.ResourceLocation; @@ -31,34 +31,37 @@ public class MissilePart { this.texture = texture; } - public enum PartType { - WARHEAD, - FUSELAGE, - FINS, - THRUSTER - } - public static void registerAllParts() { parts.clear(); MissilePart.registerPart(ModItems.mp_thruster_10_kerosene, PartType.THRUSTER, 1, 1, ResourceManager.mp_t_10_kerosene, ResourceManager.mp_t_10_kerosene_tex); MissilePart.registerPart(ModItems.mp_thruster_10_solid, PartType.THRUSTER, 0.5, 1, ResourceManager.mp_t_10_solid, ResourceManager.mp_t_10_solid_tex); - MissilePart.registerPart(ModItems.mp_thruster_15_kerosene, PartType.THRUSTER, 1.625, 1.5, ResourceManager.mp_t_15, ResourceManager.universal); + MissilePart.registerPart(ModItems.mp_thruster_10_xenon, PartType.THRUSTER, 0.5, 1, ResourceManager.mp_t_10_xenon, ResourceManager.mp_t_10_xenon_tex); + MissilePart.registerPart(ModItems.mp_thruster_15_kerosene, PartType.THRUSTER, 1.5, 1.5, ResourceManager.mp_t_15_kerosene, ResourceManager.universal); + MissilePart.registerPart(ModItems.mp_thruster_15_kerosene_dual, PartType.THRUSTER, 1, 1.5, ResourceManager.mp_t_15_kerosene_dual, ResourceManager.mp_t_15_kerosene_dual_tex); MissilePart.registerPart(ModItems.mp_thruster_20_kerosene, PartType.THRUSTER, 2.25, 2, ResourceManager.mp_t_20, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_stability_10_flat, PartType.FINS, 0, 2, ResourceManager.mp_s_10_flat, ResourceManager.mp_s_10_flat_tex); MissilePart.registerPart(ModItems.mp_stability_10_cruise, PartType.FINS, 0, 3, ResourceManager.mp_s_10_cruise, ResourceManager.mp_s_10_cruise_tex); - MissilePart.registerPart(ModItems.mp_stability_15_flat, PartType.FINS, 0, 3, ResourceManager.mp_s_15, ResourceManager.universal); + MissilePart.registerPart(ModItems.mp_stability_15_flat, PartType.FINS, 0, 3, ResourceManager.mp_s_15_flat, ResourceManager.mp_s_15_flat_tex); + MissilePart.registerPart(ModItems.mp_stability_15_thin, PartType.FINS, 0, 3, ResourceManager.mp_s_15_thin, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_stability_20_flat, PartType.FINS, 0, 3, ResourceManager.mp_s_20, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_fuselage_10_kerosene, PartType.FUSELAGE, 4, 3, ResourceManager.mp_f_10_kerosene, ResourceManager.mp_f_10_kerosene_tex); MissilePart.registerPart(ModItems.mp_fuselage_10_solid, PartType.FUSELAGE, 4, 3, ResourceManager.mp_f_10_kerosene, ResourceManager.mp_f_10_solid_tex); + MissilePart.registerPart(ModItems.mp_fuselage_10_xenon, PartType.FUSELAGE, 4, 3, ResourceManager.mp_f_10_kerosene, ResourceManager.mp_f_10_xenon_tex); + MissilePart.registerPart(ModItems.mp_fuselage_10_15_kerosene, PartType.FUSELAGE, 9, 5.5, ResourceManager.mp_f_10_15_kerosene, ResourceManager.mp_f_10_15_kerosene_tex); + MissilePart.registerPart(ModItems.mp_fuselage_10_15_solid, PartType.FUSELAGE, 9, 5.5, ResourceManager.mp_f_10_15_kerosene, ResourceManager.mp_f_10_15_solid_tex); + MissilePart.registerPart(ModItems.mp_fuselage_10_15_hydrogen, PartType.FUSELAGE, 9, 5.5, ResourceManager.mp_f_10_15_kerosene, ResourceManager.mp_f_10_15_hydrogen_tex); + MissilePart.registerPart(ModItems.mp_fuselage_10_15_balefire, PartType.FUSELAGE, 9, 5.5, ResourceManager.mp_f_10_15_kerosene, ResourceManager.mp_f_10_15_balefire_tex); MissilePart.registerPart(ModItems.mp_fuselage_15_kerosene, PartType.FUSELAGE, 6, 4, ResourceManager.mp_f_15, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_fuselage_20_kerosene, PartType.FUSELAGE, 10, 8, ResourceManager.mp_f_20, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_warhead_10_he, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_10_he, ResourceManager.mp_w_10_he_tex); MissilePart.registerPart(ModItems.mp_warhead_10_incendiary, PartType.WARHEAD, 2.5, 2, ResourceManager.mp_w_10_incendiary, ResourceManager.mp_w_10_incendiary_tex); + MissilePart.registerPart(ModItems.mp_warhead_10_buster, PartType.WARHEAD, 0.5, 1, ResourceManager.mp_w_10_buster, ResourceManager.mp_w_10_buster_tex); + MissilePart.registerPart(ModItems.mp_warhead_10_nuclear, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_10_nuclear, ResourceManager.mp_w_10_nuclear_tex); MissilePart.registerPart(ModItems.mp_warhead_15_he, PartType.WARHEAD, 3, 2.25, ResourceManager.mp_w_15, ResourceManager.universal); MissilePart.registerPart(ModItems.mp_warhead_20_he, PartType.WARHEAD, 3, 2.25, ResourceManager.mp_w_20, ResourceManager.universal); diff --git a/com/hbm/render/misc/MissilePronter.java b/com/hbm/render/misc/MissilePronter.java index 213dd3ed5..da7c34637 100644 --- a/com/hbm/render/misc/MissilePronter.java +++ b/com/hbm/render/misc/MissilePronter.java @@ -2,7 +2,7 @@ package com.hbm.render.misc; import org.lwjgl.opengl.GL11; -import com.hbm.render.misc.MissilePart.PartType; +import com.hbm.items.weapon.ItemMissile.PartType; import net.minecraft.client.renderer.texture.TextureManager; diff --git a/com/hbm/render/tileentity/RenderMissileAssembly.java b/com/hbm/render/tileentity/RenderMissileAssembly.java index df861c4ec..866b13558 100644 --- a/com/hbm/render/tileentity/RenderMissileAssembly.java +++ b/com/hbm/render/tileentity/RenderMissileAssembly.java @@ -3,6 +3,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; import com.hbm.render.misc.MissileMultipart; import com.hbm.render.misc.MissilePart; import com.hbm.render.misc.MissilePronter; @@ -28,9 +29,11 @@ public class RenderMissileAssembly extends TileEntitySpecialRenderer { GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F); + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.missile_assembly_tex); + ResourceManager.missile_assembly.renderAll(); MissileMultipart missile = new MissileMultipart(); @@ -46,6 +49,26 @@ public class RenderMissileAssembly extends TileEntitySpecialRenderer { if(te.getStackInSlot(4) != null) missile.thruster = MissilePart.getPart(te.getStackInSlot(4).getItem()); + int range = (int) (missile.getHeight() / 2 - 1); + + int step = 1; + + if(range >= 2) + step = 2; + + for(int i = -range; i <= range; i += step) { + + if(i != 0) { + GL11.glTranslatef(i, 0F, 0F); + bindTexture(ResourceManager.strut_tex); + ResourceManager.strut.renderAll(); + GL11.glTranslatef(-i, 0F, 0F); + } + } + + GL11.glTranslatef(0F, 1.5F, 0F); + GL11.glRotatef(180, 0F, 0F, 1F); + GL11.glTranslated(-missile.getHeight() / 2, 0, 0); //GL11.glScaled(scale, scale, scale); @@ -53,6 +76,7 @@ public class RenderMissileAssembly extends TileEntitySpecialRenderer { GL11.glRotatef(-90, 0, 0, 1); GL11.glScalef(1, 1, 1); + GL11.glEnable(GL11.GL_CULL_FACE); MissilePronter.prontMissile(missile, Minecraft.getMinecraft().getTextureManager()); GL11.glPopMatrix(); diff --git a/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java b/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java index 76565b0de..fe640a419 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java +++ b/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java @@ -9,13 +9,20 @@ import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; +import com.hbm.items.weapon.ItemCustomMissile; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.items.weapon.ItemMissile.FuelType; +import com.hbm.items.weapon.ItemMissile.PartType; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; public class TileEntityMachineMissileAssembly extends TileEntity implements ISidedInventory { @@ -166,4 +173,121 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public boolean canExtractItem(int i, ItemStack itemStack, int j) { return false; } + + public int fuselageState() { + + if(slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + + ItemMissile part = (ItemMissile)slots[2].getItem(); + + if(part.type == PartType.FUSELAGE) + return 1; + } + + return 0; + } + + public int chipState() { + + if(slots[0] != null && slots[0].getItem() instanceof ItemMissile) { + + ItemMissile part = (ItemMissile)slots[0].getItem(); + + if(part.type == PartType.CHIP) + return 1; + } + + return 0; + } + + public int warheadState() { + + if(slots[1] != null && slots[1].getItem() instanceof ItemMissile && + slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + + ItemMissile part = (ItemMissile)slots[1].getItem(); + ItemMissile fuselage = (ItemMissile)slots[2].getItem(); + + if(part.type == PartType.WARHEAD && fuselage.type == PartType.FUSELAGE && + part.bottom == fuselage.top) + return 1; + } + + return 0; + } + + public int stabilityState() { + + if(slots[3] == null) + return -1; + + if(slots[3] != null && slots[3].getItem() instanceof ItemMissile && + slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + + ItemMissile part = (ItemMissile)slots[3].getItem(); + ItemMissile fuselage = (ItemMissile)slots[2].getItem(); + + if(part.type == PartType.FINS && fuselage.type == PartType.FUSELAGE && + part.top == fuselage.bottom) + return 1; + } + + return 0; + } + + public int thrusterState() { + + if(slots[4] != null && slots[4].getItem() instanceof ItemMissile && + slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + + ItemMissile part = (ItemMissile)slots[4].getItem(); + ItemMissile fuselage = (ItemMissile)slots[2].getItem(); + + if(part.type == PartType.THRUSTER && fuselage.type == PartType.FUSELAGE && + part.top == fuselage.bottom && (FuelType)part.attributes[0] == (FuelType)fuselage.attributes[0]) { + return 1; + } + } + + return 0; + } + + public boolean canBuild() { + + if(slots[5] == null && chipState() == 1 && warheadState() == 1 && fuselageState() == 1 && thrusterState() == 1) { + return stabilityState() != 0; + } + + return false; + } + + public void construct() { + + if(!canBuild()) + return; + + slots[5] = ItemCustomMissile.buildMissile(slots[0], slots[1], slots[2], slots[3], slots[4]).copy(); + + if(stabilityState() == 1) + slots[3] = null; + + slots[0] = null; + slots[1] = null; + slots[2] = null; + slots[4] = null; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.missileAssembly", 1F, 1F); + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() + { + return 65536.0D; + } }