fusion reactor complete, thicc turbine, chunky breeding reactor

This commit is contained in:
Bob 2020-08-28 23:35:16 +02:00
parent 5433f4b05f
commit 92e08033ca
42 changed files with 3990 additions and 235 deletions

View File

@ -150,6 +150,7 @@ container.machineCoal=Verbrennungsgenerator
container.machineDiesel=Dieselgenerator
container.machineElectricBoiler=Elektrischer Boiler
container.machineITER=Kernfusionsreaktor
container.machineLargeTurbine=Industrielle Dampfturbine
container.machineRefinery=Ölraffinerie
container.machineSelenium=Hochleistungs-Sternmotor
container.machineShredder=Brecher
@ -2167,6 +2168,7 @@ tile.machine_generator.name=Atomreaktor (Alt)
tile.machine_geo.name=Gepthermiegenerator
tile.machine_industrial_generator.name=Industrieller Generator
tile.machine_keyforge.name=Schlossertisch
tile.machine_large_turbine.name=Industrielle Dampfturbine
tile.machine_lithium_battery.name=Li-Ion-Energiespeicherblock
tile.machine_mining_laser.name=Bergbaulaser
tile.machine_minirtg.name=Radioisotopenzelle

View File

@ -150,6 +150,7 @@ container.machineCoal=Combustion Generator
container.machineDiesel=Diesel Generator
container.machineElectricBoiler=Electric Boiler
container.machineITER=Fusion Reactor
container.machineLargeTurbine=Industrial Steam Turbine
container.machineRefinery=Oil Refinery
container.machineSelenium=Radial Performance Engine
container.machineShredder=Shredder
@ -2167,6 +2168,7 @@ tile.machine_generator.name=Nuclear Reactor (Old)
tile.machine_geo.name=Geothermal Electric Generator
tile.machine_industrial_generator.name=Industrial Generator
tile.machine_keyforge.name=Locksmith Table
tile.machine_large_turbine.name=Industrial Steam Turbine
tile.machine_lithium_battery.name=Li-Ion Energy Storage Block
tile.machine_mining_laser.name=Mining Laser
tile.machine_minirtg.name=Radio Isotope Cell

View File

