large launch table, SMP fixes, lag-free scaffold block
@ -329,6 +329,11 @@ tile.crate_metal.name=Maschinenkiste
|
||||
tile.crate_red.name=Rote Kiste
|
||||
tile.marker_structure.name=Multiblock-Strukturvorlage
|
||||
|
||||
tile.struct_launcher.name=Startrampe-Komponentenblock
|
||||
tile.struct_scaffold.name=Startrampe-Gerüstblock
|
||||
tile.struct_launcher_core.name=Kompaktrampe-Kernkomponente
|
||||
tile.struct_launcher_core_large.name=Startrampe-Kernkomponente
|
||||
|
||||
tile.machine_difurnace_off.name=Hochofen
|
||||
tile.machine_difurnace_on.name=Hochofen
|
||||
container.diFurnace=Hochofen
|
||||
@ -1671,6 +1676,7 @@ item.mp_warhead_15_incendiary.name=Größe 15 Brandsprengkopf
|
||||
item.mp_warhead_15_nuclear.name=Größe 15 Atomsprengkopf "Tantchen Bertha"
|
||||
item.mp_warhead_15_nuclear_shark.name=Größe 15 Atomsprengkopf "Billigsdorfer Kugelwilli"
|
||||
item.mp_warhead_15_boxcar.name=Größe 15 Güterwagon?
|
||||
item.mp_warhead_15_n2.name=Größe 15 N²-Mine
|
||||
|
||||
item.mp_fuselage_10_kerosene.name=Größe 10 Kerosintank
|
||||
item.mp_fuselage_10_kerosene_camo.name=Größe 10 Kerosintank (Camouflage)
|
||||
@ -1710,11 +1716,13 @@ item.mp_fuselage_15_kerosene_insulation.name=Größe 15 Kerosintank (Oranger Iso
|
||||
item.mp_fuselage_15_kerosene_metal.name=Größe 15 Kerosintank (Metall)
|
||||
item.mp_fuselage_15_kerosene_decorated.name=Größe 15 Kerosintank (Dekoriertes Metall)
|
||||
item.mp_fuselage_15_kerosene_steampunk.name=Größe 15 Kerosintank (Steampunk)
|
||||
item.mp_fuselage_15_kerosene_polite.name=Größe 15 Kerosintank (Höflich)
|
||||
item.mp_fuselage_15_kerosene_blackjack.name=Größe 15 Kerosintank (Queen Whiskey)
|
||||
item.mp_fuselage_15_solid.name=Größe 15 Festbrennstofftank
|
||||
item.mp_fuselage_15_solid_insulation.name=Größe 15 Festbrennstofftank (Oranger Isolator)
|
||||
item.mp_fuselage_15_solid_soviet_glory.name=Größe 15 Festbrennstofftank (Sowjetischer Ruhm)
|
||||
item.mp_fuselage_15_solid_soviet_stank.name=Größe 15 Festbrennstofftank (Sowjetischer Mief)
|
||||
item.mp_fuselage_15_solid_desh.name=Größe 15 Festbrennstofftank (Deshverkleidung)
|
||||
item.mp_fuselage_15_hydrogen.name=Größe 15 Wasserstofftank
|
||||
item.mp_fuselage_15_balefire.name=Größe 15 BF-Kraftstofftank
|
||||
|
||||
@ -1758,6 +1766,7 @@ item.sat_laser.name=Orbitaler Todesstrahl
|
||||
item.sat_foeq.name=PEAF - Mk.I FOEQ Dunasonde mit experimenter nuklearer Schubdüse
|
||||
item.sat_resonator.name=Xenium-Resonator-Satellit
|
||||
item.sat_miner.name=Asteroiden-Förderschiff
|
||||
item.sat_gerald.name=Gerald der Konstruktionsandroid
|
||||
item.sat_chip.name=Satelliten-ID-Chip
|
||||
item.sat_interface.name=Satelliten-Kontrollinterface
|
||||
tile.sat_mapper.name=Oberflächen-Abtastungssatellit (Dekoblock)
|
||||
|
||||
@ -329,6 +329,11 @@ tile.crate_metal.name=Machine Crate
|
||||
tile.crate_red.name=Red Crate
|
||||
tile.marker_structure.name=Multiblock Structure Marker
|
||||
|
||||
tile.struct_launcher.name=Launch Pad Component Block
|
||||
tile.struct_scaffold.name=Launch Pad Scaffold Block
|
||||
tile.struct_launcher_core.name=Compact Launcher Core Component
|
||||
tile.struct_launcher_core_large.name=Launch Table Core Component
|
||||
|
||||
tile.machine_difurnace_off.name=Blast Furnace
|
||||
tile.machine_difurnace_on.name=Blast Furnace
|
||||
container.diFurnace=Blast Furnace
|
||||
@ -1671,6 +1676,7 @@ item.mp_warhead_10_nuclear_large.name=Size 10 Nuclear Warhead "Chernobyl Boris"
|
||||
item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead "Auntie Bertha"
|
||||
item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead "Discount Bullet Bill"
|
||||
item.mp_warhead_15_boxcar.name=Size 15 Boxcar?
|
||||
item.mp_warhead_15_n2.name=Size 15 N² Mine
|
||||
|
||||
item.mp_fuselage_10_kerosene.name=Size 10 Kerosene Fuselage
|
||||
item.mp_fuselage_10_kerosene_camo.name=Size 10 Kerosene Fuselage (Camo)
|
||||
@ -1710,11 +1716,13 @@ item.mp_fuselage_15_kerosene_insulation.name=Size 15 Kerosene Fuselage (Orange I
|
||||
item.mp_fuselage_15_kerosene_metal.name=Size 15 Kerosene Fuselage (Metal)
|
||||
item.mp_fuselage_15_kerosene_decorated.name=Size 15 Kerosene Fuselage (Decorated Metal)
|
||||
item.mp_fuselage_15_kerosene_steampunk.name=Size 15 Kerosene Fuselage (Steampunk)
|
||||
item.mp_fuselage_15_kerosene_polite.name=Size 15 Kerosene Fuselage (Polite)
|
||||
item.mp_fuselage_15_kerosene_blackjack.name=Size 15 Kerosene Fuselage (Queen Whiskey)
|
||||
item.mp_fuselage_15_solid.name=Size 15 Solid Fuel Fuselage
|
||||
item.mp_fuselage_15_solid_insulation.name=Size 15 Solid Fuel Fuselage (Orange Insulation)
|
||||
item.mp_fuselage_15_solid_soviet_glory.name=Size 15 Solid Fuel Fuselage (Soviet Glory)
|
||||
item.mp_fuselage_15_solid_soviet_stank.name=Size 15 Solid Fuel Fuselage (Soviet Stank)
|
||||
item.mp_fuselage_15_solid_desh.name=Size 15 Solid Fuel Fuselage (Desh Plating)
|
||||
item.mp_fuselage_15_hydrogen.name=Size 15 Hydrogen Fuselage
|
||||
item.mp_fuselage_15_balefire.name=Size 15 BF Fuselage
|
||||
|
||||
@ -1758,6 +1766,7 @@ item.sat_laser.name=Orbital Death Ray
|
||||
item.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion
|
||||
item.sat_resonator.name=Xenium Resonator Satellite
|
||||
item.sat_miner.name=Asteroid Mining Ship
|
||||
item.sat_gerald.name=Gerald The Construction Android
|
||||
item.sat_chip.name=Satellite ID-Chip
|
||||
item.sat_interface.name=Satellite Control Interface
|
||||
tile.sat_mapper.name=Surface Mapping Satellite (Deco Block)
|
||||
|
||||
128
assets/hbm/models/launch_table/launch_table_base.obj
Normal file
@ -0,0 +1,128 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_base.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -4.500000 0.000000 4.500000
|
||||
v -4.500000 1.000000 4.500000
|
||||
v -4.500000 0.000000 0.500000
|
||||
v -4.500000 1.000000 0.500000
|
||||
v 4.500000 0.000000 4.500000
|
||||
v 4.500000 1.000000 4.500000
|
||||
v 4.500000 0.000000 0.500000
|
||||
v 4.500000 1.000000 0.500000
|
||||
v -4.500000 0.000000 -0.500000
|
||||
v -4.500000 1.000000 -0.500000
|
||||
v -4.500000 0.000000 -4.500000
|
||||
v -4.500000 1.000000 -4.500000
|
||||
v 4.500000 0.000000 -0.500000
|
||||
v 4.500000 1.000000 -0.500000
|
||||
v 4.500000 0.000000 -4.500000
|
||||
v 4.500000 1.000000 -4.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.000000 0.500000 0.500000
|
||||
v 0.000000 0.500000 -0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 4.500000 1.000000 0.500000
|
||||
v 4.500000 1.000000 -0.500000
|
||||
v -4.500000 1.000000 0.500000
|
||||
v -4.500000 1.000000 -0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 4.500000 1.000000 0.500000
|
||||
v 4.500000 1.000000 -0.500000
|
||||
v -4.500000 1.000000 0.500000
|
||||
v -4.500000 1.000000 -0.500000
|
||||
vt 0.722222 0.333333
|
||||
vt 0.722222 0.277778
|
||||
vt 0.944444 0.277778
|
||||
vt 0.500000 0.222222
|
||||
vt 0.500000 0.166667
|
||||
vt 1.000000 0.166667
|
||||
vt 0.500000 0.277778
|
||||
vt 0.722222 0.222222
|
||||
vt 0.500000 0.111111
|
||||
vt 0.500000 0.055556
|
||||
vt 1.000000 0.055556
|
||||
vt 0.222222 1.000000
|
||||
vt 0.222222 0.500000
|
||||
vt 0.444444 0.500000
|
||||
vt 0.222222 0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.500000 0.333333
|
||||
vt 0.500000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.944444 0.222222
|
||||
vt 1.000000 0.111111
|
||||
vt -0.000000 1.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.277778 0.500000
|
||||
vt 0.555556 0.361111
|
||||
vt 0.611111 0.361111
|
||||
vt 0.611111 0.388889
|
||||
vt 0.555556 0.333333
|
||||
vt 0.277778 0.277778
|
||||
vt 0.222222 0.222222
|
||||
vt 0.277778 0.000000
|
||||
vt 0.555556 0.388889
|
||||
vt 0.944444 0.333333
|
||||
vt 1.000000 0.222222
|
||||
vt 0.444444 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.611111 0.333333
|
||||
vt 0.222222 0.277778
|
||||
vt 0.277778 0.222222
|
||||
vt 0.500000 0.388889
|
||||
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
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
s off
|
||||
f 4/1/1 3/2/1 1/3/1
|
||||
f 8/4/2 7/5/2 3/6/2
|
||||
f 6/7/3 5/4/3 7/8/3
|
||||
f 2/9/4 1/10/4 5/11/4
|
||||
f 3/12/5 7/13/5 5/14/5
|
||||
f 8/15/6 4/13/6 2/16/6
|
||||
f 12/17/1 11/7/1 9/2/1
|
||||
f 16/10/2 15/18/2 11/19/2
|
||||
f 14/2/3 13/8/3 15/20/3
|
||||
f 10/5/4 9/9/4 13/21/4
|
||||
f 11/22/5 15/16/5 13/13/5
|
||||
f 16/18/6 12/23/6 10/24/6
|
||||
f 21/25/7 22/26/7 19/27/7
|
||||
f 22/26/8 21/25/8 18/28/8
|
||||
f 25/29/6 30/24/6 29/13/6
|
||||
f 24/30/6 27/15/6 28/31/6
|
||||
f 20/17/5 18/28/5 17/32/5
|
||||
f 37/13/5 38/24/5 33/29/5
|
||||
f 36/31/5 35/15/5 32/30/5
|
||||
f 2/33/1 4/1/1 1/3/1
|
||||
f 4/34/2 8/4/2 3/6/2
|
||||
f 8/2/3 6/7/3 7/8/3
|
||||
f 6/21/4 2/9/4 5/11/4
|
||||
f 1/35/5 3/12/5 5/14/5
|
||||
f 6/36/6 8/15/6 2/16/6
|
||||
f 10/1/1 12/17/1 9/2/1
|
||||
f 12/11/2 16/10/2 11/19/2
|
||||
f 16/3/3 14/2/3 15/20/3
|
||||
f 14/6/4 10/5/4 13/21/4
|
||||
f 9/12/5 11/22/5 13/13/5
|
||||
f 14/31/6 16/18/6 10/24/6
|
||||
f 17/32/7 21/25/7 19/27/7
|
||||
f 20/37/8 22/26/8 18/28/8
|
||||
f 23/38/6 25/29/6 29/13/6
|
||||
f 26/39/6 24/30/6 28/31/6
|
||||
f 19/40/5 20/17/5 17/32/5
|
||||
f 31/38/5 37/13/5 33/29/5
|
||||
f 34/39/5 36/31/5 32/30/5
|
||||
138
assets/hbm/models/launch_table/launch_table_large_pad.obj
Normal file
@ -0,0 +1,138 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_large_pad.blend'
|
||||
# www.blender.org
|
||||
o Cube.002_Cube.003
|
||||
v 3.000000 1.000000 0.500001
|
||||
v 2.500000 2.000000 0.500001
|
||||
v 3.000000 1.000000 2.500001
|
||||
v 2.500000 2.000000 2.500001
|
||||
v -3.000000 1.000000 0.500000
|
||||
v -2.500000 2.000000 0.500000
|
||||
v -3.000000 1.000000 2.500000
|
||||
v -2.500000 2.000000 2.500000
|
||||
v 3.000000 1.000000 -2.999999
|
||||
v 2.500000 2.000000 -2.499999
|
||||
v 3.000000 1.000000 -0.499999
|
||||
v 2.500000 2.000000 -0.500000
|
||||
v -3.000000 1.000000 -3.000000
|
||||
v -2.500000 2.000000 -2.500000
|
||||
v -3.000000 1.000000 -0.500000
|
||||
v -2.500000 2.000000 -0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v 0.500000 2.000000 0.500000
|
||||
v 0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 0.500000
|
||||
v -0.500000 2.000000 -0.500000
|
||||
v 0.500000 2.000000 0.500000
|
||||
v 0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 0.500000
|
||||
v -0.500000 2.000000 -0.500000
|
||||
vt 0.000000 0.545455
|
||||
vt 0.000000 0.454545
|
||||
vt 0.181818 0.454545
|
||||
vt 0.045455 0.090909
|
||||
vt 0.000041 0.000041
|
||||
vt 0.545455 0.000000
|
||||
vt 0.318182 0.454545
|
||||
vt 0.318182 0.363636
|
||||
vt 0.500000 0.363636
|
||||
vt 0.318182 0.181818
|
||||
vt 0.318182 0.272727
|
||||
vt 0.227273 0.272727
|
||||
vt 0.454545 0.545455
|
||||
vt 0.272727 0.545455
|
||||
vt 0.272727 0.454545
|
||||
vt 0.727273 0.181818
|
||||
vt 0.545455 0.454545
|
||||
vt 0.045455 0.454545
|
||||
vt 0.000000 0.363636
|
||||
vt 0.227273 0.363636
|
||||
vt 0.045455 0.181818
|
||||
vt -0.000000 0.090909
|
||||
vt 0.545455 0.090909
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.454545
|
||||
vt 0.818182 0.272727
|
||||
vt 0.636364 0.454545
|
||||
vt 0.636364 0.545455
|
||||
vt 0.727273 0.454545
|
||||
vt 0.181818 0.545455
|
||||
vt 0.727273 -0.000000
|
||||
vt 0.818182 -0.000000
|
||||
vt 0.818182 0.454545
|
||||
vt 0.227273 0.454545
|
||||
vt 0.818182 0.181818
|
||||
vt 0.727273 0.272727
|
||||
vt 0.500000 0.090909
|
||||
vt 0.500000 0.454545
|
||||
vt 0.045455 0.272727
|
||||
vt 0.227273 0.181818
|
||||
vt -0.000000 0.181818
|
||||
vt 0.545455 0.181818
|
||||
vt 0.500000 0.272727
|
||||
vt 0.500000 0.181818
|
||||
vt 0.045455 0.363636
|
||||
vt 0.000000 0.272727
|
||||
vt 0.545455 0.272727
|
||||
vt 0.545455 0.545455
|
||||
vt 0.727273 0.545455
|
||||
vn 0.894400 0.447200 0.000000
|
||||
vn -0.000000 0.000000 1.000000
|
||||
vn -0.894400 0.447200 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 0.447200 -0.894400
|
||||
vn -1.000000 0.000000 -0.000000
|
||||
vn 1.000000 0.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/6/2
|
||||
f 6/7/3 5/8/3 7/9/3
|
||||
f 19/10/4 23/11/4 21/12/4
|
||||
f 10/13/1 12/14/1 11/15/1
|
||||
f 21/16/5 8/17/5 4/6/5
|
||||
f 14/18/3 13/19/3 15/20/3
|
||||
f 10/21/6 9/22/6 13/23/6
|
||||
f 12/9/2 22/8/2 18/11/2
|
||||
f 10/24/5 14/25/5 24/26/5
|
||||
f 18/17/7 17/27/7 21/28/7
|
||||
f 23/28/8 19/27/8 20/29/8
|
||||
f 2/30/1 1/3/1 11/15/1
|
||||
f 21/16/5 2/31/5 12/32/5
|
||||
f 24/26/5 16/33/5 6/29/5
|
||||
f 16/34/3 15/20/3 5/8/3
|
||||
f 22/35/5 24/26/5 23/36/5
|
||||
f 27/36/9 28/26/9 26/35/9
|
||||
f 2/30/1 4/1/1 1/3/1
|
||||
f 4/37/2 8/4/2 3/6/2
|
||||
f 8/38/3 6/7/3 7/9/3
|
||||
f 21/12/4 2/39/4 17/40/4
|
||||
f 1/41/4 17/40/4 2/39/4
|
||||
f 19/10/4 5/42/4 6/43/4
|
||||
f 6/43/4 23/11/4 19/10/4
|
||||
f 21/12/4 17/40/4 19/10/4
|
||||
f 9/38/1 10/13/1 11/15/1
|
||||
f 4/6/5 2/31/5 21/16/5
|
||||
f 21/16/5 23/36/5 8/17/5
|
||||
f 6/29/5 8/17/5 23/36/5
|
||||
f 16/34/3 14/18/3 15/20/3
|
||||
f 14/44/6 10/21/6 13/23/6
|
||||
f 16/45/2 15/46/2 20/12/2
|
||||
f 20/12/2 18/11/2 22/8/2
|
||||
f 11/47/2 12/9/2 18/11/2
|
||||
f 22/8/2 24/20/2 20/12/2
|
||||
f 16/45/2 20/12/2 24/20/2
|
||||
f 24/26/5 22/35/5 10/24/5
|
||||
f 12/32/5 10/24/5 22/35/5
|
||||
f 14/25/5 16/33/5 24/26/5
|
||||
f 22/48/7 18/17/7 21/28/7
|
||||
f 24/49/8 23/28/8 20/29/8
|
||||
f 12/14/1 2/30/1 11/15/1
|
||||
f 22/35/5 21/16/5 12/32/5
|
||||
f 23/36/5 24/26/5 6/29/5
|
||||
f 6/7/3 16/34/3 5/8/3
|
||||
f 21/16/5 22/35/5 23/36/5
|
||||
f 25/16/9 27/36/9 26/35/9
|
||||
@ -0,0 +1,311 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_large_scaffold_base.blend'
|
||||
# www.blender.org
|
||||
o Cube.003_Cube.004
|
||||
v 1.000000 0.000000 0.749996
|
||||
v 1.000000 1.000000 0.749996
|
||||
v 1.000000 0.000000 0.999996
|
||||
v 1.000000 1.000000 0.999996
|
||||
v 0.750000 0.000000 0.749996
|
||||
v 0.750000 1.000000 0.749996
|
||||
v 0.750000 0.000000 0.999996
|
||||
v 0.750000 1.000000 0.999996
|
||||
v -0.750000 0.000000 0.749996
|
||||
v -0.750000 1.000000 0.749996
|
||||
v -0.750000 0.000000 0.999996
|
||||
v -0.750000 1.000000 0.999996
|
||||
v -1.000000 0.000000 0.749996
|
||||
v -1.000000 1.000000 0.749996
|
||||
v -1.000000 0.000000 0.999996
|
||||
v -1.000000 1.000000 0.999996
|
||||
v -0.750000 0.000000 -1.000004
|
||||
v -0.750000 1.000000 -1.000004
|
||||
v -0.750000 0.000000 -0.750004
|
||||
v -0.750000 1.000000 -0.750004
|
||||
v -1.000000 0.000000 -1.000004
|
||||
v -1.000000 1.000000 -1.000004
|
||||
v -1.000000 0.000000 -0.750004
|
||||
v -1.000000 1.000000 -0.750004
|
||||
v 1.000000 0.000000 -1.000004
|
||||
v 1.000000 1.000000 -1.000004
|
||||
v 1.000000 0.000000 -0.750004
|
||||
v 1.000000 1.000000 -0.750004
|
||||
v 0.750000 0.000000 -1.000004
|
||||
v 0.750000 1.000000 -1.000004
|
||||
v 0.750000 0.000000 -0.750004
|
||||
v 0.750000 1.000000 -0.750004
|
||||
v 0.750000 0.000000 0.874996
|
||||
v 0.750000 1.000000 0.874996
|
||||
v -0.750000 0.000000 0.874996
|
||||
v -0.750000 1.000000 0.874996
|
||||
v 0.750000 0.000000 -0.875004
|
||||
v 0.750000 1.000000 -0.875004
|
||||
v -0.750000 0.000000 -0.875004
|
||||
v -0.750000 1.000000 -0.875004
|
||||
v 0.875000 0.000000 -0.750004
|
||||
v 0.875000 1.000000 -0.750004
|
||||
v 0.875000 0.000000 0.749996
|
||||
v 0.875000 1.000000 0.749996
|
||||
v -0.875000 0.000000 -0.750004
|
||||
v -0.875000 1.000000 -0.750004
|
||||
v -0.875000 0.000000 0.749996
|
||||
v -0.875000 1.000000 0.749996
|
||||
v 0.500000 1.000000 -0.250004
|
||||
v 0.500000 0.000000 -0.250004
|
||||
v -0.500000 0.000000 -0.250004
|
||||
v -0.500000 1.000000 -0.250004
|
||||
v -0.676777 0.000000 -0.323227
|
||||
v -0.676777 1.000000 -0.323227
|
||||
v -0.750000 0.000000 -0.500004
|
||||
v -0.750000 1.000000 -0.500004
|
||||
v -0.676777 0.000000 -0.676780
|
||||
v -0.676777 1.000000 -0.676780
|
||||
v -0.500000 0.000000 -0.750004
|
||||
v -0.500000 1.000000 -0.750004
|
||||
v -0.323223 0.000000 -0.676780
|
||||
v -0.323223 1.000000 -0.676780
|
||||
v -0.250000 0.000000 -0.500004
|
||||
v -0.250000 1.000000 -0.500004
|
||||
v -0.323223 0.000000 -0.323227
|
||||
v -0.323223 1.000000 -0.323227
|
||||
v 0.323223 0.000000 -0.323227
|
||||
v 0.323223 1.000000 -0.323227
|
||||
v 0.250000 0.000000 -0.500004
|
||||
v 0.250000 1.000000 -0.500004
|
||||
v 0.323223 0.000000 -0.676780
|
||||
v 0.323223 1.000000 -0.676780
|
||||
v 0.500000 0.000000 -0.750004
|
||||
v 0.500000 1.000000 -0.750004
|
||||
v 0.676777 0.000000 -0.676780
|
||||
v 0.676777 1.000000 -0.676780
|
||||
v 0.750000 0.000000 -0.500004
|
||||
v 0.750000 1.000000 -0.500004
|
||||
v 0.676777 0.000000 -0.323227
|
||||
v 0.676777 1.000000 -0.323227
|
||||
v 0.156250 0.000000 -0.156254
|
||||
v 0.156250 1.000000 -0.156254
|
||||
v 0.156250 0.000000 0.156246
|
||||
v 0.156250 1.000000 0.156246
|
||||
v -0.156250 0.000000 -0.156254
|
||||
v -0.156250 1.000000 -0.156254
|
||||
v -0.156250 0.000000 0.156246
|
||||
v -0.156250 1.000000 0.156246
|
||||
v 0.750000 0.000000 0.874996
|
||||
v 0.750000 1.000000 0.874996
|
||||
v -0.750000 0.000000 0.874996
|
||||
v -0.750000 1.000000 0.874996
|
||||
v 0.750000 0.000000 -0.875004
|
||||
v 0.750000 1.000000 -0.875004
|
||||
v -0.750000 0.000000 -0.875004
|
||||
v -0.750000 1.000000 -0.875004
|
||||
v 0.875000 0.000000 -0.750004
|
||||
v 0.875000 1.000000 -0.750004
|
||||
v 0.875000 0.000000 0.749996
|
||||
v 0.875000 1.000000 0.749996
|
||||
v -0.875000 0.000000 -0.750004
|
||||
v -0.875000 1.000000 -0.750004
|
||||
v -0.875000 0.000000 0.749996
|
||||
v -0.875000 1.000000 0.749996
|
||||
vt 0.176471 0.235294
|
||||
vt 0.176471 -0.000000
|
||||
vt 0.235294 -0.000000
|
||||
vt 0.117647 0.235294
|
||||
vt 0.117647 0.000000
|
||||
vt 0.058824 0.235294
|
||||
vt 0.058824 0.000000
|
||||
vt 0.000000 0.235294
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.779412 0.544118
|
||||
vt 0.705882 0.544118
|
||||
vt 0.705882 0.470588
|
||||
vt 0.058824 0.294118
|
||||
vt 0.000000 0.294118
|
||||
vt 0.852941 0.470588
|
||||
vt 0.852941 0.235294
|
||||
vt 0.926471 0.235294
|
||||
vt 0.926471 0.470588
|
||||
vt 1.000000 0.235294
|
||||
vt 0.705882 0.588235
|
||||
vt 0.352941 0.588235
|
||||
vt 0.352941 0.352941
|
||||
vt -0.000000 0.588235
|
||||
vt 0.705882 0.823529
|
||||
vt 0.352941 0.823529
|
||||
vt 0.000000 0.823529
|
||||
vt 0.720588 0.235294
|
||||
vt 0.676471 0.235294
|
||||
vt 0.676471 0.000000
|
||||
vt 0.588235 0.235294
|
||||
vt 0.544118 0.235294
|
||||
vt 0.544118 -0.000000
|
||||
vt 0.764706 0.235294
|
||||
vt 0.720588 0.000000
|
||||
vt 0.500000 0.235294
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.808824 0.235294
|
||||
vt 0.764706 0.000000
|
||||
vt 0.455882 0.235294
|
||||
vt 0.455882 -0.000000
|
||||
vt 0.705882 0.235294
|
||||
vt 0.779412 0.235294
|
||||
vt 0.808824 0.000000
|
||||
vt 0.411765 0.235294
|
||||
vt 0.411765 -0.000000
|
||||
vt 0.632353 0.235294
|
||||
vt 0.632353 0.000000
|
||||
vt 0.897059 0.235294
|
||||
vt 0.852941 0.000000
|
||||
vt 0.367647 0.235294
|
||||
vt 0.367647 -0.000000
|
||||
vt 0.588235 0.000000
|
||||
vt 0.941176 0.235294
|
||||
vt 0.897059 0.000000
|
||||
vt 0.323529 0.235294
|
||||
vt 0.323529 -0.000000
|
||||
vt 0.235294 0.294118
|
||||
vt 0.338235 0.250000
|
||||
vt 0.352941 0.294118
|
||||
vt 0.279412 0.235294
|
||||
vt 0.235294 0.235294
|
||||
vt 0.279412 -0.000000
|
||||
vt 0.588235 0.294118
|
||||
vt 0.647059 0.235294
|
||||
vt 0.647059 0.352941
|
||||
vt 0.779412 0.470588
|
||||
vt 1.000000 0.470588
|
||||
vt 0.705882 0.352941
|
||||
vt 0.000000 0.352941
|
||||
vt 0.941176 0.000000
|
||||
vt 0.338235 0.338235
|
||||
vt 0.294118 0.352941
|
||||
vt 0.250000 0.338235
|
||||
vt 0.250000 0.250000
|
||||
vt 0.294118 0.235294
|
||||
vt 0.705882 0.294118
|
||||
vt 0.691176 0.338235
|
||||
vt 0.602941 0.338235
|
||||
vt 0.602941 0.250000
|
||||
vt 0.691176 0.250000
|
||||
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.923900 0.000000 -0.382700
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
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 88/10/5 84/11/5 82/12/5
|
||||
f 6/6/5 8/13/5 4/14/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/5/3
|
||||
f 10/8/4 9/9/4 13/7/4
|
||||
f 14/6/5 16/13/5 12/14/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/5/3
|
||||
f 18/8/4 17/9/4 21/7/4
|
||||
f 82/15/4 81/16/4 85/17/4
|
||||
f 24/13/5 20/14/5 18/8/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/5/3
|
||||
f 26/8/4 25/9/4 29/7/4
|
||||
f 86/18/3 85/17/3 87/19/3
|
||||
f 32/13/5 28/14/5 26/8/5
|
||||
f 34/20/2 36/21/2 35/22/2
|
||||
f 39/22/4 40/21/4 38/23/4
|
||||
f 42/24/1 44/25/1 43/21/1
|
||||
f 47/21/3 48/25/3 46/26/3
|
||||
f 76/27/6 78/28/6 77/29/6
|
||||
f 52/30/7 54/31/7 53/32/7
|
||||
f 74/33/8 76/27/8 75/34/8
|
||||
f 54/31/9 56/35/9 55/36/9
|
||||
f 72/37/10 74/33/10 73/38/10
|
||||
f 56/35/11 58/39/11 57/40/11
|
||||
f 88/12/2 87/41/2 83/42/2
|
||||
f 70/16/11 72/37/11 71/43/11
|
||||
f 58/39/10 60/44/10 59/45/10
|
||||
f 78/28/12 80/46/12 79/47/12
|
||||
f 68/48/9 70/16/9 69/49/9
|
||||
f 60/44/8 62/50/8 61/51/8
|
||||
f 80/46/13 49/30/13 50/52/13
|
||||
f 49/53/7 68/48/7 67/54/7
|
||||
f 62/50/6 64/55/6 63/56/6
|
||||
f 64/57/5 58/58/5 56/59/5
|
||||
f 66/60/13 52/61/13 51/3/13
|
||||
f 64/55/12 66/60/12 65/62/12
|
||||
f 78/63/5 74/64/5 49/65/5
|
||||
f 84/66/1 83/42/1 81/16/1
|
||||
f 91/22/4 92/21/4 90/20/4
|
||||
f 94/23/2 96/21/2 95/22/2
|
||||
f 99/21/3 100/25/3 98/24/3
|
||||
f 102/26/1 104/25/1 103/21/1
|
||||
f 2/61/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 86/66/5 88/10/5 82/12/5
|
||||
f 2/8/5 6/6/5 4/14/5
|
||||
f 10/61/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/4/3 14/6/3 15/5/3
|
||||
f 14/6/4 10/8/4 13/7/4
|
||||
f 10/8/5 14/6/5 12/14/5
|
||||
f 18/61/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/4/3 22/6/3 23/5/3
|
||||
f 22/6/4 18/8/4 21/7/4
|
||||
f 86/18/4 82/15/4 85/17/4
|
||||
f 22/6/5 24/13/5 18/8/5
|
||||
f 26/61/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/4/3 30/6/3 31/5/3
|
||||
f 30/6/4 26/8/4 29/7/4
|
||||
f 88/67/3 86/18/3 87/19/3
|
||||
f 30/6/5 32/13/5 26/8/5
|
||||
f 33/68/2 34/20/2 35/22/2
|
||||
f 37/69/4 39/22/4 38/23/4
|
||||
f 41/20/1 42/24/1 43/21/1
|
||||
f 45/23/3 47/21/3 46/26/3
|
||||
f 75/34/6 76/27/6 77/29/6
|
||||
f 51/52/7 52/30/7 53/32/7
|
||||
f 73/38/8 74/33/8 75/34/8
|
||||
f 53/32/9 54/31/9 55/36/9
|
||||
f 71/43/10 72/37/10 73/38/10
|
||||
f 55/36/11 56/35/11 57/40/11
|
||||
f 84/66/2 88/12/2 83/42/2
|
||||
f 69/49/11 70/16/11 71/43/11
|
||||
f 57/40/10 58/39/10 59/45/10
|
||||
f 77/29/12 78/28/12 79/47/12
|
||||
f 67/54/9 68/48/9 69/49/9
|
||||
f 59/45/8 60/44/8 61/51/8
|
||||
f 79/47/13 80/46/13 50/52/13
|
||||
f 50/70/7 49/53/7 67/54/7
|
||||
f 61/51/6 62/50/6 63/56/6
|
||||
f 56/59/5 54/71/5 52/72/5
|
||||
f 52/72/5 66/73/5 56/59/5
|
||||
f 64/57/5 62/74/5 60/75/5
|
||||
f 60/75/5 58/58/5 64/57/5
|
||||
f 56/59/5 66/73/5 64/57/5
|
||||
f 65/62/13 66/60/13 51/3/13
|
||||
f 63/56/12 64/55/12 65/62/12
|
||||
f 70/76/5 68/77/5 49/65/5
|
||||
f 49/65/5 80/78/5 78/63/5
|
||||
f 78/63/5 76/79/5 74/64/5
|
||||
f 74/64/5 72/80/5 70/76/5
|
||||
f 70/76/5 49/65/5 74/64/5
|
||||
f 82/15/1 84/66/1 81/16/1
|
||||
f 89/68/4 91/22/4 90/20/4
|
||||
f 93/69/2 94/23/2 95/22/2
|
||||
f 97/20/3 99/21/3 98/24/3
|
||||
f 101/23/1 102/26/1 103/21/1
|
||||
@ -0,0 +1,491 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_large_scaffold_connector.blend'
|
||||
# www.blender.org
|
||||
o Cube.004_Cube.005
|
||||
v 1.000000 0.000000 0.750000
|
||||
v 1.000000 1.000000 0.750000
|
||||
v 1.000000 0.000000 1.000000
|
||||
v 1.000000 1.000000 1.000000
|
||||
v 0.750000 0.000000 0.750000
|
||||
v 0.750000 1.000000 0.750000
|
||||
v 0.750000 0.000000 1.000000
|
||||
v 0.750000 1.000000 1.000000
|
||||
v -0.750000 0.000000 0.750000
|
||||
v -0.750000 1.000000 0.750000
|
||||
v -0.750000 0.000000 1.000000
|
||||
v -0.750000 1.000000 1.000000
|
||||
v -1.000000 0.000000 0.750000
|
||||
v -1.000000 1.000000 0.750000
|
||||
v -1.000000 0.000000 1.000000
|
||||
v -1.000000 1.000000 1.000000
|
||||
v -0.750000 0.000000 -1.000000
|
||||
v -0.750000 1.000000 -1.000000
|
||||
v -0.750000 0.000000 -0.750000
|
||||
v -0.750000 1.000000 -0.750000
|
||||
v -1.000000 0.000000 -1.000000
|
||||
v -1.000000 1.000000 -1.000000
|
||||
v -1.000000 0.000000 -0.750000
|
||||
v -1.000000 1.000000 -0.750000
|
||||
v 1.000000 0.000000 -1.000000
|
||||
v 1.000000 1.000000 -1.000000
|
||||
v 1.000000 0.000000 -0.750000
|
||||
v 1.000000 1.000000 -0.750000
|
||||
v 0.750000 0.000000 -1.000000
|
||||
v 0.750000 1.000000 -1.000000
|
||||
v 0.750000 0.000000 -0.750000
|
||||
v 0.750000 1.000000 -0.750000
|
||||
v 0.750000 0.000000 0.875000
|
||||
v 0.750000 1.000000 0.875000
|
||||
v -0.750000 0.000000 0.875000
|
||||
v -0.750000 1.000000 0.875000
|
||||
v 0.750000 0.000000 -0.875000
|
||||
v 0.750000 1.000000 -0.875000
|
||||
v -0.750000 0.000000 -0.875000
|
||||
v -0.750000 1.000000 -0.875000
|
||||
v 0.875000 0.000000 -0.750000
|
||||
v 0.875000 1.000000 -0.750000
|
||||
v 0.875000 0.000000 0.750000
|
||||
v 0.875000 1.000000 0.750000
|
||||
v -0.875000 0.000000 -0.750000
|
||||
v -0.875000 1.000000 -0.750000
|
||||
v -0.875000 0.000000 0.750000
|
||||
v -0.875000 1.000000 0.750000
|
||||
v 0.500000 0.000000 -0.250000
|
||||
v 0.676777 0.250000 -0.323223
|
||||
v -0.676777 0.250000 -0.676777
|
||||
v -0.500000 0.000000 -0.250000
|
||||
v -0.750000 0.250000 -0.500000
|
||||
v -0.676777 0.000000 -0.323223
|
||||
v 0.323223 0.250000 -0.323223
|
||||
v -0.750000 0.000000 -0.500000
|
||||
v 0.250000 0.250000 -0.500000
|
||||
v -0.676777 0.000000 -0.676777
|
||||
v -0.500000 0.250000 -0.250000
|
||||
v -0.500000 0.000000 -0.750000
|
||||
v -0.676777 0.250000 -0.323223
|
||||
v -0.323223 0.000000 -0.676777
|
||||
v -0.250000 0.000000 -0.500000
|
||||
v 0.676777 0.250000 -0.676777
|
||||
v -0.323223 0.000000 -0.323223
|
||||
v 0.750000 0.250000 -0.500000
|
||||
v 0.323223 0.000000 -0.323223
|
||||
v -0.323223 0.250000 -0.323223
|
||||
v 0.250000 0.000000 -0.500000
|
||||
v -0.250000 0.250000 -0.500000
|
||||
v 0.323223 0.000000 -0.676777
|
||||
v 0.500000 0.250000 -0.250000
|
||||
v 0.500000 0.000000 -0.750000
|
||||
v -0.323223 0.250000 -0.676777
|
||||
v 0.676777 0.000000 -0.676777
|
||||
v 0.750000 0.000000 -0.500000
|
||||
v 0.323223 0.250000 -0.676777
|
||||
v 0.676777 0.000000 -0.323223
|
||||
v 0.156250 0.000000 -0.156250
|
||||
v 0.156250 0.000000 0.156250
|
||||
v -0.156250 0.000000 -0.156250
|
||||
v -0.156250 0.000000 0.156250
|
||||
v 0.500001 0.750000 -3.500000
|
||||
v -0.499999 0.750000 -3.500000
|
||||
v -0.676776 0.676777 -3.500000
|
||||
v -0.749999 0.500000 -3.500000
|
||||
v -0.676776 0.323223 -3.500000
|
||||
v -0.499999 0.250000 -3.500000
|
||||
v -0.323223 0.323223 -3.500000
|
||||
v -0.249999 0.500000 -3.500000
|
||||
v -0.323223 0.676777 -3.500000
|
||||
v 0.323224 0.676777 -3.500000
|
||||
v 0.250001 0.500000 -3.500000
|
||||
v 0.323224 0.323223 -3.500000
|
||||
v 0.500001 0.250000 -3.500000
|
||||
v 0.676777 0.323223 -3.500000
|
||||
v 0.750001 0.500000 -3.500000
|
||||
v 0.676777 0.676777 -3.500000
|
||||
v 0.676777 0.323223 -0.750000
|
||||
v 0.500000 0.250000 -0.750000
|
||||
v -0.676777 0.676777 -0.750000
|
||||
v -0.500000 0.750000 -0.750000
|
||||
v 0.250000 0.500000 -0.750000
|
||||
v 0.323223 0.676777 -0.750000
|
||||
v -0.750000 0.500000 -0.750000
|
||||
v -0.676777 0.323223 -0.750000
|
||||
v 0.323223 0.323223 -0.750000
|
||||
v -0.500000 0.250000 -0.750000
|
||||
v -0.323223 0.323223 -0.750000
|
||||
v 0.500000 0.750000 -0.750000
|
||||
v -0.250000 0.500000 -0.750000
|
||||
v -0.323223 0.676777 -0.750000
|
||||
v 0.750000 0.500000 -0.750000
|
||||
v 0.676777 0.676777 -0.750000
|
||||
v 0.156250 0.343750 -0.156250
|
||||
v 0.156250 0.656250 -0.156250
|
||||
v 0.156250 0.343750 0.156250
|
||||
v 0.156250 0.656250 0.156250
|
||||
v -0.156250 0.343750 -0.156250
|
||||
v -0.156250 0.656250 -0.156250
|
||||
v -0.156250 0.343750 0.156250
|
||||
v -0.156250 0.656250 0.156250
|
||||
v 0.156251 0.343750 -3.500000
|
||||
v 0.156251 0.656250 -3.500000
|
||||
v -0.156249 0.656250 -3.500000
|
||||
v -0.156249 0.343750 -3.500000
|
||||
v 0.750000 0.000000 0.875000
|
||||
v 0.750000 1.000000 0.875000
|
||||
v -0.750000 0.000000 0.875000
|
||||
v -0.750000 1.000000 0.875000
|
||||
v 0.750000 0.000000 -0.875000
|
||||
v 0.750000 1.000000 -0.875000
|
||||
v -0.750000 0.000000 -0.875000
|
||||
v -0.750000 1.000000 -0.875000
|
||||
v 0.875000 0.000000 -0.750000
|
||||
v 0.875000 1.000000 -0.750000
|
||||
v 0.875000 0.000000 0.750000
|
||||
v 0.875000 1.000000 0.750000
|
||||
v -0.875000 0.000000 -0.750000
|
||||
v -0.875000 1.000000 -0.750000
|
||||
v -0.875000 0.000000 0.750000
|
||||
v -0.875000 1.000000 0.750000
|
||||
vt 0.107143 0.142857
|
||||
vt 0.107143 0.000000
|
||||
vt 0.142857 0.000000
|
||||
vt 0.071429 0.142857
|
||||
vt 0.071429 -0.000000
|
||||
vt 0.035714 0.142857
|
||||
vt 0.035714 -0.000000
|
||||
vt -0.000000 0.142857
|
||||
vt -0.000000 0.000000
|
||||
vt 0.133929 0.375000
|
||||
vt 0.133929 0.330357
|
||||
vt 0.178571 0.330357
|
||||
vt 0.035714 0.178571
|
||||
vt 0.000000 0.178571
|
||||
vt 0.571429 0.142857
|
||||
vt 0.357143 0.142857
|
||||
vt 0.357143 -0.000000
|
||||
vt 0.142857 0.142857
|
||||
vt 0.571429 0.285714
|
||||
vt 0.357143 0.285714
|
||||
vt 0.142857 0.285714
|
||||
vt 0.732143 -0.000000
|
||||
vt 0.732143 0.035714
|
||||
vt 0.705357 0.035714
|
||||
vt 0.758929 -0.000000
|
||||
vt 0.758929 0.035714
|
||||
vt 0.946429 -0.000000
|
||||
vt 0.946429 0.035714
|
||||
vt 0.919643 0.035714
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.035714
|
||||
vt 0.973214 0.035714
|
||||
vt 0.839286 -0.000000
|
||||
vt 0.839286 0.035714
|
||||
vt 0.812500 0.035714
|
||||
vt 0.973214 -0.000000
|
||||
vt 0.812500 -0.000000
|
||||
vt 0.785714 0.035714
|
||||
vt 0.625000 -0.000000
|
||||
vt 0.625000 0.035714
|
||||
vt 0.598214 0.035714
|
||||
vt 0.598214 -0.000000
|
||||
vt 0.571429 0.035714
|
||||
vt 0.651786 -0.000000
|
||||
vt 0.651786 0.035714
|
||||
vt 0.866071 -0.000000
|
||||
vt 0.866071 0.035714
|
||||
vt 0.785714 -0.000000
|
||||
vt 0.964286 0.089286
|
||||
vt 0.571429 0.089286
|
||||
vt 0.571429 0.062500
|
||||
vt 0.964286 0.464286
|
||||
vt 0.571429 0.464286
|
||||
vt 0.571429 0.437500
|
||||
vt 0.964286 0.116071
|
||||
vt 0.571429 0.116071
|
||||
vt 0.964286 0.276786
|
||||
vt 0.571429 0.276786
|
||||
vt 0.571429 0.250000
|
||||
vt 0.964286 0.062500
|
||||
vt 0.964286 0.142857
|
||||
vt 0.964286 0.169643
|
||||
vt 0.571429 0.169643
|
||||
vt 0.964286 0.383929
|
||||
vt 0.571429 0.383929
|
||||
vt 0.571429 0.357143
|
||||
vt 0.964286 0.303571
|
||||
vt 0.571429 0.303571
|
||||
vt 0.964286 0.196429
|
||||
vt 0.571429 0.196429
|
||||
vt 0.964286 0.223214
|
||||
vt 0.571429 0.223214
|
||||
vt 0.964286 0.410714
|
||||
vt 0.571429 0.410714
|
||||
vt 0.964286 0.330357
|
||||
vt 0.571429 0.330357
|
||||
vt 0.964286 0.437500
|
||||
vt 0.964286 0.357143
|
||||
vt 0.964286 0.250000
|
||||
vt 0.705357 -0.000000
|
||||
vt 0.678571 0.035714
|
||||
vt 0.678571 -0.000000
|
||||
vt 0.892857 0.035714
|
||||
vt 0.892857 -0.000000
|
||||
vt 0.919643 -0.000000
|
||||
vt 0.482143 0.517857
|
||||
vt 0.508929 0.508929
|
||||
vt 0.508929 0.526786
|
||||
vt 0.696429 0.517857
|
||||
vt 0.669643 0.526786
|
||||
vt 0.669643 0.508929
|
||||
vt 0.642857 0.535714
|
||||
vt 0.642857 0.491071
|
||||
vt 0.616071 0.562500
|
||||
vt 0.535714 0.535714
|
||||
vt 0.562500 0.473214
|
||||
vt 0.562500 0.562500
|
||||
vt 0.589286 0.562500
|
||||
vt 0.589286 0.464286
|
||||
vt 0.723214 0.508929
|
||||
vt 0.723214 0.526786
|
||||
vt 0.910714 0.517857
|
||||
vt 0.883929 0.526786
|
||||
vt 0.883929 0.508929
|
||||
vt 0.857143 0.535714
|
||||
vt 0.857143 0.491071
|
||||
vt 0.750000 0.535714
|
||||
vt 0.776786 0.473214
|
||||
vt 0.776786 0.562500
|
||||
vt 0.830357 0.562500
|
||||
vt 0.803571 0.562500
|
||||
vt 0.803571 0.464286
|
||||
vt 0.089286 0.375000
|
||||
vt 0.089286 0.330357
|
||||
vt 0.044643 0.375000
|
||||
vt 0.044643 0.330357
|
||||
vt -0.000000 0.508929
|
||||
vt 0.482143 0.508929
|
||||
vt 0.482143 0.553571
|
||||
vt 0.089286 0.285714
|
||||
vt -0.000000 0.375000
|
||||
vt -0.000000 0.330357
|
||||
vt 0.133929 0.285714
|
||||
vt -0.000000 0.285714
|
||||
vt 0.044643 0.285714
|
||||
vt 0.178571 0.375000
|
||||
vt 0.223214 0.330357
|
||||
vt -0.000000 0.464286
|
||||
vt 0.482143 0.464286
|
||||
vt 0.482143 0.375000
|
||||
vt 0.482143 0.419643
|
||||
vt 0.000000 0.419643
|
||||
vt 0.571429 0.000000
|
||||
vt 0.964286 0.035714
|
||||
vt 0.616071 0.473214
|
||||
vt 0.535714 0.491071
|
||||
vt 0.750000 0.491071
|
||||
vt 0.830357 0.473214
|
||||
vt -0.000000 0.553571
|
||||
vt 0.178571 0.285714
|
||||
vt 0.223214 0.375000
|
||||
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.923900 0.000000 -0.382700
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn 0.923900 -0.382700 0.000000
|
||||
vn -0.382700 -0.923900 -0.000000
|
||||
vn 0.923900 0.382700 0.000000
|
||||
vn 0.382700 -0.923900 0.000000
|
||||
vn 0.382700 0.923900 0.000000
|
||||
vn -0.382700 0.923900 -0.000000
|
||||
vn -0.923900 0.382700 -0.000000
|
||||
vn -0.923900 -0.382700 -0.000000
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn -0.281100 -0.678600 -0.678600
|
||||
vn 0.281100 -0.678600 -0.678600
|
||||
vn 0.862900 -0.357400 -0.357400
|
||||
vn 0.862900 0.357400 0.357400
|
||||
vn -0.862900 -0.357400 -0.357400
|
||||
vn -0.862900 0.357400 0.357400
|
||||
vn -0.281100 0.678600 0.678600
|
||||
vn 0.281100 0.678600 0.678600
|
||||
vn 0.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 118/10/1 117/11/1 115/12/1
|
||||
f 6/6/5 8/13/5 4/14/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/5/3
|
||||
f 10/8/4 9/9/4 13/7/4
|
||||
f 16/13/5 12/14/5 10/8/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/5/3
|
||||
f 18/8/4 17/9/4 21/7/4
|
||||
f 22/6/5 24/13/5 20/14/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/5/3
|
||||
f 26/8/4 25/9/4 29/7/4
|
||||
f 32/13/5 28/14/5 26/8/5
|
||||
f 34/15/2 36/16/2 35/17/2
|
||||
f 39/17/4 40/16/4 38/18/4
|
||||
f 42/19/1 44/20/1 43/16/1
|
||||
f 47/16/3 48/20/3 46/21/3
|
||||
f 56/22/6 53/23/6 51/24/6
|
||||
f 54/25/7 61/26/7 53/23/7
|
||||
f 69/27/6 57/28/6 77/29/6
|
||||
f 49/30/8 72/31/8 55/32/8
|
||||
f 76/33/9 66/34/9 50/35/9
|
||||
f 67/36/7 55/32/7 57/28/7
|
||||
f 78/37/10 50/35/10 72/38/10
|
||||
f 63/39/9 70/40/9 68/41/9
|
||||
f 65/42/10 68/41/10 59/43/10
|
||||
f 62/44/11 74/45/11 70/40/11
|
||||
f 75/46/11 64/47/11 66/34/11
|
||||
f 52/48/8 59/38/8 61/26/8
|
||||
f 97/49/12 113/50/12 99/51/12
|
||||
f 88/52/13 108/53/13 106/54/13
|
||||
f 98/55/14 114/56/14 113/50/14
|
||||
f 89/57/15 109/58/15 108/59/15
|
||||
f 96/60/15 99/51/15 100/43/15
|
||||
f 83/61/16 110/15/16 114/56/16
|
||||
f 92/62/17 104/63/17 110/15/17
|
||||
f 85/64/17 101/65/17 102/66/17
|
||||
f 90/67/12 111/68/12 109/58/12
|
||||
f 93/69/18 103/70/18 104/63/18
|
||||
f 94/71/19 107/72/19 103/70/19
|
||||
f 86/73/18 105/74/18 101/65/18
|
||||
f 91/75/14 112/76/14 111/68/14
|
||||
f 87/77/19 106/54/19 105/74/19
|
||||
f 84/78/16 102/66/16 112/76/16
|
||||
f 95/79/13 100/59/13 107/72/13
|
||||
f 58/80/20 51/24/20 108/81/20
|
||||
f 62/44/21 60/82/21 108/81/21
|
||||
f 100/83/21 64/47/21 75/46/21
|
||||
f 100/83/20 73/84/20 71/85/20
|
||||
f 108/86/22 51/87/22 106/88/22
|
||||
f 108/89/23 109/90/23 74/91/23
|
||||
f 109/90/24 111/92/24 70/93/24
|
||||
f 70/93/25 111/92/25 112/94/25
|
||||
f 105/95/26 106/88/26 51/87/26
|
||||
f 61/96/27 101/97/27 105/95/27
|
||||
f 102/98/28 101/97/28 61/96/28
|
||||
f 112/94/29 102/98/29 59/99/29
|
||||
f 100/89/22 77/100/22 107/101/22
|
||||
f 100/102/23 99/103/23 64/104/23
|
||||
f 99/103/24 113/105/24 66/106/24
|
||||
f 103/107/26 107/101/26 77/100/26
|
||||
f 55/108/27 104/109/27 103/107/27
|
||||
f 66/106/25 113/105/25 114/110/25
|
||||
f 114/110/29 110/111/29 72/112/29
|
||||
f 110/111/28 104/109/28 55/108/28
|
||||
f 122/113/2 121/114/2 117/11/2
|
||||
f 120/115/3 119/116/3 121/114/3
|
||||
f 115/117/1 123/118/1 124/119/1
|
||||
f 117/11/2 121/114/2 82/120/2
|
||||
f 122/115/5 118/121/5 116/122/5
|
||||
f 115/12/1 117/11/1 80/123/1
|
||||
f 119/116/4 115/122/4 79/124/4
|
||||
f 121/114/3 119/116/3 81/125/3
|
||||
f 124/126/4 123/12/4 126/127/4
|
||||
f 119/128/30 126/129/30 123/118/30
|
||||
f 116/121/5 124/130/5 125/131/5
|
||||
f 120/132/3 125/131/3 126/129/3
|
||||
f 129/17/4 130/16/4 128/15/4
|
||||
f 132/18/2 134/16/2 133/17/2
|
||||
f 137/16/3 138/20/3 136/19/3
|
||||
f 140/21/1 142/20/1 141/16/1
|
||||
f 2/18/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 116/126/1 118/10/1 115/12/1
|
||||
f 2/8/5 6/6/5 4/14/5
|
||||
f 10/18/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/4/3 14/6/3 15/5/3
|
||||
f 14/6/4 10/8/4 13/7/4
|
||||
f 14/6/5 16/13/5 10/8/5
|
||||
f 18/18/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/4/3 22/6/3 23/5/3
|
||||
f 22/6/4 18/8/4 21/7/4
|
||||
f 18/8/5 22/6/5 20/14/5
|
||||
f 26/18/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/4/3 30/6/3 31/5/3
|
||||
f 30/6/4 26/8/4 29/7/4
|
||||
f 30/6/5 32/13/5 26/8/5
|
||||
f 33/133/2 34/15/2 35/17/2
|
||||
f 37/3/4 39/17/4 38/18/4
|
||||
f 41/15/1 42/19/1 43/16/1
|
||||
f 45/18/3 47/16/3 46/21/3
|
||||
f 58/80/6 56/22/6 51/24/6
|
||||
f 56/22/7 54/25/7 53/23/7
|
||||
f 71/85/6 69/27/6 77/29/6
|
||||
f 67/36/8 49/30/8 55/32/8
|
||||
f 78/37/9 76/33/9 50/35/9
|
||||
f 69/27/7 67/36/7 57/28/7
|
||||
f 49/48/10 78/37/10 72/38/10
|
||||
f 65/42/9 63/39/9 68/41/9
|
||||
f 52/133/10 65/42/10 59/43/10
|
||||
f 63/39/11 62/44/11 70/40/11
|
||||
f 76/33/11 75/46/11 66/34/11
|
||||
f 54/25/8 52/48/8 61/26/8
|
||||
f 96/60/12 97/49/12 99/51/12
|
||||
f 87/77/13 88/52/13 106/54/13
|
||||
f 97/49/14 98/55/14 113/50/14
|
||||
f 88/79/15 89/57/15 108/59/15
|
||||
f 95/134/15 96/60/15 100/43/15
|
||||
f 98/55/16 83/61/16 114/56/16
|
||||
f 83/61/17 92/62/17 110/15/17
|
||||
f 84/78/17 85/64/17 102/66/17
|
||||
f 89/57/12 90/67/12 109/58/12
|
||||
f 92/62/18 93/69/18 104/63/18
|
||||
f 93/69/19 94/71/19 103/70/19
|
||||
f 85/64/18 86/73/18 101/65/18
|
||||
f 90/67/14 91/75/14 111/68/14
|
||||
f 86/73/19 87/77/19 105/74/19
|
||||
f 91/75/16 84/78/16 112/76/16
|
||||
f 94/71/13 95/79/13 107/72/13
|
||||
f 60/82/20 58/80/20 108/81/20
|
||||
f 74/45/21 62/44/21 108/81/21
|
||||
f 73/84/21 100/83/21 75/46/21
|
||||
f 77/29/20 100/83/20 71/85/20
|
||||
f 74/91/24 109/90/24 70/93/24
|
||||
f 68/135/25 70/93/25 112/94/25
|
||||
f 53/136/26 105/95/26 51/87/26
|
||||
f 53/136/27 61/96/27 105/95/27
|
||||
f 59/99/28 102/98/28 61/96/28
|
||||
f 68/135/29 112/94/29 59/99/29
|
||||
f 64/104/24 99/103/24 66/106/24
|
||||
f 57/137/26 103/107/26 77/100/26
|
||||
f 57/137/27 55/108/27 103/107/27
|
||||
f 50/138/25 66/106/25 114/110/25
|
||||
f 50/138/29 114/110/29 72/112/29
|
||||
f 72/112/28 110/111/28 55/108/28
|
||||
f 118/10/2 122/113/2 117/11/2
|
||||
f 122/113/3 120/115/3 121/114/3
|
||||
f 116/139/1 115/117/1 124/119/1
|
||||
f 80/123/2 117/11/2 82/120/2
|
||||
f 120/116/5 122/115/5 116/122/5
|
||||
f 79/140/1 115/12/1 80/123/1
|
||||
f 81/125/4 119/116/4 79/124/4
|
||||
f 82/120/3 121/114/3 81/125/3
|
||||
f 125/141/4 124/126/4 126/127/4
|
||||
f 115/117/30 119/128/30 123/118/30
|
||||
f 120/132/5 116/121/5 125/131/5
|
||||
f 119/128/3 120/132/3 126/129/3
|
||||
f 127/133/4 129/17/4 128/15/4
|
||||
f 131/3/2 132/18/2 133/17/2
|
||||
f 135/15/3 137/16/3 136/19/3
|
||||
f 139/18/1 140/21/1 141/16/1
|
||||
@ -0,0 +1,150 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_large_scaffold_empty.blend'
|
||||
# www.blender.org
|
||||
o Cube.005_Cube.006
|
||||
v -1.000000 0.000000 -0.750000
|
||||
v -1.000000 1.000000 -0.750000
|
||||
v -1.000000 0.000000 -1.000000
|
||||
v -1.000000 1.000000 -1.000000
|
||||
v -0.750000 0.000000 -0.750000
|
||||
v -0.750000 1.000000 -0.750000
|
||||
v -0.750000 0.000000 -1.000000
|
||||
v -0.750000 1.000000 -1.000000
|
||||
v 0.750000 0.000000 -0.750000
|
||||
v 0.750000 1.000000 -0.750000
|
||||
v 0.750000 0.000000 -1.000000
|
||||
v 0.750000 1.000000 -1.000000
|
||||
v 1.000000 0.000000 -0.750000
|
||||
v 1.000000 1.000000 -0.750000
|
||||
v 1.000000 0.000000 -1.000000
|
||||
v 1.000000 1.000000 -1.000000
|
||||
v 0.750000 0.000000 1.000000
|
||||
v 0.750000 1.000000 1.000000
|
||||
v 0.750000 0.000000 0.750000
|
||||
v 0.750000 1.000000 0.750000
|
||||
v 1.000000 0.000000 1.000000
|
||||
v 1.000000 1.000000 1.000000
|
||||
v 1.000000 0.000000 0.750000
|
||||
v 1.000000 1.000000 0.750000
|
||||
v -1.000000 0.000000 1.000000
|
||||
v -1.000000 1.000000 1.000000
|
||||
v -1.000000 0.000000 0.750000
|
||||
v -1.000000 1.000000 0.750000
|
||||
v -0.750000 0.000000 1.000000
|
||||
v -0.750000 1.000000 1.000000
|
||||
v -0.750000 0.000000 0.750000
|
||||
v -0.750000 1.000000 0.750000
|
||||
v -0.750000 0.000000 -0.875000
|
||||
v -0.750000 1.000000 -0.875000
|
||||
v 0.750000 0.000000 -0.875000
|
||||
v 0.750000 1.000000 -0.875000
|
||||
v -0.750000 0.000000 0.875000
|
||||
v -0.750000 1.000000 0.875000
|
||||
v 0.750000 0.000000 0.875000
|
||||
v 0.750000 1.000000 0.875000
|
||||
v -0.875000 0.000000 0.750000
|
||||
v -0.875000 1.000000 0.750000
|
||||
v -0.875000 0.000000 -0.750000
|
||||
v -0.875000 1.000000 -0.750000
|
||||
v 0.875000 0.000000 0.750000
|
||||
v 0.875000 1.000000 0.750000
|
||||
v 0.875000 0.000000 -0.750000
|
||||
v 0.875000 1.000000 -0.750000
|
||||
v -0.750000 0.000000 -0.875000
|
||||
v -0.750000 1.000000 -0.875000
|
||||
v 0.750000 0.000000 -0.875000
|
||||
v 0.750000 1.000000 -0.875000
|
||||
v -0.750000 0.000000 0.875000
|
||||
v -0.750000 1.000000 0.875000
|
||||
v 0.750000 0.000000 0.875000
|
||||
v 0.750000 1.000000 0.875000
|
||||
v -0.875000 0.000000 0.750000
|
||||
v -0.875000 1.000000 0.750000
|
||||
v -0.875000 0.000000 -0.750000
|
||||
v -0.875000 1.000000 -0.750000
|
||||
v 0.875000 0.000000 0.750000
|
||||
v 0.875000 1.000000 0.750000
|
||||
v 0.875000 0.000000 -0.750000
|
||||
v 0.875000 1.000000 -0.750000
|
||||
vt 0.058824 0.235294
|
||||
vt 0.058824 -0.000000
|
||||
vt 0.117647 0.000000
|
||||
vt -0.000000 0.235294
|
||||
vt -0.000000 -0.000000
|
||||
vt 0.176471 0.235294
|
||||
vt 0.176471 -0.000000
|
||||
vt 0.235294 0.000000
|
||||
vt 0.117647 0.235294
|
||||
vt 0.058824 0.294118
|
||||
vt 0.352941 0.588235
|
||||
vt 0.000000 0.588235
|
||||
vt 0.000000 0.352941
|
||||
vt 0.705882 0.352941
|
||||
vt 0.705882 0.588235
|
||||
vt 0.352941 0.823529
|
||||
vt 0.000000 0.823529
|
||||
vt 0.705882 0.823529
|
||||
vt 0.235294 0.235294
|
||||
vt -0.000000 0.294118
|
||||
vt 0.352941 0.352941
|
||||
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
|
||||
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/8/3
|
||||
f 2/9/4 1/3/4 5/7/4
|
||||
f 8/4/5 4/1/5 2/10/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/8/3
|
||||
f 10/9/4 9/3/4 13/7/4
|
||||
f 16/4/5 12/1/5 10/10/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/8/3
|
||||
f 18/9/4 17/3/4 21/7/4
|
||||
f 24/4/5 20/1/5 18/10/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/8/3
|
||||
f 26/9/4 25/3/4 29/7/4
|
||||
f 32/4/5 28/1/5 26/10/5
|
||||
f 34/11/2 36/12/2 35/13/2
|
||||
f 39/14/4 40/15/4 38/11/4
|
||||
f 42/16/1 44/17/1 43/12/1
|
||||
f 47/15/3 48/18/3 46/16/3
|
||||
f 51/13/4 52/12/4 50/11/4
|
||||
f 54/11/2 56/15/2 55/14/2
|
||||
f 59/12/3 60/17/3 58/16/3
|
||||
f 62/16/1 64/18/1 63/15/1
|
||||
f 2/9/1 4/1/1 1/3/1
|
||||
f 4/1/2 8/4/2 3/2/2
|
||||
f 8/19/3 6/6/3 7/8/3
|
||||
f 6/6/4 2/9/4 5/7/4
|
||||
f 6/20/5 8/4/5 2/10/5
|
||||
f 10/9/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/19/3 14/6/3 15/8/3
|
||||
f 14/6/4 10/9/4 13/7/4
|
||||
f 14/20/5 16/4/5 10/10/5
|
||||
f 18/9/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/19/3 22/6/3 23/8/3
|
||||
f 22/6/4 18/9/4 21/7/4
|
||||
f 22/20/5 24/4/5 18/10/5
|
||||
f 26/9/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/19/3 30/6/3 31/8/3
|
||||
f 30/6/4 26/9/4 29/7/4
|
||||
f 30/20/5 32/4/5 26/10/5
|
||||
f 33/21/2 34/11/2 35/13/2
|
||||
f 37/21/4 39/14/4 38/11/4
|
||||
f 41/11/1 42/16/1 43/12/1
|
||||
f 45/11/3 47/15/3 46/16/3
|
||||
f 49/21/4 51/13/4 50/11/4
|
||||
f 53/21/2 54/11/2 55/14/2
|
||||
f 57/11/3 59/12/3 58/16/3
|
||||
f 61/11/1 62/16/1 63/15/1
|
||||
136
assets/hbm/models/launch_table/launch_table_small_pad.obj
Normal file
@ -0,0 +1,136 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_small_pad.blend'
|
||||
# www.blender.org
|
||||
o Cube.001_Cube.002
|
||||
v -2.000000 1.000000 -0.500000
|
||||
v -1.500000 2.000000 -0.500000
|
||||
v -2.000000 1.000000 -2.000000
|
||||
v -1.500000 2.000000 -1.500000
|
||||
v 2.000000 1.000000 -0.500000
|
||||
v 1.500000 2.000000 -0.500000
|
||||
v 2.000000 1.000000 -2.000000
|
||||
v 1.500000 2.000000 -1.500000
|
||||
v -2.000000 1.000000 2.000000
|
||||
v -1.500000 2.000000 1.500000
|
||||
v -2.000000 1.000000 0.500000
|
||||
v -1.500000 2.000000 0.500000
|
||||
v 2.000000 1.000000 2.000000
|
||||
v 1.500000 2.000000 1.500000
|
||||
v 2.000000 1.000000 0.500000
|
||||
v 1.500000 2.000000 0.500000
|
||||
v 0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 0.500000
|
||||
v 0.500000 2.000000 0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v 0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 -0.500000
|
||||
v -0.500000 2.000000 0.500000
|
||||
v 0.500000 2.000000 0.500000
|
||||
vt 0.071429 0.571429
|
||||
vt 0.000000 0.428571
|
||||
vt 0.214286 0.428571
|
||||
vt 0.071429 0.142857
|
||||
vt 0.000000 0.000000
|
||||
vt 0.571429 -0.000000
|
||||
vt 0.500000 0.428571
|
||||
vt 0.357143 0.428571
|
||||
vt 0.357143 0.285714
|
||||
vt 0.071429 0.714286
|
||||
vt 0.214286 0.571429
|
||||
vt 0.214286 0.714286
|
||||
vt 1.000000 0.428571
|
||||
vt 0.857143 0.285714
|
||||
vt 0.857143 0.142857
|
||||
vt 0.500000 0.571429
|
||||
vt 0.357143 0.571429
|
||||
vt 0.071429 0.857143
|
||||
vt 0.214286 0.857143
|
||||
vt 0.071429 0.428571
|
||||
vt 0.000000 0.285714
|
||||
vt 0.214286 0.285714
|
||||
vt 0.071429 0.285714
|
||||
vt 0.000000 0.142857
|
||||
vt 0.571429 0.142857
|
||||
vt 0.714286 0.142857
|
||||
vt 0.714286 0.285714
|
||||
vt 0.857143 0.428571
|
||||
vt 0.714286 0.428571
|
||||
vt 0.714286 0.000000
|
||||
vt 0.857143 0.000000
|
||||
vt 0.571429 0.571429
|
||||
vt 0.571429 0.428571
|
||||
vt 0.857143 0.571429
|
||||
vt 0.500000 0.142857
|
||||
vt 0.571429 0.285714
|
||||
vt 0.500000 0.714286
|
||||
vt 0.357143 0.714286
|
||||
vt 0.000000 0.571429
|
||||
vt 1.000000 0.000000
|
||||
vt 0.571429 0.714286
|
||||
vt 0.500000 0.857143
|
||||
vt 0.357143 0.857143
|
||||
vt 0.000000 0.714286
|
||||
vt 0.500000 0.285714
|
||||
vt 0.714286 0.571429
|
||||
vn -0.894400 0.447200 0.000000
|
||||
vn 0.000000 0.447200 -0.894400
|
||||
vn 0.894400 0.447200 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 0.447200 0.894400
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.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/6/2
|
||||
f 8/7/3 6/8/3 5/9/3
|
||||
f 2/10/4 21/11/4 18/12/4
|
||||
f 4/13/5 18/14/5 17/15/5
|
||||
f 10/16/1 12/17/1 11/8/1
|
||||
f 16/18/6 23/12/6 20/19/6
|
||||
f 14/20/3 13/21/3 15/22/3
|
||||
f 10/23/7 9/24/7 13/25/7
|
||||
f 20/26/5 19/27/5 14/6/5
|
||||
f 18/14/5 2/28/5 12/29/5
|
||||
f 16/30/5 6/31/5 17/15/5
|
||||
f 16/3/3 15/22/3 5/9/3
|
||||
f 17/32/8 22/33/8 23/29/8
|
||||
f 24/29/9 21/28/9 18/34/9
|
||||
f 1/3/1 11/8/1 12/17/1
|
||||
f 17/15/5 18/14/5 19/27/5
|
||||
f 27/27/10 26/14/10 25/15/10
|
||||
f 2/11/1 4/1/1 1/3/1
|
||||
f 4/35/2 8/4/2 3/6/2
|
||||
f 7/36/3 8/7/3 5/9/3
|
||||
f 5/32/4 6/37/4 22/17/4
|
||||
f 17/38/4 18/12/4 21/11/4
|
||||
f 2/10/4 1/39/4 21/11/4
|
||||
f 21/11/4 22/17/4 17/38/4
|
||||
f 6/37/4 17/38/4 22/17/4
|
||||
f 17/15/5 6/31/5 8/40/5
|
||||
f 8/40/5 4/13/5 17/15/5
|
||||
f 2/28/5 18/14/5 4/13/5
|
||||
f 9/33/1 10/16/1 11/8/1
|
||||
f 11/41/6 12/42/6 24/38/6
|
||||
f 19/43/6 20/19/6 23/12/6
|
||||
f 16/18/6 15/44/6 23/12/6
|
||||
f 23/12/6 24/38/6 19/43/6
|
||||
f 12/42/6 19/43/6 24/38/6
|
||||
f 16/3/3 14/20/3 15/22/3
|
||||
f 14/45/7 10/23/7 13/25/7
|
||||
f 10/33/5 14/6/5 19/27/5
|
||||
f 16/30/5 20/26/5 14/6/5
|
||||
f 19/27/5 12/29/5 10/33/5
|
||||
f 19/27/5 18/14/5 12/29/5
|
||||
f 20/26/5 16/30/5 17/15/5
|
||||
f 6/8/3 16/3/3 5/9/3
|
||||
f 20/46/8 17/32/8 23/29/8
|
||||
f 19/46/9 24/29/9 18/34/9
|
||||
f 2/11/1 1/3/1 12/17/1
|
||||
f 20/26/5 17/15/5 19/27/5
|
||||
f 28/26/10 27/27/10 25/15/10
|
||||
@ -0,0 +1,309 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_small_scaffold_base.blend'
|
||||
# www.blender.org
|
||||
o Cube.006_Cube.007
|
||||
v 0.500000 0.000000 0.375000
|
||||
v 0.500000 1.000000 0.375000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v 0.375000 0.000000 0.375000
|
||||
v 0.375000 1.000000 0.375000
|
||||
v 0.375000 0.000000 0.500000
|
||||
v 0.375000 1.000000 0.500000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 0.500000 0.000000 -0.375000
|
||||
v 0.500000 1.000000 -0.375000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 1.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.375000
|
||||
v 0.375000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v -0.375000 1.000000 -0.500000
|
||||
v -0.375000 0.000000 -0.375000
|
||||
v -0.375000 1.000000 -0.375000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v -0.500000 0.000000 -0.375000
|
||||
v -0.500000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 0.375000
|
||||
v -0.375000 1.000000 0.375000
|
||||
v -0.375000 0.000000 0.500000
|
||||
v -0.375000 1.000000 0.500000
|
||||
v -0.500000 0.000000 0.375000
|
||||
v -0.500000 1.000000 0.375000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
v 0.406250 0.000000 -0.156250
|
||||
v 0.406250 1.000000 -0.156250
|
||||
v 0.406250 0.000000 0.156250
|
||||
v 0.406250 1.000000 0.156250
|
||||
v 0.093750 0.000000 -0.156250
|
||||
v 0.093750 1.000000 -0.156250
|
||||
v 0.093750 0.000000 0.156250
|
||||
v 0.093750 1.000000 0.156250
|
||||
v -0.250000 1.000000 0.375000
|
||||
v -0.250000 0.000000 0.375000
|
||||
v -0.250000 0.000000 -0.125000
|
||||
v -0.250000 1.000000 -0.125000
|
||||
v -0.338388 0.000000 -0.161612
|
||||
v -0.338388 1.000000 -0.161612
|
||||
v -0.375000 0.000000 -0.250000
|
||||
v -0.375000 1.000000 -0.250000
|
||||
v -0.338388 0.000000 -0.338388
|
||||
v -0.338388 1.000000 -0.338388
|
||||
v -0.250000 0.000000 -0.375000
|
||||
v -0.250000 1.000000 -0.375000
|
||||
v -0.161612 0.000000 -0.338388
|
||||
v -0.161612 1.000000 -0.338388
|
||||
v -0.125000 0.000000 -0.250000
|
||||
v -0.125000 1.000000 -0.250000
|
||||
v -0.161612 0.000000 -0.161612
|
||||
v -0.161612 1.000000 -0.161612
|
||||
v -0.338388 0.000000 0.338388
|
||||
v -0.338388 1.000000 0.338388
|
||||
v -0.375000 0.000000 0.250000
|
||||
v -0.375000 1.000000 0.250000
|
||||
v -0.338388 0.000000 0.161612
|
||||
v -0.338388 1.000000 0.161612
|
||||
v -0.250000 0.000000 0.125000
|
||||
v -0.250000 1.000000 0.125000
|
||||
v -0.161612 0.000000 0.161612
|
||||
v -0.161612 1.000000 0.161612
|
||||
v -0.125000 0.000000 0.250000
|
||||
v -0.125000 1.000000 0.250000
|
||||
v -0.161612 0.000000 0.338388
|
||||
v -0.161612 1.000000 0.338388
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
vt 0.107143 0.285714
|
||||
vt 0.107143 -0.000000
|
||||
vt 0.142857 0.000000
|
||||
vt 0.071429 0.285714
|
||||
vt 0.071429 0.000000
|
||||
vt 0.035714 0.285714
|
||||
vt 0.035714 0.000000
|
||||
vt 0.000000 0.285714
|
||||
vt 0.000000 0.000000
|
||||
vt 0.035714 0.321429
|
||||
vt -0.000000 0.321429
|
||||
vt 0.428571 0.714286
|
||||
vt 0.214286 0.714286
|
||||
vt 0.214286 0.428571
|
||||
vt -0.000000 0.714286
|
||||
vt 0.428571 1.000000
|
||||
vt 0.214286 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 0.607143 0.714286
|
||||
vt 0.607143 0.428571
|
||||
vt 0.696429 0.428571
|
||||
vt 0.517857 0.714286
|
||||
vt 0.517857 0.428571
|
||||
vt 0.428571 0.428571
|
||||
vt 0.696429 0.714286
|
||||
vt 0.785714 0.428571
|
||||
vt 0.517857 0.803571
|
||||
vt 0.428571 0.803571
|
||||
vt 0.196429 0.285714
|
||||
vt 0.142857 0.285714
|
||||
vt 0.892857 0.285714
|
||||
vt 0.839286 0.285714
|
||||
vt 0.839286 0.000000
|
||||
vt 0.250000 0.285714
|
||||
vt 0.196429 -0.000000
|
||||
vt 0.785714 0.285714
|
||||
vt 0.785714 0.000000
|
||||
vt 0.303571 0.285714
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.732143 0.285714
|
||||
vt 0.732143 0.000000
|
||||
vt 0.357143 0.285714
|
||||
vt 0.303571 -0.000000
|
||||
vt 0.678571 0.285714
|
||||
vt 0.678571 0.000000
|
||||
vt 0.571429 0.285714
|
||||
vt 0.517857 0.285714
|
||||
vt 0.517857 -0.000000
|
||||
vt 0.410714 0.285714
|
||||
vt 0.357143 -0.000000
|
||||
vt 0.625000 0.285714
|
||||
vt 0.625000 0.000000
|
||||
vt 0.464286 0.285714
|
||||
vt 0.464286 -0.000000
|
||||
vt 0.410714 -0.000000
|
||||
vt 0.571429 0.000000
|
||||
vt 0.571429 0.357143
|
||||
vt 0.642857 0.285714
|
||||
vt 0.642857 0.428571
|
||||
vt 0.946429 0.285714
|
||||
vt 0.892857 -0.000000
|
||||
vt 1.000000 0.285714
|
||||
vt 0.946429 -0.000000
|
||||
vt 0.142857 0.357143
|
||||
vt 0.267857 0.303571
|
||||
vt 0.285714 0.357143
|
||||
vt -0.000000 0.428571
|
||||
vt 0.785714 0.714286
|
||||
vt 0.714286 0.357143
|
||||
vt 0.696429 0.410714
|
||||
vt 0.589286 0.410714
|
||||
vt 0.589286 0.303571
|
||||
vt 0.696429 0.303571
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.267857 0.410714
|
||||
vt 0.160714 0.410714
|
||||
vt 0.160714 0.303571
|
||||
vt 0.214286 0.285714
|
||||
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.923900 0.000000 -0.382700
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
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 6/6/5 8/10/5 4/11/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/5/3
|
||||
f 10/8/4 9/9/4 13/7/4
|
||||
f 16/10/5 12/11/5 10/8/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/5/3
|
||||
f 18/8/4 17/9/4 21/7/4
|
||||
f 22/6/5 24/10/5 20/11/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/5/3
|
||||
f 26/8/4 25/9/4 29/7/4
|
||||
f 32/10/5 28/11/5 26/8/5
|
||||
f 34/12/2 36/13/2 35/14/2
|
||||
f 39/14/4 40/13/4 38/15/4
|
||||
f 42/16/1 44/17/1 43/13/1
|
||||
f 47/13/3 48/17/3 46/18/3
|
||||
f 52/19/1 51/20/1 49/21/1
|
||||
f 56/22/2 55/23/2 51/20/2
|
||||
f 54/12/3 53/24/3 55/23/3
|
||||
f 50/25/4 49/21/4 53/26/4
|
||||
f 56/27/5 52/28/5 50/12/5
|
||||
f 84/29/6 86/30/6 85/3/6
|
||||
f 60/31/7 62/32/7 61/33/7
|
||||
f 82/34/8 84/29/8 83/35/8
|
||||
f 62/32/9 64/36/9 63/37/9
|
||||
f 80/38/10 82/34/10 81/39/10
|
||||
f 64/36/11 66/40/11 65/41/11
|
||||
f 78/42/11 80/38/11 79/43/11
|
||||
f 66/40/10 68/44/10 67/45/10
|
||||
f 86/46/12 88/47/12 87/48/12
|
||||
f 76/49/9 78/42/9 77/50/9
|
||||
f 68/44/8 70/51/8 69/52/8
|
||||
f 88/47/13 57/53/13 58/54/13
|
||||
f 57/53/7 76/49/7 75/55/7
|
||||
f 70/51/6 72/46/6 71/56/6
|
||||
f 72/57/5 68/58/5 60/59/5
|
||||
f 74/60/13 60/31/13 59/61/13
|
||||
f 72/62/12 74/60/12 73/63/12
|
||||
f 86/64/5 80/65/5 78/66/5
|
||||
f 91/14/4 92/13/4 90/12/4
|
||||
f 94/15/2 96/13/2 95/14/2
|
||||
f 99/13/3 100/17/3 98/16/3
|
||||
f 102/18/1 104/17/1 103/13/1
|
||||
f 2/30/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 2/8/5 6/6/5 4/11/5
|
||||
f 10/30/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/4/3 14/6/3 15/5/3
|
||||
f 14/6/4 10/8/4 13/7/4
|
||||
f 14/6/5 16/10/5 10/8/5
|
||||
f 18/30/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/4/3 22/6/3 23/5/3
|
||||
f 22/6/4 18/8/4 21/7/4
|
||||
f 18/8/5 22/6/5 20/11/5
|
||||
f 26/30/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/4/3 30/6/3 31/5/3
|
||||
f 30/6/4 26/8/4 29/7/4
|
||||
f 30/6/5 32/10/5 26/8/5
|
||||
f 33/24/2 34/12/2 35/14/2
|
||||
f 37/67/4 39/14/4 38/15/4
|
||||
f 41/12/1 42/16/1 43/13/1
|
||||
f 45/15/3 47/13/3 46/18/3
|
||||
f 50/25/1 52/19/1 49/21/1
|
||||
f 52/19/2 56/22/2 51/20/2
|
||||
f 56/22/3 54/12/3 55/23/3
|
||||
f 54/68/4 50/25/4 53/26/4
|
||||
f 54/22/5 56/27/5 50/12/5
|
||||
f 83/35/6 84/29/6 85/3/6
|
||||
f 59/61/7 60/31/7 61/33/7
|
||||
f 81/39/8 82/34/8 83/35/8
|
||||
f 61/33/9 62/32/9 63/37/9
|
||||
f 79/43/10 80/38/10 81/39/10
|
||||
f 63/37/11 64/36/11 65/41/11
|
||||
f 77/50/11 78/42/11 79/43/11
|
||||
f 65/41/10 66/40/10 67/45/10
|
||||
f 85/56/12 86/46/12 87/48/12
|
||||
f 75/55/9 76/49/9 77/50/9
|
||||
f 67/45/8 68/44/8 69/52/8
|
||||
f 87/48/13 88/47/13 58/54/13
|
||||
f 58/54/7 57/53/7 75/55/7
|
||||
f 69/52/6 70/51/6 71/56/6
|
||||
f 64/69/5 62/70/5 60/59/5
|
||||
f 60/59/5 74/71/5 72/57/5
|
||||
f 72/57/5 70/72/5 68/58/5
|
||||
f 68/58/5 66/73/5 64/69/5
|
||||
f 64/69/5 60/59/5 68/58/5
|
||||
f 73/63/13 74/60/13 59/61/13
|
||||
f 71/74/12 72/62/12 73/63/12
|
||||
f 78/66/5 76/75/5 57/14/5
|
||||
f 57/14/5 88/76/5 86/64/5
|
||||
f 86/64/5 84/77/5 82/78/5
|
||||
f 82/78/5 80/65/5 86/64/5
|
||||
f 78/66/5 57/14/5 86/64/5
|
||||
f 89/24/4 91/14/4 90/12/4
|
||||
f 93/67/2 94/15/2 95/14/2
|
||||
f 97/12/3 99/13/3 98/16/3
|
||||
f 101/15/1 102/18/1 103/13/1
|
||||
@ -0,0 +1,487 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_small_scaffold_connector.blend'
|
||||
# www.blender.org
|
||||
o Cube.007_Cube.008
|
||||
v 0.500000 0.000000 0.375000
|
||||
v 0.500000 1.000000 0.375000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v 0.375000 0.000000 0.375000
|
||||
v 0.375000 1.000000 0.375000
|
||||
v 0.375000 0.000000 0.500000
|
||||
v 0.375000 1.000000 0.500000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v 0.500000 0.000000 -0.375000
|
||||
v 0.500000 1.000000 -0.375000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 1.000000 -0.500000
|
||||
v 0.375000 0.000000 -0.375000
|
||||
v 0.375000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v -0.375000 1.000000 -0.500000
|
||||
v -0.375000 0.000000 -0.375000
|
||||
v -0.375000 1.000000 -0.375000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v -0.500000 0.000000 -0.375000
|
||||
v -0.500000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 0.375000
|
||||
v -0.375000 1.000000 0.375000
|
||||
v -0.375000 0.000000 0.500000
|
||||
v -0.375000 1.000000 0.500000
|
||||
v -0.500000 0.000000 0.375000
|
||||
v -0.500000 1.000000 0.375000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
v 0.406250 0.000000 -0.156250
|
||||
v 0.406250 0.656250 0.156250
|
||||
v 0.406250 0.000000 0.156250
|
||||
v 0.406250 0.343750 0.156250
|
||||
v 0.093750 0.000000 -0.156250
|
||||
v 0.406250 0.656250 -0.156250
|
||||
v 0.093750 0.000000 0.156250
|
||||
v 0.406250 0.343750 -0.156250
|
||||
v -0.250000 0.000000 0.375000
|
||||
v -0.161612 0.338388 -0.375000
|
||||
v -0.161612 0.125000 -0.161612
|
||||
v -0.250000 0.000000 -0.125000
|
||||
v -0.125000 0.125000 -0.250000
|
||||
v -0.338388 0.000000 -0.161612
|
||||
v -0.161612 0.125000 -0.338388
|
||||
v -0.375000 0.000000 -0.250000
|
||||
v -0.250000 0.125000 -0.375000
|
||||
v -0.338388 0.000000 -0.338388
|
||||
v -0.338388 0.125000 -0.338388
|
||||
v -0.250000 0.000000 -0.375000
|
||||
v -0.375000 0.125000 -0.250000
|
||||
v -0.161612 0.000000 -0.338388
|
||||
v -0.250000 0.125000 -0.125000
|
||||
v -0.125000 0.000000 -0.250000
|
||||
v -0.338388 0.125000 -0.161612
|
||||
v -0.161612 0.000000 -0.161612
|
||||
v -0.125000 0.250000 -0.375000
|
||||
v -0.338388 0.000000 0.338388
|
||||
v -0.161612 0.161612 -0.375000
|
||||
v -0.375000 0.000000 0.250000
|
||||
v -0.338388 0.000000 0.161612
|
||||
v -0.338388 0.161612 -0.375000
|
||||
v -0.250000 0.000000 0.125000
|
||||
v -0.375000 0.250000 -0.375000
|
||||
v -0.161612 0.000000 0.161612
|
||||
v -0.250000 0.375000 -0.375000
|
||||
v -0.125000 0.000000 0.250000
|
||||
v -0.338388 0.338388 -0.375000
|
||||
v -0.161612 0.000000 0.338388
|
||||
v -0.250000 0.875000 -2.500000
|
||||
v -0.250000 0.375000 -2.500000
|
||||
v -0.338388 0.338388 -2.500000
|
||||
v -0.375000 0.250000 -2.500000
|
||||
v -0.338388 0.161612 -2.500000
|
||||
v -0.250000 0.125000 -2.500000
|
||||
v -0.161611 0.161612 -2.500000
|
||||
v -0.125000 0.250000 -2.500000
|
||||
v -0.161611 0.338388 -2.500000
|
||||
v -0.338388 0.838388 -2.500000
|
||||
v -0.375000 0.750000 -2.500000
|
||||
v -0.338388 0.661612 -2.500000
|
||||
v -0.250000 0.625000 -2.500000
|
||||
v -0.161611 0.661612 -2.500000
|
||||
v -0.125000 0.750000 -2.500000
|
||||
v -0.161611 0.838388 -2.500000
|
||||
v -0.161612 0.661612 0.125000
|
||||
v -0.250000 0.625000 0.125000
|
||||
v -0.375000 0.750000 0.125000
|
||||
v -0.338388 0.838388 0.125000
|
||||
v -0.338388 0.661612 0.125000
|
||||
v -0.250000 0.875000 0.125000
|
||||
v -0.125000 0.750000 0.125000
|
||||
v -0.161612 0.838388 0.125000
|
||||
v -0.161612 0.625000 0.161612
|
||||
v -0.375000 0.625000 0.250000
|
||||
v -0.338388 0.625000 0.338388
|
||||
v -0.338388 0.625000 0.161612
|
||||
v -0.250000 0.625000 0.375000
|
||||
v -0.125000 0.625000 0.250000
|
||||
v -0.161612 0.625000 0.338388
|
||||
v 0.093750 0.343750 -0.156250
|
||||
v 0.093750 0.656250 -0.156250
|
||||
v 0.093750 0.343750 0.156250
|
||||
v 0.093750 0.656250 0.156250
|
||||
v 0.406250 0.343750 -2.500000
|
||||
v 0.406250 0.656250 -2.500000
|
||||
v 0.093750 0.656250 -2.500000
|
||||
v 0.093750 0.343750 -2.500000
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
vt 0.069767 0.186047
|
||||
vt 0.069767 -0.000000
|
||||
vt 0.093023 0.000000
|
||||
vt 0.046512 0.186047
|
||||
vt 0.046512 -0.000000
|
||||
vt 0.023256 0.186047
|
||||
vt 0.023256 0.000000
|
||||
vt 0.000000 0.186047
|
||||
vt -0.000000 -0.000000
|
||||
vt 0.023256 0.209302
|
||||
vt -0.000000 0.209302
|
||||
vt 0.372093 0.186047
|
||||
vt 0.232558 0.186047
|
||||
vt 0.232558 -0.000000
|
||||
vt 0.093023 0.186047
|
||||
vt 0.372093 0.372093
|
||||
vt 0.232558 0.372093
|
||||
vt 0.093023 0.372093
|
||||
vt 0.558140 0.651163
|
||||
vt 1.000000 0.651163
|
||||
vt 1.000000 0.709302
|
||||
vt 0.546512 0.197674
|
||||
vt 0.546512 0.255814
|
||||
vt 0.488372 0.255814
|
||||
vt 0.604651 0.197674
|
||||
vt 0.604651 0.255814
|
||||
vt 0.430233 0.197674
|
||||
vt 0.372093 0.197674
|
||||
vt 0.372093 0.139535
|
||||
vt 0.430233 0.255814
|
||||
vt 0.488372 0.197674
|
||||
vt 0.511628 0.116279
|
||||
vt 0.511628 0.139535
|
||||
vt 0.476744 0.139535
|
||||
vt 0.906977 0.325581
|
||||
vt 0.511628 0.325581
|
||||
vt 0.511628 0.290698
|
||||
vt 0.406977 0.116279
|
||||
vt 0.406977 0.139535
|
||||
vt 0.906977 0.360465
|
||||
vt 0.511628 0.360465
|
||||
vt 0.546512 0.116279
|
||||
vt 0.546512 0.139535
|
||||
vt 0.906977 0.500000
|
||||
vt 0.511628 0.500000
|
||||
vt 0.511628 0.465116
|
||||
vt 0.441860 0.116279
|
||||
vt 0.441860 0.139535
|
||||
vt 0.906977 0.430233
|
||||
vt 0.511628 0.430233
|
||||
vt 0.511628 0.395349
|
||||
vt 0.581395 0.116279
|
||||
vt 0.581395 0.139535
|
||||
vt 0.906977 0.395349
|
||||
vt 0.651163 0.116279
|
||||
vt 0.651163 0.139535
|
||||
vt 0.616279 0.139535
|
||||
vt 0.476744 -0.000000
|
||||
vt 0.511628 -0.000000
|
||||
vt 0.279070 0.720930
|
||||
vt 0.244186 0.732558
|
||||
vt 0.244186 0.709302
|
||||
vt 0.906977 0.465116
|
||||
vt 0.616279 0.116279
|
||||
vt 0.476744 0.116279
|
||||
vt 0.209302 0.686047
|
||||
vt 0.511628 0.581395
|
||||
vt 0.511628 0.616279
|
||||
vt 0.000000 0.616279
|
||||
vt 0.511628 0.546512
|
||||
vt 0.000000 0.546512
|
||||
vt 0.000000 0.511628
|
||||
vt 0.511628 0.511628
|
||||
vt 0.000000 0.476744
|
||||
vt 0.511628 0.441860
|
||||
vt 0.000000 0.441860
|
||||
vt 0.000000 0.406977
|
||||
vt 0.000000 0.581395
|
||||
vt 0.511628 0.406977
|
||||
vt 0.000000 0.372093
|
||||
vt 0.511628 0.651163
|
||||
vt 0.000000 0.651163
|
||||
vt 0.511628 0.476744
|
||||
vt 0.906977 0.290698
|
||||
vt 0.511628 0.255814
|
||||
vt 0.406977 -0.000000
|
||||
vt 0.372093 0.116279
|
||||
vt 0.616279 -0.000000
|
||||
vt 0.651163 -0.000000
|
||||
vt 0.441860 -0.000000
|
||||
vt 0.581395 -0.000000
|
||||
vt 0.906977 0.534884
|
||||
vt 0.511628 0.534884
|
||||
vt 0.174419 0.662791
|
||||
vt 0.209302 0.744186
|
||||
vt 0.174419 0.779070
|
||||
vt 0.139535 0.779070
|
||||
vt 0.139535 0.651163
|
||||
vt 0.104651 0.779070
|
||||
vt 0.000000 0.720930
|
||||
vt 0.034884 0.709302
|
||||
vt 0.034884 0.732558
|
||||
vt 0.069767 0.686047
|
||||
vt 0.069767 0.744186
|
||||
vt 0.104651 0.662791
|
||||
vt 0.558140 0.720930
|
||||
vt 0.523256 0.732558
|
||||
vt 0.523256 0.709302
|
||||
vt 0.313953 0.709302
|
||||
vt 0.313953 0.732558
|
||||
vt 0.348837 0.686047
|
||||
vt 0.348837 0.744186
|
||||
vt 0.383721 0.662791
|
||||
vt 0.488372 0.686047
|
||||
vt 0.453488 0.779070
|
||||
vt 0.453488 0.662791
|
||||
vt 0.418605 0.651163
|
||||
vt 0.418605 0.779070
|
||||
vt 0.488372 0.139535
|
||||
vt 0.430233 0.139535
|
||||
vt 0.662791 0.197674
|
||||
vt 0.558140 0.534884
|
||||
vt 1.000000 0.534884
|
||||
vt 1.000000 0.593023
|
||||
vt 0.558140 0.593023
|
||||
vt 0.558140 0.709302
|
||||
vt 1.000000 0.767442
|
||||
vt 0.372093 0.000000
|
||||
vt 0.546512 -0.000000
|
||||
vt 0.604651 0.139535
|
||||
vt 0.372093 0.255814
|
||||
vt 0.511628 0.372093
|
||||
vt 0.906977 0.255814
|
||||
vt 0.383721 0.779070
|
||||
vt 0.488372 0.744186
|
||||
vt 0.662791 0.255814
|
||||
vt 0.558140 0.767442
|
||||
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
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn 0.923900 -0.382700 0.000000
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn 0.923900 0.382700 0.000000
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 -0.382700 -0.000000
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn -0.382700 0.923900 -0.000000
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn 0.382700 0.923900 0.000000
|
||||
vn -0.382700 0.000000 0.923900
|
||||
vn -0.281100 -0.678600 -0.678600
|
||||
vn -0.923900 0.382700 -0.000000
|
||||
vn -0.923900 0.000000 0.382700
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn -0.862900 -0.357400 -0.357400
|
||||
vn 0.382700 -0.923900 0.000000
|
||||
vn -0.382700 -0.923900 -0.000000
|
||||
vn -0.862900 0.357400 0.357400
|
||||
vn -0.281100 0.678600 0.678600
|
||||
vn 0.281100 0.678600 0.678600
|
||||
vn 0.281100 -0.678600 -0.678600
|
||||
vn 0.862900 -0.357400 -0.357400
|
||||
vn 0.862900 0.357400 0.357400
|
||||
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 6/6/5 8/10/5 4/11/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/5/3
|
||||
f 10/8/4 9/9/4 13/7/4
|
||||
f 16/10/5 12/11/5 10/8/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/5/3
|
||||
f 18/8/4 17/9/4 21/7/4
|
||||
f 22/6/5 24/10/5 20/11/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/5/3
|
||||
f 26/8/4 25/9/4 29/7/4
|
||||
f 32/10/5 28/11/5 26/8/5
|
||||
f 34/12/2 36/13/2 35/14/2
|
||||
f 39/14/4 40/13/4 38/15/4
|
||||
f 42/16/1 44/17/1 43/13/1
|
||||
f 47/13/3 48/17/3 46/18/3
|
||||
f 119/19/6 126/20/6 123/21/6
|
||||
f 122/22/2 121/23/2 52/24/2
|
||||
f 50/25/1 52/26/1 56/23/1
|
||||
f 119/27/4 56/28/4 49/29/4
|
||||
f 120/30/3 119/27/3 121/31/3
|
||||
f 68/32/7 65/33/7 63/34/7
|
||||
f 95/35/8 75/36/8 77/37/8
|
||||
f 74/38/9 59/39/9 71/29/9
|
||||
f 96/40/10 58/41/10 75/36/10
|
||||
f 66/42/11 67/43/11 65/33/11
|
||||
f 92/44/12 80/45/12 82/46/12
|
||||
f 72/47/13 61/48/13 59/39/13
|
||||
f 90/49/14 86/50/14 84/51/14
|
||||
f 64/52/15 69/53/15 67/43/15
|
||||
f 89/54/16 84/51/16 58/41/16
|
||||
f 60/55/17 71/56/17 73/57/17
|
||||
f 83/58/7 81/59/7 105/32/7
|
||||
f 105/60/18 115/61/18 108/62/18
|
||||
f 91/63/19 82/46/19 86/50/19
|
||||
f 115/42/11 105/32/11 81/59/11
|
||||
f 56/25/1 52/22/1 51/43/1
|
||||
f 122/28/5 50/27/5 54/30/5
|
||||
f 62/64/20 73/57/20 69/53/20
|
||||
f 70/65/21 63/34/21 61/48/21
|
||||
f 106/66/22 108/62/22 115/61/22
|
||||
f 98/67/12 99/68/12 108/69/12
|
||||
f 97/70/14 107/71/14 109/72/14
|
||||
f 88/73/16 109/72/16 111/74/16
|
||||
f 102/75/8 110/76/8 104/77/8
|
||||
f 98/67/19 106/78/19 107/71/19
|
||||
f 101/79/23 104/77/23 105/80/23
|
||||
f 100/81/24 105/82/24 108/69/24
|
||||
f 103/83/10 111/74/10 110/76/10
|
||||
f 94/84/23 77/37/23 65/85/23
|
||||
f 87/86/9 118/38/9 116/87/9
|
||||
f 76/88/20 114/64/20 113/52/20
|
||||
f 83/58/21 112/65/21 117/47/21
|
||||
f 57/89/17 116/55/17 114/64/17
|
||||
f 85/90/13 117/47/13 118/38/13
|
||||
f 78/91/15 113/52/15 115/42/15
|
||||
f 93/92/24 65/93/24 80/45/24
|
||||
f 107/94/25 106/66/25 113/95/25
|
||||
f 107/94/26 114/96/26 116/97/26
|
||||
f 109/98/27 116/97/27 118/99/27
|
||||
f 105/100/28 104/101/28 112/102/28
|
||||
f 110/103/29 117/104/29 112/102/29
|
||||
f 111/105/30 118/99/30 117/104/30
|
||||
f 65/106/18 67/107/18 80/108/18
|
||||
f 65/60/28 77/109/28 63/110/28
|
||||
f 77/109/29 75/111/29 61/112/29
|
||||
f 61/112/30 75/111/30 58/113/30
|
||||
f 82/114/22 80/108/22 67/107/22
|
||||
f 73/115/25 86/116/25 82/114/25
|
||||
f 84/117/26 86/116/26 73/115/26
|
||||
f 58/113/27 84/117/27 71/118/27
|
||||
f 121/31/2 55/119/2 51/43/2
|
||||
f 121/31/3 119/27/3 53/120/3
|
||||
f 124/26/4 123/25/4 126/121/4
|
||||
f 54/122/5 124/123/5 125/124/5
|
||||
f 120/125/3 125/124/3 126/20/3
|
||||
f 56/126/1 123/21/1 124/127/1
|
||||
f 129/14/4 130/13/4 128/12/4
|
||||
f 132/15/2 134/13/2 133/14/2
|
||||
f 137/13/3 138/17/3 136/16/3
|
||||
f 140/18/1 142/17/1 141/13/1
|
||||
f 2/15/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 2/8/5 6/6/5 4/11/5
|
||||
f 10/15/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/4/3 14/6/3 15/5/3
|
||||
f 14/6/4 10/8/4 13/7/4
|
||||
f 14/6/5 16/10/5 10/8/5
|
||||
f 18/15/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/4/3 22/6/3 23/5/3
|
||||
f 22/6/4 18/8/4 21/7/4
|
||||
f 18/8/5 22/6/5 20/11/5
|
||||
f 26/15/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/4/3 30/6/3 31/5/3
|
||||
f 30/6/4 26/8/4 29/7/4
|
||||
f 30/6/5 32/10/5 26/8/5
|
||||
f 33/128/2 34/12/2 35/14/2
|
||||
f 37/3/4 39/14/4 38/15/4
|
||||
f 41/12/1 42/16/1 43/13/1
|
||||
f 45/15/3 47/13/3 46/18/3
|
||||
f 56/126/6 119/19/6 123/21/6
|
||||
f 50/31/2 122/22/2 52/24/2
|
||||
f 54/22/1 50/25/1 56/23/1
|
||||
f 53/120/4 119/27/4 49/29/4
|
||||
f 122/24/3 120/30/3 121/31/3
|
||||
f 70/65/7 68/32/7 63/34/7
|
||||
f 94/84/8 95/35/8 77/37/8
|
||||
f 60/87/9 74/38/9 71/29/9
|
||||
f 95/35/10 96/40/10 75/36/10
|
||||
f 68/32/11 66/42/11 65/33/11
|
||||
f 91/63/12 92/44/12 82/46/12
|
||||
f 74/38/13 72/47/13 59/39/13
|
||||
f 89/54/14 90/49/14 84/51/14
|
||||
f 66/42/15 64/52/15 67/43/15
|
||||
f 96/40/16 89/54/16 58/41/16
|
||||
f 62/64/17 60/55/17 73/57/17
|
||||
f 112/65/7 83/58/7 105/32/7
|
||||
f 90/49/19 91/63/19 86/50/19
|
||||
f 79/129/11 115/42/11 81/59/11
|
||||
f 49/130/1 56/25/1 51/43/1
|
||||
f 120/131/5 122/28/5 54/30/5
|
||||
f 64/52/20 62/64/20 69/53/20
|
||||
f 72/47/21 70/65/21 61/48/21
|
||||
f 113/95/22 106/66/22 115/61/22
|
||||
f 106/78/12 98/67/12 108/69/12
|
||||
f 88/73/14 97/70/14 109/72/14
|
||||
f 103/83/16 88/73/16 111/74/16
|
||||
f 101/79/8 102/75/8 104/77/8
|
||||
f 97/70/19 98/67/19 107/71/19
|
||||
f 100/132/23 101/79/23 105/80/23
|
||||
f 99/68/24 100/81/24 108/69/24
|
||||
f 102/75/10 103/83/10 110/76/10
|
||||
f 93/133/23 94/84/23 65/85/23
|
||||
f 57/128/9 87/86/9 116/87/9
|
||||
f 78/91/20 76/88/20 113/52/20
|
||||
f 85/90/21 83/58/21 117/47/21
|
||||
f 76/88/17 57/89/17 114/64/17
|
||||
f 87/86/13 85/90/13 118/38/13
|
||||
f 79/129/15 78/91/15 115/42/15
|
||||
f 92/44/24 93/92/24 80/45/24
|
||||
f 114/96/25 107/94/25 113/95/25
|
||||
f 109/98/26 107/94/26 116/97/26
|
||||
f 111/105/27 109/98/27 118/99/27
|
||||
f 104/101/29 110/103/29 112/102/29
|
||||
f 110/103/30 111/105/30 117/104/30
|
||||
f 63/110/29 77/109/29 61/112/29
|
||||
f 59/134/30 61/112/30 58/113/30
|
||||
f 69/135/22 82/114/22 67/107/22
|
||||
f 69/135/25 73/115/25 82/114/25
|
||||
f 71/118/26 84/117/26 73/115/26
|
||||
f 59/134/27 58/113/27 71/118/27
|
||||
f 52/22/2 121/31/2 51/43/2
|
||||
f 55/119/3 121/31/3 53/120/3
|
||||
f 125/136/4 124/26/4 126/121/4
|
||||
f 120/125/5 54/122/5 125/124/5
|
||||
f 119/19/3 120/125/3 126/20/3
|
||||
f 54/137/1 56/126/1 124/127/1
|
||||
f 127/128/4 129/14/4 128/12/4
|
||||
f 131/3/2 132/15/2 133/14/2
|
||||
f 135/12/3 137/13/3 136/16/3
|
||||
f 139/15/1 140/18/1 141/13/1
|
||||
@ -0,0 +1,150 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launch_table_small_scaffold_empty.blend'
|
||||
# www.blender.org
|
||||
o Cube.008_Cube.009
|
||||
v -0.500000 0.000000 -0.375000
|
||||
v -0.500000 1.000000 -0.375000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 1.000000 -0.500000
|
||||
v -0.375000 0.000000 -0.375000
|
||||
v -0.375000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v -0.375000 1.000000 -0.500000
|
||||
v -0.500000 0.000000 0.500000
|
||||
v -0.500000 1.000000 0.500000
|
||||
v -0.500000 0.000000 0.375000
|
||||
v -0.500000 1.000000 0.375000
|
||||
v -0.375000 0.000000 0.500000
|
||||
v -0.375000 1.000000 0.500000
|
||||
v -0.375000 0.000000 0.375000
|
||||
v -0.375000 1.000000 0.375000
|
||||
v 0.375000 0.000000 0.500000
|
||||
v 0.375000 1.000000 0.500000
|
||||
v 0.375000 0.000000 0.375000
|
||||
v 0.375000 1.000000 0.375000
|
||||
v 0.500000 0.000000 0.500000
|
||||
v 0.500000 1.000000 0.500000
|
||||
v 0.500000 0.000000 0.375000
|
||||
v 0.500000 1.000000 0.375000
|
||||
v 0.375000 0.000000 -0.375000
|
||||
v 0.375000 1.000000 -0.375000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 1.000000 -0.500000
|
||||
v 0.500000 0.000000 -0.375000
|
||||
v 0.500000 1.000000 -0.375000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 1.000000 -0.500000
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
v -0.375000 0.000000 -0.437500
|
||||
v -0.375000 1.000000 -0.437500
|
||||
v 0.375000 0.000000 -0.437500
|
||||
v 0.375000 1.000000 -0.437500
|
||||
v -0.375000 0.000000 0.437500
|
||||
v -0.375000 1.000000 0.437500
|
||||
v 0.375000 0.000000 0.437500
|
||||
v 0.375000 1.000000 0.437500
|
||||
v -0.437500 0.000000 0.375000
|
||||
v -0.437500 1.000000 0.375000
|
||||
v -0.437500 0.000000 -0.375000
|
||||
v -0.437500 1.000000 -0.375000
|
||||
v 0.437500 0.000000 0.375000
|
||||
v 0.437500 1.000000 0.375000
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 1.000000 -0.375000
|
||||
vt 0.035714 0.285714
|
||||
vt 0.035714 -0.000000
|
||||
vt 0.071429 0.000000
|
||||
vt 0.000000 0.285714
|
||||
vt -0.000000 0.000000
|
||||
vt 0.107143 0.285714
|
||||
vt 0.107143 -0.000000
|
||||
vt 0.142857 -0.000000
|
||||
vt 0.071429 0.285714
|
||||
vt 0.035714 0.321429
|
||||
vt 0.214286 0.714286
|
||||
vt 0.000000 0.714286
|
||||
vt -0.000000 0.428571
|
||||
vt 0.428571 0.428571
|
||||
vt 0.428571 0.714286
|
||||
vt 0.214286 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.428571 1.000000
|
||||
vt 0.142857 0.285714
|
||||
vt 0.000000 0.321429
|
||||
vt 0.214286 0.428571
|
||||
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
|
||||
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/8/3
|
||||
f 2/9/4 1/3/4 5/7/4
|
||||
f 8/4/5 4/1/5 2/10/5
|
||||
f 12/1/1 11/2/1 9/3/1
|
||||
f 16/4/2 15/5/2 11/2/2
|
||||
f 14/6/3 13/7/3 15/8/3
|
||||
f 10/9/4 9/3/4 13/7/4
|
||||
f 16/4/5 12/1/5 10/10/5
|
||||
f 20/1/1 19/2/1 17/3/1
|
||||
f 24/4/2 23/5/2 19/2/2
|
||||
f 22/6/3 21/7/3 23/8/3
|
||||
f 18/9/4 17/3/4 21/7/4
|
||||
f 24/4/5 20/1/5 18/10/5
|
||||
f 28/1/1 27/2/1 25/3/1
|
||||
f 32/4/2 31/5/2 27/2/2
|
||||
f 30/6/3 29/7/3 31/8/3
|
||||
f 26/9/4 25/3/4 29/7/4
|
||||
f 32/4/5 28/1/5 26/10/5
|
||||
f 34/11/2 36/12/2 35/13/2
|
||||
f 39/14/4 40/15/4 38/11/4
|
||||
f 42/16/1 44/17/1 43/12/1
|
||||
f 47/15/3 48/18/3 46/16/3
|
||||
f 51/13/4 52/12/4 50/11/4
|
||||
f 54/11/2 56/15/2 55/14/2
|
||||
f 59/12/3 60/17/3 58/16/3
|
||||
f 62/16/1 64/18/1 63/15/1
|
||||
f 2/9/1 4/1/1 1/3/1
|
||||
f 4/1/2 8/4/2 3/2/2
|
||||
f 8/19/3 6/6/3 7/8/3
|
||||
f 6/6/4 2/9/4 5/7/4
|
||||
f 6/20/5 8/4/5 2/10/5
|
||||
f 10/9/1 12/1/1 9/3/1
|
||||
f 12/1/2 16/4/2 11/2/2
|
||||
f 16/19/3 14/6/3 15/8/3
|
||||
f 14/6/4 10/9/4 13/7/4
|
||||
f 14/20/5 16/4/5 10/10/5
|
||||
f 18/9/1 20/1/1 17/3/1
|
||||
f 20/1/2 24/4/2 19/2/2
|
||||
f 24/19/3 22/6/3 23/8/3
|
||||
f 22/6/4 18/9/4 21/7/4
|
||||
f 22/20/5 24/4/5 18/10/5
|
||||
f 26/9/1 28/1/1 25/3/1
|
||||
f 28/1/2 32/4/2 27/2/2
|
||||
f 32/19/3 30/6/3 31/8/3
|
||||
f 30/6/4 26/9/4 29/7/4
|
||||
f 30/20/5 32/4/5 26/10/5
|
||||
f 33/21/2 34/11/2 35/13/2
|
||||
f 37/21/4 39/14/4 38/11/4
|
||||
f 41/11/1 42/16/1 43/12/1
|
||||
f 45/11/3 47/15/3 46/16/3
|
||||
f 49/21/4 51/13/4 50/11/4
|
||||
f 53/21/2 54/11/2 55/14/2
|
||||
f 57/11/3 59/12/3 58/16/3
|
||||
f 61/11/1 62/16/1 63/15/1
|
||||
414
assets/hbm/models/missile_parts/mp_w_10_taint.obj
Normal file
@ -0,0 +1,414 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'mp_w_10_taint.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.000000 0.000000 -0.500000
|
||||
v 0.000000 0.750000 -0.500000
|
||||
v 0.250000 0.000000 -0.433013
|
||||
v 0.250000 0.750000 -0.433013
|
||||
v 0.433013 0.000000 -0.250000
|
||||
v 0.433013 0.750000 -0.250000
|
||||
v 0.500000 0.000000 0.000000
|
||||
v 0.500000 0.750000 0.000000
|
||||
v 0.433013 0.000000 0.250000
|
||||
v 0.433013 0.750000 0.250000
|
||||
v 0.250000 0.000000 0.433013
|
||||
v 0.250000 0.750000 0.433013
|
||||
v 0.000000 0.000000 0.500000
|
||||
v 0.000000 0.750000 0.500000
|
||||
v -0.250000 0.000000 0.433013
|
||||
v -0.250000 0.750000 0.433013
|
||||
v -0.433013 0.000000 0.250000
|
||||
v -0.433013 0.750000 0.250000
|
||||
v -0.500000 0.000000 0.000000
|
||||
v -0.500000 0.750000 0.000000
|
||||
v -0.433013 0.000000 -0.250000
|
||||
v -0.433013 0.750000 -0.250000
|
||||
v -0.250000 0.000000 -0.433013
|
||||
v -0.250000 0.750000 -0.433013
|
||||
v 0.223421 1.250000 -0.386976
|
||||
v 0.000000 1.250000 -0.446841
|
||||
v 0.386976 1.250000 -0.223421
|
||||
v 0.446841 1.250000 0.000000
|
||||
v 0.386976 1.250000 0.223421
|
||||
v 0.223421 1.250000 0.386976
|
||||
v 0.000000 1.250000 0.446841
|
||||
v -0.223421 1.250000 0.386976
|
||||
v -0.386976 1.250000 0.223421
|
||||
v -0.446841 1.250000 0.000000
|
||||
v -0.386976 1.250000 -0.223420
|
||||
v -0.223421 1.250000 -0.386976
|
||||
v 0.171690 1.750000 -0.297376
|
||||
v 0.000000 1.750000 -0.343380
|
||||
v 0.297376 1.750000 -0.171690
|
||||
v 0.343380 1.750000 0.000000
|
||||
v 0.297376 1.750000 0.171690
|
||||
v 0.171690 1.750000 0.297376
|
||||
v 0.000000 1.750000 0.343380
|
||||
v -0.171690 1.750000 0.297376
|
||||
v -0.297376 1.750000 0.171690
|
||||
v -0.343380 1.750000 0.000000
|
||||
v -0.297376 1.750000 -0.171690
|
||||
v -0.171690 1.750000 -0.297376
|
||||
v 0.114020 2.000000 -0.197488
|
||||
v 0.000000 2.000000 -0.228040
|
||||
v 0.197488 2.000000 -0.114020
|
||||
v 0.228040 2.000000 0.000000
|
||||
v 0.197488 2.000000 0.114020
|
||||
v 0.114020 2.000000 0.197488
|
||||
v 0.000000 2.000000 0.228040
|
||||
v -0.114020 2.000000 0.197488
|
||||
v -0.197488 2.000000 0.114020
|
||||
v -0.228040 2.000000 0.000000
|
||||
v -0.197488 2.000000 -0.114020
|
||||
v -0.114020 2.000000 -0.197488
|
||||
v 0.029487 2.250000 -0.051072
|
||||
v 0.000000 2.250000 -0.058973
|
||||
v 0.051073 2.250000 -0.029487
|
||||
v 0.058974 2.250000 0.000000
|
||||
v 0.051073 2.250000 0.029487
|
||||
v 0.029487 2.250000 0.051073
|
||||
v 0.000000 2.250000 0.058973
|
||||
v -0.029487 2.250000 0.051073
|
||||
v -0.051072 2.250000 0.029487
|
||||
v -0.058973 2.250000 0.000000
|
||||
v -0.051072 2.250000 -0.029487
|
||||
v -0.029487 2.250000 -0.051072
|
||||
vt 0.642857 0.214286
|
||||
vt 0.571429 0.214286
|
||||
vt 0.571429 0.000000
|
||||
vt 0.500000 0.214286
|
||||
vt 0.500000 0.000000
|
||||
vt 0.428571 0.214286
|
||||
vt 0.428571 0.000000
|
||||
vt 0.357143 0.214286
|
||||
vt 0.357143 0.000000
|
||||
vt 0.285714 0.214286
|
||||
vt 0.285714 0.000000
|
||||
vt 0.214286 0.214286
|
||||
vt 0.214286 0.000000
|
||||
vt 0.142857 0.214286
|
||||
vt 0.142857 0.000000
|
||||
vt 0.071429 0.214286
|
||||
vt 0.071429 0.000000
|
||||
vt -0.000000 0.214286
|
||||
vt -0.000000 0.000000
|
||||
vt 0.857143 0.214286
|
||||
vt 0.785714 0.214286
|
||||
vt 0.785714 0.000000
|
||||
vt 0.071429 0.357143
|
||||
vt -0.000000 0.357143
|
||||
vt 0.714286 0.214286
|
||||
vt 0.642857 0.000000
|
||||
vt 0.714286 0.000000
|
||||
vt 0.285714 0.839286
|
||||
vt 0.000000 0.839286
|
||||
vt 0.071429 0.714286
|
||||
vt 0.571429 0.357143
|
||||
vt 0.642857 0.357143
|
||||
vt 0.625000 0.517857
|
||||
vt 0.142857 0.357143
|
||||
vt 0.214286 0.357143
|
||||
vt 0.285714 0.357143
|
||||
vt 0.357143 0.357143
|
||||
vt 0.428571 0.357143
|
||||
vt 0.714286 0.357143
|
||||
vt 0.500000 0.357143
|
||||
vt 0.785714 0.357143
|
||||
vt 0.857143 0.357143
|
||||
vt 0.714286 0.517857
|
||||
vt 0.767857 0.517857
|
||||
vt 0.767857 0.589286
|
||||
vt 0.125000 0.517857
|
||||
vt 0.339286 0.517857
|
||||
vt 0.285714 0.517857
|
||||
vt 0.696429 0.517857
|
||||
vt 0.642857 0.517857
|
||||
vt 0.553571 0.517857
|
||||
vt 0.053571 0.517857
|
||||
vt -0.000000 0.517857
|
||||
vt 0.267857 0.517857
|
||||
vt 0.482143 0.517857
|
||||
vt 0.839286 0.517857
|
||||
vt 0.196429 0.517857
|
||||
vt 0.410714 0.517857
|
||||
vt 0.410714 0.589286
|
||||
vt 0.392857 0.696429
|
||||
vt 0.375000 0.696429
|
||||
vt 0.571429 0.517857
|
||||
vt 0.625000 0.589286
|
||||
vt 0.071429 0.517857
|
||||
vt 0.125000 0.589286
|
||||
vt 0.339286 0.589286
|
||||
vt 0.303571 0.589286
|
||||
vt 0.696429 0.589286
|
||||
vt 0.660714 0.589286
|
||||
vt 0.553571 0.589286
|
||||
vt 0.517857 0.589286
|
||||
vt 0.053571 0.589286
|
||||
vt 0.017857 0.589286
|
||||
vt 0.267857 0.589286
|
||||
vt 0.232143 0.589286
|
||||
vt 0.428571 0.517857
|
||||
vt 0.482143 0.589286
|
||||
vt 0.839286 0.589286
|
||||
vt 0.803571 0.589286
|
||||
vt 0.196429 0.589286
|
||||
vt 0.160714 0.589286
|
||||
vt 0.357143 0.517857
|
||||
vt 0.312022 0.699693
|
||||
vt 0.295528 0.699693
|
||||
vt 0.295528 0.728262
|
||||
vt 0.732143 0.589286
|
||||
vt 0.750000 0.696429
|
||||
vt 0.589286 0.589286
|
||||
vt 0.607143 0.696429
|
||||
vt 0.107143 0.696429
|
||||
vt 0.089286 0.696429
|
||||
vt 0.321429 0.696429
|
||||
vt 0.303571 0.696429
|
||||
vt 0.678571 0.696429
|
||||
vt 0.535714 0.696429
|
||||
vt 0.517857 0.696429
|
||||
vt 0.035714 0.696429
|
||||
vt 0.017857 0.696429
|
||||
vt 0.250000 0.696429
|
||||
vt 0.232143 0.696429
|
||||
vt 0.446429 0.589286
|
||||
vt 0.464286 0.696429
|
||||
vt 0.821429 0.696429
|
||||
vt 0.803571 0.696429
|
||||
vt 0.178571 0.696429
|
||||
vt 0.160714 0.696429
|
||||
vt 0.857143 0.000000
|
||||
vt 0.142857 0.696429
|
||||
vt 0.214286 0.714286
|
||||
vt 0.267857 0.767857
|
||||
vt 0.267857 0.910714
|
||||
vt 0.214286 0.964286
|
||||
vt 0.142857 0.982143
|
||||
vt 0.071429 0.964286
|
||||
vt 0.017857 0.910714
|
||||
vt 0.017857 0.767857
|
||||
vt 0.500000 0.517857
|
||||
vt 0.214286 0.517857
|
||||
vt 0.785714 0.517857
|
||||
vt 0.142857 0.517857
|
||||
vt 0.375000 0.589286
|
||||
vt 0.089286 0.589286
|
||||
vt 0.303775 0.730472
|
||||
vt 0.312022 0.728262
|
||||
vt 0.318059 0.722225
|
||||
vt 0.320269 0.713978
|
||||
vt 0.318059 0.705731
|
||||
vt 0.303775 0.697484
|
||||
vt 0.289490 0.705731
|
||||
vt 0.287280 0.713978
|
||||
vt 0.289490 0.722225
|
||||
vt 0.732143 0.696429
|
||||
vt 0.589286 0.696429
|
||||
vt 0.660714 0.696429
|
||||
vt 0.446429 0.696429
|
||||
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.960900 0.102200 0.257500
|
||||
vn -0.258800 0.000000 -0.965900
|
||||
vn -0.707100 0.000000 -0.707100
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.253800 0.196000 -0.947200
|
||||
vn -0.703400 0.102200 0.703400
|
||||
vn -0.257500 0.102200 0.960900
|
||||
vn 0.257500 0.102200 0.960900
|
||||
vn 0.703400 0.102200 0.703400
|
||||
vn 0.960900 0.102200 0.257500
|
||||
vn -0.257500 0.102200 -0.960900
|
||||
vn 0.257500 0.102200 -0.960900
|
||||
vn 0.960900 0.102200 -0.257500
|
||||
vn -0.703400 0.102200 -0.703400
|
||||
vn 0.703400 0.102200 -0.703400
|
||||
vn -0.960900 0.102200 -0.257500
|
||||
vn -0.645900 0.407100 -0.645900
|
||||
vn -0.693400 0.196000 0.693400
|
||||
vn 0.693400 0.196000 0.693400
|
||||
vn -0.253800 0.196000 -0.947200
|
||||
vn 0.693400 0.196000 -0.693400
|
||||
vn -0.947200 0.196000 0.253800
|
||||
vn 0.253800 0.196000 0.947200
|
||||
vn 0.947200 0.196000 -0.253800
|
||||
vn -0.947200 0.196000 -0.253800
|
||||
vn -0.253800 0.196000 0.947200
|
||||
vn 0.947200 0.196000 0.253800
|
||||
vn -0.693400 0.196000 -0.693400
|
||||
vn 0.808700 0.546900 0.216700
|
||||
vn 0.236400 0.407100 -0.882300
|
||||
vn -0.645900 0.407100 0.645900
|
||||
vn 0.645900 0.407100 0.645900
|
||||
vn -0.236400 0.407100 -0.882300
|
||||
vn 0.645900 0.407100 -0.645900
|
||||
vn -0.882300 0.407100 0.236400
|
||||
vn 0.236400 0.407000 0.882300
|
||||
vn 0.882300 0.407100 -0.236400
|
||||
vn -0.882300 0.407100 -0.236400
|
||||
vn -0.236400 0.407100 0.882300
|
||||
vn 0.882300 0.407100 0.236400
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.592000 0.546900 -0.592000
|
||||
vn 0.216700 0.546900 -0.808700
|
||||
vn -0.592000 0.546900 0.592000
|
||||
vn 0.592000 0.546900 0.592000
|
||||
vn -0.216700 0.546900 -0.808700
|
||||
vn 0.592000 0.546900 -0.592000
|
||||
vn -0.808700 0.546900 0.216700
|
||||
vn 0.216700 0.546900 0.808700
|
||||
vn 0.808700 0.546900 -0.216700
|
||||
vn -0.808700 0.546900 -0.216700
|
||||
vn -0.216700 0.546900 0.808700
|
||||
vn 0.236400 0.407100 0.882300
|
||||
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 18/16/11 33/23/11 34/24/11
|
||||
f 24/25/12 2/1/12 1/26/12
|
||||
f 22/21/13 24/25/13 23/27/13
|
||||
f 7/28/14 19/29/14 23/30/14
|
||||
f 25/31/15 26/32/15 38/33/15
|
||||
f 16/14/16 32/34/16 33/23/16
|
||||
f 14/12/17 31/35/17 32/34/17
|
||||
f 12/10/18 30/36/18 31/35/18
|
||||
f 10/8/19 29/37/19 30/36/19
|
||||
f 8/6/20 28/38/20 29/37/20
|
||||
f 24/25/21 36/39/21 26/32/21
|
||||
f 4/2/22 2/1/22 26/32/22
|
||||
f 8/6/23 6/4/23 27/40/23
|
||||
f 22/21/24 35/41/24 36/39/24
|
||||
f 4/2/25 25/31/25 27/40/25
|
||||
f 20/20/26 34/42/26 35/41/26
|
||||
f 48/43/27 47/44/27 59/45/27
|
||||
f 33/23/28 32/34/28 44/46/28
|
||||
f 29/37/29 41/47/29 42/48/29
|
||||
f 36/39/30 48/49/30 38/50/30
|
||||
f 27/40/31 25/31/31 37/51/31
|
||||
f 33/23/32 45/52/32 46/53/32
|
||||
f 31/35/33 30/36/33 42/54/33
|
||||
f 28/38/34 27/40/34 39/55/34
|
||||
f 35/41/35 34/42/35 46/56/35
|
||||
f 32/34/36 31/35/36 43/57/36
|
||||
f 29/37/37 28/38/37 40/58/37
|
||||
f 35/41/38 47/44/38 48/43/38
|
||||
f 52/59/39 64/60/39 65/61/39
|
||||
f 37/62/40 38/33/40 50/63/40
|
||||
f 45/64/41 44/46/41 56/65/41
|
||||
f 41/47/42 53/66/42 54/67/42
|
||||
f 48/49/43 60/68/43 50/69/43
|
||||
f 37/51/44 49/70/44 51/71/44
|
||||
f 45/52/45 57/72/45 58/73/45
|
||||
f 42/54/46 54/74/46 55/75/46
|
||||
f 40/76/47 39/55/47 51/77/47
|
||||
f 46/56/48 58/78/48 59/79/48
|
||||
f 43/57/49 55/80/49 56/81/49
|
||||
f 41/82/50 40/58/50 52/59/50
|
||||
f 69/83/51 67/84/51 63/85/51
|
||||
f 60/86/52 59/45/52 71/87/52
|
||||
f 49/88/53 50/63/53 62/89/53
|
||||
f 56/65/54 68/90/54 69/91/54
|
||||
f 53/66/55 65/92/55 66/93/55
|
||||
f 50/69/56 60/68/56 72/94/56
|
||||
f 49/70/57 61/95/57 63/96/57
|
||||
f 57/72/58 69/97/58 70/98/58
|
||||
f 54/74/59 66/99/59 67/100/59
|
||||
f 52/101/60 51/77/60 63/102/60
|
||||
f 58/78/61 70/103/61 71/104/61
|
||||
f 55/80/62 67/105/62 68/106/62
|
||||
f 1/26/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/107/10 20/20/10 21/22/10
|
||||
f 20/18/11 18/16/11 34/24/11
|
||||
f 23/27/12 24/25/12 1/26/12
|
||||
f 21/22/13 22/21/13 23/27/13
|
||||
f 23/30/14 1/108/14 3/109/14
|
||||
f 3/109/14 5/110/14 7/28/14
|
||||
f 7/28/14 9/111/14 11/112/14
|
||||
f 11/112/14 13/113/14 15/114/14
|
||||
f 15/114/14 17/115/14 19/29/14
|
||||
f 19/29/14 21/116/14 23/30/14
|
||||
f 23/30/14 3/109/14 7/28/14
|
||||
f 7/28/14 11/112/14 15/114/14
|
||||
f 15/114/14 19/29/14 7/28/14
|
||||
f 37/62/15 25/31/15 38/33/15
|
||||
f 18/16/16 16/14/16 33/23/16
|
||||
f 16/14/17 14/12/17 32/34/17
|
||||
f 14/12/18 12/10/18 31/35/18
|
||||
f 12/10/19 10/8/19 30/36/19
|
||||
f 10/8/20 8/6/20 29/37/20
|
||||
f 2/1/21 24/25/21 26/32/21
|
||||
f 25/31/22 4/2/22 26/32/22
|
||||
f 28/38/23 8/6/23 27/40/23
|
||||
f 24/25/24 22/21/24 36/39/24
|
||||
f 6/4/25 4/2/25 27/40/25
|
||||
f 22/21/26 20/20/26 35/41/26
|
||||
f 60/86/27 48/43/27 59/45/27
|
||||
f 45/64/28 33/23/28 44/46/28
|
||||
f 30/36/29 29/37/29 42/48/29
|
||||
f 26/32/30 36/39/30 38/50/30
|
||||
f 39/117/31 27/40/31 37/51/31
|
||||
f 34/24/32 33/23/32 46/53/32
|
||||
f 43/118/33 31/35/33 42/54/33
|
||||
f 40/76/34 28/38/34 39/55/34
|
||||
f 47/119/35 35/41/35 46/56/35
|
||||
f 44/120/36 32/34/36 43/57/36
|
||||
f 41/82/37 29/37/37 40/58/37
|
||||
f 36/39/38 35/41/38 48/43/38
|
||||
f 53/121/39 52/59/39 65/61/39
|
||||
f 49/88/40 37/62/40 50/63/40
|
||||
f 57/122/41 45/64/41 56/65/41
|
||||
f 42/48/42 41/47/42 54/67/42
|
||||
f 38/50/43 48/49/43 50/69/43
|
||||
f 39/117/44 37/51/44 51/71/44
|
||||
f 46/53/45 45/52/45 58/73/45
|
||||
f 43/118/63 42/54/63 55/75/63
|
||||
f 52/101/47 40/76/47 51/77/47
|
||||
f 47/119/48 46/56/48 59/79/48
|
||||
f 44/120/49 43/57/49 56/81/49
|
||||
f 53/121/50 41/82/50 52/59/50
|
||||
f 63/85/51 61/123/51 62/124/51
|
||||
f 62/124/51 72/125/51 63/85/51
|
||||
f 71/126/51 70/127/51 69/83/51
|
||||
f 69/83/51 68/128/51 67/84/51
|
||||
f 67/84/51 66/129/51 65/130/51
|
||||
f 65/130/51 64/131/51 63/85/51
|
||||
f 63/85/51 72/125/51 71/126/51
|
||||
f 71/126/51 69/83/51 63/85/51
|
||||
f 67/84/51 65/130/51 63/85/51
|
||||
f 72/132/52 60/86/52 71/87/52
|
||||
f 61/133/53 49/88/53 62/89/53
|
||||
f 57/122/54 56/65/54 69/91/54
|
||||
f 54/67/55 53/66/55 66/93/55
|
||||
f 62/134/56 50/69/56 72/94/56
|
||||
f 51/71/57 49/70/57 63/96/57
|
||||
f 58/73/58 57/72/58 70/98/58
|
||||
f 55/75/59 54/74/59 67/100/59
|
||||
f 64/135/60 52/101/60 63/102/60
|
||||
f 59/79/61 58/78/61 71/104/61
|
||||
f 56/81/62 55/80/62 68/106/62
|
||||
414
assets/hbm/models/scaffold.obj
Normal file
@ -0,0 +1,414 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'scaffold.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -0.375000 0.000000 0.500000
|
||||
v -0.375000 1.000000 0.500000
|
||||
v -0.375000 0.000000 -0.500000
|
||||
v -0.375000 1.000000 -0.500000
|
||||
v 0.375000 0.000000 0.500000
|
||||
v 0.375000 1.000000 0.500000
|
||||
v 0.375000 0.000000 -0.500000
|
||||
v 0.375000 1.000000 -0.500000
|
||||
v -0.250000 0.000000 0.500000
|
||||
v -0.250000 1.000000 0.500000
|
||||
v -0.250000 0.000000 -0.500000
|
||||
v -0.250000 1.000000 -0.500000
|
||||
v 0.250000 0.000000 0.500000
|
||||
v 0.250000 1.000000 0.500000
|
||||
v 0.250000 0.000000 -0.500000
|
||||
v 0.250000 1.000000 -0.500000
|
||||
v -0.250000 0.000000 0.375000
|
||||
v -0.250000 1.000000 0.375000
|
||||
v 0.250000 0.000000 0.375000
|
||||
v 0.250000 1.000000 0.375000
|
||||
v -0.250000 0.000000 -0.375000
|
||||
v -0.250000 1.000000 -0.375000
|
||||
v 0.250000 0.000000 -0.375000
|
||||
v 0.250000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 -0.375000
|
||||
v -0.375000 1.000000 -0.375000
|
||||
v 0.375000 0.000000 -0.375000
|
||||
v 0.375000 1.000000 -0.375000
|
||||
v -0.375000 0.000000 0.375000
|
||||
v -0.375000 1.000000 0.375000
|
||||
v 0.375000 0.000000 0.375000
|
||||
v 0.375000 1.000000 0.375000
|
||||
v -0.250000 0.062500 0.375000
|
||||
v -0.250000 0.062500 -0.375000
|
||||
v -0.375000 0.062500 -0.375000
|
||||
v -0.375000 0.062500 0.375000
|
||||
v -0.250000 0.937500 0.375000
|
||||
v -0.250000 0.937500 -0.375000
|
||||
v -0.375000 0.937500 -0.375000
|
||||
v -0.375000 0.937500 0.375000
|
||||
v -0.250000 0.562500 0.000000
|
||||
v -0.375000 0.562500 0.000000
|
||||
v -0.250000 0.437500 0.000000
|
||||
v -0.375000 0.437500 0.000000
|
||||
v -0.250000 0.187500 0.375000
|
||||
v -0.250000 0.187500 -0.375000
|
||||
v -0.375000 0.187500 -0.375000
|
||||
v -0.375000 0.187500 0.375000
|
||||
v -0.250000 0.812500 0.375000
|
||||
v -0.250000 0.812500 -0.375000
|
||||
v -0.375000 0.812500 -0.375000
|
||||
v -0.375000 0.812500 0.375000
|
||||
v -0.250000 0.500000 0.062500
|
||||
v -0.375000 0.500000 0.062500
|
||||
v -0.250000 0.500000 -0.062500
|
||||
v -0.375000 0.500000 -0.062500
|
||||
v 0.375000 0.062500 0.375000
|
||||
v 0.375000 0.062500 -0.375000
|
||||
v 0.250000 0.062500 -0.375000
|
||||
v 0.250000 0.062500 0.375000
|
||||
v 0.375000 0.937500 0.375000
|
||||
v 0.375000 0.937500 -0.375000
|
||||
v 0.250000 0.937500 -0.375000
|
||||
v 0.250000 0.937500 0.375000
|
||||
v 0.375000 0.562500 0.000000
|
||||
v 0.250000 0.562500 0.000000
|
||||
v 0.375000 0.437500 0.000000
|
||||
v 0.250000 0.437500 0.000000
|
||||
v 0.375000 0.187500 0.375000
|
||||
v 0.375000 0.187500 -0.375000
|
||||
v 0.250000 0.187500 -0.375000
|
||||
v 0.250000 0.187500 0.375000
|
||||
v 0.375000 0.812500 0.375000
|
||||
v 0.375000 0.812500 -0.375000
|
||||
v 0.250000 0.812500 -0.375000
|
||||
v 0.250000 0.812500 0.375000
|
||||
v 0.375000 0.500000 0.062500
|
||||
v 0.250000 0.500000 0.062500
|
||||
v 0.375000 0.500000 -0.062500
|
||||
v 0.250000 0.500000 -0.062500
|
||||
v 0.250000 0.062500 0.375000
|
||||
v -0.250000 0.062500 0.375000
|
||||
v -0.250000 0.062500 0.500000
|
||||
v 0.250000 0.062500 0.500000
|
||||
v 0.250000 0.937500 0.375000
|
||||
v -0.250000 0.937500 0.375000
|
||||
v -0.250000 0.937500 0.500000
|
||||
v 0.250000 0.937500 0.500000
|
||||
v -0.000000 0.562500 0.375000
|
||||
v -0.000000 0.562500 0.500000
|
||||
v -0.000000 0.437500 0.375000
|
||||
v -0.000000 0.437500 0.500000
|
||||
v 0.250000 0.187500 0.375000
|
||||
v -0.250000 0.187500 0.375000
|
||||
v -0.250000 0.187500 0.500000
|
||||
v 0.250000 0.187500 0.500000
|
||||
v 0.250000 0.812500 0.375000
|
||||
v -0.250000 0.812500 0.375000
|
||||
v -0.250000 0.812500 0.500000
|
||||
v 0.250000 0.812500 0.500000
|
||||
v 0.041667 0.500000 0.375000
|
||||
v 0.041667 0.500000 0.500000
|
||||
v -0.041667 0.500000 0.375000
|
||||
v -0.041667 0.500000 0.500000
|
||||
v 0.250000 0.062500 -0.500000
|
||||
v -0.250000 0.062500 -0.500000
|
||||
v -0.250000 0.062500 -0.375000
|
||||
v 0.250000 0.062500 -0.375000
|
||||
v 0.250000 0.937500 -0.500000
|
||||
v -0.250000 0.937500 -0.500000
|
||||
v -0.250000 0.937500 -0.375000
|
||||
v 0.250000 0.937500 -0.375000
|
||||
v 0.000000 0.562500 -0.500000
|
||||
v 0.000000 0.562500 -0.375000
|
||||
v 0.000000 0.437500 -0.500000
|
||||
v 0.000000 0.437500 -0.375000
|
||||
v 0.250000 0.187500 -0.500000
|
||||
v -0.250000 0.187500 -0.500000
|
||||
v -0.250000 0.187500 -0.375000
|
||||
v 0.250000 0.187500 -0.375000
|
||||
v 0.250000 0.812500 -0.500000
|
||||
v -0.250000 0.812500 -0.500000
|
||||
v -0.250000 0.812500 -0.375000
|
||||
v 0.250000 0.812500 -0.375000
|
||||
v 0.041667 0.500000 -0.500000
|
||||
v 0.041667 0.500000 -0.375000
|
||||
v -0.041667 0.500000 -0.500000
|
||||
v -0.041667 0.500000 -0.375000
|
||||
vt 0.875000 0.875000
|
||||
vt 0.875000 0.750000
|
||||
vt 1.000000 0.750000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.875000 1.000000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.125000 1.000000
|
||||
vt 0.125027 0.000035
|
||||
vt 0.000035 0.999965
|
||||
vt 0.875000 0.000000
|
||||
vt 0.750000 1.000000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.875000 0.250000
|
||||
vt 0.875000 0.125000
|
||||
vt 0.000035 0.000035
|
||||
vt 0.750000 0.000000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.000000 0.125000
|
||||
vt 0.125000 0.125000
|
||||
vt 0.125000 0.875000
|
||||
vt -0.000000 0.875000
|
||||
vt 0.000000 0.750000
|
||||
vt 1.000000 0.125000
|
||||
vt 1.000000 0.875000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 0.125000
|
||||
vt 0.437500 0.750000
|
||||
vt 0.437500 0.875000
|
||||
vt 0.437500 0.125000
|
||||
vt 0.437500 0.250000
|
||||
vt 0.500000 0.750000
|
||||
vt 0.500000 0.875000
|
||||
vt 0.562500 0.250000
|
||||
vt 0.562500 0.125000
|
||||
vt 0.562500 0.875000
|
||||
vt 0.562500 0.750000
|
||||
vt 0.500000 0.562500
|
||||
vt 0.562500 0.500000
|
||||
vt 0.875000 0.812500
|
||||
vt 0.500000 0.437500
|
||||
vt 0.875000 0.062500
|
||||
vt 0.875000 0.187500
|
||||
vt 0.125000 0.937500
|
||||
vt 0.125000 0.812500
|
||||
vt 0.437500 0.500000
|
||||
vt 0.125000 0.187500
|
||||
vt 0.125000 0.750000
|
||||
vt 0.125000 0.250000
|
||||
vt 0.250000 0.750000
|
||||
vt 0.250000 0.875000
|
||||
vt 0.125000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.541667
|
||||
vt 0.125000 0.541667
|
||||
vt 0.125000 0.458333
|
||||
vt 0.000000 0.458333
|
||||
vt 0.541667 0.500000
|
||||
vt 0.750000 0.812500
|
||||
vt 0.750000 0.062500
|
||||
vt 0.750000 0.187500
|
||||
vt 0.250000 0.937500
|
||||
vt 0.250000 0.812500
|
||||
vt 0.458333 0.500000
|
||||
vt 0.250000 0.187500
|
||||
vt 1.000000 0.500000
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.541667
|
||||
vt 1.000000 0.541667
|
||||
vt 1.000000 0.458333
|
||||
vt 0.875000 0.458333
|
||||
vt 0.875000 0.937500
|
||||
vt 0.125000 0.062500
|
||||
vt 0.750000 0.937500
|
||||
vt 0.250000 0.062500
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 -0.707100 0.707100
|
||||
vn 0.000000 -0.707100 -0.707100
|
||||
vn 0.000000 0.707100 0.707100
|
||||
vn 0.000000 0.707100 -0.707100
|
||||
vn 0.832100 -0.554700 0.000000
|
||||
vn -0.832100 -0.554700 0.000000
|
||||
vn 0.832100 0.554700 0.000000
|
||||
vn -0.832100 0.554700 -0.000000
|
||||
s off
|
||||
f 26/1/1 22/2/1 12/3/1
|
||||
f 11/4/2 12/5/2 22/6/2
|
||||
f 21/7/3 22/8/3 26/9/3
|
||||
f 25/10/4 26/9/4 4/11/4
|
||||
f 3/12/5 4/6/5 12/13/5
|
||||
f 11/14/6 21/15/6 25/16/6
|
||||
f 9/17/2 17/10/2 18/9/2
|
||||
f 1/10/3 9/7/3 10/8/3
|
||||
f 17/18/5 29/12/5 30/6/5
|
||||
f 30/6/4 29/12/4 1/4/4
|
||||
f 9/19/6 1/20/6 29/21/6
|
||||
f 30/22/1 2/23/1 10/24/1
|
||||
f 20/8/5 32/9/5 31/10/5
|
||||
f 31/10/2 32/9/2 6/11/2
|
||||
f 6/6/3 14/13/3 13/18/3
|
||||
f 14/5/4 20/6/4 19/12/4
|
||||
f 31/22/6 5/23/6 13/24/6
|
||||
f 14/19/1 6/20/1 32/21/1
|
||||
f 8/5/2 28/6/2 27/12/2
|
||||
f 15/7/5 16/8/5 8/9/5
|
||||
f 23/10/4 24/9/4 16/11/4
|
||||
f 27/12/3 28/6/3 24/13/3
|
||||
f 8/25/1 16/14/1 24/15/1
|
||||
f 23/2/6 15/3/6 7/26/6
|
||||
f 43/27/7 44/28/7 35/16/7
|
||||
f 36/21/8 44/28/8 43/27/8
|
||||
f 53/29/9 54/30/9 48/22/9
|
||||
f 52/21/7 54/31/7 53/32/7
|
||||
f 41/33/10 42/34/10 40/22/10
|
||||
f 39/1/9 42/34/9 41/33/9
|
||||
f 55/35/8 56/36/8 51/16/8
|
||||
f 47/1/10 56/37/10 55/38/10
|
||||
f 42/39/4 54/40/4 52/41/4
|
||||
f 44/42/4 36/43/4 48/44/4
|
||||
f 42/39/4 39/45/4 51/46/4
|
||||
f 44/42/4 56/47/4 47/48/4
|
||||
f 43/42/2 34/43/2 46/44/2
|
||||
f 41/39/2 55/40/2 50/41/2
|
||||
f 41/39/2 37/45/2 49/46/2
|
||||
f 54/40/4 42/39/4 56/47/4
|
||||
f 43/42/2 53/47/2 45/48/2
|
||||
f 41/39/2 53/47/2 43/42/2
|
||||
f 67/34/7 68/33/7 59/2/7
|
||||
f 60/49/8 68/33/8 67/34/8
|
||||
f 77/31/9 78/32/9 72/50/9
|
||||
f 76/49/7 78/51/7 77/52/7
|
||||
f 65/28/10 66/27/10 64/50/10
|
||||
f 63/15/9 66/27/9 65/28/9
|
||||
f 79/37/8 80/38/8 75/2/8
|
||||
f 71/15/10 80/35/10 79/36/10
|
||||
f 66/39/4 78/40/4 76/41/4
|
||||
f 68/42/4 60/43/4 72/44/4
|
||||
f 66/39/4 63/45/4 75/46/4
|
||||
f 68/42/4 80/47/4 71/48/4
|
||||
f 67/42/2 58/43/2 70/44/2
|
||||
f 65/39/2 79/40/2 74/41/2
|
||||
f 65/39/2 61/45/2 73/46/2
|
||||
f 78/40/4 66/39/4 80/47/4
|
||||
f 67/42/2 77/47/2 69/48/2
|
||||
f 65/39/2 77/47/2 67/42/2
|
||||
f 91/53/11 92/54/11 83/19/11
|
||||
f 84/24/12 92/54/12 91/53/12
|
||||
f 101/55/13 102/56/13 96/49/13
|
||||
f 100/24/11 102/55/11 101/56/11
|
||||
f 89/53/14 90/54/14 88/19/14
|
||||
f 87/24/13 90/54/13 89/53/13
|
||||
f 103/19/12 104/50/12 99/57/12
|
||||
f 95/58/14 104/19/14 103/50/14
|
||||
f 90/39/3 102/59/3 100/60/3
|
||||
f 92/42/3 84/61/3 96/62/3
|
||||
f 90/39/3 87/63/3 99/64/3
|
||||
f 92/42/3 104/65/3 95/66/3
|
||||
f 91/42/5 82/61/5 94/62/5
|
||||
f 89/39/5 103/59/5 98/60/5
|
||||
f 89/39/5 85/63/5 97/64/5
|
||||
f 102/59/3 90/39/3 104/65/3
|
||||
f 91/42/5 101/65/5 93/66/5
|
||||
f 103/59/5 89/39/5 101/65/5
|
||||
f 115/67/11 116/68/11 107/15/11
|
||||
f 108/2/12 116/68/12 115/67/12
|
||||
f 125/69/13 126/70/13 120/3/13
|
||||
f 124/2/11 126/69/11 125/70/11
|
||||
f 113/67/14 114/68/14 112/15/14
|
||||
f 111/2/13 114/68/13 113/67/13
|
||||
f 127/15/12 128/14/12 123/71/12
|
||||
f 119/72/14 128/15/14 127/14/14
|
||||
f 114/39/3 126/59/3 124/60/3
|
||||
f 116/42/3 108/61/3 120/62/3
|
||||
f 114/39/3 111/63/3 123/64/3
|
||||
f 116/42/3 128/65/3 119/66/3
|
||||
f 115/42/5 106/61/5 118/62/5
|
||||
f 113/39/5 127/59/5 122/60/5
|
||||
f 113/39/5 109/63/5 121/64/5
|
||||
f 126/59/3 114/39/3 128/65/3
|
||||
f 115/42/5 125/65/5 117/66/5
|
||||
f 127/59/5 113/39/5 125/65/5
|
||||
f 4/26/1 26/1/1 12/3/1
|
||||
f 21/12/2 11/4/2 22/6/2
|
||||
f 25/10/3 21/7/3 26/9/3
|
||||
f 3/17/4 25/10/4 4/11/4
|
||||
f 11/18/5 3/12/5 12/13/5
|
||||
f 3/25/6 11/14/6 25/16/6
|
||||
f 10/11/2 9/17/2 18/9/2
|
||||
f 2/9/3 1/10/3 10/8/3
|
||||
f 18/13/5 17/18/5 30/6/5
|
||||
f 2/5/4 30/6/4 1/4/4
|
||||
f 17/50/6 9/19/6 29/21/6
|
||||
f 18/49/1 30/22/1 10/24/1
|
||||
f 19/7/5 20/8/5 31/10/5
|
||||
f 5/17/2 31/10/2 6/11/2
|
||||
f 5/12/3 6/6/3 13/18/3
|
||||
f 13/4/4 14/5/4 19/12/4
|
||||
f 19/49/6 31/22/6 13/24/6
|
||||
f 20/50/1 14/19/1 32/21/1
|
||||
f 7/4/2 8/5/2 27/12/2
|
||||
f 7/10/5 15/7/5 8/9/5
|
||||
f 15/17/4 23/10/4 16/11/4
|
||||
f 23/18/3 27/12/3 24/13/3
|
||||
f 28/16/1 8/25/1 24/15/1
|
||||
f 27/1/6 23/2/6 7/26/6
|
||||
f 34/15/7 43/27/7 35/16/7
|
||||
f 33/50/8 36/21/8 43/27/8
|
||||
f 45/49/9 53/29/9 48/22/9
|
||||
f 49/50/7 52/21/7 53/32/7
|
||||
f 37/49/10 41/33/10 40/22/10
|
||||
f 38/2/9 39/1/9 41/33/9
|
||||
f 50/15/8 55/35/8 51/16/8
|
||||
f 46/2/10 47/1/10 55/38/10
|
||||
f 40/73/4 42/39/4 52/41/4
|
||||
f 54/40/4 44/42/4 48/44/4
|
||||
f 56/47/4 42/39/4 51/46/4
|
||||
f 35/74/4 44/42/4 47/48/4
|
||||
f 55/40/2 43/42/2 46/44/2
|
||||
f 38/73/2 41/39/2 50/41/2
|
||||
f 53/47/2 41/39/2 49/46/2
|
||||
f 44/42/4 54/40/4 56/47/4
|
||||
f 33/74/2 43/42/2 45/48/2
|
||||
f 55/40/2 41/39/2 43/42/2
|
||||
f 58/1/7 67/34/7 59/2/7
|
||||
f 57/22/8 60/49/8 67/34/8
|
||||
f 69/21/9 77/31/9 72/50/9
|
||||
f 73/22/7 76/49/7 77/52/7
|
||||
f 61/21/10 65/28/10 64/50/10
|
||||
f 62/16/9 63/15/9 65/28/9
|
||||
f 74/1/8 79/37/8 75/2/8
|
||||
f 70/16/10 71/15/10 79/36/10
|
||||
f 64/73/4 66/39/4 76/41/4
|
||||
f 78/40/4 68/42/4 72/44/4
|
||||
f 80/47/4 66/39/4 75/46/4
|
||||
f 59/74/4 68/42/4 71/48/4
|
||||
f 79/40/2 67/42/2 70/44/2
|
||||
f 62/73/2 65/39/2 74/41/2
|
||||
f 77/47/2 65/39/2 73/46/2
|
||||
f 68/42/4 78/40/4 80/47/4
|
||||
f 57/74/2 67/42/2 69/48/2
|
||||
f 79/40/2 65/39/2 67/42/2
|
||||
f 82/50/11 91/53/11 83/19/11
|
||||
f 81/49/12 84/24/12 91/53/12
|
||||
f 93/24/13 101/55/13 96/49/13
|
||||
f 97/49/11 100/24/11 101/56/11
|
||||
f 85/50/14 89/53/14 88/19/14
|
||||
f 86/49/13 87/24/13 89/53/13
|
||||
f 98/58/12 103/19/12 99/57/12
|
||||
f 94/57/14 95/58/14 103/50/14
|
||||
f 88/75/3 90/39/3 100/60/3
|
||||
f 102/59/3 92/42/3 96/62/3
|
||||
f 104/65/3 90/39/3 99/64/3
|
||||
f 83/76/3 92/42/3 95/66/3
|
||||
f 103/59/5 91/42/5 94/62/5
|
||||
f 86/75/5 89/39/5 98/60/5
|
||||
f 101/65/5 89/39/5 97/64/5
|
||||
f 92/42/3 102/59/3 104/65/3
|
||||
f 81/76/5 91/42/5 93/66/5
|
||||
f 91/42/5 103/59/5 101/65/5
|
||||
f 106/14/11 115/67/11 107/15/11
|
||||
f 105/3/12 108/2/12 115/67/12
|
||||
f 117/2/13 125/69/13 120/3/13
|
||||
f 121/3/11 124/2/11 125/70/11
|
||||
f 109/14/14 113/67/14 112/15/14
|
||||
f 110/3/13 111/2/13 113/67/13
|
||||
f 122/72/12 127/15/12 123/71/12
|
||||
f 118/71/14 119/72/14 127/14/14
|
||||
f 112/75/3 114/39/3 124/60/3
|
||||
f 126/59/3 116/42/3 120/62/3
|
||||
f 128/65/3 114/39/3 123/64/3
|
||||
f 107/76/3 116/42/3 119/66/3
|
||||
f 127/59/5 115/42/5 118/62/5
|
||||
f 110/75/5 113/39/5 122/60/5
|
||||
f 125/65/5 113/39/5 121/64/5
|
||||
f 116/42/3 126/59/3 128/65/3
|
||||
f 105/76/5 115/42/5 117/66/5
|
||||
f 115/42/5 127/59/5 125/65/5
|
||||
BIN
assets/hbm/textures/blocks/struct_launcher.png
Normal file
|
After Width: | Height: | Size: 399 B |
BIN
assets/hbm/textures/blocks/struct_launcher_core.png
Normal file
|
After Width: | Height: | Size: 507 B |
BIN
assets/hbm/textures/blocks/struct_launcher_core_large.png
Normal file
|
After Width: | Height: | Size: 462 B |
BIN
assets/hbm/textures/blocks/struct_scaffold.png
Normal file
|
After Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 144 B |
|
Before Width: | Height: | Size: 916 B |
|
Before Width: | Height: | Size: 849 B |
|
Before Width: | Height: | Size: 877 B |
|
Before Width: | Height: | Size: 336 B |
|
Before Width: | Height: | Size: 356 B |
|
Before Width: | Height: | Size: 191 B |
|
Before Width: | Height: | Size: 394 B |
|
Before Width: | Height: | Size: 501 B |
|
Before Width: | Height: | Size: 168 B |
|
Before Width: | Height: | Size: 484 B |
|
Before Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 611 B |
|
Before Width: | Height: | Size: 592 B |
|
Before Width: | Height: | Size: 599 B |
|
Before Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 603 B |
|
Before Width: | Height: | Size: 433 B |
|
Before Width: | Height: | Size: 441 B |
|
Before Width: | Height: | Size: 775 B |
|
Before Width: | Height: | Size: 663 B |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 922 B |
BIN
assets/hbm/textures/models/missile_parts/launch_table.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 893 B |
|
After Width: | Height: | Size: 934 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
@ -375,6 +375,11 @@ public class ModBlocks {
|
||||
public static Block bomb_multi_large;
|
||||
public static final int guiID_bomb_multi_large = 18;
|
||||
|
||||
public static Block struct_launcher;
|
||||
public static Block struct_scaffold;
|
||||
public static Block struct_launcher_core;
|
||||
public static Block struct_launcher_core_large;
|
||||
|
||||
public static Block factory_titanium_hull;
|
||||
public static Block factory_titanium_furnace;
|
||||
public static Block factory_titanium_conductor;
|
||||
@ -664,6 +669,8 @@ public class ModBlocks {
|
||||
public static Block dummy_block_puf6;
|
||||
public static Block dummy_plate_compact_launcher;
|
||||
public static Block dummy_port_compact_launcher;
|
||||
public static Block dummy_plate_launch_table;
|
||||
public static Block dummy_port_launch_table;
|
||||
|
||||
public static Block ntm_dirt;
|
||||
|
||||
@ -799,7 +806,7 @@ public class ModBlocks {
|
||||
steel_corner = new DecoBlock(Material.rock).setBlockName("steel_corner").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_corner");
|
||||
steel_roof = new DecoBlock(Material.rock).setBlockName("steel_roof").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_roof");
|
||||
steel_beam = new DecoBlock(Material.rock).setBlockName("steel_beam").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_beam");
|
||||
steel_scaffold = new DecoBlock(Material.rock).setBlockName("steel_scaffold").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":steel_scaffold");
|
||||
steel_scaffold = new DecoBlock(Material.rock).setBlockName("steel_scaffold").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_steel");
|
||||
|
||||
broadcaster_pc = new PinkCloudBroadcaster(Material.rock).setBlockName("broadcaster_pc").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":broadcaster_pc");
|
||||
geiger = new GeigerCounter(Material.rock).setBlockName("geiger").setCreativeTab(MainRegistry.machineTab).setHardness(15.0F).setResistance(0.25F).setBlockTextureName(RefStrings.MODID + ":geiger");
|
||||
@ -949,6 +956,11 @@ public class ModBlocks {
|
||||
machine_telelinker = new MachineTeleLinker(Material.iron).setBlockName("machine_telelinker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":machine_telelinker_side");
|
||||
machine_keyforge = new MachineKeyForge(Material.iron).setBlockName("machine_keyforge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":machine_keyforge_side");
|
||||
|
||||
struct_launcher = new BlockGeneric(Material.iron).setBlockName("struct_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher");
|
||||
struct_scaffold = new BlockGeneric(Material.iron).setBlockName("struct_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_scaffold");
|
||||
struct_launcher_core = new BlockStruct(Material.iron).setBlockName("struct_launcher_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core");
|
||||
struct_launcher_core_large = new BlockStruct(Material.iron).setBlockName("struct_launcher_core_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":struct_launcher_core_large");
|
||||
|
||||
factory_titanium_hull = new BlockGeneric(Material.iron).setBlockName("factory_titanium_hull").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_hull");
|
||||
factory_titanium_furnace = new FactoryHatch(Material.iron).setBlockName("factory_titanium_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_furnace");
|
||||
factory_titanium_conductor = new BlockReactor(Material.iron).setBlockName("factory_titanium_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_titanium_conductor");
|
||||
@ -1176,6 +1188,8 @@ public class ModBlocks {
|
||||
dummy_block_puf6 = new DummyBlockMachine(Material.iron, guiID_puf6_tank, machine_puf6_tank).setBlockName("dummy_block_puf6").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_plate_compact_launcher = new DummyBlockMachine(Material.iron, guiID_compact_launcher, compact_launcher).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_compact_launcher = new DummyBlockMachine(Material.iron, guiID_compact_launcher, compact_launcher).setBlockName("dummy_port_compact_launcher").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_plate_launch_table = new DummyBlockMachine(Material.iron, guiID_launch_table, launch_table).setBounds(0, 16, 0, 16, 16, 16).setBlockName("dummy_plate_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_launch_table = new DummyBlockMachine(Material.iron, guiID_launch_table, launch_table).setBlockName("dummy_port_launch_table").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
|
||||
ntm_dirt = new BlockNTMDirt().setBlockName("ntm_dirt").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName("dirt");
|
||||
|
||||
@ -1535,6 +1549,12 @@ public class ModBlocks {
|
||||
//Multiblock Helpers
|
||||
GameRegistry.registerBlock(marker_structure, marker_structure.getUnlocalizedName());
|
||||
|
||||
//Multiblock Parts
|
||||
GameRegistry.registerBlock(struct_launcher, struct_launcher.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(struct_scaffold, struct_scaffold.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(struct_launcher_core, struct_launcher_core.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(struct_launcher_core_large, struct_launcher_core_large.getUnlocalizedName());
|
||||
|
||||
//Absorbers
|
||||
GameRegistry.registerBlock(absorber, absorber.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(absorber_red, absorber_red.getUnlocalizedName());
|
||||
@ -1681,6 +1701,8 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(dummy_block_puf6, dummy_block_puf6.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_plate_compact_launcher, dummy_plate_compact_launcher.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_compact_launcher, dummy_port_compact_launcher.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_plate_launch_table, dummy_plate_launch_table.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_launch_table, dummy_port_launch_table.getUnlocalizedName());
|
||||
|
||||
//Other Technical Blocks
|
||||
GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName());
|
||||
|
||||
@ -39,12 +39,18 @@ public class DecoBlock extends BlockContainer {
|
||||
if(this == ModBlocks.bomber)
|
||||
return new TileEntityBomber();
|
||||
|
||||
if(this == ModBlocks.steel_scaffold)
|
||||
return null;
|
||||
|
||||
return new TileEntityDecoBlock();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType(){
|
||||
return 334078;
|
||||
if(this == ModBlocks.steel_scaffold)
|
||||
return 334078;
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
26
com/hbm/blocks/machine/BlockStruct.java
Normal file
@ -0,0 +1,26 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.tileentity.machine.TileEntityMultiblock;
|
||||
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockStruct extends BlockContainer {
|
||||
|
||||
public BlockStruct(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMultiblock();
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IMultiblock;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly;
|
||||
@ -12,7 +13,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineLaunchTable extends BlockContainer {
|
||||
public class MachineLaunchTable extends BlockContainer implements IMultiblock {
|
||||
|
||||
public MachineLaunchTable(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
|
||||
@ -1,11 +1,17 @@
|
||||
package com.hbm.creativetabs;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.weapon.ItemCustomMissile;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
|
||||
public class MissileTab extends CreativeTabs {
|
||||
|
||||
@ -23,4 +29,67 @@ public class MissileTab extends CreativeTabs {
|
||||
|
||||
return Items.iron_pickaxe;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void displayAllReleventItems(List list) {
|
||||
|
||||
super.displayAllReleventItems(list);
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_10_he,
|
||||
ModItems.mp_fuselage_10_kerosene,
|
||||
ModItems.mp_stability_10_flat,
|
||||
ModItems.mp_thruster_10_kerosene).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "Lil Bub"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_10_incendiary,
|
||||
ModItems.mp_fuselage_10_long_solid,
|
||||
ModItems.mp_stability_10_space,
|
||||
ModItems.mp_thruster_10_solid).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "Long Boy"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_10_nuclear,
|
||||
ModItems.mp_fuselage_10_15_kerosene,
|
||||
ModItems.mp_stability_15_flat,
|
||||
ModItems.mp_thruster_15_kerosene).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "Uncle Kim"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_10_nuclear_large,
|
||||
ModItems.mp_fuselage_10_15_balefire,
|
||||
ModItems.mp_stability_15_flat,
|
||||
ModItems.mp_thruster_15_balefire_large).setStackDisplayName(EnumChatFormatting.GREEN + "Trotty's Toy Rocket"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_15_nuclear_shark,
|
||||
ModItems.mp_fuselage_15_kerosene_camo,
|
||||
ModItems.mp_stability_15_thin,
|
||||
ModItems.mp_thruster_15_kerosene_triple).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "Stealthy Shark"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_15_he,
|
||||
ModItems.mp_fuselage_15_kerosene_polite,
|
||||
ModItems.mp_stability_15_thin,
|
||||
ModItems.mp_thruster_15_kerosene_dual).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "Polite Lad"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_3,
|
||||
ModItems.mp_warhead_15_n2,
|
||||
ModItems.mp_fuselage_15_solid_desh,
|
||||
ModItems.mp_stability_15_thin,
|
||||
ModItems.mp_thruster_15_solid_hexdecuple).setStackDisplayName(EnumChatFormatting.DARK_PURPLE + "NERV's Leftover Missile"));
|
||||
|
||||
list.add(ItemCustomMissile.buildMissile(
|
||||
ModItems.mp_chip_5,
|
||||
ModItems.mp_warhead_15_boxcar,
|
||||
ModItems.mp_fuselage_15_kerosene_blackjack,
|
||||
ModItems.mp_stability_15_thin,
|
||||
ModItems.mp_thruster_15_kerosene).setStackDisplayName(EnumChatFormatting.RED + "Auntie Blackjack"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,17 +3,19 @@ package com.hbm.entity.missile;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.bomb.BlockTaint;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.entity.logic.IChunkLoader;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.items.weapon.ItemMissile;
|
||||
import com.hbm.items.weapon.ItemMissile.WarheadType;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxParticlePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRadar;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
@ -47,7 +49,7 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
float consumption;
|
||||
private Ticket loaderTicket;
|
||||
public int health = 50;
|
||||
MissileMultipart template;
|
||||
MissileStruct template;
|
||||
|
||||
public EntityMissileCustom(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
@ -91,7 +93,7 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075);
|
||||
}
|
||||
|
||||
public EntityMissileCustom(World world, float x, float y, float z, int a, int b, MissileMultipart template) {
|
||||
public EntityMissileCustom(World world, float x, float y, float z, int a, int b, MissileStruct template) {
|
||||
super(world);
|
||||
this.ignoreFrustumCheck = true;
|
||||
/*this.posX = x;
|
||||
@ -106,13 +108,13 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
|
||||
this.template = template;
|
||||
|
||||
this.dataWatcher.updateObject(9, Item.getIdFromItem(template.warhead.part));
|
||||
this.dataWatcher.updateObject(10, Item.getIdFromItem(template.fuselage.part));
|
||||
this.dataWatcher.updateObject(9, Item.getIdFromItem(template.warhead));
|
||||
this.dataWatcher.updateObject(10, Item.getIdFromItem(template.fuselage));
|
||||
if(template.fins != null)
|
||||
this.dataWatcher.updateObject(11, Item.getIdFromItem(template.fins.part));
|
||||
this.dataWatcher.updateObject(11, Item.getIdFromItem(template.fins));
|
||||
else
|
||||
this.dataWatcher.updateObject(11, Integer.valueOf(0));
|
||||
this.dataWatcher.updateObject(12, Item.getIdFromItem(template.thruster.part));
|
||||
this.dataWatcher.updateObject(12, Item.getIdFromItem(template.thruster));
|
||||
|
||||
Vec3 vector = Vec3.createVectorHelper(targetX - startX, 0, targetZ - startZ);
|
||||
accelXZ = decelY = 1/vector.lengthVector();
|
||||
@ -120,8 +122,8 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
|
||||
velocity = 0.0;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile) template.fuselage.part;
|
||||
ItemMissile thruster = (ItemMissile) template.thruster.part;
|
||||
ItemMissile fuselage = (ItemMissile) template.fuselage;
|
||||
ItemMissile thruster = (ItemMissile) template.thruster;
|
||||
|
||||
this.fuel = (Float)fuselage.attributes[1];
|
||||
this.consumption = (Float)thruster.attributes[1];
|
||||
@ -136,15 +138,15 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
|
||||
if(template != null) {
|
||||
System.out.println("yeah");
|
||||
this.dataWatcher.addObject(9, Integer.valueOf(Item.getIdFromItem(template.warhead.part)));
|
||||
this.dataWatcher.addObject(10, Integer.valueOf(Item.getIdFromItem(template.fuselage.part)));
|
||||
this.dataWatcher.addObject(9, Integer.valueOf(Item.getIdFromItem(template.warhead)));
|
||||
this.dataWatcher.addObject(10, Integer.valueOf(Item.getIdFromItem(template.fuselage)));
|
||||
|
||||
if(template.fins != null)
|
||||
this.dataWatcher.addObject(11, Integer.valueOf(Item.getIdFromItem(template.fins.part)));
|
||||
this.dataWatcher.addObject(11, Integer.valueOf(Item.getIdFromItem(template.fins)));
|
||||
else
|
||||
this.dataWatcher.addObject(11, Integer.valueOf(0));
|
||||
|
||||
this.dataWatcher.addObject(12, Integer.valueOf(Item.getIdFromItem(template.thruster.part)));
|
||||
this.dataWatcher.addObject(12, Integer.valueOf(Item.getIdFromItem(template.thruster)));
|
||||
} else {
|
||||
this.dataWatcher.addObject(9, Integer.valueOf(0));
|
||||
this.dataWatcher.addObject(10, Integer.valueOf(0));
|
||||
@ -300,10 +302,12 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
|
||||
switch(type) {
|
||||
case HE:
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, strength, true, true, true);
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, strength, true, false, true);
|
||||
ExplosionLarge.jolt(worldObj, posX, posY, posZ, strength, (int) (strength * 50), 0.25);
|
||||
break;
|
||||
case INC:
|
||||
ExplosionLarge.explodeFire(worldObj, posX, posY, posZ, strength, true, true, true);
|
||||
ExplosionLarge.explodeFire(worldObj, posX, posY, posZ, strength, true, false, true);
|
||||
ExplosionLarge.jolt(worldObj, posX, posY, posZ, strength * 1.5, (int) (strength * 50), 0.25);
|
||||
break;
|
||||
case CLUSTER:
|
||||
break;
|
||||
@ -329,6 +333,19 @@ public class EntityMissileCustom extends Entity implements IChunkLoader {
|
||||
n2.posZ = posZ;
|
||||
worldObj.spawnEntityInWorld(n2);
|
||||
break;
|
||||
case TAINT:
|
||||
int r = (int) strength;
|
||||
for(int i = 0; i < r * 10; i++) {
|
||||
int a = rand.nextInt(r) + (int)posX - (r / 2 - 1);
|
||||
int b = rand.nextInt(r) + (int)posY - (r / 2 - 1);
|
||||
int c = rand.nextInt(r) + (int)posZ - (r / 2 - 1);
|
||||
if(worldObj.getBlock(a, b, c).isReplaceable(worldObj, a, b, c) && BlockTaint.hasPosNeightbour(worldObj, a, b, c)) {
|
||||
worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 4, 2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case CLOUD:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
|
||||
@ -760,6 +760,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_launch_table:
|
||||
{
|
||||
if(entity instanceof TileEntityLaunchTable)
|
||||
{
|
||||
return new ContainerLaunchTable(player.inventory, (TileEntityLaunchTable) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//NON-TE CONTAINERS
|
||||
@ -1518,6 +1527,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_launch_table:
|
||||
{
|
||||
if(entity instanceof TileEntityLaunchTable)
|
||||
{
|
||||
return new GUIMachineLaunchTable(player.inventory, (TileEntityLaunchTable) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//CLIENTONLY GUIS
|
||||
|
||||
91
com/hbm/handler/MissileStruct.java
Normal file
@ -0,0 +1,91 @@
|
||||
package com.hbm.handler;
|
||||
|
||||
import com.hbm.items.weapon.ItemMissile;
|
||||
import com.hbm.items.weapon.ItemMissile.PartType;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class MissileStruct {
|
||||
|
||||
public ItemMissile warhead;
|
||||
public ItemMissile fuselage;
|
||||
public ItemMissile fins;
|
||||
public ItemMissile thruster;
|
||||
|
||||
public MissileStruct() { }
|
||||
|
||||
public MissileStruct(ItemStack w, ItemStack f, ItemStack s, ItemStack t) {
|
||||
|
||||
if(w != null && w.getItem() instanceof ItemMissile)
|
||||
warhead = (ItemMissile) w.getItem();
|
||||
if(f != null && f.getItem() instanceof ItemMissile)
|
||||
fuselage = (ItemMissile) f.getItem();
|
||||
if(s != null && s.getItem() instanceof ItemMissile)
|
||||
fins = (ItemMissile) s.getItem();
|
||||
if(t != null && t.getItem() instanceof ItemMissile)
|
||||
thruster = (ItemMissile) t.getItem();
|
||||
}
|
||||
|
||||
public MissileStruct(Item w, Item f, Item s, Item t) {
|
||||
|
||||
if(w instanceof ItemMissile)
|
||||
warhead = (ItemMissile) w;
|
||||
if(f instanceof ItemMissile)
|
||||
fuselage = (ItemMissile) f;
|
||||
if(s instanceof ItemMissile)
|
||||
fins = (ItemMissile) s;
|
||||
if(t instanceof ItemMissile)
|
||||
thruster = (ItemMissile) t;
|
||||
}
|
||||
|
||||
public void writeToByteBuffer(ByteBuf buf) {
|
||||
|
||||
|
||||
if(warhead != null && warhead.type == PartType.WARHEAD)
|
||||
buf.writeInt(Item.getIdFromItem(warhead));
|
||||
else
|
||||
buf.writeInt(0);
|
||||
|
||||
if(fuselage != null && fuselage.type == PartType.FUSELAGE)
|
||||
buf.writeInt(Item.getIdFromItem(fuselage));
|
||||
else
|
||||
buf.writeInt(0);
|
||||
|
||||
if(fins != null && fins.type == PartType.FINS)
|
||||
buf.writeInt(Item.getIdFromItem(fins));
|
||||
else
|
||||
buf.writeInt(0);
|
||||
|
||||
if(thruster != null && thruster.type == PartType.THRUSTER)
|
||||
buf.writeInt(Item.getIdFromItem(thruster));
|
||||
else
|
||||
buf.writeInt(0);
|
||||
}
|
||||
|
||||
public static MissileStruct readFromByteBuffer(ByteBuf buf) {
|
||||
|
||||
MissileStruct multipart = new MissileStruct();
|
||||
|
||||
int w = buf.readInt();
|
||||
int f = buf.readInt();
|
||||
int s = buf.readInt();
|
||||
int t = buf.readInt();
|
||||
|
||||
if(w != 0)
|
||||
multipart.warhead = (ItemMissile) Item.getItemById(w);
|
||||
|
||||
if(f != 0)
|
||||
multipart.fuselage = (ItemMissile) Item.getItemById(f);
|
||||
|
||||
if(s != 0)
|
||||
multipart.fins = (ItemMissile) Item.getItemById(s);
|
||||
|
||||
if(t != 0)
|
||||
multipart.thruster = (ItemMissile) Item.getItemById(t);
|
||||
|
||||
return multipart;
|
||||
}
|
||||
|
||||
}
|
||||
77
com/hbm/inventory/container/ContainerLaunchTable.java
Normal file
@ -0,0 +1,77 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerLaunchTable extends Container {
|
||||
|
||||
private TileEntityLaunchTable nukeBoy;
|
||||
|
||||
public ContainerLaunchTable(InventoryPlayer invPlayer, TileEntityLaunchTable tedf) {
|
||||
|
||||
nukeBoy = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 26, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 26, 72));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 116, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 134, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 152, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 116, 108));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 1) {
|
||||
if (!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (!this.mergeItemStack(var5, 0, 1, false))
|
||||
return null;
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return nukeBoy.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
@ -103,17 +103,17 @@ public class GUIMachineCompactLauncher extends GuiInfoContainer {
|
||||
|
||||
missile = new MissileMultipart();
|
||||
|
||||
missile = ItemCustomMissile.getMultipart(custom);
|
||||
missile = MissileMultipart.loadFromStruct(ItemCustomMissile.getStruct(custom));
|
||||
|
||||
GL11.glTranslatef(guiLeft + 42, guiTop + 115, 100);
|
||||
GL11.glTranslatef(guiLeft + 88, guiTop + 115, 100);
|
||||
|
||||
double size = 5 * 18;
|
||||
double scale = size / Math.max(missile.getHeight(), 6);
|
||||
|
||||
GL11.glTranslated(missile.getHeight() / 2 * scale, 0, 0);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
GL11.glRotatef(90, 0, 1, 0);
|
||||
GL11.glTranslated(missile.getHeight() / 2D * scale, 0, 0);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
GL11.glScalef(-1, -1, -1);
|
||||
|
||||
MissilePronter.prontMissile(missile, Minecraft.getMinecraft().getTextureManager());
|
||||
|
||||
165
com/hbm/inventory/gui/GUIMachineLaunchTable.java
Normal file
@ -0,0 +1,165 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerCompactLauncher;
|
||||
import com.hbm.inventory.container.ContainerLaunchTable;
|
||||
import com.hbm.items.weapon.ItemCustomMissile;
|
||||
import com.hbm.items.weapon.ItemMissile.PartSize;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.packet.AuxButtonPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
import com.hbm.render.misc.MissilePronter;
|
||||
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
|
||||
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.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineLaunchTable extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_launch_table.png");
|
||||
private TileEntityLaunchTable launcher;
|
||||
|
||||
public GUIMachineLaunchTable(InventoryPlayer invPlayer, TileEntityLaunchTable tedf) {
|
||||
super(new ContainerLaunchTable(invPlayer, tedf));
|
||||
launcher = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
launcher.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 88 - 52, 16, 52);
|
||||
launcher.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 88 - 52, 16, 52);
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 88 - 52, 16, 52, new String[] { "Solid Fuel: " + launcher.solid + "l" });
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 113, 34, 6, launcher.power, launcher.maxPower);
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 7, guiTop + 98, 18, 18, new String[] { "Size 10 & 10/15" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 25, guiTop + 98, 18, 18, new String[] { "Size 15 & 15/20" });
|
||||
this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 43, guiTop + 98, 18, 18, new String[] { "Size 20" });
|
||||
}
|
||||
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(guiLeft + 7 <= x && guiLeft + 7 + 18 > x && guiTop + 98 < y && guiTop + 98 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(launcher.xCoord, launcher.yCoord, launcher.zCoord, PartSize.SIZE_10.ordinal(), 0));
|
||||
}
|
||||
|
||||
if(guiLeft + 25 <= x && guiLeft + 25 + 18 > x && guiTop + 98 < y && guiTop + 98 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(launcher.xCoord, launcher.yCoord, launcher.zCoord, PartSize.SIZE_15.ordinal(), 0));
|
||||
}
|
||||
|
||||
if(guiLeft + 43 <= x && guiLeft + 43 + 18 > x && guiTop + 98 < y && guiTop + 98 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(launcher.xCoord, launcher.yCoord, launcher.zCoord, PartSize.SIZE_20.ordinal(), 0));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
String name = this.launcher.hasCustomInventoryName() ? this.launcher.getInventoryName() : I18n.format(this.launcher.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = (int)launcher.getPowerScaled(34);
|
||||
drawTexturedModalRect(guiLeft + 134, guiTop + 113, 176, 96, i, 6);
|
||||
|
||||
int j = (int)launcher.getSolidScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 152, guiTop + 88 - j, 176, 96 - j, 16, j);
|
||||
|
||||
if(launcher.isMissileValid())
|
||||
drawTexturedModalRect(guiLeft + 25, guiTop + 35, 176, 26, 18, 18);
|
||||
|
||||
if(launcher.hasDesignator())
|
||||
drawTexturedModalRect(guiLeft + 25, guiTop + 71, 176, 26, 18, 18);
|
||||
|
||||
if(launcher.liquidState() == 1)
|
||||
drawTexturedModalRect(guiLeft + 121, guiTop + 23, 176, 0, 6, 8);
|
||||
if(launcher.liquidState() == 0)
|
||||
drawTexturedModalRect(guiLeft + 121, guiTop + 23, 182, 0, 6, 8);
|
||||
|
||||
if(launcher.oxidizerState() == 1)
|
||||
drawTexturedModalRect(guiLeft + 139, guiTop + 23, 176, 0, 6, 8);
|
||||
if(launcher.oxidizerState() == 0)
|
||||
drawTexturedModalRect(guiLeft + 139, guiTop + 23, 182, 0, 6, 8);
|
||||
|
||||
if(launcher.solidState() == 1)
|
||||
drawTexturedModalRect(guiLeft + 157, guiTop + 23, 176, 0, 6, 8);
|
||||
if(launcher.solidState() == 0)
|
||||
drawTexturedModalRect(guiLeft + 157, guiTop + 23, 182, 0, 6, 8);
|
||||
|
||||
switch(launcher.padSize) {
|
||||
|
||||
case SIZE_10:
|
||||
drawTexturedModalRect(guiLeft + 7, guiTop + 98, 176, 8, 18, 18);
|
||||
break;
|
||||
case SIZE_15:
|
||||
drawTexturedModalRect(guiLeft + 25, guiTop + 98, 194, 8, 18, 18);
|
||||
break;
|
||||
case SIZE_20:
|
||||
drawTexturedModalRect(guiLeft + 43, guiTop + 98, 212, 8, 18, 18);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(launcher.tanks[0].getSheet());
|
||||
launcher.tanks[0].renderTank(this, guiLeft + 116, guiTop + 88, launcher.tanks[0].getTankType().textureX() * FluidTank.x, launcher.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(launcher.tanks[1].getSheet());
|
||||
launcher.tanks[1].renderTank(this, guiLeft + 134, guiTop + 88, launcher.tanks[1].getTankType().textureX() * FluidTank.x, launcher.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
|
||||
/// DRAW MISSILE START
|
||||
GL11.glPushMatrix();
|
||||
|
||||
MissileMultipart missile;
|
||||
|
||||
if(launcher.isMissileValid()) {
|
||||
ItemStack custom = launcher.getStackInSlot(0);
|
||||
|
||||
missile = new MissileMultipart();
|
||||
|
||||
missile = MissileMultipart.loadFromStruct(ItemCustomMissile.getStruct(custom));
|
||||
|
||||
GL11.glTranslatef(guiLeft + 88, guiTop + 115, 100);
|
||||
|
||||
double size = 5 * 18;
|
||||
double scale = size / Math.max(missile.getHeight(), 6);
|
||||
|
||||
GL11.glRotatef(90, 0, 1, 0);
|
||||
GL11.glTranslated(missile.getHeight() / 2D * scale, 0, 0);
|
||||
GL11.glScaled(scale, scale, scale);
|
||||
|
||||
GL11.glScalef(-1, -1, -1);
|
||||
|
||||
MissilePronter.prontMissile(missile, Minecraft.getMinecraft().getTextureManager());
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();
|
||||
/// DRAW MISSILE END
|
||||
}
|
||||
}
|
||||
@ -900,6 +900,7 @@ public class ModItems {
|
||||
public static Item mp_warhead_10_buster;
|
||||
public static Item mp_warhead_10_nuclear;
|
||||
public static Item mp_warhead_10_nuclear_large;
|
||||
public static Item mp_warhead_10_taint;
|
||||
public static Item mp_warhead_15_he;
|
||||
public static Item mp_warhead_15_incendiary;
|
||||
public static Item mp_warhead_15_nuclear;
|
||||
@ -2494,11 +2495,12 @@ public class ModItems {
|
||||
mp_warhead_10_buster = new ItemMissile().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, 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, 35F, 1.5F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_10_nuclear_large = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_10_taint = new ItemMissile().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10) .setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_he = new ItemMissile().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_nuclear_shark = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_nuclear_shark").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_boxcar = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 15F, 7.5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_boxcar = new ItemMissile().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead");
|
||||
mp_warhead_15_n2 = new ItemMissile().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15) .setUnlocalizedName("mp_warhead_15_n2").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");
|
||||
@ -4263,6 +4265,7 @@ public class ModItems {
|
||||
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_10_nuclear_large, mp_warhead_10_nuclear_large.getUnlocalizedName());
|
||||
GameRegistry.registerItem(mp_warhead_10_taint, mp_warhead_10_taint.getUnlocalizedName());
|
||||
GameRegistry.registerItem(mp_warhead_15_he, mp_warhead_15_he.getUnlocalizedName());
|
||||
GameRegistry.registerItem(mp_warhead_15_incendiary, mp_warhead_15_incendiary.getUnlocalizedName());
|
||||
GameRegistry.registerItem(mp_warhead_15_nuclear, mp_warhead_15_nuclear.getUnlocalizedName());
|
||||
|
||||
@ -2,10 +2,10 @@ package com.hbm.items.weapon;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.weapon.ItemMissile.FuelType;
|
||||
import com.hbm.items.weapon.ItemMissile.WarheadType;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
import com.hbm.render.misc.MissilePart;
|
||||
|
||||
import net.minecraft.client.resources.I18n;
|
||||
@ -13,9 +13,19 @@ 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.EnumChatFormatting;
|
||||
import net.minecraft.util.StatCollector;
|
||||
|
||||
public class ItemCustomMissile extends Item {
|
||||
|
||||
public static ItemStack buildMissile(Item chip, Item warhead, Item fuselage, Item stability, Item thruster) {
|
||||
|
||||
if(stability == null) {
|
||||
return buildMissile(new ItemStack(chip), new ItemStack(warhead), new ItemStack(fuselage), null, new ItemStack(thruster));
|
||||
} else {
|
||||
return buildMissile(new ItemStack(chip), new ItemStack(warhead), new ItemStack(fuselage), new ItemStack(stability), new ItemStack(thruster));
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemStack buildMissile(ItemStack chip, ItemStack warhead, ItemStack fuselage, ItemStack stability, ItemStack thruster) {
|
||||
|
||||
@ -53,15 +63,19 @@ public class ItemCustomMissile extends Item {
|
||||
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability"));
|
||||
ItemMissile thruster = (ItemMissile) Item.getItemById(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());
|
||||
list.add(EnumChatFormatting.BOLD + "Warhead: " + EnumChatFormatting.GRAY + warhead.getWarhead((WarheadType)warhead.attributes[0]));
|
||||
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)warhead.attributes[1]);
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel Type: " + EnumChatFormatting.GRAY + fuselage.getFuel((FuelType)fuselage.attributes[0]));
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)fuselage.attributes[1] + "l");
|
||||
list.add(EnumChatFormatting.BOLD + "Chip inaccuracy: " + EnumChatFormatting.GRAY + (Float)chip.attributes[0] * 100 + "%");
|
||||
if(stability != null)
|
||||
list.add(I18n.format(StatCollector.translateToLocal(stability.getUnlocalizedName() + ".name")).trim());
|
||||
list.add(I18n.format(StatCollector.translateToLocal(thruster.getUnlocalizedName() + ".name")).trim());
|
||||
list.add(EnumChatFormatting.BOLD + "Fin inaccuracy: " + EnumChatFormatting.GRAY + (Float)stability.attributes[0] * 100 + "%");
|
||||
else
|
||||
list.add(EnumChatFormatting.BOLD + "Fin inaccuracy: " + EnumChatFormatting.GRAY + "100%");
|
||||
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + fuselage.getSize(fuselage.top) + "/" + fuselage.getSize(fuselage.bottom));
|
||||
}
|
||||
|
||||
public static MissileMultipart getMultipart(ItemStack stack) {
|
||||
public static MissileStruct getStruct(ItemStack stack) {
|
||||
|
||||
if(stack == null || !(stack.getItem() instanceof ItemCustomMissile))
|
||||
return null;
|
||||
@ -71,12 +85,7 @@ public class ItemCustomMissile extends Item {
|
||||
ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability"));
|
||||
ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster"));
|
||||
|
||||
MissileMultipart missile = new MissileMultipart();
|
||||
|
||||
missile.warhead = MissilePart.getPart(warhead);
|
||||
missile.fuselage = MissilePart.getPart(fuselage);
|
||||
missile.fins = MissilePart.getPart(stability);
|
||||
missile.thruster = MissilePart.getPart(thruster);
|
||||
MissileStruct missile = new MissileStruct(warhead, fuselage, stability, thruster);
|
||||
|
||||
return missile;
|
||||
}
|
||||
|
||||
@ -153,29 +153,29 @@ public class ItemMissile extends Item {
|
||||
try {
|
||||
switch(type) {
|
||||
case CHIP:
|
||||
list.add("Inaccuracy: " + (Float)attributes[0]);
|
||||
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
|
||||
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] + "t");
|
||||
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(bottom));
|
||||
list.add(EnumChatFormatting.BOLD + "Type: " + EnumChatFormatting.GRAY + getWarhead((WarheadType)attributes[0]));
|
||||
list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)attributes[1]);
|
||||
list.add(EnumChatFormatting.BOLD + "Weight: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
|
||||
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");
|
||||
list.add(EnumChatFormatting.BOLD + "Top size: " + EnumChatFormatting.GRAY + getSize(top));
|
||||
list.add(EnumChatFormatting.BOLD + "Bottom size: " + EnumChatFormatting.GRAY + getSize(bottom));
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l");
|
||||
break;
|
||||
case FINS:
|
||||
list.add("Size: " + getSize(top));
|
||||
list.add("Inaccuracy: " + (Float)attributes[0]);
|
||||
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
|
||||
list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%");
|
||||
break;
|
||||
case THRUSTER:
|
||||
list.add("Size: " + getSize(top));
|
||||
list.add("Fuel type: " + getFuel((FuelType)attributes[0]));
|
||||
list.add("Fuel consumption: " + (Float)attributes[1] + "l/tick");
|
||||
list.add("Max. payload: " + (Float)attributes[2] + "t");
|
||||
list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top));
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0]));
|
||||
list.add(EnumChatFormatting.BOLD + "Fuel consumption: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l/tick");
|
||||
list.add(EnumChatFormatting.BOLD + "Max. payload: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t");
|
||||
break;
|
||||
}
|
||||
} catch(Exception ex) {
|
||||
@ -183,7 +183,7 @@ public class ItemMissile extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
private String getSize(PartSize size) {
|
||||
public String getSize(PartSize size) {
|
||||
|
||||
switch(size) {
|
||||
case ANY:
|
||||
@ -199,51 +199,51 @@ public class ItemMissile extends Item {
|
||||
}
|
||||
}
|
||||
|
||||
private String getWarhead(WarheadType type) {
|
||||
public String getWarhead(WarheadType type) {
|
||||
|
||||
switch(type) {
|
||||
case HE:
|
||||
return "HE";
|
||||
return EnumChatFormatting.YELLOW + "HE";
|
||||
case INC:
|
||||
return "Incendiary";
|
||||
return EnumChatFormatting.GOLD + "Incendiary";
|
||||
case CLUSTER:
|
||||
return "Cluster";
|
||||
return EnumChatFormatting.GRAY + "Cluster";
|
||||
case BUSTER:
|
||||
return "Bunker Buster";
|
||||
return EnumChatFormatting.WHITE + "Bunker Buster";
|
||||
case NUCLEAR:
|
||||
return "Nuclear";
|
||||
return EnumChatFormatting.DARK_GREEN + "Nuclear";
|
||||
case TX:
|
||||
return "Thermonuclear";
|
||||
return EnumChatFormatting.DARK_PURPLE + "Thermonuclear (TX)";
|
||||
case N2:
|
||||
return "N²";
|
||||
return EnumChatFormatting.RED + "N²";
|
||||
case BALEFIRE:
|
||||
return "BF";
|
||||
return EnumChatFormatting.GREEN + "BF";
|
||||
case SCHRAB:
|
||||
return "Schrabidium";
|
||||
return EnumChatFormatting.AQUA + "Schrabidium";
|
||||
case TAINT:
|
||||
return "Taint";
|
||||
return EnumChatFormatting.DARK_PURPLE + "Taint";
|
||||
case CLOUD:
|
||||
return "Cloud";
|
||||
return EnumChatFormatting.LIGHT_PURPLE + "Cloud";
|
||||
default:
|
||||
return "N/A";
|
||||
return EnumChatFormatting.BOLD + "N/A";
|
||||
}
|
||||
}
|
||||
|
||||
private String getFuel(FuelType type) {
|
||||
public String getFuel(FuelType type) {
|
||||
|
||||
switch(type) {
|
||||
case KEROSENE:
|
||||
return "Kerosene";
|
||||
return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide";
|
||||
case SOLID:
|
||||
return "Solid Fuel";
|
||||
return EnumChatFormatting.GOLD + "Solid Fuel";
|
||||
case HYDROGEN:
|
||||
return "Hydrogen";
|
||||
return EnumChatFormatting.DARK_AQUA + "Hydrogen / Oxygen";
|
||||
case XENON:
|
||||
return "Xenon Gas";
|
||||
return EnumChatFormatting.DARK_PURPLE + "Xenon Gas";
|
||||
case BALEFIRE:
|
||||
return "BF Inferno Fuel";
|
||||
return EnumChatFormatting.GREEN + "BF Inferno Fuel / Peroxide";
|
||||
default:
|
||||
return "N/A";
|
||||
return EnumChatFormatting.BOLD + "N/A";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -426,7 +426,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_radgen ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_launch_table)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -456,7 +457,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_reactor_small ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_launch_table)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -911,8 +913,8 @@ public class Library {
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Compact Launcher
|
||||
if(block == ModBlocks.dummy_port_compact_launcher)
|
||||
//Launchers
|
||||
if(block == ModBlocks.dummy_port_compact_launcher || block == ModBlocks.dummy_port_launch_table)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
@ -1138,8 +1140,8 @@ public class Library {
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Compact Launcher
|
||||
if(block == ModBlocks.dummy_port_compact_launcher)
|
||||
//Launchers
|
||||
if(block == ModBlocks.dummy_port_compact_launcher || block == ModBlocks.dummy_port_launch_table)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ package com.hbm.lib;
|
||||
public class RefStrings {
|
||||
public static final String MODID = "hbm";
|
||||
public static final String NAME = "Hbm's Nuclear Tech Mod";
|
||||
public static final String VERSION = "1.0.27 BETA (3111)";
|
||||
public static final String VERSION = "1.0.27 BETA (3147B)";
|
||||
//HBM's Beta Naming Convention:
|
||||
//V T (X)
|
||||
//V -> next release version
|
||||
|
||||
@ -327,6 +327,7 @@ public class ClientProxy extends ServerProxy
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonRedWire.class, new RenderPylon());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStructureMarker.class, new RenderStructureMaker());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock());
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());
|
||||
@ -401,7 +402,7 @@ public class ClientProxy extends ServerProxy
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_corner), new ItemRenderDecoBlock());
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_roof), new ItemRenderDecoBlock());
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_beam), new ItemRenderDecoBlock());
|
||||
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_scaffold), new ItemRenderDecoBlock());
|
||||
//MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_scaffold), new ItemRenderDecoBlock());
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityNuclearCreeper.class, new RenderNuclearCreeper());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityTaintedCreeper.class, new RenderTaintedCreeper());
|
||||
@ -442,6 +443,8 @@ public class ClientProxy extends ServerProxy
|
||||
@Override
|
||||
public void registerMissileItems() {
|
||||
|
||||
MissilePart.registerAllParts();
|
||||
|
||||
Iterator it = MissilePart.parts.entrySet().iterator();
|
||||
|
||||
while (it.hasNext()) {
|
||||
|
||||
@ -1561,6 +1561,11 @@ public class CraftingManager {
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_machines), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 1) });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_weapons), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 8) });
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bobmazon_tools), new Object[] { Items.book, Items.gold_nugget, new ItemStack(Items.dye, 1, 2) });
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_missile_assembly, 1), new Object[] { "PWP", "SSS", "CCC", 'P', ModItems.pedestal_steel, 'W', ModItems.wrench, 'S', "plateSteel", 'C', ModBlocks.steel_scaffold }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete_smooth }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_scaffold, 1), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.fluid_duct, 'C', ModBlocks.red_cable });
|
||||
}
|
||||
|
||||
public static void AddSmeltingRec()
|
||||
|
||||
@ -529,6 +529,7 @@ public class MainRegistry
|
||||
GameRegistry.registerTileEntity(TileEntityMachineMissileAssembly.class, "tileentity_missile_assembly");
|
||||
GameRegistry.registerTileEntity(TileEntityLaunchTable.class, "tileentity_large_launch_table");
|
||||
GameRegistry.registerTileEntity(TileEntityCompactLauncher.class, "tileentity_small_launcher");
|
||||
GameRegistry.registerTileEntity(TileEntityMultiblock.class, "tileentity_multi_core");
|
||||
|
||||
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
||||
@ -1472,8 +1473,6 @@ public class MainRegistry
|
||||
TileEntityMachineReactorLarge.registerWasteEntry(12, ReactorFuelType.THORIUM, ModItems.rod_dual_empty, ModItems.rod_dual_thorium_fuel_depleted);
|
||||
TileEntityMachineReactorLarge.registerWasteEntry(24, ReactorFuelType.THORIUM, ModItems.rod_quad_empty, ModItems.rod_quad_thorium_fuel_depleted);
|
||||
|
||||
MissilePart.registerAllParts();
|
||||
|
||||
proxy.registerMissileItems();
|
||||
}
|
||||
|
||||
|
||||
@ -321,6 +321,15 @@ public class ResourceManager {
|
||||
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 compact_launcher = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/compact_launcher.obj"));
|
||||
public static final IModelCustom launch_table_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_base.obj"));
|
||||
public static final IModelCustom launch_table_large_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_large_pad.obj"));
|
||||
public static final IModelCustom launch_table_small_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_small_pad.obj"));
|
||||
public static final IModelCustom launch_table_large_scaffold_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_large_scaffold_base.obj"));
|
||||
public static final IModelCustom launch_table_large_scaffold_connector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_large_scaffold_connector.obj"));
|
||||
public static final IModelCustom launch_table_large_scaffold_empty = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_large_scaffold_empty.obj"));
|
||||
public static final IModelCustom launch_table_small_scaffold_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_small_scaffold_base.obj"));
|
||||
public static final IModelCustom launch_table_small_scaffold_connector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_small_scaffold_connector.obj"));
|
||||
public static final IModelCustom launch_table_small_scaffold_empty = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/launch_table/launch_table_small_scaffold_empty.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"));
|
||||
@ -354,6 +363,7 @@ public class ResourceManager {
|
||||
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_10_nuclear_large = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_nuclear_large.obj"));
|
||||
public static final IModelCustom mp_w_10_taint = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_10_taint.obj"));
|
||||
public static final IModelCustom mp_w_15_he = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_he.obj"));
|
||||
public static final IModelCustom mp_w_15_incendiary = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_incendiary.obj"));
|
||||
public static final IModelCustom mp_w_15_nuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_w_15_nuclear.obj"));
|
||||
@ -426,6 +436,13 @@ public class ResourceManager {
|
||||
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 compact_launcher_tex = new ResourceLocation(RefStrings.MODID, "textures/models/compact_launcher.png");
|
||||
public static final ResourceLocation launch_table_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table.png");
|
||||
public static final ResourceLocation launch_table_large_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_large_pad.png");
|
||||
public static final ResourceLocation launch_table_small_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_small_pad.png");
|
||||
public static final ResourceLocation launch_table_large_scaffold_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_large_scaffold_base.png");
|
||||
public static final ResourceLocation launch_table_large_scaffold_connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_large_scaffold_connector.png");
|
||||
public static final ResourceLocation launch_table_small_scaffold_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_small_scaffold_base.png");
|
||||
public static final ResourceLocation launch_table_small_scaffold_connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/launch_table_small_scaffold_connector.png");
|
||||
|
||||
public static final ResourceLocation mp_t_10_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_10_kerosene.png");
|
||||
public static final ResourceLocation mp_t_10_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_10_solid.png");
|
||||
@ -497,9 +514,14 @@ public class ResourceManager {
|
||||
public static final ResourceLocation mp_w_10_buster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_buster.png");
|
||||
public static final ResourceLocation mp_w_10_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_nuclear.png");
|
||||
public static final ResourceLocation mp_w_10_nuclear_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_nuclear_large.png");
|
||||
public static final ResourceLocation mp_w_10_taint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_taint.png");
|
||||
public static final ResourceLocation mp_w_15_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_he.png");
|
||||
public static final ResourceLocation mp_w_15_incendiary_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_incendiary.png");
|
||||
public static final ResourceLocation mp_w_15_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_nuclear.png");
|
||||
public static final ResourceLocation mp_w_15_nuclear_shark_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_nuclear_shark.png");
|
||||
public static final ResourceLocation mp_w_15_n2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_n2.png");
|
||||
|
||||
//ISBRHs
|
||||
public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/scaffold.obj"));
|
||||
|
||||
}
|
||||
|
||||
@ -2,8 +2,10 @@ package com.hbm.packet;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.items.weapon.ItemMissile.PartSize;
|
||||
import com.hbm.saveddata.SatelliteSaveStructure;
|
||||
import com.hbm.saveddata.SatelliteSavedData;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
import com.hbm.tileentity.bomb.TileEntityTurretCIWS;
|
||||
import com.hbm.tileentity.bomb.TileEntityTurretCheapo;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSBase;
|
||||
@ -211,6 +213,12 @@ public class AuxButtonPacket implements IMessage {
|
||||
assembly.construct();
|
||||
}
|
||||
|
||||
if (te instanceof TileEntityLaunchTable) {
|
||||
TileEntityLaunchTable launcher = (TileEntityLaunchTable)te;
|
||||
|
||||
launcher.padSize = PartSize.values()[m.value];
|
||||
}
|
||||
|
||||
//} catch (Exception x) { }
|
||||
|
||||
return null;
|
||||
|
||||
@ -2,7 +2,9 @@ package com.hbm.packet;
|
||||
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.ISource;
|
||||
import com.hbm.items.weapon.ItemMissile.PartSize;
|
||||
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeCustom;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeN45;
|
||||
import com.hbm.tileentity.bomb.TileEntityTurretCIWS;
|
||||
@ -242,6 +244,14 @@ public class AuxGaugePacket implements IMessage {
|
||||
|
||||
launcher.solid = m.value;
|
||||
}
|
||||
if (te instanceof TileEntityLaunchTable) {
|
||||
TileEntityLaunchTable launcher = (TileEntityLaunchTable)te;
|
||||
|
||||
if(m.id == 0)
|
||||
launcher.solid = m.value;
|
||||
if(m.id == 1)
|
||||
launcher.padSize = PartSize.values()[m.value];
|
||||
}
|
||||
|
||||
} catch (Exception x) {}
|
||||
return null;
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
package com.hbm.packet;
|
||||
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
import com.hbm.tileentity.conductor.TileEntityFluidDuct;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly;
|
||||
|
||||
@ -18,14 +19,14 @@ public class TEMissileMultipartPacket implements IMessage {
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
MissileMultipart missile;
|
||||
MissileStruct missile;
|
||||
|
||||
public TEMissileMultipartPacket()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TEMissileMultipartPacket(int x, int y, int z, MissileMultipart missile)
|
||||
public TEMissileMultipartPacket(int x, int y, int z, MissileStruct missile)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
@ -38,7 +39,7 @@ public class TEMissileMultipartPacket implements IMessage {
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
missile = MissileMultipart.readFromByteBuffer(buf);
|
||||
missile = MissileStruct.readFromByteBuffer(buf);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,6 +63,12 @@ public class TEMissileMultipartPacket implements IMessage {
|
||||
launcher.load = m.missile;
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityLaunchTable) {
|
||||
|
||||
TileEntityLaunchTable launcher = (TileEntityLaunchTable) te;
|
||||
launcher.load = m.missile;
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineMissileAssembly) {
|
||||
|
||||
TileEntityMachineMissileAssembly rack = (TileEntityMachineMissileAssembly) te;
|
||||
|
||||
49
com/hbm/render/block/ObjUtil.java
Normal file
@ -0,0 +1,49 @@
|
||||
package com.hbm.render.block;
|
||||
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.client.model.obj.Face;
|
||||
import net.minecraftforge.client.model.obj.GroupObject;
|
||||
import net.minecraftforge.client.model.obj.TextureCoordinate;
|
||||
import net.minecraftforge.client.model.obj.Vertex;
|
||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||
|
||||
public class ObjUtil {
|
||||
|
||||
public static void renderWithIcon(WavefrontObject model, IIcon icon, Tessellator tes, float rot, boolean shadow)
|
||||
{
|
||||
for(GroupObject go : model.groupObjects)
|
||||
{
|
||||
for(Face f : go.faces) {
|
||||
|
||||
Vertex n = f.faceNormal;
|
||||
tes.setNormal(n.x, n.y, n.z);
|
||||
|
||||
if(shadow) {
|
||||
float brightness = (n.y + 1) * 0.65F;
|
||||
tes.setColorOpaque_F(brightness, brightness, brightness);
|
||||
}
|
||||
|
||||
for(int i = 0; i < f.vertices.length; i++) {
|
||||
|
||||
Vertex v = f.vertices[i];
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(v.x, v.y, v.z);
|
||||
vec.rotateAroundY(rot);
|
||||
|
||||
float x = (float)vec.xCoord;
|
||||
float y = (float)vec.yCoord;
|
||||
float z = (float)vec.zCoord;
|
||||
|
||||
TextureCoordinate t = f.textureCoordinates[i];
|
||||
tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16), icon.getInterpolatedV(t.v * 16));
|
||||
|
||||
//The shoddy way of rendering a tringulated model with a quad tessellator
|
||||
if(i % 3 == 2)
|
||||
tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16), icon.getInterpolatedV(t.v * 16));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ package com.hbm.render.block;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.model.ModelSteelRoof;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
@ -13,11 +14,30 @@ import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||
|
||||
public class RenderRoofBlock implements ISimpleBlockRenderingHandler {
|
||||
|
||||
@Override
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { }
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, 0);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if (renderer.hasOverrideBlockTexture())
|
||||
{
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
GL11.glTranslated(0, -0.5, 0);
|
||||
tessellator.startDrawingQuads();
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.scaffold, iicon, tessellator, 0, false);
|
||||
tessellator.draw();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||
@ -36,12 +56,32 @@ public class RenderRoofBlock implements ISimpleBlockRenderingHandler {
|
||||
|
||||
Tessellator.instance.startDrawing(0);*/
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z));
|
||||
|
||||
tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
if (renderer.hasOverrideBlockTexture())
|
||||
{
|
||||
iicon = renderer.overrideBlockTexture;
|
||||
}
|
||||
|
||||
float rotation = (float) -Math.PI;
|
||||
|
||||
if(world.getBlockMetadata(x, y, z) < 4)
|
||||
rotation = -90F / 180F * (float)Math.PI;
|
||||
|
||||
tessellator.addTranslation(x + 0.5F, y, z + 0.5F);
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.scaffold, iicon, tessellator, rotation, true);
|
||||
tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory(int modelId) {
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -38,9 +38,7 @@ public class ItemRenderMissile implements IItemRenderer {
|
||||
@Override
|
||||
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
|
||||
|
||||
MissileMultipart missile = new MissileMultipart();
|
||||
|
||||
missile = ItemCustomMissile.getMultipart(item);
|
||||
MissileMultipart missile = MissileMultipart.loadFromStruct(ItemCustomMissile.getStruct(item));
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
|
||||
@ -1,10 +1,14 @@
|
||||
package com.hbm.render.misc;
|
||||
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.items.weapon.ItemMissile.PartType;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class MissileMultipart {
|
||||
|
||||
public MissilePart warhead;
|
||||
@ -26,7 +30,22 @@ public class MissileMultipart {
|
||||
return height;
|
||||
}
|
||||
|
||||
public void writeToByteBuffer(ByteBuf buf) {
|
||||
public static MissileMultipart loadFromStruct(MissileStruct struct) {
|
||||
|
||||
if(struct == null)
|
||||
return null;
|
||||
|
||||
MissileMultipart multipart = new MissileMultipart();
|
||||
|
||||
multipart.warhead = MissilePart.getPart(struct.warhead);
|
||||
multipart.fuselage = MissilePart.getPart(struct.fuselage);
|
||||
multipart.fins = MissilePart.getPart(struct.fins);
|
||||
multipart.thruster = MissilePart.getPart(struct.thruster);
|
||||
|
||||
return multipart;
|
||||
}
|
||||
|
||||
/*public void writeToByteBuffer(ByteBuf buf) {
|
||||
|
||||
|
||||
if(warhead != null && warhead.type == PartType.WARHEAD)
|
||||
@ -72,5 +91,5 @@ public class MissileMultipart {
|
||||
multipart.thruster = MissilePart.getPart(Item.getItemById(t));
|
||||
|
||||
return multipart;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@ -123,6 +123,7 @@ public class MissilePart {
|
||||
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_10_nuclear_large, PartType.WARHEAD, 2.5, 1.5, ResourceManager.mp_w_10_nuclear_large, ResourceManager.mp_w_10_nuclear_large_tex);
|
||||
MissilePart.registerPart(ModItems.mp_warhead_10_taint, PartType.WARHEAD, 2.25, 1.5, ResourceManager.mp_w_10_taint, ResourceManager.mp_w_10_taint_tex);
|
||||
//
|
||||
MissilePart.registerPart(ModItems.mp_warhead_15_he, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_15_he, ResourceManager.mp_w_15_he_tex);
|
||||
MissilePart.registerPart(ModItems.mp_warhead_15_incendiary, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_15_incendiary, ResourceManager.mp_w_15_incendiary_tex);
|
||||
|
||||
@ -44,7 +44,7 @@ public class RenderCompactLauncher extends TileEntitySpecialRenderer {
|
||||
|
||||
//missile = ItemCustomMissile.getMultipart(custom);
|
||||
|
||||
MissilePronter.prontMissile(launcher.load, Minecraft.getMinecraft().getTextureManager());
|
||||
MissilePronter.prontMissile(MissileMultipart.loadFromStruct(launcher.load), Minecraft.getMinecraft().getTextureManager());
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
@ -2,12 +2,21 @@ package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.items.weapon.ItemMissile;
|
||||
import com.hbm.items.weapon.ItemMissile.PartSize;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.misc.ErrorPronter;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
import com.hbm.render.misc.MissilePronter;
|
||||
import com.hbm.render.misc.SoyuzPronter;
|
||||
import com.hbm.tileentity.bomb.TileEntityCompactLauncher;
|
||||
import com.hbm.tileentity.bomb.TileEntityLaunchTable;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderLaunchTable extends TileEntitySpecialRenderer {
|
||||
|
||||
@ -17,8 +26,93 @@ public class RenderLaunchTable extends TileEntitySpecialRenderer {
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
SoyuzPronter.prontSoyuz();
|
||||
switch(tileentity.getBlockMetadata())
|
||||
{
|
||||
case 2:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
case 0:
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 3:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 1:
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
TileEntityLaunchTable launcher = (TileEntityLaunchTable)tileentity;
|
||||
|
||||
bindTexture(ResourceManager.launch_table_base_tex);
|
||||
ResourceManager.launch_table_base.renderAll();
|
||||
|
||||
if(launcher.padSize == PartSize.SIZE_10 || launcher.padSize == PartSize.SIZE_15) {
|
||||
bindTexture(ResourceManager.launch_table_small_pad_tex);
|
||||
ResourceManager.launch_table_small_pad.renderAll();
|
||||
}
|
||||
if(launcher.padSize == PartSize.SIZE_20) {
|
||||
bindTexture(ResourceManager.launch_table_large_pad_tex);
|
||||
ResourceManager.launch_table_large_pad.renderAll();
|
||||
}
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
if(launcher.load != null) {
|
||||
MissileMultipart mp = MissileMultipart.loadFromStruct(launcher.load);
|
||||
|
||||
if(mp != null && mp.fuselage != null)
|
||||
launcher.height = (int) mp.getHeight();
|
||||
}
|
||||
|
||||
int height = (int) (launcher.height * 0.75);
|
||||
ResourceLocation base = ResourceManager.launch_table_large_scaffold_base_tex;
|
||||
ResourceLocation connector = ResourceManager.launch_table_large_scaffold_connector_tex;
|
||||
IModelCustom baseM = ResourceManager.launch_table_large_scaffold_base;
|
||||
IModelCustom connectorM = ResourceManager.launch_table_large_scaffold_connector;
|
||||
IModelCustom emptyM = ResourceManager.launch_table_large_scaffold_empty;
|
||||
|
||||
|
||||
if(launcher.padSize == PartSize.SIZE_10) {
|
||||
base = ResourceManager.launch_table_small_scaffold_base_tex;
|
||||
connector = ResourceManager.launch_table_small_scaffold_connector_tex;
|
||||
baseM = ResourceManager.launch_table_small_scaffold_base;
|
||||
connectorM = ResourceManager.launch_table_small_scaffold_connector;
|
||||
emptyM = ResourceManager.launch_table_small_scaffold_empty;
|
||||
GL11.glTranslatef(0F, 0F, -1F);
|
||||
}
|
||||
GL11.glTranslatef(0F, 1F, 3.5F);
|
||||
for(int i = 0; i < launcher.height + 1; i++) {
|
||||
|
||||
if(i < height) {
|
||||
bindTexture(base);
|
||||
baseM.renderAll();
|
||||
} else if(i > height) {
|
||||
bindTexture(base);
|
||||
emptyM.renderAll();
|
||||
} else {
|
||||
|
||||
if(launcher.load != null && launcher.load.fuselage != null && ((ItemMissile)launcher.load.fuselage).top == launcher.padSize) {
|
||||
bindTexture(connector);
|
||||
connectorM.renderAll();
|
||||
} else {
|
||||
bindTexture(base);
|
||||
baseM.renderAll();
|
||||
}
|
||||
}
|
||||
|
||||
GL11.glTranslatef(0F, 1F, 0F);
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glTranslatef(0F, 2.0625F, 0F);
|
||||
|
||||
/// DRAW MISSILE START
|
||||
GL11.glPushMatrix();
|
||||
|
||||
if(launcher.load != null && launcher.load.fuselage != null && launcher.load.fuselage.top == launcher.padSize)
|
||||
MissilePronter.prontMissile(MissileMultipart.loadFromStruct(launcher.load), Minecraft.getMinecraft().getTextureManager());
|
||||
|
||||
GL11.glPopMatrix();
|
||||
/// DRAW MISSILE END
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ public class RenderMissileAssembly extends TileEntitySpecialRenderer {
|
||||
bindTexture(ResourceManager.missile_assembly_tex);
|
||||
ResourceManager.missile_assembly.renderAll();
|
||||
|
||||
MissileMultipart missile = te.load;
|
||||
MissileMultipart missile = MissileMultipart.loadFromStruct(te.load);
|
||||
|
||||
if(missile != null) {
|
||||
|
||||
|
||||
152
com/hbm/render/tileentity/RenderMultiblock.java
Normal file
@ -0,0 +1,152 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class RenderMultiblock extends TileEntitySpecialRenderer {
|
||||
|
||||
float pixel = 1F/16F;
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslatef((float)x + 1, (float)y + 1, (float)z);
|
||||
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F);
|
||||
GL11.glDisable(GL11.GL_ALPHA_TEST);
|
||||
|
||||
Block b = te.getBlockType();
|
||||
|
||||
if(b == ModBlocks.struct_launcher_core)
|
||||
renderCompactLauncher();
|
||||
|
||||
if(b == ModBlocks.struct_launcher_core_large)
|
||||
renderLaunchTable();
|
||||
|
||||
GL11.glDisable(GL11.GL_BLEND);
|
||||
GL11.glEnable(GL11.GL_ALPHA_TEST);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
private void renderCompactLauncher() {
|
||||
|
||||
RenderBlocks rb = RenderBlocks.getInstance();
|
||||
|
||||
IIcon icon = rb.getBlockIconFromSide(ModBlocks.struct_launcher, 1);
|
||||
|
||||
ResourceLocation loc = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + icon.getIconName().substring(4, icon.getIconName().length()) + ".png");
|
||||
|
||||
for(int i = -1; i <= 1; i++)
|
||||
for(int j = -1; j <= 1; j++)
|
||||
if(i != 0 || j != 0)
|
||||
renderSmolBlockAt(loc, i, 0, j);
|
||||
}
|
||||
|
||||
private void renderLaunchTable() {
|
||||
|
||||
RenderBlocks rb = RenderBlocks.getInstance();
|
||||
|
||||
IIcon icon = rb.getBlockIconFromSide(ModBlocks.struct_launcher, 1);
|
||||
ResourceLocation loc = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + icon.getIconName().substring(4, icon.getIconName().length()) + ".png");
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
for(int j = -4; j <= 4; j++)
|
||||
if(i != 0 || j != 0)
|
||||
renderSmolBlockAt(loc, i, 0, j);
|
||||
|
||||
icon = rb.getBlockIconFromSide(ModBlocks.struct_scaffold, 1);
|
||||
loc = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + icon.getIconName().substring(4, icon.getIconName().length()) + ".png");
|
||||
|
||||
switch((int)(System.currentTimeMillis() % 4000 / 1000)) {
|
||||
case 0:
|
||||
for(int k = 1; k < 12; k++)
|
||||
renderSmolBlockAt(loc, 3, k, 0);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
for(int k = 1; k < 12; k++)
|
||||
renderSmolBlockAt(loc, 0, k, 3);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
for(int k = 1; k < 12; k++)
|
||||
renderSmolBlockAt(loc, -3, k, 0);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
for(int k = 1; k < 12; k++)
|
||||
renderSmolBlockAt(loc, 0, k, -3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void renderSmolBlockAt(ResourceLocation loc, int x, int y, int z) {
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(x, y, z);
|
||||
GL11.glRotatef(180, 0F, 0F, 1F);
|
||||
|
||||
Tessellator tesseract = Tessellator.instance;
|
||||
tesseract.startDrawingQuads();
|
||||
this.bindTexture(loc);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
|
||||
tesseract.startDrawingQuads();
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
|
||||
tesseract.startDrawingQuads();
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
|
||||
tesseract.startDrawingQuads();
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
|
||||
tesseract.startDrawingQuads();
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
|
||||
tesseract.startDrawingQuads();
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 0);
|
||||
tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1);
|
||||
tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1);
|
||||
tesseract.draw();
|
||||
GL11.glPopMatrix();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -31,8 +31,29 @@ public class RenderPylon extends TileEntitySpecialRenderer {
|
||||
this.pylon.renderAll(0.0625F);
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPushMatrix();
|
||||
for(TileEntityPylonRedWire wire : pyl.connected)
|
||||
drawPowerLine(x + 0.5, y + 5.3, z + 0.5, x + (wire.xCoord - pyl.xCoord) + 0.5, y + (wire.yCoord - pyl.yCoord) + 5.3, z + (wire.zCoord - pyl.zCoord) + 0.5);
|
||||
|
||||
for(int i = 0; i < pyl.connected.size(); i++) {
|
||||
|
||||
TileEntityPylonRedWire wire = pyl.connected.get(i);
|
||||
|
||||
float wX = (wire.xCoord - pyl.xCoord) / 2F;
|
||||
float wY = (wire.yCoord - pyl.yCoord) / 2F;
|
||||
float wZ = (wire.zCoord - pyl.zCoord) / 2F;
|
||||
|
||||
float count = 10;
|
||||
for(float j = 0; j < count; j++) {
|
||||
|
||||
float k = j + 1;
|
||||
|
||||
drawPowerLine(
|
||||
x + 0.5 + (wX * j / count),
|
||||
y + 5.4 + (wY * j / count) - Math.sin(j / count * Math.PI * 0.5),
|
||||
z + 0.5 + (wZ * j / count),
|
||||
x + 0.5 + (wX * k / count),
|
||||
y + 5.4 + (wY * k / count) - Math.sin(k / count * Math.PI * 0.5),
|
||||
z + 0.5 + (wZ * k / count));
|
||||
}
|
||||
}
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@ -42,21 +63,24 @@ public class RenderPylon extends TileEntitySpecialRenderer {
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.setColorOpaque_I(0xBB3311);
|
||||
//tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x, y + 0.05F, z);
|
||||
tessellator.addVertex(x, y - 0.05F, z);
|
||||
tessellator.addVertex(a, b + 0.05F, c);
|
||||
tessellator.addVertex(a, b - 0.05F, c);
|
||||
tessellator.draw();
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.setColorOpaque_I(0xBB3311);
|
||||
//tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x + 0.05F, y, z);
|
||||
tessellator.addVertex(x - 0.05F, y, z);
|
||||
tessellator.addVertex(a + 0.05F, b, c);
|
||||
tessellator.addVertex(a - 0.05F, b, c);
|
||||
tessellator.draw();
|
||||
tessellator.startDrawing(5);
|
||||
tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.setColorOpaque_I(0xBB3311);
|
||||
//tessellator.setColorRGBA_F(0.683F, 0.089F, 0.0F, 1.0F);
|
||||
tessellator.addVertex(x, y, z + 0.05F);
|
||||
tessellator.addVertex(x, y, z - 0.05F);
|
||||
tessellator.addVertex(a, b, c + 0.05F);
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import com.hbm.entity.missile.EntityMissileCustom;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
@ -21,7 +22,6 @@ import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEMissileMultipartPacket;
|
||||
import com.hbm.render.misc.MissileMultipart;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -44,7 +44,7 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
public static final int maxSolid = 25000;
|
||||
public FluidTank[] tanks;
|
||||
|
||||
public MissileMultipart load;
|
||||
public MissileStruct load;
|
||||
|
||||
private static final int[] access = new int[] { 0 };
|
||||
|
||||
@ -179,12 +179,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, solid, 0));
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart != null)
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, multipart));
|
||||
else
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, new MissileMultipart()));
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, new MissileStruct()));
|
||||
|
||||
if(power >= maxPower * 0.75 && isMissileValid() && hasDesignator() && hasFuel()) {
|
||||
|
||||
@ -223,7 +223,7 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
int tX = slots[1].stackTagCompound.getInteger("xCoord");
|
||||
int tZ = slots[1].stackTagCompound.getInteger("zCoord");
|
||||
|
||||
EntityMissileCustom missile = new EntityMissileCustom(worldObj, xCoord + 0.5F, yCoord + 2.5F, zCoord + 0.5F, tX, tZ, getMultipart(slots[0]));
|
||||
EntityMissileCustom missile = new EntityMissileCustom(worldObj, xCoord + 0.5F, yCoord + 2.5F, zCoord + 0.5F, tX, tZ, getStruct(slots[0]));
|
||||
worldObj.spawnEntityInWorld(missile);
|
||||
|
||||
subtractFuel();
|
||||
@ -238,12 +238,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
|
||||
private void subtractFuel() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
float f = (Float)fuselage.attributes[1];
|
||||
int fuel = (int)f;
|
||||
@ -272,19 +272,19 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
this.power -= maxPower * 0.75;
|
||||
}
|
||||
|
||||
public static MissileMultipart getMultipart(ItemStack stack) {
|
||||
public static MissileStruct getStruct(ItemStack stack) {
|
||||
|
||||
return ItemCustomMissile.getMultipart(stack);
|
||||
return ItemCustomMissile.getStruct(stack);
|
||||
}
|
||||
|
||||
public boolean isMissileValid() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return false;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
return fuselage.top == PartSize.SIZE_10;
|
||||
}
|
||||
@ -301,12 +301,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
|
||||
public int solidState() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
|
||||
|
||||
@ -321,12 +321,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
|
||||
public int liquidState() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
@ -346,12 +346,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
|
||||
public int oxidizerState() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
@ -370,12 +370,12 @@ public class TileEntityCompactLauncher extends TileEntity implements ISidedInven
|
||||
|
||||
public void updateTypes() {
|
||||
|
||||
MissileMultipart multipart = getMultipart(slots[0]);
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage.part;
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
|
||||
@ -1,11 +1,514 @@
|
||||
package com.hbm.tileentity.bomb;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.entity.missile.EntityMissileCustom;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
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.PartSize;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEMissileMultipartPacket;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
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 TileEntityLaunchTable extends TileEntity {
|
||||
public class TileEntityLaunchTable extends TileEntity implements ISidedInventory, IConsumer, IFluidContainer, IFluidAcceptor {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public long power;
|
||||
public static final long maxPower = 100000;
|
||||
public int solid;
|
||||
public static final int maxSolid = 100000;
|
||||
public FluidTank[] tanks;
|
||||
public PartSize padSize;
|
||||
public int height;
|
||||
|
||||
public MissileStruct load;
|
||||
|
||||
private static final int[] access = new int[] { 0 };
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityLaunchTable() {
|
||||
slots = new ItemStack[6];
|
||||
tanks = new FluidTank[2];
|
||||
tanks[0] = new FluidTank(FluidType.NONE, 100000, 0);
|
||||
tanks[1] = new FluidTank(FluidType.NONE, 100000, 1);
|
||||
padSize = PartSize.SIZE_10;
|
||||
height = 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if (slots[i] != null) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.launchTable";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
|
||||
return false;
|
||||
} else {
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
|
||||
}
|
||||
}
|
||||
|
||||
// You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if (slots[i] != null) {
|
||||
if (slots[i].stackSize <= j) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0) {
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public long getPowerScaled(long i) {
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
public int getSolidScaled(int i) {
|
||||
return (solid * i) / maxSolid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
|
||||
updateTypes();
|
||||
|
||||
tanks[0].loadTank(2, 3, slots);
|
||||
tanks[1].loadTank(2, 3, slots);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
tanks[i].updateTank(xCoord, yCoord, zCoord);
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 5, power, maxPower);
|
||||
|
||||
if(slots[4] != null && slots[4].getItem() == ModItems.rocket_fuel && solid + 250 <= maxSolid) {
|
||||
|
||||
this.decrStackSize(4, 1);
|
||||
solid += 250;
|
||||
}
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, solid, 0));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, padSize.ordinal(), 1));
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart != null)
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, multipart));
|
||||
else
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, new MissileStruct()));
|
||||
|
||||
if(power >= maxPower * 0.75 && isMissileValid() && hasDesignator() && hasFuel()) {
|
||||
|
||||
outer:
|
||||
for(int x = -4; x <= 4; x++) {
|
||||
for(int z = -4; z <= 4; z++) {
|
||||
|
||||
if(worldObj.isBlockIndirectlyGettingPowered(xCoord + x, yCoord, zCoord + z)) {
|
||||
launch();
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
List<Entity> entities = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5));
|
||||
|
||||
for(Entity e : entities) {
|
||||
|
||||
if(e instanceof EntityMissileCustom) {
|
||||
|
||||
for(int i = 0; i < 15; i++)
|
||||
MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "largelaunchsmoke", null);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void launch() {
|
||||
|
||||
worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F);
|
||||
|
||||
int tX = slots[1].stackTagCompound.getInteger("xCoord");
|
||||
int tZ = slots[1].stackTagCompound.getInteger("zCoord");
|
||||
|
||||
EntityMissileCustom missile = new EntityMissileCustom(worldObj, xCoord + 0.5F, yCoord + 2.5F, zCoord + 0.5F, tX, tZ, getStruct(slots[0]));
|
||||
worldObj.spawnEntityInWorld(missile);
|
||||
|
||||
subtractFuel();
|
||||
|
||||
slots[0] = null;
|
||||
}
|
||||
|
||||
private boolean hasFuel() {
|
||||
|
||||
return solidState() != 0 && liquidState() != 0 && oxidizerState() != 0;
|
||||
}
|
||||
|
||||
private void subtractFuel() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
float f = (Float)fuselage.attributes[1];
|
||||
int fuel = (int)f;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
tanks[0].setFill(tanks[0].getFill() - fuel);
|
||||
tanks[1].setFill(tanks[1].getFill() - fuel);
|
||||
break;
|
||||
case HYDROGEN:
|
||||
tanks[0].setFill(tanks[0].getFill() - fuel);
|
||||
tanks[1].setFill(tanks[1].getFill() - fuel);
|
||||
break;
|
||||
case XENON:
|
||||
tanks[0].setFill(tanks[0].getFill() - fuel);
|
||||
break;
|
||||
case BALEFIRE:
|
||||
tanks[0].setFill(tanks[0].getFill() - fuel);
|
||||
tanks[1].setFill(tanks[1].getFill() - fuel);
|
||||
break;
|
||||
case SOLID:
|
||||
this.solid -= fuel; break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
this.power -= maxPower * 0.75;
|
||||
}
|
||||
|
||||
public static MissileStruct getStruct(ItemStack stack) {
|
||||
|
||||
return ItemCustomMissile.getStruct(stack);
|
||||
}
|
||||
|
||||
public boolean isMissileValid() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return false;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
return fuselage.top == padSize;
|
||||
}
|
||||
|
||||
public boolean hasDesignator() {
|
||||
|
||||
if(slots[1] != null) {
|
||||
|
||||
return (slots[1].getItem() == ModItems.designator || slots[1].getItem() == ModItems.designator_range || slots[1].getItem() == ModItems.designator_manual) && slots[1].hasTagCompound();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public int solidState() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
if((FuelType)fuselage.attributes[0] == FuelType.SOLID) {
|
||||
|
||||
if(solid >= (Float)fuselage.attributes[1])
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int liquidState() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
case HYDROGEN:
|
||||
case XENON:
|
||||
case BALEFIRE:
|
||||
|
||||
if(tanks[0].getFill() >= (Float)fuselage.attributes[1])
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int oxidizerState() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return -1;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
case HYDROGEN:
|
||||
case BALEFIRE:
|
||||
|
||||
if(tanks[1].getFill() >= (Float)fuselage.attributes[1])
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
default: break;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public void updateTypes() {
|
||||
|
||||
MissileStruct multipart = getStruct(slots[0]);
|
||||
|
||||
if(multipart == null || multipart.fuselage == null)
|
||||
return;
|
||||
|
||||
ItemMissile fuselage = (ItemMissile)multipart.fuselage;
|
||||
|
||||
switch((FuelType)fuselage.attributes[0]) {
|
||||
case KEROSENE:
|
||||
tanks[0].setTankType(FluidType.KEROSENE);
|
||||
tanks[1].setTankType(FluidType.ACID);
|
||||
break;
|
||||
case HYDROGEN:
|
||||
tanks[0].setTankType(FluidType.HYDROGEN);
|
||||
tanks[1].setTankType(FluidType.OXYGEN);
|
||||
break;
|
||||
case XENON:
|
||||
tanks[0].setTankType(FluidType.XENON);
|
||||
break;
|
||||
case BALEFIRE:
|
||||
tanks[0].setTankType(FluidType.BALEFIRE);
|
||||
tanks[1].setTankType(FluidType.ACID);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
tanks[0].readFromNBT(nbt, "fuel");
|
||||
tanks[1].readFromNBT(nbt, "oxidizer");
|
||||
solid = nbt.getInteger("solidfuel");
|
||||
power = nbt.getLong("power");
|
||||
padSize = PartSize.values()[nbt.getInteger("padSize")];
|
||||
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for (int i = 0; i < list.tagCount(); i++) {
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if (b0 >= 0 && b0 < slots.length) {
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
tanks[0].writeToNBT(nbt, "fuel");
|
||||
tanks[1].writeToNBT(nbt, "oxidizer");
|
||||
nbt.setInteger("solidfuel", solid);
|
||||
nbt.setLong("power", power);
|
||||
nbt.setInteger("padSize", padSize.ordinal());
|
||||
|
||||
for (int i = 0; i < slots.length; i++) {
|
||||
if (slots[i] != null) {
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte) i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
|
||||
return access;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFluidFill(FluidType type) {
|
||||
if (type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getMaxFill();
|
||||
else if (type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getMaxFill();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
if (index < 2 && tanks[index] != null)
|
||||
tanks[index].setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFluidFill(int fill, FluidType type) {
|
||||
if (type.name().equals(tanks[0].getTankType().name()))
|
||||
tanks[0].setFill(fill);
|
||||
else if (type.name().equals(tanks[1].getTankType().name()))
|
||||
tanks[1].setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
if (index < 2 && tanks[index] != null)
|
||||
tanks[index].setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FluidTank> getTanks() {
|
||||
List<FluidTank> list = new ArrayList();
|
||||
list.add(tanks[0]);
|
||||
list.add(tanks[1]);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
if (type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getFill();
|
||||
else if (type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getFill();
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
@ -19,4 +522,18 @@ public class TileEntityLaunchTable extends TileEntity {
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPower(long i) {
|
||||
this.power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getPower() {
|
||||
return this.power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getMaxPower() {
|
||||
return this.maxPower;
|
||||
}
|
||||
}
|
||||
|
||||
@ -17,7 +17,6 @@ public class TileEntityDummy extends TileEntity {
|
||||
if(!this.worldObj.isRemote) {
|
||||
if(!(this.worldObj.getBlock(targetX, targetY, targetZ) instanceof IMultiblock)) {
|
||||
worldObj.func_147480_a(xCoord, yCoord, zCoord, false);
|
||||
//worldObj.setBlock(targetX, targetY, targetZ, Blocks.gold_block);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.handler.MissileStruct;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
@ -32,7 +33,7 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public MissileMultipart load;
|
||||
public MissileStruct load;
|
||||
|
||||
private static final int[] access = new int[] { 0 };
|
||||
|
||||
@ -185,19 +186,7 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
MissileMultipart multipart = new MissileMultipart();
|
||||
|
||||
if(slots[1] != null)
|
||||
multipart.warhead = MissilePart.getPart(slots[1].getItem());
|
||||
|
||||
if(slots[2] != null)
|
||||
multipart.fuselage = MissilePart.getPart(slots[2].getItem());
|
||||
|
||||
if(slots[3] != null)
|
||||
multipart.fins = MissilePart.getPart(slots[3].getItem());
|
||||
|
||||
if(slots[4] != null)
|
||||
multipart.thruster = MissilePart.getPart(slots[4].getItem());
|
||||
MissileStruct multipart = new MissileStruct(slots[1], slots[2], slots[3], slots[4]);
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new TEMissileMultipartPacket(xCoord, yCoord, zCoord, multipart));
|
||||
}
|
||||
|
||||
205
com/hbm/tileentity/machine/TileEntityMultiblock.java
Normal file
@ -0,0 +1,205 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityMultiblock extends TileEntity {
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(this.getBlockType() == ModBlocks.struct_launcher_core && isCompact()) {
|
||||
buildCompact();
|
||||
}
|
||||
|
||||
if(this.getBlockType() == ModBlocks.struct_launcher_core_large) {
|
||||
|
||||
int meta = isTable();
|
||||
|
||||
if(meta != -1)
|
||||
buildTable(meta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isCompact() {
|
||||
|
||||
for(int i = -1; i <= 1; i++)
|
||||
for(int j = -1; j <= 1; j++)
|
||||
if(!(i == 0 && j == 0))
|
||||
if(worldObj.getBlock(xCoord + i, yCoord, zCoord + j) != ModBlocks.struct_launcher)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private int isTable() {
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
for(int j = -4; j <= -4; j++)
|
||||
if(!(i == 0 && j == 0))
|
||||
if(worldObj.getBlock(xCoord + i, yCoord, zCoord + j) != ModBlocks.struct_launcher)
|
||||
return -1;
|
||||
|
||||
boolean flag = true;
|
||||
|
||||
for(int k = 1; k < 12; k++) {
|
||||
if(worldObj.getBlock(xCoord + 3, yCoord + k, zCoord) != ModBlocks.struct_scaffold)
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag)
|
||||
return 0;
|
||||
flag = true;
|
||||
|
||||
for(int k = 1; k < 12; k++) {
|
||||
if(worldObj.getBlock(xCoord - 3, yCoord + k, zCoord) != ModBlocks.struct_scaffold)
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag)
|
||||
return 1;
|
||||
flag = true;
|
||||
|
||||
for(int k = 1; k < 12; k++) {
|
||||
if(worldObj.getBlock(xCoord, yCoord + k, zCoord + 3) != ModBlocks.struct_scaffold)
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag)
|
||||
return 2;
|
||||
flag = true;
|
||||
|
||||
for(int k = 1; k < 12; k++) {
|
||||
if(worldObj.getBlock(xCoord, yCoord + k, zCoord - 3) != ModBlocks.struct_scaffold)
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag)
|
||||
return 3;
|
||||
|
||||
return -1;
|
||||
|
||||
}
|
||||
|
||||
private void buildCompact() {
|
||||
|
||||
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.compact_launcher);
|
||||
|
||||
placeDummy(xCoord + 1, yCoord, zCoord + 1, xCoord, yCoord, zCoord, ModBlocks.dummy_port_compact_launcher);
|
||||
placeDummy(xCoord + 1, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_compact_launcher);
|
||||
placeDummy(xCoord + 1, yCoord, zCoord - 1, xCoord, yCoord, zCoord, ModBlocks.dummy_port_compact_launcher);
|
||||
placeDummy(xCoord, yCoord, zCoord - 1, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_compact_launcher);
|
||||
placeDummy(xCoord - 1, yCoord, zCoord - 1, xCoord, yCoord, zCoord, ModBlocks.dummy_port_compact_launcher);
|
||||
placeDummy(xCoord - 1, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_compact_launcher);
|
||||
placeDummy(xCoord - 1, yCoord, zCoord + 1, xCoord, yCoord, zCoord, ModBlocks.dummy_port_compact_launcher);
|
||||
placeDummy(xCoord, yCoord, zCoord + 1, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_compact_launcher);
|
||||
}
|
||||
|
||||
private void buildTable(int meta) {
|
||||
|
||||
worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.launch_table, meta, 2);
|
||||
|
||||
switch(meta) {
|
||||
case 0:
|
||||
for(int i = 1; i < 12; i++)
|
||||
worldObj.setBlock(xCoord + 3, yCoord + i, zCoord, Blocks.air);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table);
|
||||
|
||||
break;
|
||||
|
||||
case 1:
|
||||
for(int i = 1; i < 12; i++)
|
||||
worldObj.setBlock(xCoord - 3, yCoord + i, zCoord, Blocks.air);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table);
|
||||
|
||||
break;
|
||||
|
||||
case 2:
|
||||
for(int i = 1; i < 12; i++)
|
||||
worldObj.setBlock(xCoord, yCoord + i, zCoord + 3, Blocks.air);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table);
|
||||
|
||||
break;
|
||||
|
||||
case 3:
|
||||
for(int i = 1; i < 12; i++)
|
||||
worldObj.setBlock(xCoord, yCoord + i, zCoord - 3, Blocks.air);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table);
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
if(i != 0)
|
||||
placeDummy(xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table);
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
for(int i = -4; i <= 4; i++)
|
||||
for(int j = -4; j <= 4; j++)
|
||||
if(i != 0 && j != 0)
|
||||
placeDummy(xCoord + i, yCoord, zCoord + j, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void placeDummy(int x, int y, int z, int xCoord, int yCoord, int zCoord, Block block) {
|
||||
|
||||
worldObj.setBlock(x, y, z, block);
|
||||
|
||||
TileEntity te = worldObj.getTileEntity(x, y, z);
|
||||
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = xCoord;
|
||||
dummy.targetY = yCoord;
|
||||
dummy.targetZ = zCoord;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
return 65536.0D;
|
||||
}
|
||||
|
||||
}
|
||||