fusion reactor complete, thicc turbine, chunky breeding reactor
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
845
src/main/java/assets/hbm/models/machines/turbine.obj
Normal 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
|
||||
2210
src/main/java/assets/hbm/models/reactors/breeder.obj
Normal file
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 153 B |
|
Before Width: | Height: | Size: 571 B After Width: | Height: | Size: 426 B |
|
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 164 B |
|
Before Width: | Height: | Size: 423 B After Width: | Height: | Size: 581 B |
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 251 B |
|
Before Width: | Height: | Size: 287 B After Width: | Height: | Size: 608 B |
BIN
src/main/java/assets/hbm/textures/blocks/machine_reactor.png
Normal file
|
After Width: | Height: | Size: 271 B |
BIN
src/main/java/assets/hbm/textures/gui/book/book.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
src/main/java/assets/hbm/textures/gui/book/book_cover.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
BIN
src/main/java/assets/hbm/textures/models/machines/turbine.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
@ -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);
|
||||
}
|
||||
|
||||
@ -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());
|
||||
|
||||
@ -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_)
|
||||
{
|
||||
|
||||
@ -61,7 +61,6 @@ public class MachineCrystallizer extends BlockDummyable {
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
player.addChatComponentMessage(new ChatComponentText("" + world.getBlockMetadata(x, y, z)));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
102
src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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());
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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");
|
||||
|
||||
@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
56
src/main/java/com/hbm/render/tileentity/RenderBreeder.java
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||