@ -0,0 +1,845 @@
# Blender v2.76 (sub 0) OBJ File: 'turbine.blend'
# www.blender.org
o Glass_Glaass
v -0.866026 1.499999 1.875000
v 0.866025 1.500000 1.875000
v 0.500000 1.866025 1.875000
v 0.000000 2.000000 1.875000
v -0.500001 1.866025 1.875000
v -0.176777 1.176777 1.875000
v -1.000000 0.999999 1.875000
v 1.000000 1.000000 1.875000
v 0.000000 1.250000 1.875000
v -0.250000 1.000000 1.875000
v 0.250000 1.000000 1.875000
v 0.176777 1.176777 1.875000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vn 0.000000 0.000000 1.000000
s off
f 11/1/1 8/2/1 2/3/1
f 3/1/1 9/2/1 12/3/1
f 9/1/1 3/2/1 4/3/1
f 5/4/1 1/1/1 6/2/1
f 1/1/1 7/2/1 10/3/1
f 12/4/1 11/1/1 2/3/1
f 2/4/1 3/1/1 12/3/1
f 5/4/1 9/1/1 4/3/1
f 9/3/1 5/4/1 6/2/1
f 6/4/1 1/1/1 10/3/1
o Blades
v 0.000000 1.125000 1.000000
v 0.000000 1.125000 2.000000
v 0.088388 1.088388 1.000000
v 0.088388 1.088388 2.000000
v 0.125000 1.000000 1.000000
v 0.125000 1.000000 2.000000
v 0.088388 0.911612 1.000000
v 0.088388 0.911612 2.000000
v -0.000000 0.875000 1.000000
v -0.000000 0.875000 2.000000
v -0.088388 0.911612 1.000000
v -0.088388 0.911612 2.000000
v -0.125000 1.000000 1.000000
v -0.125000 1.000000 2.000000
v -0.088388 1.088388 1.000000
v -0.088388 1.088388 2.000000
v -0.113288 1.000000 1.552827
v 0.113288 1.000000 1.447173
v -0.113288 2.000000 1.552827
v 0.113288 2.000000 1.447173
v 0.113288 1.000000 1.552827
v -0.113288 1.000000 1.447173
v 0.113289 0.000000 1.552827
v -0.113288 0.000000 1.447173
v -0.000000 1.113288 1.552827
v 0.000000 0.886711 1.447173
v 1.000000 1.113289 1.552827
v 1.000000 0.886712 1.447173
v 0.000000 0.886712 1.552827
v -0.000000 1.113289 1.447173
v -1.000000 0.886711 1.552827
v -1.000000 1.113288 1.447173
v -0.080107 1.080107 1.552827
v 0.080107 0.919893 1.447173
v 0.627000 1.787214 1.552827
v 0.787214 1.627000 1.447173
v 0.080107 0.919893 1.552827
v -0.080107 1.080107 1.447173
v -0.627000 0.212786 1.552827
v -0.787214 0.373000 1.447173
v 0.080107 1.080107 1.552827
v -0.080107 0.919893 1.447173
v 0.787214 0.373000 1.552827
v 0.627000 0.212786 1.447173
v -0.080107 0.919893 1.552827
v 0.080107 1.080107 1.447173
v -0.787214 1.627000 1.552827
v -0.627000 1.787214 1.447173
v -0.104665 1.043354 1.552827
v 0.104665 0.956646 1.447173
v 0.278018 1.967233 1.552827
v 0.487348 1.880526 1.447173
v 0.104665 0.956646 1.552827
v -0.104665 1.043354 1.447173
v -0.278018 0.032767 1.552827
v -0.487348 0.119474 1.447173
v 0.043354 1.104665 1.552827
v -0.043354 0.895335 1.447173
v 0.967233 0.721982 1.552827
v 0.880526 0.512652 1.447173
v -0.043354 0.895335 1.552827
v 0.043354 1.104665 1.447173
v -0.967233 1.278018 1.552827
v -0.880526 1.487348 1.447173
v -0.043354 1.104665 1.552827
v 0.043354 0.895335 1.447173
v 0.880526 1.487348 1.552827
v 0.967233 1.278019 1.447173
v 0.043354 0.895335 1.552827
v -0.043354 1.104665 1.447173
v -0.880526 0.512652 1.552827
v -0.967233 0.721981 1.447173
v 0.104665 1.043354 1.552827
v -0.104665 0.956646 1.447173
v 0.487348 0.119474 1.552827
v 0.278019 0.032767 1.447173
v -0.104665 0.956646 1.552827
v 0.104665 1.043354 1.447173
v -0.487348 1.880526 1.552827
v -0.278019 1.967233 1.447173
vt 0.939476 0.000000
vt 0.982193 0.000000
vt 0.982193 0.496773
vt 0.927076 0.496773
vt 0.957282 0.496773
vt 0.957282 0.993545
vt 1.000000 0.496773
vt 1.000000 0.993545
vt 0.939476 0.496773
vt 0.909269 0.496773
vt 0.909269 0.000000
vt 0.866552 0.496773
vt 0.866552 0.000000
vt 0.836345 0.496773
vt 0.836345 0.000000
vt 0.793628 0.496773
vt 0.763421 0.496773
vt 0.763421 0.000000
vt 0.793628 0.000000
vt 0.309080 0.495141
vt 0.309080 0.979227
vt 0.221506 0.996520
vt 0.441415 0.484086
vt 0.441415 0.000000
vt 0.550732 0.005644
vt 0.332098 0.005644
vt 0.110913 0.979227
vt 0.110913 0.495141
vt 0.198488 0.512434
vt 0.758245 0.957045
vt 0.657077 0.973713
vt 0.657077 0.502655
vt 0.651901 0.973713
vt 0.550732 0.957045
vt 0.550732 0.485987
vt 0.110913 0.000000
vt 0.110913 0.496773
vt 0.000000 0.496773
vt 0.927076 0.993545
vt 0.846125 0.993545
vt 0.535766 0.489731
vt 0.535766 0.964642
vt 0.441415 0.984114
vt 0.550732 0.474911
vt 0.550732 0.000000
vt 0.657077 0.011076
vt 0.221505 0.000000
vt 0.221506 0.493091
vt 0.846125 0.506909
vt 0.846125 1.000000
vt 0.763421 0.474911
vt 0.657077 0.485987
vt 0.426449 0.984114
vt 0.332098 0.964642
vt 0.332098 0.489731
vt 0.332098 0.002050
vt 0.332098 0.495141
vt 0.000000 1.000000
vt 0.000000 0.506909
vt 0.082704 0.496773
vt 0.221506 0.512434
vt 0.550732 0.489731
vt 0.198488 0.996520
vt 0.758245 0.485987
vt 0.651900 0.502655
vt 0.000000 0.000000
vt 0.846125 0.496773
vt 0.441415 0.509203
vt 0.110913 0.002050
vt 0.763421 0.989863
vt 0.426449 0.509203
vt 0.082704 0.989863
vn 0.382700 0.923900 0.000000
vn 0.923900 0.382700 0.000000
vn 0.923900 -0.382700 0.000000
vn 0.382700 -0.923900 0.000000
vn -0.382700 -0.923900 0.000000
vn -0.923900 -0.382700 0.000000
vn -0.382700 0.923900 0.000000
vn -0.923900 0.382700 0.000000
vn 0.422600 0.000000 0.906300
vn -0.422600 -0.000000 0.906300
vn 0.000000 -0.422600 0.906300
vn 0.000000 0.422600 0.906300
vn 0.298800 -0.298800 0.906300
vn -0.298800 0.298800 0.906300
vn -0.298800 -0.298800 0.906300
vn 0.298800 0.298800 0.906300
vn 0.390400 -0.161700 0.906300
vn -0.390400 0.161700 0.906300
vn -0.161700 -0.390400 0.906300
vn 0.161700 0.390400 0.906300
vn 0.161700 -0.390400 0.906300
vn -0.161700 0.390400 0.906300
vn -0.390400 -0.161700 0.906300
vn 0.390400 0.161700 0.906300
s off
f 14/5/2 16/6/2 15/7/2
f 16/8/3 18/9/3 17/10/3
f 18/9/4 20/11/4 19/12/4
f 20/13/5 22/14/5 21/15/5
f 22/14/6 24/16/6 23/17/6
f 24/16/7 26/18/7 25/19/7
f 28/20/8 14/21/8 13/22/8
f 26/18/9 28/20/9 27/23/9
f 30/24/10 32/25/10 31/26/10
f 34/27/11 36/28/11 35/29/11
f 37/30/12 38/28/12 40/27/12
f 42/31/13 44/32/13 43/33/13
f 45/34/14 46/35/14 48/36/14
f 49/37/15 50/38/15 52/39/15
f 54/40/16 56/41/16 55/42/16
f 58/8/17 60/43/17 59/44/17
f 62/45/18 64/46/18 63/47/18
f 66/48/19 68/49/19 67/50/19
f 70/51/20 72/52/20 71/32/20
f 73/21/21 74/53/21 76/54/21
f 78/22/22 80/55/22 79/56/22
f 81/57/23 82/58/23 84/59/23
f 86/60/24 88/61/24 87/52/24
f 90/62/25 92/63/25 91/64/25
f 13/13/2 14/5/2 15/7/2
f 15/43/3 16/8/3 17/10/3
f 17/10/4 18/9/4 19/12/4
f 19/5/5 20/13/5 21/15/5
f 21/15/6 22/14/6 23/17/6
f 23/17/7 24/16/7 25/19/7
f 27/23/8 28/20/8 13/22/8
f 25/19/9 26/18/9 27/23/9
f 29/65/10 30/24/10 31/26/10
f 33/66/11 34/27/11 35/29/11
f 39/59/12 37/30/12 40/27/12
f 41/67/13 42/31/13 43/33/13
f 47/68/14 45/34/14 48/36/14
f 51/69/15 49/37/15 52/39/15
f 53/70/16 54/40/16 55/42/16
f 57/71/17 58/8/17 59/44/17
f 61/72/18 62/45/18 63/47/18
f 65/56/19 66/48/19 67/50/19
f 69/73/20 70/51/20 71/32/20
f 75/74/21 73/21/21 76/54/21
f 77/50/22 78/22/22 79/56/22
f 83/75/23 81/57/23 84/59/23
f 85/51/24 86/60/24 87/52/24
f 89/76/25 90/62/25 91/64/25
o Body
v -1.500000 0.000000 2.500000
v 1.500000 0.000000 2.500000
v -1.500000 0.000000 -2.500000
v 1.500000 0.000000 -2.500000
v -1.500000 0.500000 2.250000
v 1.500000 0.500000 2.250000
v -1.500000 0.500000 -2.250000
v 1.500000 0.500000 -2.250000
v 0.000000 2.500000 1.000000
v -0.750000 2.299038 1.000000
v -1.299038 1.750000 1.000000
v -1.500000 1.000000 1.000000
v -1.299038 0.250000 1.000000
v -1.299038 1.750000 2.000000
v 0.000000 2.500000 2.000000
v -0.750000 2.299038 2.000000
v 1.299038 0.250000 1.000000
v 1.500000 0.999999 1.000000
v 1.299039 1.749999 1.000000
v 0.750001 2.299038 1.000000
v -1.500000 1.000000 2.000000
v -1.299038 0.250000 2.000000
v 1.299038 0.250000 2.000000
v 1.500000 0.999999 2.000000
v 1.299039 1.749999 2.000000
v 0.750001 2.299038 2.000000
v 0.000000 2.000000 2.000000
v 0.500000 1.866025 2.000000
v 0.866025 1.500000 2.000000
v 1.000000 1.000000 2.000000
v -1.000000 0.999999 1.250000
v 1.000000 1.000000 1.250000
v -1.000000 0.499999 2.000000
v 0.866025 1.500000 1.250000
v 1.000000 0.500000 1.250000
v 0.500000 1.866025 1.250000
v -1.000000 0.499999 1.250000
v 0.000000 2.000000 1.250000
v 1.000000 0.500000 2.000000
v -1.000000 0.999999 2.000000
v -0.500001 1.866025 1.250000
v -0.866026 1.499999 2.000000
v -0.866026 1.499999 1.250000
v -0.500001 1.866025 2.000000
v -1.000000 0.499999 2.000000
v -1.000000 0.999999 2.000000
v 1.000000 1.000000 2.000000
v 1.000000 0.500000 2.000000
v 1.000000 1.000000 1.750000
v -1.000000 0.499999 1.750000
v 1.000000 0.500000 1.750000
v -1.000000 0.999999 1.750000
v 0.000000 1.250000 1.750000
v -0.176777 1.176777 1.750000
v -0.250000 1.000000 1.750000
v 0.250000 1.000000 1.750000
v 0.176777 1.176777 1.750000
v -0.250000 1.000000 2.000000
v 0.250000 1.000000 2.000000
v -1.000000 0.500000 -0.250000
v -1.000000 0.500000 -2.250000
v 1.000000 0.500000 -0.250000
v 1.000000 0.500000 -2.250000
v -0.750000 2.000000 -0.250000
v -1.000000 1.750000 -0.250000
v -1.000000 1.750000 -2.250000
v -0.750000 2.000000 -2.250000
v 1.000000 1.750000 -0.250000
v 0.750000 2.000000 -0.250000
v 0.750000 2.000000 -2.250000
v 1.000000 1.750000 -2.250000
v -0.500000 1.000000 -0.250000
v 0.500000 1.000000 -0.250000
v -0.000000 1.500000 -0.250000
v -0.353553 1.353553 -0.250000
v 0.353553 1.353553 -0.250000
v -0.500000 0.500000 -0.250000
v 0.500000 1.000000 1.000000
v 0.353553 1.353553 1.000000
v -0.000000 1.500000 1.000000
v -0.353553 1.353553 1.000000
v -0.500000 1.000000 1.000000
v -0.500000 0.500000 1.000000
v 0.500000 0.500000 1.000000
v 0.500000 0.500000 -0.250000
v 0.000000 1.250000 2.000000
v -0.176777 1.176777 2.000000
v 0.176777 1.176777 2.000000
v 0.250000 0.500000 2.000000
v -0.000000 0.750000 2.000000
v 0.176777 0.676777 2.000000
v -0.187500 0.312500 -2.500000
v 0.187500 0.312500 -2.500000
v -0.187500 0.687500 -2.500000
v 0.187500 0.687500 -2.500000
v -0.187500 0.687500 -2.250000
v -0.187500 0.312500 -2.250000
v 0.187500 0.312500 -2.250000
v 0.187500 0.687500 -2.250000
v -0.176777 0.676777 2.500000
v 0.176777 0.323223 2.500000
v -0.176777 0.323223 2.500000
v 0.176777 0.676777 2.500000
v -0.000000 0.750000 2.500000
v 0.000000 0.250000 2.500000
v 0.250000 0.500000 2.500000
v -0.250000 0.500000 2.500000
v 0.176777 0.323223 2.000000
v 0.000000 0.250000 2.000000
v -0.176777 0.323223 2.000000
v -0.250000 0.500000 2.000000
v -0.176777 0.676777 2.000000
v -0.176777 0.676777 2.500000
v 0.176777 0.323223 2.500000
v -0.176777 0.323223 2.500000
v 0.176777 0.676777 2.500000
v -0.000000 0.750000 2.500000
v 0.000000 0.250000 2.500000
v 0.250000 0.500000 2.500000
v -0.250000 0.500000 2.500000
v 0.000000 2.500000 1.000000
v -0.750000 2.299038 1.000000
v -1.299038 1.750000 1.000000
v -1.500000 1.000000 1.000000
v -1.299038 0.250000 1.000000
v -1.299038 1.750000 2.000000
v 0.000000 2.500000 2.000000
v -0.750000 2.299038 2.000000
v 1.299038 0.250000 1.000000
v 1.500000 0.999999 1.000000
v 1.299039 1.749999 1.000000
v 0.750001 2.299038 1.000000
v -1.500000 1.000000 2.000000
v -1.299038 0.250000 2.000000
v 1.299038 0.250000 2.000000
v 1.500000 0.999999 2.000000
v 1.299039 1.749999 2.000000
v 0.750001 2.299038 2.000000
v 0.000000 2.000000 2.000000
v 0.500000 1.866025 2.000000
v 0.866025 1.500000 2.000000
v 1.000000 1.000000 2.000000
v -1.000000 0.999999 1.250000
v 1.000000 1.000000 1.250000
v -1.000000 0.499999 2.000000
v 0.866025 1.500000 1.250000
v 1.000000 0.500000 1.250000
v 0.500000 1.866025 1.250000
v -1.000000 0.499999 1.250000
v 0.000000 2.000000 1.250000
v 1.000000 0.500000 2.000000
v -1.000000 0.999999 2.000000
v -0.500001 1.866025 1.250000
v -0.866026 1.499999 2.000000
v -0.866026 1.499999 1.250000
v -0.500001 1.866025 2.000000
v 0.250000 0.500000 2.000000
v -0.000000 0.750000 2.000000
v 0.176777 0.676777 2.000000
v -0.176777 0.676777 2.500000
v 0.176777 0.323223 2.500000
v -0.176777 0.323223 2.500000
v 0.176777 0.676777 2.500000
v -0.000000 0.750000 2.500000
v 0.000000 0.250000 2.500000
v 0.250000 0.500000 2.500000
v -0.250000 0.500000 2.500000
v 0.176777 0.323223 2.000000
v 0.000000 0.250000 2.000000
v -0.176777 0.323223 2.000000
v -0.250000 0.500000 2.000000
v -0.176777 0.676777 2.000000
v 1.625000 0.676777 1.176777
v 1.625000 0.323223 0.823224
v 1.625000 0.323223 1.176777
v 1.625000 0.676777 0.823224
v 1.625000 0.750000 1.000000
v 1.625000 0.250000 1.000000
v 1.625000 0.500000 0.750000
v 1.625000 0.500000 1.250000
v 0.500000 0.500000 0.750000
v 0.500000 0.750000 1.000000
v 0.500000 0.676777 0.823223
v 1.625000 0.676777 1.176777
v 1.625000 0.323223 0.823224
v 1.625000 0.323223 1.176777
v 1.625000 0.676777 0.823224
v 1.625000 0.750000 1.000000
v 1.625000 0.250000 1.000000
v 1.625000 0.500000 0.750000
v 1.625000 0.500000 1.250000
v 0.500000 0.323223 0.823224
v 0.500000 0.250000 1.000000
v 0.500000 0.323223 1.176777
v 0.500000 0.500000 1.250000
v 0.500000 0.676777 1.176777
v -1.625000 0.676777 0.823223
v -1.625000 0.323223 1.176776
v -1.625000 0.323223 0.823223
v -1.625000 0.676777 1.176776
v -1.625000 0.750000 1.000000
v -1.625000 0.250000 1.000000
v -1.625000 0.500000 1.250000
v -1.625000 0.500000 0.750000
v -0.500000 0.500000 1.250000
v -0.500000 0.750000 1.000000
v -0.500000 0.676777 1.176777
v -1.625000 0.676777 0.823223
v -1.625000 0.323223 1.176776
v -1.625000 0.323223 0.823223
v -1.625000 0.676777 1.176776
v -1.625000 0.750000 1.000000
v -1.625000 0.250000 1.000000
v -1.625000 0.500000 1.250000
v -1.625000 0.500000 0.750000
v -0.500000 0.323223 1.176776
v -0.500000 0.250000 1.000000
v -0.500000 0.323223 0.823223
v -0.500000 0.500000 0.750000
v -0.500000 0.676777 0.823223
vt 0.526316 -0.000000
vt 0.526316 0.461538
vt 0.000000 0.461538
vt -0.000000 0.000000
vt 0.473684 0.000000
vt 0.473684 0.461538
vt 0.500000 0.538462
vt 0.026316 0.538462
vt 0.578947 0.461538
vt 0.868421 0.519231
vt 0.855263 0.596154
vt 0.802632 0.596154
vt 0.789474 0.519231
vt 0.769737 0.817308
vt 0.763158 0.788462
vt 0.815789 0.788462
vt 0.894737 0.711538
vt 0.654956 0.845692
vt 0.603732 0.975363
vt 0.450060 0.845692
vt 0.289644 0.996598
vt 0.155275 0.656450
vt 0.444799 0.769833
vt 0.789474 0.230769
vt 0.789474 0.423077
vt 0.578947 0.423077
vt 0.578947 0.192308
vt 0.578947 -0.000000
vt 0.789474 -0.000000
vt 0.789474 0.461538
vt 0.789474 0.653846
vt 0.578947 0.653846
vt 0.815789 0.230769
vt 1.000000 0.000000
vt 0.578947 0.230769
vt 0.789474 0.192308
vt 0.789474 0.826923
vt 0.789474 0.865385
vt 0.776316 0.865385
vt 0.815789 0.826923
vt 0.894737 0.826923
vt 0.894737 0.865385
vt 0.763158 0.865385
vt 0.684211 0.865385
vt 0.684211 0.826923
vt 0.855263 0.326923
vt 0.815789 0.326923
vt 0.815789 0.269231
vt 0.855263 0.269231
vt 0.881579 0.269231
vt 0.881579 0.326923
vt 0.855263 0.365385
vt 0.815789 0.365385
vt 0.855263 0.230769
vt 0.789474 0.326923
vt 0.789474 0.269231
vt 0.763158 0.826923
vt 0.802632 0.826923
vt 0.815789 0.865385
vt 0.809211 0.817308
vt 0.890644 0.243074
vt 0.925289 0.243074
vt 0.890644 0.293708
vt 0.925289 0.293708
vt 0.684211 0.711538
vt 0.894737 0.788462
vt 0.684211 0.788462
vt 0.463785 0.920558
vt 0.501284 0.975363
vt 0.450060 0.770826
vt 0.654956 0.770826
vt 0.641230 0.920558
vt 0.552508 0.995424
vt 0.424012 0.883215
vt 0.367221 0.966217
vt 0.212066 0.966217
vt 0.155275 0.883215
vt 0.134488 0.769833
vt 0.424012 0.656450
vt 1.000000 0.192308
vt 0.973684 0.230769
vt 0.776316 0.826923
vt 0.802632 0.865385
vt 0.907967 0.304195
vt 0.883469 0.268391
vt 0.907967 0.232587
vt 0.932464 0.268391
vt 0.000000 0.615385
vt 0.000000 0.538462
vt 0.131579 0.538462
vt 0.131579 0.846154
vt 0.000000 0.846154
vt 0.000000 0.788462
vt 0.131579 0.730769
vt 0.000000 0.730769
vt 0.000000 0.673077
vt 0.131579 0.923077
vt 0.000000 0.923077
vt 0.131579 0.788462
vt 0.131579 0.673077
vt 0.881579 0.307692
vt 0.934211 0.307692
vt 0.934211 0.336538
vt 0.881579 0.336538
vt 0.868421 0.365385
vt 0.789474 0.365385
vt 0.855263 0.711538
vt 0.802632 0.711538
vt 0.131579 0.615385
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -1.000000 0.000000 0.000000
vn 0.000000 0.447200 -0.894400
vn 0.000000 0.447200 0.894400
vn -0.000000 -0.000000 1.000000
vn 0.000000 0.000000 -1.000000
vn -0.707100 0.707100 0.000000
vn 0.707100 0.707100 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.923900 0.382700 0.000000
vn 0.980800 0.195100 0.000000
vn -0.980800 0.195100 0.000000
vn -0.707100 -0.707100 0.000000
vn 0.707100 -0.707100 0.000000
vn 0.965900 -0.258800 0.000000
vn -0.866000 0.500000 0.000000
vn 0.866000 0.500000 0.000000
vn -0.965900 -0.258800 0.000000
vn 0.500000 0.866000 0.000000
vn -0.500000 0.866000 0.000000
vn 0.991400 -0.130500 0.000000
vn 0.866000 -0.500000 0.000000
vn 0.500000 -0.866000 0.000000
vn -0.866000 -0.500000 0.000000
vn -0.991400 -0.130500 0.000000
vn -0.500000 -0.866000 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
s off
f 95/77/26 96/78/26 94/79/26
f 98/80/27 100/81/27 99/82/27
f 96/78/28 100/83/28 98/84/28
f 93/78/29 97/83/29 99/84/29
f 95/85/30 99/78/30 100/77/30
f 94/85/31 98/78/31 97/77/31
f 117/86/32 121/87/32 122/88/32
f 118/86/32 120/87/32 121/88/32
f 107/86/32 119/87/32 120/88/32
f 108/86/32 136/87/32 119/88/32
f 106/86/32 134/87/32 136/88/32
f 113/86/32 132/87/32 134/88/32
f 125/87/32 132/88/32 113/89/32
f 116/86/32 122/87/32 131/88/32
f 149/90/33 148/91/33 147/92/33
f 147/92/33 148/91/33 142/93/33
f 124/94/32 128/95/32 123/96/32
f 101/97/33 109/98/33 104/99/33
f 162/100/27 159/101/27 156/102/27
f 160/103/28 154/104/28 155/105/28
f 158/106/29 153/107/29 152/108/29
f 162/109/33 155/105/33 153/110/33
f 159/101/34 158/106/34 157/85/34
f 161/111/35 160/103/35 163/112/35
f 156/109/32 152/105/32 154/110/32
f 178/113/36 145/114/36 146/115/36
f 151/116/27 139/117/27 141/118/27
f 147/119/27 144/120/27 138/121/27
f 151/92/32 150/91/32 140/93/32
f 186/122/33 187/123/33 185/124/33
f 184/125/29 189/126/29 188/127/29
f 186/122/27 188/128/27 191/129/27
f 185/124/26 190/109/26 189/130/26
f 187/123/28 191/131/28 190/132/28
f 146/115/37 147/119/37 150/133/37
f 145/114/38 178/113/38 180/134/38
f 180/134/39 151/116/39 148/135/39
f 179/90/32 151/92/32 180/136/32
f 207/137/32 206/138/32 205/139/32
f 267/137/28 266/138/28 268/140/28
f 291/137/29 290/138/29 292/140/29
f 93/80/26 95/77/26 94/79/26
f 97/79/27 98/80/27 99/82/27
f 94/79/28 96/78/28 98/84/28
f 95/79/29 93/78/29 99/84/29
f 96/104/30 95/85/30 100/77/30
f 93/104/31 94/85/31 97/77/31
f 116/89/32 117/86/32 122/88/32
f 117/89/32 118/86/32 121/88/32
f 118/89/32 107/86/32 120/88/32
f 107/89/32 108/86/32 119/88/32
f 108/89/32 106/86/32 136/88/32
f 106/89/32 113/86/32 134/88/32
f 114/86/32 125/87/32 113/89/32
f 115/89/32 116/86/32 131/88/32
f 147/92/33 146/136/33 145/113/33
f 145/113/33 149/90/33 147/92/33
f 143/141/33 142/93/33 148/91/33
f 144/142/33 147/92/33 142/93/33
f 148/91/33 141/143/33 143/141/33
f 135/144/32 123/96/32 133/145/32
f 129/146/32 127/147/32 124/94/32
f 124/94/32 126/148/32 128/95/32
f 128/95/32 130/149/32 133/145/32
f 133/145/32 123/96/32 128/95/32
f 129/146/32 124/94/32 123/96/32
f 103/150/33 102/151/33 104/99/33
f 101/97/33 112/152/33 111/153/33
f 111/153/33 110/154/33 109/98/33
f 109/98/33 105/155/33 104/99/33
f 104/99/33 102/151/33 101/97/33
f 101/97/33 111/153/33 109/98/33
f 161/111/27 162/100/27 156/102/27
f 163/112/28 160/103/28 155/105/28
f 157/85/29 158/106/29 152/108/29
f 153/110/33 158/156/33 159/157/33
f 159/157/33 162/109/33 153/110/33
f 163/112/33 155/105/33 162/109/33
f 156/102/34 159/101/34 157/85/34
f 162/100/35 161/111/35 163/112/35
f 154/110/32 160/156/32 161/157/32
f 161/157/32 156/109/32 154/110/32
f 157/112/32 152/105/32 156/109/32
f 179/158/36 178/113/36 146/115/36
f 148/135/27 151/116/27 141/118/27
f 150/133/27 147/119/27 138/121/27
f 137/141/32 140/93/32 150/91/32
f 139/142/32 151/92/32 140/93/32
f 150/91/32 138/143/32 137/141/32
f 184/125/33 186/122/33 185/124/33
f 186/122/29 184/125/29 188/127/29
f 187/123/27 186/122/27 191/129/27
f 184/125/26 185/124/26 189/130/26
f 185/124/28 187/123/28 190/132/28
f 179/158/37 146/115/37 150/133/37
f 149/159/38 145/114/38 180/134/38
f 149/159/39 180/134/39 148/135/39
f 180/136/32 178/113/32 179/90/32
f 179/90/32 150/91/32 151/92/32
f 208/140/32 209/160/32 205/139/32
f 205/139/32 212/161/32 207/137/32
f 207/137/32 210/162/32 206/138/32
f 206/138/32 211/163/32 208/140/32
f 208/140/32 205/139/32 206/138/32
f 268/140/28 269/160/28 265/139/28
f 265/139/28 272/161/28 267/137/28
f 267/137/28 270/162/28 266/138/28
f 266/138/28 271/163/28 268/140/28
f 268/140/28 265/139/28 267/137/28
f 292/140/29 293/160/29 289/139/29
f 289/139/29 296/161/29 291/137/29
f 291/137/29 294/162/29 290/138/29
f 290/138/29 295/163/29 292/140/29
f 292/140/29 289/139/29 291/137/29
s 1
f 170/164/40 176/165/28 177/166/28
f 164/167/41 174/168/41 173/169/34
f 166/170/27 172/171/27 171/172/35
f 164/167/41 169/173/29 175/174/29
f 167/175/34 173/169/34 172/171/27
f 168/176/35 171/172/35 170/164/40
f 192/177/34 204/178/34 203/179/29
f 194/177/42 202/178/42 201/179/26
f 198/180/28 193/177/43 200/178/43
f 196/180/27 195/177/35 183/178/35
f 196/177/27 182/178/27 204/179/34
f 199/177/29 203/178/29 202/179/42
f 197/177/26 201/178/26 200/179/43
f 195/180/35 198/177/28 181/178/28
f 222/181/28 228/86/28 227/89/44
f 215/182/45 216/181/29 225/86/29
f 223/181/46 229/86/46 228/89/28
f 216/182/29 217/181/47 226/86/47
f 224/181/48 230/86/48 229/89/46
f 214/181/49 220/86/49 219/89/27
f 213/181/27 219/86/27 230/89/48
f 215/181/45 218/86/45 220/89/49
f 244/88/50 237/87/28 241/183/28
f 244/87/50 235/183/50 247/184/51
f 248/87/52 245/183/52 242/184/26
f 233/87/53 238/183/53 236/184/54
f 246/87/51 247/183/51 245/184/52
f 231/87/26 242/183/26 240/184/55
f 236/183/54 239/184/29 243/88/29
f 232/87/55 240/183/55 238/184/53
f 252/177/34 264/178/34 263/179/29
f 254/177/42 262/178/42 261/179/26
f 258/180/28 253/177/43 260/178/43
f 256/180/27 255/177/35 251/178/35
f 256/177/27 250/178/27 264/179/34
f 259/177/29 263/178/29 262/179/42
f 257/177/26 261/178/26 260/179/43
f 255/180/35 258/177/28 249/178/28
f 276/177/56 288/178/56 287/179/32
f 278/177/57 286/178/57 285/179/26
f 277/177/58 284/178/58 273/179/33
f 279/177/59 275/178/59 274/179/27
f 280/177/27 274/178/27 288/179/56
f 283/177/32 287/178/32 286/179/57
f 281/177/26 285/178/26 284/179/58
f 282/177/33 273/178/33 275/179/59
f 307/180/33 300/177/59 312/178/59
f 302/177/58 310/178/58 309/179/26
f 301/177/57 308/178/57 297/179/32
f 303/177/56 299/178/56 298/179/27
f 304/177/27 298/178/27 312/179/59
f 307/177/33 311/178/33 310/179/58
f 305/177/26 309/178/26 308/179/57
f 306/177/32 297/178/32 299/179/56
f 165/185/40 170/164/40 177/166/28
f 167/175/34 164/167/41 173/169/34
f 168/176/35 166/170/27 171/172/35
f 174/168/41 164/167/41 175/174/29
f 166/170/27 167/175/34 172/171/27
f 165/185/40 168/176/35 170/164/40
f 199/180/29 192/177/34 203/179/29
f 197/180/26 194/177/42 201/179/26
f 181/179/28 198/180/28 200/178/43
f 182/179/27 196/180/27 183/178/35
f 192/180/34 196/177/27 204/179/34
f 194/180/42 199/177/29 202/179/42
f 193/180/43 197/177/26 200/179/43
f 183/179/35 195/180/35 181/178/28
f 221/182/44 222/181/28 227/89/44
f 218/89/45 215/182/45 225/86/29
f 222/182/28 223/181/46 228/89/28
f 225/89/29 216/182/29 226/86/47
f 223/182/46 224/181/48 229/89/46
f 213/182/27 214/181/49 219/89/27
f 224/182/48 213/181/27 230/89/48
f 214/182/49 215/181/45 220/89/49
f 235/184/50 244/88/50 241/183/28
f 246/88/51 244/87/50 247/184/51
f 231/88/26 248/87/52 242/184/26
f 234/88/54 233/87/53 236/184/54
f 248/88/52 246/87/51 245/184/52
f 232/88/55 231/87/26 240/184/55
f 234/87/54 236/183/54 243/88/29
f 233/88/53 232/87/55 238/184/53
f 259/180/29 252/177/34 263/179/29
f 257/180/26 254/177/42 261/179/26
f 249/179/28 258/180/28 260/178/43
f 250/179/27 256/180/27 251/178/35
f 252/180/34 256/177/27 264/179/34
f 254/180/42 259/177/29 262/179/42
f 253/180/43 257/177/26 260/179/43
f 251/179/35 255/180/35 249/178/28
f 283/180/32 276/177/56 287/179/32
f 281/180/26 278/177/57 285/179/26
f 282/180/33 277/177/58 273/179/33
f 280/180/27 279/177/59 274/179/27
f 276/180/56 280/177/27 288/179/56
f 278/180/57 283/177/32 286/179/57
f 277/180/58 281/177/26 284/179/58
f 279/180/59 282/177/33 275/179/59
f 311/179/33 307/180/33 312/178/59
f 305/180/26 302/177/58 309/179/26
f 306/180/32 301/177/57 297/179/32
f 304/180/27 303/177/56 298/179/27
f 300/180/59 304/177/27 312/179/59
f 302/180/58 307/177/33 310/179/58
f 301/180/57 305/177/26 308/179/57
f 303/180/56 306/177/32 299/179/56

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 B

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 423 B

