large launch table, SMP fixes, lag-free scaffold block

This commit is contained in:
HbmMods 2019-05-26 21:23:48 +02:00
parent 61204dbdf7
commit 60ab47e720
91 changed files with 4930 additions and 137 deletions

View File

@ -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)

View File

@ -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)

View 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

View 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

View File

@ -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

View File

@ -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

View File

@ -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

View 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

View File

@ -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

View File

@ -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

View File

@ -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

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 663 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 934 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -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());

View File

@ -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

View 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;
}
}

View File

@ -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_);

View File

@ -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"));
}
}

View File

@ -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;

View File

@ -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

View 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;
}
}

View 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);
}
}

View File

@ -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());

View 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
}
}

View File

@ -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());

View File

@ -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;
}

View File

@ -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 "";
return EnumChatFormatting.RED + "";
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";
}
}

View File

@ -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);
}

View File

@ -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

View File

@ -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()) {

View File

@ -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()

View File

@ -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();
}

View File

@ -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"));
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View 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));
}
}
}
}
}

View File

@ -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

View File

@ -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();

View File

@ -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;
}
}*/
}

View File

@ -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);

View File

@ -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());
//
}

View File

@ -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();
}

View File

@ -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) {

View 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();
}
}

View File

@ -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);

View File

@ -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:

View File

@ -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;
}
}

View File

@ -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);
}
}
}

View File

@ -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));
}

View 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;
}
}