After

Width:  |  Height:  |  Size: 581 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

After

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 B

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -11,9 +11,12 @@ import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@ -236,6 +239,48 @@ public abstract class BlockDummyable extends BlockContainer {
}
}
ISidedInventory tileentityfurnace = (ISidedInventory)world.getTileEntity(x, y, z);
if (tileentityfurnace != null)
{
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
{
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if (itemstack != null)
{
float f = world.rand.nextFloat() * 0.8F + 0.1F;
float f1 = world.rand.nextFloat() * 0.8F + 0.1F;
float f2 = world.rand.nextFloat() * 0.8F + 0.1F;
while (itemstack.stackSize > 0)
{
int j1 = world.rand.nextInt(21) + 10;
if (j1 > itemstack.stackSize)
{
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if (itemstack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float)world.rand.nextGaussian() * f3;
entityitem.motionY = (float)world.rand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)world.rand.nextGaussian() * f3;
world.spawnEntityInWorld(entityitem);
}
}
}
world.func_147453_f(x, y, z, b);
}
super.breakBlock(world, x, y, z, b, i);
}

View File

@ -397,7 +397,6 @@ public class ModBlocks {
public static final int guiID_puf6_tank = 8;
public static Block machine_reactor;
public static Block machine_reactor_on;
public static final int guiID_reactor = 9;
public static Block machine_nuke_furnace_off;
@ -615,6 +614,9 @@ public class ModBlocks {
public static Block machine_turbine;
public static final int guiID_machine_turbine = 74;
public static Block machine_large_turbine;
public static final int guiID_machine_large_turbine = 100;
public static Block machine_drill;
public static Block drill_pipe;
public static final int guiID_machine_drill = 45;
@ -1097,8 +1099,7 @@ public class ModBlocks {
machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_reactor = new MachineReactor(false).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_reactor_on = new MachineReactor(true).setBlockName("machine_reactor_on").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null);
machine_reactor = new MachineReactor(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor");
machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
@ -1202,7 +1203,7 @@ public class ModBlocks {
reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side");
reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer");
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":deco_steel").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt3");
fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_conductor_top_alt").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt");
fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt");
fusion_motor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_motor_top_alt").setBlockName("fusion_motor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_motor_side_alt");
fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
@ -1341,6 +1342,7 @@ public class ModBlocks {
machine_boiler_electric_on = new MachineBoiler(true).setBlockName("machine_boiler_electric_on").setHardness(5.0F).setResistance(10.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":machine_boiler_electric_on");
machine_turbine = new MachineTurbine(Material.iron).setBlockName("machine_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_turbine");
machine_large_turbine = new MachineLargeTurbine(Material.iron).setBlockName("machine_large_turbine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_large_turbine");
machine_waste_drum = new WasteDrum(Material.iron).setBlockName("machine_waste_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":waste_drum");
@ -1807,7 +1809,6 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_uf6_tank, machine_uf6_tank.getUnlocalizedName());
GameRegistry.registerBlock(machine_puf6_tank, machine_puf6_tank.getUnlocalizedName());
GameRegistry.registerBlock(machine_reactor, machine_reactor.getUnlocalizedName());
GameRegistry.registerBlock(machine_reactor_on, machine_reactor_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_nuke_furnace_off, machine_nuke_furnace_off.getUnlocalizedName());
GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName());
@ -1871,6 +1872,7 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_boiler_electric_on, machine_boiler_electric_on.getUnlocalizedName());
GameRegistry.registerBlock(machine_boiler_electric_off, machine_boiler_electric_off.getUnlocalizedName());
GameRegistry.registerBlock(machine_turbine, machine_turbine.getUnlocalizedName());
GameRegistry.registerBlock(machine_large_turbine, machine_large_turbine.getUnlocalizedName());
GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName());
GameRegistry.registerBlock(machine_shredder, machine_shredder.getUnlocalizedName());
GameRegistry.registerBlock(machine_shredder_large, machine_shredder_large.getUnlocalizedName());

View File

@ -81,7 +81,6 @@ public class BlockFluidBarrel extends BlockContainer {
private final Random field_149933_a = new Random();
public static boolean keepInventory;
@Spaghetti("stop doing that and make a base class for fuck's sake")
@Override
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
{

View File

@ -61,7 +61,6 @@ public class MachineCrystallizer extends BlockDummyable {
}
return true;
} else {
player.addChatComponentMessage(new ChatComponentText("" + world.getBlockMetadata(x, y, z)));
return false;
}
}

View File

@ -4,7 +4,6 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.TileEntityProxyInventory;
import com.hbm.tileentity.machine.TileEntityITER;
import com.hbm.tileentity.machine.TileEntityITERStruct;
@ -15,7 +14,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;

View File

@ -0,0 +1,102 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineLargeTurbine extends BlockDummyable {
public MachineLargeTurbine(Material mat) {
super(mat);
}
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12)
return new TileEntityMachineLargeTurbine();
if(meta >= 6)
return new TileEntityProxyCombo(false, true, true);
return null;
}
@Override
public int[] getDimensions() {
return new int[] { 1, 0, 3, 1, 1, 1 };
}
@Override
public int getOffset() {
return 1;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_large_turbine, world, pos[0], pos[1], pos[2]);
return true;
} else {
player.addChatComponentMessage(new ChatComponentText("" + world.getBlockMetadata(x, y, z)));
return true;
}
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
super.onBlockPlacedBy(world, x, y, z, player, itemStack);
if(world.isRemote)
return;
int k = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
ForgeDirection dir = ForgeDirection.NORTH;
if(k == 0)
dir = ForgeDirection.getOrientation(2);
if(k == 1)
dir = ForgeDirection.getOrientation(5);
if(k == 2)
dir = ForgeDirection.getOrientation(3);
if(k == 3)
dir = ForgeDirection.getOrientation(4);
ForgeDirection dir2 = dir.getRotation(ForgeDirection.UP);
//back connector
this.makeExtra(world, x + dir.offsetX * -4, y, z + dir.offsetZ * -4);
//front connector
this.makeExtra(world, x, y, z);
int xc = x - dir.offsetX;
int zc = z - dir.offsetZ;
//side connectors
this.makeExtra(world, xc + dir2.offsetX, y, zc + dir2.offsetZ);
this.makeExtra(world, xc - dir2.offsetX, y, zc - dir2.offsetZ);
}
}

View File

@ -1,129 +1,31 @@
package com.hbm.blocks.machine;
import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyInventory;
import com.hbm.tileentity.machine.TileEntityMachineReactor;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class MachineReactor extends BlockContainer {
public class MachineReactor extends BlockDummyable {
public MachineReactor(Material mat) {
super(mat);
}
private final Random field_149933_a = new Random();
private final boolean isActive;
private static boolean keepInventory;
@SideOnly(Side.CLIENT)
private IIcon iconTop;
@SideOnly(Side.CLIENT)
private IIcon iconFront;
public MachineReactor(boolean blockState) {
super(Material.iron);
isActive = blockState;
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_reactor_decal");
this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_reactor_front_on" : ":machine_reactor_front_off"));
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_reactor_top");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon)));
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(ModBlocks.machine_reactor);
}
@Override
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
this.setDefaultDirection(world, x, y, z);
}
private void setDefaultDirection(World world, int x, int y, int z) {
if(!world.isRemote)
{
Block block1 = world.getBlock(x, y, z - 1);
Block block2 = world.getBlock(x, y, z + 1);
Block block3 = world.getBlock(x - 1, y, z);
Block block4 = world.getBlock(x + 1, y, z);
byte b0 = 3;
if(block1.func_149730_j() && !block2.func_149730_j())
{
b0 = 3;
}
if(block2.func_149730_j() && !block1.func_149730_j())
{
b0 = 2;
}
if(block3.func_149730_j() && !block4.func_149730_j())
{
b0 = 5;
}
if(block4.func_149730_j() && !block3.func_149730_j())
{
b0 = 4;
}
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
}
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
public TileEntity createNewTileEntity(World world, int meta) {
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
if(meta >= 12)
return new TileEntityMachineReactor();
if(itemStack.hasDisplayName())
{
((TileEntityMachineReactor)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName());
}
return new TileEntityProxyInventory();
}
@Override
@ -133,10 +35,15 @@ public class MachineReactor extends BlockContainer {
return true;
} else if(!player.isSneaking())
{
TileEntityMachineReactor entity = (TileEntityMachineReactor) world.getTileEntity(x, y, z);
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
TileEntityMachineReactor entity = (TileEntityMachineReactor) world.getTileEntity(pos[0], pos[1], pos[2]);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_reactor, world, x, y, z);
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_reactor, world, pos[0], pos[1], pos[2]);
}
return true;
} else {
@ -145,87 +52,12 @@ public class MachineReactor extends BlockContainer {
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityMachineReactor();
public int[] getDimensions() {
return new int[] { 2, 0, 0, 0, 0, 0 };
}
public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) {
int i = world.getBlockMetadata(x, y, z);
TileEntity entity = world.getTileEntity(x, y, z);
keepInventory = true;
if(isProcessing)
{
world.setBlock(x, y, z, ModBlocks.machine_reactor_on);
}else{
world.setBlock(x, y, z, ModBlocks.machine_reactor);
}
keepInventory = false;
world.setBlockMetadataWithNotify(x, y, z, i, 2);
if(entity != null) {
entity.validate();
world.setTileEntity(x, y, z, entity);
}
}
@Override
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
{
if (!keepInventory)
{
TileEntityMachineReactor tileentityfurnace = (TileEntityMachineReactor)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
if (tileentityfurnace != null)
{
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
{
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if (itemstack != null)
{
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
while (itemstack.stackSize > 0)
{
int j1 = this.field_149933_a.nextInt(21) + 10;
if (j1 > itemstack.stackSize)
{
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if (itemstack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
p_149749_1_.spawnEntityInWorld(entityitem);
}
}
}
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
}
}
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
}
@Override
@SideOnly(Side.CLIENT)
public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_)
{
return Item.getItemFromBlock(ModBlocks.machine_reactor);
}
public int getOffset() {
return 0;
}
}

View File

@ -896,6 +896,15 @@ public class GUIHandler implements IGuiHandler {
}
return null;
}
case ModBlocks.guiID_machine_large_turbine:
{
if(entity instanceof TileEntityMachineLargeTurbine)
{
return new ContainerMachineLargeTurbine(player.inventory, (TileEntityMachineLargeTurbine) entity);
}
return null;
}
}
} else {
//NON-TE CONTAINERS
@ -1791,6 +1800,15 @@ public class GUIHandler implements IGuiHandler {
}
return null;
}
case ModBlocks.guiID_machine_large_turbine:
{
if(entity instanceof TileEntityMachineLargeTurbine)
{
return new GUIMachineLargeTurbine(player.inventory, (TileEntityMachineLargeTurbine) entity);
}
return null;
}
}
} else {
//ITEM GUIS

View File

@ -296,10 +296,10 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModBlocks.reactor_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.brick_concrete, 1), new OreDictStack("plateSteel", 6), },150);
makeRecipe(new ComparableStack(ModBlocks.reactor_conductor, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateCopper", 12), new ComparableStack(ModItems.wire_tungsten, 4), },130);
makeRecipe(new ComparableStack(ModBlocks.reactor_computer, 1), new AStack[] {new ComparableStack(ModBlocks.reactor_conductor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new ComparableStack(ModItems.circuit_gold, 1), },250);
makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack("plateSteel", 10), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150);
makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150);
makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200);
makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack("ingotTitanium", 4), new OreDictStack("ingotSteel", 2), new ComparableStack(ModItems.motor, 4), },250);
makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new OreDictStack("plateDenseLead", 6), new ComparableStack(ModItems.magnetron, 4), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150);
makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new OreDictStack("plateSteel", 2), new OreDictStack("plateDenseLead", 2), new OreDictStack("plateCopper", 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150);
makeRecipe(new ComparableStack(ModBlocks.fusion_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_heater, 1), new OreDictStack("plateTitanium", 6), },250);
makeRecipe(new ComparableStack(ModBlocks.fusion_core, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_center, 3), new ComparableStack(ModItems.circuit_red_copper, 48), new ComparableStack(ModItems.circuit_gold, 12), },350);
makeRecipe(new ComparableStack(ModBlocks.watz_element, 1), new AStack[] {new OreDictStack("ingotTungsten", 4), new ComparableStack(ModItems.plate_advanced_alloy, 4), new ComparableStack(ModItems.rod_empty, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.wire_advanced_alloy, 4), },200);

View File

@ -18,6 +18,18 @@ public class FusionRecipes {
}
}
public static int getBreedingLevel(FluidType plasma) {
switch(plasma) {
case PLASMA_DT: return 1;
case PLASMA_HD: return 1;
case PLASMA_HT: return 1;
case PLASMA_XM: return 3;
case PLASMA_BF: return 4;
default: return 0;
}
}
public static ItemStack getByproduct(FluidType plasma) {
switch(plasma) {
@ -27,6 +39,18 @@ public class FusionRecipes {
}
}
public static int getSteamProduction(FluidType plasma) {
switch(plasma) {
case PLASMA_DT: return 120;
case PLASMA_HD: return 80;
case PLASMA_HT: return 100;
case PLASMA_XM: return 240;
case PLASMA_BF: return 640;
default: return 9;
}
}
public static HashMap<ItemStack, ItemStack> getRecipes() {
HashMap<ItemStack, ItemStack> map = new HashMap();

View File

@ -0,0 +1,94 @@
package com.hbm.inventory.container;
import com.hbm.inventory.SlotMachineOutput;
import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerMachineLargeTurbine extends Container {
private TileEntityMachineLargeTurbine turbine;
public ContainerMachineLargeTurbine(InventoryPlayer invPlayer, TileEntityMachineLargeTurbine tedf) {
turbine = tedf;
//Fluid ID
this.addSlotToContainer(new Slot(tedf, 0, 8, 17));
this.addSlotToContainer(new SlotMachineOutput(tedf, 1, 8, 53));
//Input IO
this.addSlotToContainer(new Slot(tedf, 2, 44, 17));
this.addSlotToContainer(new SlotMachineOutput(tedf, 3, 44, 53));
//Battery
this.addSlotToContainer(new Slot(tedf, 4, 98, 53));
//Output IO
this.addSlotToContainer(new Slot(tedf, 5, 152, 17));
this.addSlotToContainer(new SlotMachineOutput(tedf, 6, 152, 53));
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));
}
}
for(int i = 0; i < 9; i++)
{
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142));
}
}
@Override
public void addCraftingToCrafters(ICrafting crafting) {
super.addCraftingToCrafters(crafting);
}
@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 <= 6) {
if (!this.mergeItemStack(var5, 7, this.inventorySlots.size(), true))
{
return null;
}
}
else if (!this.mergeItemStack(var5, 4, 5, false))
{
if (!this.mergeItemStack(var5, 2, 3, false))
if (!this.mergeItemStack(var5, 5, 6, false))
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 turbine.isUseableByPlayer(player);
}
}

View File

@ -78,6 +78,9 @@ public class GUIITER extends GuiInfoContainer {
int i = (int)iter.getPowerScaled(34);
drawTexturedModalRect(guiLeft + 71, guiTop + 108, 176, 25, i, 16);
int j = (int)iter.getProgressScaled(17);
drawTexturedModalRect(guiLeft + 44, guiTop + 22, 176, 18, j, 7);
for(int t = 0; t < 2; t++) {
Minecraft.getMinecraft().getTextureManager().bindTexture(iter.tanks[t].getSheet());

View File

@ -0,0 +1,85 @@
package com.hbm.inventory.gui;
import org.lwjgl.opengl.GL11;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.inventory.FluidTank;
import com.hbm.inventory.container.ContainerMachineLargeTurbine;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GUIMachineLargeTurbine extends GuiInfoContainer {
public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_turbine_large.png");
private TileEntityMachineLargeTurbine turbine;
public GUIMachineLargeTurbine(InventoryPlayer invPlayer, TileEntityMachineLargeTurbine tedf) {
super(new ContainerMachineLargeTurbine(invPlayer, tedf));
turbine = tedf;
this.xSize = 176;
this.ySize = 168;
}
@Override
public void drawScreen(int mouseX, int mouseY, float f) {
super.drawScreen(mouseX, mouseY, f);
turbine.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 16, 52);
turbine.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52);
if(turbine.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
String[] text2 = new String[] { "Error: Invalid fluid!" };
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2);
}
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 123, guiTop + 69 - 34, 7, 34, turbine.power, turbine.maxPower);
}
@Override
protected void drawGuiContainerForegroundLayer(int i, int j) {
String name = this.turbine.hasCustomInventoryName() ? this.turbine.getInventoryName() : I18n.format(this.turbine.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);
if(turbine.tanks[0].getTankType().name().equals(FluidType.STEAM.name())) {
drawTexturedModalRect(guiLeft + 99, guiTop + 18, 183, 0, 14, 14);
}
if(turbine.tanks[0].getTankType().name().equals(FluidType.HOTSTEAM.name())) {
drawTexturedModalRect(guiLeft + 99, guiTop + 18, 183, 14, 14, 14);
}
if(turbine.tanks[0].getTankType().name().equals(FluidType.SUPERHOTSTEAM.name())) {
drawTexturedModalRect(guiLeft + 99, guiTop + 18, 183, 28, 14, 14);
}
if(turbine.tanks[0].getTankType().name().equals(FluidType.ULTRAHOTSTEAM.name())) {
drawTexturedModalRect(guiLeft + 99, guiTop + 18, 183, 42, 14, 14);
}
int i = (int)turbine.getPowerScaled(34);
drawTexturedModalRect(guiLeft + 123, guiTop + 69 - i, 176, 34 - i, 7, i);
if(turbine.tanks[1].getTankType().name().equals(FluidType.NONE.name())) {
this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6);
}
Minecraft.getMinecraft().getTextureManager().bindTexture(turbine.tanks[0].getSheet());
turbine.tanks[0].renderTank(this, guiLeft + 62, guiTop + 69, turbine.tanks[0].getTankType().textureX() * FluidTank.x, turbine.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
Minecraft.getMinecraft().getTextureManager().bindTexture(turbine.tanks[1].getSheet());
turbine.tanks[1].renderTank(this, guiLeft + 134, guiTop + 69, turbine.tanks[1].getTankType().textureX() * FluidTank.x, turbine.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
}
}

View File

@ -145,6 +145,8 @@ public class ClientProxy extends ServerProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFF.class, new RenderForceField());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityForceField.class, new RenderMachineForceField());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFENSU.class, new RenderFENSU());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLargeTurbine.class, new RenderBigTurbine());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineReactor.class, new RenderBreeder());
//AMS
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter());

View File

@ -422,6 +422,7 @@ public class MainRegistry {
GameRegistry.registerTileEntity(TileEntityMachineFENSU.class, "tileentity_fensu");
GameRegistry.registerTileEntity(TileEntityTrappedBrick.class, "tileentity_trapped_brick");
GameRegistry.registerTileEntity(TileEntityPlasmaStruct.class, "tileentity_plasma_struct");
GameRegistry.registerTileEntity(TileEntityMachineLargeTurbine.class, "tileentity_industrial_turbine");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -52,6 +52,9 @@ public class ResourceManager {
public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj"));
public static final IModelCustom turbofan_blades = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_blades.obj"));
//Large Turbine
public static final IModelCustom turbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbine.obj"));
//Selenium Engine
public static final IModelCustom selenium_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_body.obj"));
public static final IModelCustom selenium_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_rotor.obj"));
@ -110,6 +113,9 @@ public class ResourceManager {
public static final IModelCustom reactor_small_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_base.obj"));
public static final IModelCustom reactor_small_rods = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/reactors/reactor_small_rods.obj"));
//Breeder
public static final IModelCustom breeder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/breeder.obj"));
//ITER
public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj"));
@ -215,9 +221,12 @@ public class ResourceManager {
public static final ResourceLocation pumpjack_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_head.png");
public static final ResourceLocation pumpjack_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_rotor.png");
//Pumpjack
//Turbofan
public static final ResourceLocation turbofan_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_body.png");
public static final ResourceLocation turbofan_blades_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turbofan_blades.png");
//Large Turbine
public static final ResourceLocation turbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/turbine.png");
//Selenium Engine
public static final ResourceLocation selenium_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_body.png");
@ -272,6 +281,9 @@ public class ResourceManager {
//Small Reactor
public static final ResourceLocation reactor_small_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_base.png");
public static final ResourceLocation reactor_small_rods_tex = new ResourceLocation(RefStrings.MODID, "textures/models/reactor_small_rods.png");
//Breeder
public static final ResourceLocation breeder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/breeder.png");
//ITER
public static final ResourceLocation iter_glass = new ResourceLocation(RefStrings.MODID, "textures/models/iter/glass.png");

View File

@ -0,0 +1,54 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderBigTurbine extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tile.getBlockMetadata() - BlockDummyable.offset)
{
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
GL11.glTranslated(0, 0, -1);
bindTexture(ResourceManager.turbine_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.turbine.renderPart("Body");
GL11.glShadeModel(GL11.GL_FLAT);
TileEntityMachineLargeTurbine turbine = (TileEntityMachineLargeTurbine) tile;
GL11.glTranslated(0, 1, 0);
GL11.glRotatef(turbine.lastRotor + (turbine.rotor - turbine.lastRotor) * f, 0, 0, 1);
GL11.glTranslated(0, -1, 0);
bindTexture(ResourceManager.turbofan_blades_tex);
ResourceManager.turbine.renderPart("Blades");
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,56 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.RenderSparks;
import com.hbm.tileentity.machine.TileEntityMachineReactor;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderBreeder extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tile.getBlockMetadata() - BlockDummyable.offset)
{
case 2: GL11.glRotatef(0, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(270, 0F, 1F, 0F); break;
}
TileEntityMachineReactor breeder = (TileEntityMachineReactor) tile;
if(breeder.progress > 0)
for(int i = 0; i < 3; i++) {
GL11.glPushMatrix();
GL11.glRotatef((float) (Math.PI * i), 0F, 1F, 0F);
RenderSparks.renderSpark((int) ((System.currentTimeMillis() % 10000) / 100 + i), 0, 1.875, 0, 0.15F, 3, 4, 0x00ff00, 0xffffff);
GL11.glPopMatrix();
}
GL11.glScaled(0.5, 0.5, 0.5);
bindTexture(ResourceManager.breeder_tex);
GL11.glShadeModel(GL11.GL_SMOOTH);
ResourceManager.breeder.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}

View File

@ -19,6 +19,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IConsum
boolean power;
boolean fluid;
public TileEntityProxyCombo() { }
public TileEntityProxyCombo(boolean inventory, boolean power, boolean fluid) {
this.inventory = inventory;
this.power = power;

View File

@ -8,6 +8,8 @@ import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidSource;
import com.hbm.inventory.BreederRecipes;
import com.hbm.inventory.BreederRecipes.BreederRecipe;
import com.hbm.inventory.FluidTank;
import com.hbm.inventory.FusionRecipes;
import com.hbm.items.ModItems;
@ -32,6 +34,9 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
public FluidTank[] tanks;
public FluidTank plasma;
public int progress;
public static final int duration = 100;
@SideOnly(Side.CLIENT)
public int blanket;
@ -93,13 +98,23 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
produceByproduct();
}
if(plasma.getFill() > 0 && this.getShield() != 0) {
ItemFusionShield.setShieldDamage(slots[3], ItemFusionShield.getShieldDamage(slots[3]) + 1);
if(ItemFusionShield.getShieldDamage(slots[3]) > ((ItemFusionShield)slots[3].getItem()).maxDamage)
slots[3] = null;
}
int prod = FusionRecipes.getSteamProduction(plasma.getTankType());
for(int i = 0; i < 20; i++) {
if(plasma.getFill() > 0) {
if(tanks[0].getFill() >= 10) {
tanks[0].setFill(tanks[0].getFill() - 10);
tanks[1].setFill(tanks[1].getFill() + 1);
if(tanks[0].getFill() >= prod * 10) {
tanks[0].setFill(tanks[0].getFill() - prod * 10);
tanks[1].setFill(tanks[1].getFill() + prod);
if(tanks[1].getFill() > tanks[1].getMaxFill())
tanks[1].setFill(tanks[1].getMaxFill());
@ -110,6 +125,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
}
}
doBreederStuff();
/// END Processing part ///
/// START Notif packets ///
@ -120,6 +137,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
NBTTagCompound data = new NBTTagCompound();
data.setBoolean("isOn", isOn);
data.setLong("power", power);
data.setInteger("progress", progress);
if(slots[3] == null) {
data.setInteger("blanket", 0);
@ -152,6 +170,51 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
}
}
private void doBreederStuff() {
if(plasma.getFill() == 0) {
this.progress = 0;
return;
}
BreederRecipe out = BreederRecipes.getOutput(slots[1]);
if(out == null) {
this.progress = 0;
return;
}
if(slots[2] != null && slots[2].stackSize >= slots[2].getMaxStackSize()) {
this.progress = 0;
return;
}
int level = FusionRecipes.getBreedingLevel(plasma.getTankType());
if(out.heat > level) {
this.progress = 0;
return;
}
progress++;
if(progress > this.duration) {
if(slots[2] != null) {
slots[2].stackSize++;
} else {
slots[2] = out.output.copy();
}
slots[1].stackSize--;
if(slots[1].stackSize <=0)
slots[1] = null;
this.markDirty();
}
}
private void produceByproduct() {
ItemStack by = FusionRecipes.getByproduct(plasma.getTankType());
@ -182,6 +245,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
this.isOn = data.getBoolean("isOn");
this.power = data.getLong("power");
this.blanket = data.getInteger("blanket");
this.progress = data.getInteger("progress"); //
}
@Override
@ -196,6 +260,10 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer,
return (power * i) / maxPower;
}
public long getProgressScaled(long i) {
return (progress * i) / duration;
}
@Override
public void setPower(long i) {
this.power = i;

View File

@ -0,0 +1,268 @@
package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.interfaces.IFluidSource;
import com.hbm.interfaces.ISource;
import com.hbm.inventory.FluidTank;
import com.hbm.inventory.MachineRecipes;
import com.hbm.lib.Library;
import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, ISource {
public long power;
public static final long maxPower = 100000000;
public int age = 0;
public List<IConsumer> list1 = new ArrayList();
public List<IFluidAcceptor> list2 = new ArrayList();
public FluidTank[] tanks;
public float rotor;
public float lastRotor;
public TileEntityMachineLargeTurbine() {
super(7);
tanks = new FluidTank[2];
tanks[0] = new FluidTank(FluidType.STEAM, 512000, 0);
tanks[1] = new FluidTank(FluidType.WATER, 10240000, 1);
}
@Override
public String getName() {
return "container.machineLargeTurbine";
}
@Override
public void updateEntity() {
if(!worldObj.isRemote) {
age++;
if(age >= 2)
{
age = 0;
}
fillFluidInit(tanks[1].getTankType());
ffgeuaInit();
tanks[0].setType(0, 1, slots);
tanks[0].loadTank(2, 3, slots);
power = Library.chargeItemsFromTE(slots, 4, power, maxPower);
Object[] outs = MachineRecipes.getTurbineOutput(tanks[0].getTankType());
if(outs == null) {
tanks[1].setTankType(FluidType.NONE);
} else {
tanks[1].setTankType((FluidType) outs[0]);
int processMax = (int) Math.ceil(tanks[0].getFill() / 10F);
//TODO: handle this dynamically instead of a 16k iteration for loop
for(int i = 0; i < processMax; i++) {
if(tanks[0].getFill() >= (Integer)outs[2] && tanks[1].getFill() + (Integer)outs[1] <= tanks[1].getMaxFill()) {
tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2]);
tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1]);
power += (Integer)outs[3];
if(power > maxPower)
power = maxPower;
} else {
break;
}
}
}
tanks[1].unloadTank(5, 6, slots);
for(int i = 0; i < 2; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power);
this.networkPack(data, 50);
} else {
this.lastRotor = this.rotor;
if(tanks[0].getFill() > 0) {
this.rotor += 15F;
if(this.rotor >= 360) {
this.rotor -= 360;
this.lastRotor -= 360;
}
}
}
}
public void networkUnpack(NBTTagCompound data) {
this.power = data.getLong("power");
}
public long getPowerScaled(int i) {
return (power * i) / maxPower;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
tanks[0].readFromNBT(nbt, "water");
tanks[1].readFromNBT(nbt, "steam");
power = nbt.getLong("power");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
tanks[0].writeToNBT(nbt, "water");
tanks[1].writeToNBT(nbt, "steam");
nbt.setLong("power", power);
}
@Override
public void ffgeua(int x, int y, int z, boolean newTact) {
Library.ffgeua(x, y, z, newTact, this, worldObj);
}
@Override
public void ffgeuaInit() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
ffgeua(xCoord + dir.offsetX * -4, yCoord, zCoord + dir.offsetZ * -4, getTact());
}
@Override
public void fillFluidInit(FluidType type) {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
dir = dir.getRotation(ForgeDirection.UP);
fillFluid(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, getTact(), type);
fillFluid(xCoord + dir.offsetX * -2, yCoord, zCoord + dir.offsetZ * -2, getTact(), type);
}
@Override
public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) {
Library.transmitFluid(x, y, z, newTact, this, worldObj, type);
}
@Override
public boolean getTact() {
if(age == 0)
{
return true;
}
return false;
}
@Override
public void setFluidFill(int i, FluidType type) {
if(type.name().equals(tanks[0].getTankType().name()))
tanks[0].setFill(i);
else if(type.name().equals(tanks[1].getTankType().name()))
tanks[1].setFill(i);
}
@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();
return 0;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(type.name().equals(tanks[0].getTankType().name()))
return tanks[0].getMaxFill();
return 0;
}
@Override
public void setFillstate(int fill, int index) {
if(index < 2 && tanks[index] != null)
tanks[index].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 List<IFluidAcceptor> getFluidList(FluidType type) {
return list2;
}
@Override
public void clearFluidList(FluidType type) {
list2.clear();
}
@Override
public long getSPower() {
return power;
}
@Override
public void setSPower(long i) {
this.power = i;
}
@Override
public List<IConsumer> getList() {
return list1;
}
@Override
public void clearList() {
this.list1.clear();
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -5,8 +5,11 @@ import com.hbm.inventory.BreederRecipes;
import com.hbm.inventory.BreederRecipes.BreederRecipe;
import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityMachineReactor extends TileEntityMachineBase {
@ -83,7 +86,6 @@ public class TileEntityMachineReactor extends TileEntityMachineBase {
if(trigger) {
markDirty = true;
MachineReactor.updateBlockState(this.progress > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
}
if(markDirty)
@ -242,4 +244,29 @@ public class TileEntityMachineReactor extends TileEntityMachineBase {
nbt.setShort("heat", (short) heat);
nbt.setShort("progress", (short) progress);
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord,
yCoord,
zCoord,
xCoord + 1,
yCoord + 3,
zCoord + 1
);
}
return bb;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() {
return 65536.0D;
}
}

View File

@ -265,36 +265,41 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven
}
public void processItem() {
for(int i = 0; i < 9; i++)
for(int inpSlot = 0; inpSlot < 9; inpSlot++)
{
if(slots[i] != null && hasSpace(slots[i]))
if(slots[inpSlot] != null && hasSpace(slots[inpSlot]))
{
ItemStack inp = slots[i].copy();
ItemStack inp = slots[inpSlot];
ItemStack outp = ShredderRecipes.getShredderResult(inp);
boolean flag = false;
for (int j = 9; j < 27; j++)
for (int outSlot = 9; outSlot < 27; outSlot++)
{
if (slots[j] != null && slots[j].getItem().equals(outp.getItem()) && slots[j].stackSize + outp.stackSize <= outp.getMaxStackSize()) {
slots[j].stackSize += outp.stackSize;
slots[i].stackSize -= 1;
if (slots[outSlot] != null && slots[outSlot].getItem() == outp.getItem() && slots[outSlot].stackSize + outp.stackSize <= outp.getMaxStackSize()) {
System.out.println(outp.getUnlocalizedName() + " is equal to " + slots[outSlot].getUnlocalizedName());
slots[outSlot].stackSize += outp.stackSize;
slots[inpSlot].stackSize -= 1;
flag = true;
break;
}
}
if(!flag)
for (int j = 9; j < 27; j++)
for (int outSlot = 9; outSlot < 27; outSlot++)
{
if (slots[j] == null) {
slots[j] = outp.copy();
slots[i].stackSize -= 1;
if (slots[outSlot] == null) {
slots[outSlot] = outp.copy();
slots[inpSlot].stackSize -= 1;
break;
}
}
if(slots[i].stackSize <= 0)
slots[i] = null;
if(slots[inpSlot].stackSize <= 0)
slots[inpSlot] = null;
}
}
}

View File

@ -32,7 +32,7 @@ public class DesertAtom001 extends WorldGenerator
Block Block13 = ModBlocks.pole_satellite_receiver;
Block Block14 = ModBlocks.machine_generator;
Block Block15 = ModBlocks.deco_titanium;
Block Block16 = ModBlocks.machine_reactor;
Block Block16 = ModBlocks.block_lead;
Block Block17 = ModBlocks.ore_schrabidium;
Block Block18 = ModBlocks.waste_planks;
Block Block19 = ModBlocks.machine_centrifuge;

View File

@ -32,7 +32,7 @@ public class DesertAtom002
Block Block13 = ModBlocks.pole_satellite_receiver;
Block Block14 = ModBlocks.machine_generator;
Block Block15 = ModBlocks.deco_titanium;
Block Block16 = ModBlocks.machine_reactor;
Block Block16 = ModBlocks.block_lead;
Block Block17 = ModBlocks.ore_nether_plutonium;
Block Block18 = ModBlocks.waste_planks;
Block Block19 = ModBlocks.machine_centrifuge;

View File

@ -36,7 +36,7 @@ public class DesertAtom003
Block Block13 = ModBlocks.pole_satellite_receiver;
Block Block14 = ModBlocks.machine_generator;
Block Block15 = ModBlocks.deco_titanium;
Block Block16 = ModBlocks.machine_reactor;
Block Block16 = ModBlocks.block_lead;
Block Block17 = ModBlocks.ore_schrabidium;
Block Block18 = ModBlocks.waste_planks;
Block Block19 = ModBlocks.machine_centrifuge;

View File

@ -593,7 +593,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 0, z + 3, Blocks.stonebrick, 0, 3);
world.setBlock(x + 14, y + 0, z + 3, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 0, z + 4, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 0, z + 4, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 0, z + 4, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 0, z + 4, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 0, z + 4, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 8, y + 0, z + 4, ModBlocks.factory_titanium_hull, 0, 3);
@ -629,7 +629,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 0, z + 9, Blocks.stonebrick, 0, 3);
world.setBlock(x + 14, y + 0, z + 9, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 0, z + 10, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 0, z + 10, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 0, z + 10, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 0, z + 10, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 0, z + 10, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 8, y + 0, z + 10, ModBlocks.factory_titanium_hull, 0, 3);
@ -665,7 +665,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 0, z + 15, Blocks.stonebrick, 0, 3);
world.setBlock(x + 14, y + 0, z + 15, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 0, z + 16, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 0, z + 16, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 0, z + 16, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 0, z + 16, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 0, z + 16, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 8, y + 0, z + 16, ModBlocks.factory_titanium_hull, 0, 3);
@ -797,11 +797,11 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 1, z + 3, Blocks.stone_brick_stairs, 2, 3);
world.setBlock(x + 14, y + 1, z + 3, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 4, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 4, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 1, z + 4, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 1, z + 4, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 4, ModBlocks.factory_titanium_furnace, 2, 3);
world.setBlock(x + 8, y + 1, z + 4, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 13, y + 1, z + 4, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 4, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 4, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 5, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 5, Block2, 5, 3);
@ -815,7 +815,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 6, y + 1, z + 6, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 6, ModBlocks.factory_titanium_furnace, 3, 3);
world.setBlock(x + 8, y + 1, z + 6, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 13, y + 1, z + 6, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 6, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 6, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 7, Blocks.stonebrick, 0, 3);
world.setBlock(x + 13, y + 1, z + 7, Blocks.stone_brick_stairs, 3, 3);
@ -826,11 +826,11 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 1, z + 9, Blocks.stone_brick_stairs, 2, 3);
world.setBlock(x + 14, y + 1, z + 9, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 10, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 10, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 1, z + 10, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 1, z + 10, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 10, ModBlocks.factory_titanium_furnace, 2, 3);
world.setBlock(x + 8, y + 1, z + 10, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 13, y + 1, z + 10, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 10, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 10, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 11, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 11, Block2, 5, 3);
@ -844,7 +844,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 6, y + 1, z + 12, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 12, ModBlocks.factory_titanium_furnace, 3, 3);
world.setBlock(x + 8, y + 1, z + 12, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 13, y + 1, z + 12, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 12, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 12, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 13, Blocks.stonebrick, 0, 3);
world.setBlock(x + 13, y + 1, z + 13, Blocks.stone_brick_stairs, 3, 3);
@ -855,10 +855,10 @@ public class Factory extends WorldGenerator
world.setBlock(x + 13, y + 1, z + 15, Blocks.stone_brick_stairs, 2, 3);
world.setBlock(x + 14, y + 1, z + 15, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 16, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 16, ModBlocks.machine_reactor, 5, 3);
world.setBlock(x + 1, y + 1, z + 16, ModBlocks.deco_lead, 5, 3);
world.setBlock(x + 6, y + 1, z + 16, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 16, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 13, y + 1, z + 16, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 16, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 16, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 17, Blocks.stonebrick, 0, 3);
world.setBlock(x + 1, y + 1, z + 17, Block2, 5, 3);
@ -871,7 +871,7 @@ public class Factory extends WorldGenerator
world.setBlock(x + 1, y + 1, z + 18, Block2, 5, 3);
world.setBlock(x + 6, y + 1, z + 18, ModBlocks.factory_titanium_hull, 0, 3);
world.setBlock(x + 7, y + 1, z + 18, ModBlocks.factory_titanium_furnace, 3, 3);
world.setBlock(x + 13, y + 1, z + 18, ModBlocks.machine_rtg_furnace_off, 4, 3);
world.setBlock(x + 13, y + 1, z + 18, ModBlocks.machine_electric_furnace_off, 4, 3);
world.setBlock(x + 14, y + 1, z + 18, Blocks.stonebrick, 0, 3);
world.setBlock(x + 0, y + 1, z + 19, Blocks.stonebrick, 0, 3);
world.setBlock(x + 13, y + 1, z + 19, Blocks.stone_brick_stairs, 3, 3);