Rotary engine, N2 functionality, gui info panel
@ -180,6 +180,8 @@ item.solinium_igniter.name=SOL-Impulszünder
|
||||
item.solinium_propellant.name=SOL-Verdichtungsladung
|
||||
item.solinium_core.name=Semistabiler Soliniumkern
|
||||
|
||||
item.n2_charge.name=Große Sprengladung
|
||||
|
||||
container.nukeGadget=The Gadget
|
||||
container.nukeBoy=Little Boy
|
||||
container.nukeMan=Fat Man
|
||||
@ -189,6 +191,7 @@ container.nukeFleija=F.L.E.I.J.A.
|
||||
container.nukePrototype=Der Prototyp
|
||||
container.nukeCustom=Anpassbare Bombe
|
||||
container.nukeSolinium=Die Blauspülung
|
||||
container.nukeN2=N²-Mine
|
||||
|
||||
container.bombMulti=Mehrzweckbombe
|
||||
|
||||
@ -201,6 +204,7 @@ tile.nuke_fleija.name=F.L.E.I.J.A.
|
||||
tile.nuke_prototype.name=Der Prototyp
|
||||
tile.nuke_custom.name=Anpassbare Bombe
|
||||
tile.nuke_solinium.name=Die Blauspülung
|
||||
tile.nuke_n2.name=N²-Mine
|
||||
|
||||
tile.turret_light.name=Leichtes MG-Geschütz
|
||||
tile.turret_heavy.name=Schweres MG-Geschütz
|
||||
@ -316,6 +320,8 @@ tile.machine_siren.name=Sirene
|
||||
container.siren=Sirene
|
||||
tile.machine_radgen.name=Strahlenbetriebener Generator [WIP]
|
||||
container.radGen=Strahlenbetriebener Generator [WIP]
|
||||
tile.machine_selenium.name=Hochleistungs-Sternmotor
|
||||
container.machineSelenium=Hochleistungs-Sternmotor
|
||||
|
||||
tile.broadcaster_pc.name=Korrupter Sender
|
||||
|
||||
|
||||
@ -180,6 +180,8 @@ item.solinium_igniter.name=SOL Pulse Igniter
|
||||
item.solinium_propellant.name=SOL Compression Charge
|
||||
item.solinium_core.name=Semi-Stable Solinium Core
|
||||
|
||||
item.n2_charge.name=Large Explosive Charge
|
||||
|
||||
container.nukeGadget=The Gadget
|
||||
container.nukeBoy=Little Boy
|
||||
container.nukeMan=Fat Man
|
||||
@ -189,6 +191,7 @@ container.nukeFleija=F.L.E.I.J.A.
|
||||
container.nukePrototype=The Prototype
|
||||
container.nukeCustom=Custom Nuke
|
||||
container.nukeSolinium=The Blue Rinse
|
||||
container.nukeN2=N² Mine
|
||||
|
||||
container.bombMulti=Multi Purpose Bomb
|
||||
|
||||
@ -201,6 +204,7 @@ tile.nuke_fleija.name=F.L.E.I.J.A.
|
||||
tile.nuke_prototype.name=The Prototype
|
||||
tile.nuke_custom.name=Custom Nuke
|
||||
tile.nuke_solinium.name=The Blue Rinse
|
||||
tile.nuke_n2.name=N² Mine
|
||||
|
||||
tile.bomb_multi.name=Multi Purpose Bomb
|
||||
tile.rejuvinator.name=Rejuvination Device
|
||||
@ -316,6 +320,8 @@ tile.machine_siren.name=Siren
|
||||
container.siren=Siren
|
||||
tile.machine_radgen.name=Radiation-Powered Engine [WIP]
|
||||
container.radGen=Radiation-Powered Engine [WIP]
|
||||
tile.machine_selenium.name=Radial Performance Engine
|
||||
container.machineSelenium=Radial Performance Engine
|
||||
|
||||
tile.broadcaster_pc.name=Corrupted Broadcaster
|
||||
|
||||
|
||||
362
assets/hbm/models/selenium_engine_body.obj
Normal file
@ -0,0 +1,362 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_body.blend'
|
||||
# www.blender.org
|
||||
o Cylinder_Cylinder.001
|
||||
v 0.000000 1.350000 -0.175000
|
||||
v 0.000000 1.350000 0.175000
|
||||
v 0.175000 1.303109 -0.175000
|
||||
v 0.175000 1.303109 0.175000
|
||||
v 0.303109 1.175000 -0.175000
|
||||
v 0.303109 1.175000 0.175000
|
||||
v 0.350000 1.000000 -0.175000
|
||||
v 0.350000 1.000000 0.175000
|
||||
v 0.303109 0.825000 -0.175000
|
||||
v 0.303109 0.825000 0.175000
|
||||
v 0.175000 0.696891 -0.175000
|
||||
v 0.175000 0.696891 0.175000
|
||||
v 0.000000 0.650000 -0.175000
|
||||
v 0.000000 0.650000 0.175000
|
||||
v -0.175000 0.696891 -0.175000
|
||||
v -0.175000 0.696891 0.175000
|
||||
v -0.303109 0.825000 -0.175000
|
||||
v -0.303109 0.825000 0.175000
|
||||
v -0.350000 1.000000 -0.175000
|
||||
v -0.350000 1.000000 0.175000
|
||||
v -0.303109 1.175000 -0.175000
|
||||
v -0.303109 1.175000 0.175000
|
||||
v -0.175000 1.303109 -0.175000
|
||||
v -0.175000 1.303109 0.175000
|
||||
v -0.000000 1.210000 -0.175000
|
||||
v 0.105000 1.181865 -0.175000
|
||||
v 0.105000 1.181865 0.175000
|
||||
v -0.000000 1.210000 0.175000
|
||||
v 0.181865 1.105000 -0.175000
|
||||
v 0.181865 1.105000 0.175000
|
||||
v 0.210000 1.000000 -0.175000
|
||||
v 0.210000 1.000000 0.175000
|
||||
v 0.181865 0.895000 -0.175000
|
||||
v 0.181865 0.895000 0.175000
|
||||
v 0.105000 0.818135 -0.175000
|
||||
v 0.105000 0.818135 0.175000
|
||||
v 0.000000 0.790000 -0.175000
|
||||
v 0.000000 0.790000 0.175000
|
||||
v -0.105000 0.818135 -0.175000
|
||||
v -0.105000 0.818135 0.175000
|
||||
v -0.181865 0.895000 -0.175000
|
||||
v -0.181865 0.895000 0.175000
|
||||
v -0.210000 1.000000 -0.175000
|
||||
v -0.210000 1.000000 0.175000
|
||||
v -0.181865 1.105000 -0.175000
|
||||
v -0.181865 1.105000 0.175000
|
||||
v -0.105000 1.181865 -0.175000
|
||||
v -0.105000 1.181865 0.175000
|
||||
v 0.105000 1.181865 0.225000
|
||||
v -0.000000 1.210000 0.225000
|
||||
v -0.105000 1.181865 0.225000
|
||||
v -0.181865 1.105000 0.225000
|
||||
v -0.210000 1.000000 0.225000
|
||||
v -0.181865 0.895000 0.225000
|
||||
v -0.105000 0.818135 0.225000
|
||||
v 0.000000 0.790000 0.225000
|
||||
v 0.105000 0.818135 0.225000
|
||||
v 0.181865 0.895000 0.225000
|
||||
v 0.210000 1.000000 0.225000
|
||||
v 0.181865 1.105000 0.225000
|
||||
v -0.000000 1.210000 -0.225000
|
||||
v 0.105000 1.181865 -0.225000
|
||||
v 0.181865 1.105000 -0.225000
|
||||
v 0.210000 1.000000 -0.225000
|
||||
v 0.181865 0.895000 -0.225000
|
||||
v 0.105000 0.818135 -0.225000
|
||||
v 0.000000 0.790000 -0.225000
|
||||
v -0.105000 0.818135 -0.225000
|
||||
v -0.181865 0.895000 -0.225000
|
||||
v -0.210000 1.000000 -0.225000
|
||||
v -0.181865 1.105000 -0.225000
|
||||
v -0.105000 1.181865 -0.225000
|
||||
v -0.375000 0.000000 0.237500
|
||||
v -0.250000 0.000000 0.237500
|
||||
v 0.250000 0.000000 0.237500
|
||||
v 0.375000 0.000000 0.237500
|
||||
v -0.375000 0.000000 0.175000
|
||||
v -0.250000 0.000000 0.175000
|
||||
v 0.250000 0.000000 0.175000
|
||||
v 0.375000 0.000000 0.175000
|
||||
v -0.375000 0.000000 -0.175000
|
||||
v -0.250000 0.000000 -0.175000
|
||||
v 0.250000 0.000000 -0.175000
|
||||
v 0.375000 0.000000 -0.175000
|
||||
v -0.375000 0.000000 -0.237500
|
||||
v -0.250000 0.000000 -0.237500
|
||||
v 0.250000 0.000000 -0.237500
|
||||
v 0.375000 0.000000 -0.237500
|
||||
v 0.335000 1.000000 -0.237500
|
||||
v 0.210000 1.000000 -0.237500
|
||||
v -0.210000 1.000000 -0.237500
|
||||
v -0.335000 1.000000 -0.237500
|
||||
v 0.210000 1.040000 -0.175000
|
||||
v 0.335000 1.040000 -0.175000
|
||||
v -0.335000 1.030000 -0.175000
|
||||
v -0.210000 1.030000 -0.175000
|
||||
v 0.335000 1.030000 0.175000
|
||||
v 0.210000 1.030000 0.175000
|
||||
v -0.210000 1.030000 0.175000
|
||||
v -0.335000 1.030000 0.175000
|
||||
v 0.210000 1.000000 0.237500
|
||||
v 0.335000 1.000000 0.237500
|
||||
v -0.335000 1.000000 0.237500
|
||||
v -0.210000 1.000000 0.237500
|
||||
v -0.156250 0.000000 -0.156250
|
||||
v -0.156250 0.000000 0.156250
|
||||
v 0.156250 0.000000 -0.156250
|
||||
v 0.156250 0.000000 0.156250
|
||||
v -0.078125 0.156250 -0.078125
|
||||
v -0.078125 0.156250 0.078125
|
||||
v 0.078125 0.156250 0.078125
|
||||
v 0.078125 0.156250 -0.078125
|
||||
v -0.078125 0.706250 -0.078125
|
||||
v -0.078125 0.706250 0.078125
|
||||
v 0.078125 0.706250 0.078125
|
||||
v 0.078125 0.706250 -0.078125
|
||||
vn 0.258800 0.965900 0.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn 0.965900 0.258800 0.000000
|
||||
vn 0.965900 -0.258800 0.000000
|
||||
vn 0.707100 -0.707100 0.000000
|
||||
vn 0.258800 -0.965900 0.000000
|
||||
vn -0.258800 -0.965900 0.000000
|
||||
vn -0.707100 -0.707100 0.000000
|
||||
vn -0.965900 -0.258800 0.000000
|
||||
vn -0.965900 0.258800 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn -0.258800 0.965900 0.000000
|
||||
vn -0.707100 0.707100 0.000000
|
||||
vn 0.000000 -0.000000 -1.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.999200 -0.040000 0.000000
|
||||
vn -0.999200 -0.040000 0.000000
|
||||
vn 0.999100 -0.038800 -0.018600
|
||||
vn -0.999100 0.038800 -0.018600
|
||||
vn -0.999200 0.040000 0.000000
|
||||
vn 0.999200 0.040000 0.000000
|
||||
vn 0.999100 0.038800 0.018600
|
||||
vn -0.999000 -0.038400 0.024600
|
||||
vn 0.000000 0.842300 -0.539100
|
||||
vn 0.000000 0.901500 -0.432700
|
||||
vn 0.000000 0.901500 0.432700
|
||||
vn 0.000000 0.447200 0.894400
|
||||
vn -0.894400 0.447200 0.000000
|
||||
vn 0.000000 0.447200 -0.894400
|
||||
vn 0.894400 0.447200 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.999100 -0.038800 0.018600
|
||||
vn -0.999100 -0.038800 -0.018600
|
||||
vn -0.999100 0.038800 0.018600
|
||||
vn 0.999000 0.038400 -0.024600
|
||||
s off
|
||||
f 2//1 4//1 3//1
|
||||
f 4//2 6//2 5//2
|
||||
f 6//3 8//3 7//3
|
||||
f 8//4 10//4 9//4
|
||||
f 10//5 12//5 11//5
|
||||
f 12//6 14//6 13//6
|
||||
f 14//7 16//7 15//7
|
||||
f 16//8 18//8 17//8
|
||||
f 18//9 20//9 19//9
|
||||
f 20//10 22//10 21//10
|
||||
f 16//11 14//11 38//11
|
||||
f 24//12 2//12 1//12
|
||||
f 22//13 24//13 23//13
|
||||
f 4//11 27//11 30//11
|
||||
f 24//11 48//11 28//11
|
||||
f 11//14 35//14 33//14
|
||||
f 21//14 45//14 43//14
|
||||
f 10//11 34//11 36//11
|
||||
f 20//11 44//11 46//11
|
||||
f 7//14 31//14 29//14
|
||||
f 15//14 17//14 41//14
|
||||
f 3//14 26//14 25//14
|
||||
f 6//11 30//11 32//11
|
||||
f 16//11 40//11 42//11
|
||||
f 2//11 28//11 27//11
|
||||
f 13//14 37//14 35//14
|
||||
f 21//14 23//14 47//14
|
||||
f 12//11 36//11 38//11
|
||||
f 22//11 46//11 48//11
|
||||
f 9//14 33//14 31//14
|
||||
f 17//14 19//14 43//14
|
||||
f 8//11 32//11 34//11
|
||||
f 18//11 42//11 44//11
|
||||
f 3//14 5//14 29//14
|
||||
f 15//14 39//14 37//14
|
||||
f 1//14 25//14 47//14
|
||||
f 52//11 58//11 60//11
|
||||
f 50//1 49//1 27//1
|
||||
f 51//12 50//12 28//12
|
||||
f 46//13 52//13 51//13
|
||||
f 44//10 53//10 52//10
|
||||
f 42//9 54//9 53//9
|
||||
f 40//8 55//8 54//8
|
||||
f 56//7 55//7 40//7
|
||||
f 57//6 56//6 38//6
|
||||
f 58//5 57//5 36//5
|
||||
f 59//4 58//4 34//4
|
||||
f 60//3 59//3 32//3
|
||||
f 49//2 60//2 30//2
|
||||
f 66//14 68//14 72//14
|
||||
f 62//1 61//1 25//1
|
||||
f 63//2 62//2 26//2
|
||||
f 64//3 63//3 29//3
|
||||
f 65//4 64//4 31//4
|
||||
f 66//5 65//5 33//5
|
||||
f 67//6 66//6 35//6
|
||||
f 68//7 67//7 37//7
|
||||
f 69//8 68//8 39//8
|
||||
f 43//9 70//9 69//9
|
||||
f 45//10 71//10 70//10
|
||||
f 47//13 72//13 71//13
|
||||
f 61//12 72//12 47//12
|
||||
f 77//15 78//15 74//15
|
||||
f 79//15 80//15 76//15
|
||||
f 85//15 86//15 82//15
|
||||
f 87//15 88//15 84//15
|
||||
f 78//14 77//14 100//14
|
||||
f 82//16 86//16 91//16
|
||||
f 79//17 75//17 101//17
|
||||
f 78//18 99//18 104//18
|
||||
f 82//11 96//11 95//11
|
||||
f 74//11 104//11 103//11
|
||||
f 81//19 95//19 92//19
|
||||
f 77//20 73//20 103//20
|
||||
f 87//14 90//14 89//14
|
||||
f 79//14 98//14 97//14
|
||||
f 84//21 88//21 89//21
|
||||
f 80//22 97//22 102//22
|
||||
f 83//11 84//11 94//11
|
||||
f 86//14 85//14 92//14
|
||||
f 75//11 76//11 102//11
|
||||
f 83//23 93//23 90//23
|
||||
f 94//24 89//24 90//24
|
||||
f 96//25 91//25 92//25
|
||||
f 102//26 97//26 98//26
|
||||
f 104//26 99//26 100//26
|
||||
f 106//15 105//15 107//15
|
||||
f 111//11 115//11 114//11
|
||||
f 108//27 111//27 110//27
|
||||
f 106//28 110//28 109//28
|
||||
f 105//29 109//29 112//29
|
||||
f 107//30 112//30 111//30
|
||||
f 110//31 114//31 113//31
|
||||
f 109//14 113//14 116//14
|
||||
f 112//32 116//32 115//32
|
||||
f 1//1 2//1 3//1
|
||||
f 3//2 4//2 5//2
|
||||
f 5//3 6//3 7//3
|
||||
f 7//4 8//4 9//4
|
||||
f 9//5 10//5 11//5
|
||||
f 11//6 12//6 13//6
|
||||
f 13//7 14//7 15//7
|
||||
f 15//8 16//8 17//8
|
||||
f 17//9 18//9 19//9
|
||||
f 19//10 20//10 21//10
|
||||
f 40//11 16//11 38//11
|
||||
f 23//12 24//12 1//12
|
||||
f 21//13 22//13 23//13
|
||||
f 6//11 4//11 30//11
|
||||
f 2//11 24//11 28//11
|
||||
f 9//14 11//14 33//14
|
||||
f 19//14 21//14 43//14
|
||||
f 12//11 10//11 36//11
|
||||
f 22//11 20//11 46//11
|
||||
f 5//14 7//14 29//14
|
||||
f 39//14 15//14 41//14
|
||||
f 1//14 3//14 25//14
|
||||
f 8//11 6//11 32//11
|
||||
f 18//11 16//11 42//11
|
||||
f 4//11 2//11 27//11
|
||||
f 11//14 13//14 35//14
|
||||
f 45//14 21//14 47//14
|
||||
f 14//11 12//11 38//11
|
||||
f 24//11 22//11 48//11
|
||||
f 7//14 9//14 31//14
|
||||
f 41//14 17//14 43//14
|
||||
f 10//11 8//11 34//11
|
||||
f 20//11 18//11 44//11
|
||||
f 26//14 3//14 29//14
|
||||
f 13//14 15//14 37//14
|
||||
f 23//14 1//14 47//14
|
||||
f 60//11 49//11 50//11
|
||||
f 50//11 51//11 60//11
|
||||
f 52//11 53//11 54//11
|
||||
f 54//11 55//11 52//11
|
||||
f 56//11 57//11 58//11
|
||||
f 58//11 59//11 60//11
|
||||
f 60//11 51//11 52//11
|
||||
f 52//11 55//11 56//11
|
||||
f 56//11 58//11 52//11
|
||||
f 28//1 50//1 27//1
|
||||
f 48//12 51//12 28//12
|
||||
f 48//13 46//13 51//13
|
||||
f 46//10 44//10 52//10
|
||||
f 44//9 42//9 53//9
|
||||
f 42//8 40//8 54//8
|
||||
f 38//7 56//7 40//7
|
||||
f 36//6 57//6 38//6
|
||||
f 34//5 58//5 36//5
|
||||
f 32//4 59//4 34//4
|
||||
f 30//3 60//3 32//3
|
||||
f 27//2 49//2 30//2
|
||||
f 72//14 61//14 62//14
|
||||
f 62//14 63//14 64//14
|
||||
f 64//14 65//14 66//14
|
||||
f 66//14 67//14 68//14
|
||||
f 68//14 69//14 70//14
|
||||
f 70//14 71//14 72//14
|
||||
f 72//14 62//14 64//14
|
||||
f 64//14 66//14 72//14
|
||||
f 68//14 70//14 72//14
|
||||
f 26//1 62//1 25//1
|
||||
f 29//2 63//2 26//2
|
||||
f 31//3 64//3 29//3
|
||||
f 33//4 65//4 31//4
|
||||
f 35//5 66//5 33//5
|
||||
f 37//6 67//6 35//6
|
||||
f 39//7 68//7 37//7
|
||||
f 41//8 69//8 39//8
|
||||
f 41//9 43//9 69//9
|
||||
f 43//10 45//10 70//10
|
||||
f 45//13 47//13 71//13
|
||||
f 25//12 61//12 47//12
|
||||
f 73//15 77//15 74//15
|
||||
f 75//15 79//15 76//15
|
||||
f 81//15 85//15 82//15
|
||||
f 83//15 87//15 84//15
|
||||
f 99//14 78//14 100//14
|
||||
f 96//33 82//33 91//33
|
||||
f 98//34 79//34 101//34
|
||||
f 74//16 78//16 104//16
|
||||
f 81//11 82//11 95//11
|
||||
f 73//11 74//11 103//11
|
||||
f 85//20 81//20 92//20
|
||||
f 100//35 77//35 103//35
|
||||
f 88//14 87//14 89//14
|
||||
f 80//14 79//14 97//14
|
||||
f 94//36 84//36 89//36
|
||||
f 76//21 80//21 102//21
|
||||
f 93//11 83//11 94//11
|
||||
f 91//14 86//14 92//14
|
||||
f 101//11 75//11 102//11
|
||||
f 87//17 83//17 90//17
|
||||
f 93//24 94//24 90//24
|
||||
f 95//25 96//25 92//25
|
||||
f 101//26 102//26 98//26
|
||||
f 103//26 104//26 100//26
|
||||
f 108//15 106//15 107//15
|
||||
f 110//11 111//11 114//11
|
||||
f 106//27 108//27 110//27
|
||||
f 105//28 106//28 109//28
|
||||
f 107//29 105//29 112//29
|
||||
f 108//30 107//30 111//30
|
||||
f 109//31 110//31 113//31
|
||||
f 112//14 109//14 116//14
|
||||
f 111//32 112//32 115//32
|
||||
327
assets/hbm/models/selenium_engine_piston.obj
Normal file
@ -0,0 +1,327 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_piston.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v 0.088388 0.650000 0.088388
|
||||
v 0.088388 0.250000 0.088388
|
||||
v 0.125000 0.650000 0.000000
|
||||
v 0.125000 0.250000 0.000000
|
||||
v 0.088388 0.650000 -0.088388
|
||||
v 0.088388 0.250000 -0.088388
|
||||
v -0.000000 0.650000 -0.125000
|
||||
v -0.000000 0.250000 -0.125000
|
||||
v -0.088389 0.650000 -0.088388
|
||||
v -0.088388 0.250000 -0.088388
|
||||
v -0.125000 0.650000 -0.000000
|
||||
v -0.125000 0.250000 -0.000000
|
||||
v -0.088389 0.650000 0.088388
|
||||
v -0.088388 0.250000 0.088388
|
||||
v -0.000000 0.650000 0.125000
|
||||
v -0.000000 0.250000 0.125000
|
||||
v -0.000000 0.650000 0.156250
|
||||
v -0.000000 0.775000 0.156250
|
||||
v -0.110486 0.650000 0.110485
|
||||
v -0.110486 0.775000 0.110485
|
||||
v -0.156250 0.650000 -0.000000
|
||||
v -0.156250 0.775000 -0.000000
|
||||
v -0.110486 0.650000 -0.110485
|
||||
v -0.110486 0.775000 -0.110485
|
||||
v -0.000000 0.650000 -0.156250
|
||||
v -0.000000 0.775000 -0.156250
|
||||
v 0.110485 0.650000 -0.110485
|
||||
v 0.110485 0.775000 -0.110485
|
||||
v 0.156250 0.650000 0.000000
|
||||
v 0.156250 0.775000 0.000000
|
||||
v 0.110485 0.650000 0.110485
|
||||
v 0.110485 0.775000 0.110485
|
||||
v 0.200000 0.750000 0.050000
|
||||
v 0.135000 0.750000 -0.050000
|
||||
v 0.200000 0.750000 -0.050000
|
||||
v 0.135000 0.750000 0.050000
|
||||
v 0.235000 0.715000 0.050000
|
||||
v 0.235000 0.715000 -0.050000
|
||||
v 0.235000 0.615000 0.050000
|
||||
v 0.235000 0.615000 -0.050000
|
||||
v 0.160000 0.465000 0.050000
|
||||
v 0.160000 0.465000 -0.050000
|
||||
v 0.160000 0.265000 0.050000
|
||||
v 0.160000 0.265000 -0.050000
|
||||
v -0.125000 0.300000 0.107322
|
||||
v -0.125000 0.650000 0.107322
|
||||
v -0.107322 0.300000 0.125000
|
||||
v -0.107323 0.650000 0.125000
|
||||
v -0.142678 0.300000 0.125000
|
||||
v -0.142678 0.650000 0.125000
|
||||
v -0.125000 0.300000 0.142678
|
||||
v -0.125000 0.650000 0.142678
|
||||
v -0.125000 0.650000 0.098483
|
||||
v -0.098484 0.650000 0.125000
|
||||
v -0.151517 0.650000 0.125000
|
||||
v -0.125000 0.650000 0.151516
|
||||
v -0.110000 0.750000 0.083483
|
||||
v -0.083484 0.750000 0.110000
|
||||
v -0.110000 0.750000 0.136516
|
||||
v -0.136517 0.750000 0.110000
|
||||
v 0.125000 0.300000 0.107322
|
||||
v 0.125000 0.650000 0.107322
|
||||
v 0.142678 0.300000 0.125000
|
||||
v 0.142677 0.650000 0.125000
|
||||
v 0.107322 0.300000 0.125000
|
||||
v 0.107322 0.650000 0.125000
|
||||
v 0.125000 0.300000 0.142678
|
||||
v 0.125000 0.650000 0.142678
|
||||
v 0.125000 0.650000 0.098484
|
||||
v 0.151516 0.650000 0.125000
|
||||
v 0.098483 0.650000 0.125000
|
||||
v 0.125000 0.650000 0.151517
|
||||
v 0.110000 0.750000 0.083484
|
||||
v 0.136516 0.750000 0.110000
|
||||
v 0.110000 0.750000 0.136517
|
||||
v 0.083483 0.750000 0.110000
|
||||
v 0.125000 0.300000 -0.142678
|
||||
v 0.125000 0.650000 -0.142678
|
||||
v 0.142678 0.300000 -0.125000
|
||||
v 0.142678 0.650000 -0.125000
|
||||
v 0.107322 0.300000 -0.125000
|
||||
v 0.107322 0.650000 -0.125000
|
||||
v 0.125000 0.300000 -0.107322
|
||||
v 0.125000 0.650000 -0.107322
|
||||
v 0.125000 0.650000 -0.151516
|
||||
v 0.151516 0.650000 -0.125000
|
||||
v 0.098483 0.650000 -0.125000
|
||||
v 0.125000 0.650000 -0.098483
|
||||
v 0.110000 0.750000 -0.136516
|
||||
v 0.136516 0.750000 -0.110000
|
||||
v 0.110000 0.750000 -0.083483
|
||||
v 0.083483 0.750000 -0.110000
|
||||
v -0.125000 0.300000 -0.142678
|
||||
v -0.125000 0.650000 -0.142678
|
||||
v -0.107322 0.300000 -0.125000
|
||||
v -0.107322 0.650000 -0.125000
|
||||
v -0.142678 0.300000 -0.125000
|
||||
v -0.142678 0.650000 -0.125000
|
||||
v -0.125000 0.300000 -0.107322
|
||||
v -0.125000 0.650000 -0.107322
|
||||
v -0.125000 0.650000 -0.151517
|
||||
v -0.098484 0.650000 -0.125000
|
||||
v -0.151517 0.650000 -0.125000
|
||||
v -0.125000 0.650000 -0.098484
|
||||
v -0.110000 0.750000 -0.136517
|
||||
v -0.083484 0.750000 -0.110000
|
||||
v -0.110000 0.750000 -0.083484
|
||||
v -0.136517 0.750000 -0.110000
|
||||
v -0.100000 0.200000 -0.075000
|
||||
v -0.100000 0.712500 -0.075000
|
||||
v -0.100000 0.200000 0.075000
|
||||
v -0.100000 0.712500 0.075000
|
||||
v -0.200000 0.200000 -0.075000
|
||||
v -0.200000 0.612500 -0.075000
|
||||
v -0.200000 0.200000 0.075000
|
||||
v -0.200000 0.612500 0.075000
|
||||
vn 0.382700 0.000000 -0.923900
|
||||
vn -0.923900 -0.000000 -0.382700
|
||||
vn 0.923900 0.000000 0.382700
|
||||
vn 0.382700 0.000000 0.923900
|
||||
vn -0.382700 -0.000000 -0.923900
|
||||
vn -0.923900 -0.000000 0.382700
|
||||
vn 0.923900 0.000000 -0.382700
|
||||
vn -0.382700 -0.000000 0.923900
|
||||
vn -0.000000 1.000000 -0.000000
|
||||
vn 0.000000 -1.000000 -0.000000
|
||||
vn 0.707100 0.707100 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.894400 -0.447200 0.000000
|
||||
vn 0.707100 0.000000 -0.707100
|
||||
vn 0.707100 0.000000 0.707100
|
||||
vn -0.707100 -0.000000 0.707100
|
||||
vn -0.707100 -0.000000 -0.707100
|
||||
vn -0.691700 0.207500 0.691700
|
||||
vn 0.691700 -0.207500 -0.691700
|
||||
vn -0.691700 -0.207500 -0.691700
|
||||
vn 0.691700 0.207500 0.691700
|
||||
vn -0.691700 -0.207500 0.691700
|
||||
vn 0.691700 0.207500 -0.691700
|
||||
vn -0.691700 0.207500 -0.691700
|
||||
vn 0.691700 -0.207500 0.691700
|
||||
vn -0.000000 -0.000000 1.000000
|
||||
vn -1.000000 -0.000000 -0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -0.707100 0.707100 -0.000000
|
||||
s off
|
||||
f 7//1 5//1 6//1
|
||||
f 11//2 9//2 10//2
|
||||
f 3//3 1//3 2//3
|
||||
f 1//4 15//4 16//4
|
||||
f 9//5 7//5 8//5
|
||||
f 13//6 11//6 12//6
|
||||
f 5//7 3//7 4//7
|
||||
f 15//8 13//8 14//8
|
||||
f 18//8 20//8 19//8
|
||||
f 20//6 22//6 21//6
|
||||
f 22//2 24//2 23//2
|
||||
f 24//5 26//5 25//5
|
||||
f 26//1 28//1 27//1
|
||||
f 28//7 30//7 29//7
|
||||
f 30//9 24//9 22//9
|
||||
f 32//4 18//4 17//4
|
||||
f 30//3 32//3 31//3
|
||||
f 3//10 5//10 27//10
|
||||
f 3//10 29//10 31//10
|
||||
f 15//10 1//10 31//10
|
||||
f 15//10 17//10 19//10
|
||||
f 11//10 13//10 19//10
|
||||
f 11//10 21//10 23//10
|
||||
f 7//10 9//10 23//10
|
||||
f 7//10 25//10 27//10
|
||||
f 35//9 34//9 36//9
|
||||
f 33//11 37//11 38//11
|
||||
f 39//12 40//12 38//12
|
||||
f 41//13 42//13 40//13
|
||||
f 43//12 44//12 42//12
|
||||
f 48//14 47//14 45//14
|
||||
f 52//15 51//15 47//15
|
||||
f 50//16 49//16 51//16
|
||||
f 46//17 45//17 49//17
|
||||
f 46//10 53//10 54//10
|
||||
f 46//10 50//10 55//10
|
||||
f 48//10 54//10 56//10
|
||||
f 52//10 56//10 55//10
|
||||
f 53//17 55//17 60//17
|
||||
f 60//9 59//9 58//9
|
||||
f 54//15 58//15 59//15
|
||||
f 56//18 59//18 60//18
|
||||
f 54//19 53//19 57//19
|
||||
f 64//14 63//14 61//14
|
||||
f 68//15 67//15 63//15
|
||||
f 66//16 65//16 67//16
|
||||
f 62//17 61//17 65//17
|
||||
f 62//10 69//10 70//10
|
||||
f 66//10 71//10 69//10
|
||||
f 64//10 70//10 72//10
|
||||
f 68//10 72//10 71//10
|
||||
f 69//20 71//20 76//20
|
||||
f 76//9 75//9 74//9
|
||||
f 70//21 74//21 75//21
|
||||
f 71//16 72//16 75//16
|
||||
f 69//14 73//14 74//14
|
||||
f 80//14 79//14 77//14
|
||||
f 84//15 83//15 79//15
|
||||
f 82//16 81//16 83//16
|
||||
f 78//17 77//17 81//17
|
||||
f 78//10 85//10 86//10
|
||||
f 78//10 82//10 87//10
|
||||
f 84//10 80//10 86//10
|
||||
f 84//10 88//10 87//10
|
||||
f 87//17 92//17 89//17
|
||||
f 89//9 92//9 91//9
|
||||
f 88//15 86//15 90//15
|
||||
f 88//22 91//22 92//22
|
||||
f 86//23 85//23 89//23
|
||||
f 96//14 95//14 93//14
|
||||
f 100//15 99//15 95//15
|
||||
f 98//16 97//16 99//16
|
||||
f 94//17 93//17 97//17
|
||||
f 96//10 94//10 101//10
|
||||
f 94//10 98//10 103//10
|
||||
f 96//10 102//10 104//10
|
||||
f 98//10 100//10 104//10
|
||||
f 103//24 108//24 105//24
|
||||
f 108//9 107//9 106//9
|
||||
f 102//25 106//25 107//25
|
||||
f 104//16 107//16 108//16
|
||||
f 102//14 101//14 105//14
|
||||
f 112//12 111//12 109//12
|
||||
f 116//26 115//26 111//26
|
||||
f 114//27 113//27 115//27
|
||||
f 114//28 110//28 109//28
|
||||
f 116//29 112//29 110//29
|
||||
f 8//1 7//1 6//1
|
||||
f 12//2 11//2 10//2
|
||||
f 4//3 3//3 2//3
|
||||
f 2//4 1//4 16//4
|
||||
f 10//5 9//5 8//5
|
||||
f 14//6 13//6 12//6
|
||||
f 6//7 5//7 4//7
|
||||
f 16//8 15//8 14//8
|
||||
f 17//8 18//8 19//8
|
||||
f 19//6 20//6 21//6
|
||||
f 21//2 22//2 23//2
|
||||
f 23//5 24//5 25//5
|
||||
f 25//1 26//1 27//1
|
||||
f 27//7 28//7 29//7
|
||||
f 22//9 20//9 30//9
|
||||
f 18//9 32//9 30//9
|
||||
f 30//9 28//9 26//9
|
||||
f 26//9 24//9 30//9
|
||||
f 20//9 18//9 30//9
|
||||
f 31//4 32//4 17//4
|
||||
f 29//3 30//3 31//3
|
||||
f 29//10 3//10 27//10
|
||||
f 1//10 3//10 31//10
|
||||
f 17//10 15//10 31//10
|
||||
f 13//10 15//10 19//10
|
||||
f 21//10 11//10 19//10
|
||||
f 9//10 11//10 23//10
|
||||
f 25//10 7//10 23//10
|
||||
f 5//10 7//10 27//10
|
||||
f 33//9 35//9 36//9
|
||||
f 35//11 33//11 38//11
|
||||
f 37//12 39//12 38//12
|
||||
f 39//13 41//13 40//13
|
||||
f 41//12 43//12 42//12
|
||||
f 46//14 48//14 45//14
|
||||
f 48//15 52//15 47//15
|
||||
f 52//16 50//16 51//16
|
||||
f 50//17 46//17 49//17
|
||||
f 48//10 46//10 54//10
|
||||
f 53//10 46//10 55//10
|
||||
f 52//10 48//10 56//10
|
||||
f 50//10 52//10 55//10
|
||||
f 57//17 53//17 60//17
|
||||
f 57//9 60//9 58//9
|
||||
f 56//15 54//15 59//15
|
||||
f 55//18 56//18 60//18
|
||||
f 58//19 54//19 57//19
|
||||
f 62//14 64//14 61//14
|
||||
f 64//15 68//15 63//15
|
||||
f 68//16 66//16 67//16
|
||||
f 66//17 62//17 65//17
|
||||
f 64//10 62//10 70//10
|
||||
f 62//10 66//10 69//10
|
||||
f 68//10 64//10 72//10
|
||||
f 66//10 68//10 71//10
|
||||
f 73//20 69//20 76//20
|
||||
f 73//9 76//9 74//9
|
||||
f 72//21 70//21 75//21
|
||||
f 76//16 71//16 75//16
|
||||
f 70//14 69//14 74//14
|
||||
f 78//14 80//14 77//14
|
||||
f 80//15 84//15 79//15
|
||||
f 84//16 82//16 83//16
|
||||
f 82//17 78//17 81//17
|
||||
f 80//10 78//10 86//10
|
||||
f 85//10 78//10 87//10
|
||||
f 88//10 84//10 86//10
|
||||
f 82//10 84//10 87//10
|
||||
f 85//17 87//17 89//17
|
||||
f 90//9 89//9 91//9
|
||||
f 91//15 88//15 90//15
|
||||
f 87//22 88//22 92//22
|
||||
f 90//23 86//23 89//23
|
||||
f 94//14 96//14 93//14
|
||||
f 96//15 100//15 95//15
|
||||
f 100//16 98//16 99//16
|
||||
f 98//17 94//17 97//17
|
||||
f 102//10 96//10 101//10
|
||||
f 101//10 94//10 103//10
|
||||
f 100//10 96//10 104//10
|
||||
f 103//10 98//10 104//10
|
||||
f 101//24 103//24 105//24
|
||||
f 105//9 108//9 106//9
|
||||
f 104//25 102//25 107//25
|
||||
f 103//16 104//16 108//16
|
||||
f 106//14 102//14 105//14
|
||||
f 110//12 112//12 109//12
|
||||
f 112//26 116//26 111//26
|
||||
f 116//27 114//27 115//27
|
||||
f 113//28 114//28 109//28
|
||||
f 114//29 116//29 110//29
|
||||
108
assets/hbm/models/selenium_engine_rotor.obj
Normal file
@ -0,0 +1,108 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_rotor.blend'
|
||||
# www.blender.org
|
||||
o Cylinder.001_Cylinder.002
|
||||
v 0.000000 0.050000 -0.262500
|
||||
v 0.000000 0.050000 0.262500
|
||||
v -0.035355 -0.035355 -0.262500
|
||||
v -0.035355 -0.035355 0.262500
|
||||
v -0.050000 -0.000000 -0.262500
|
||||
v -0.050000 0.000000 0.262500
|
||||
v -0.035355 0.035355 -0.262500
|
||||
v -0.035355 0.035355 0.262500
|
||||
v 0.000000 0.150000 -0.262500
|
||||
v 0.000000 0.150000 0.262500
|
||||
v -0.106066 -0.106066 -0.262500
|
||||
v -0.106066 -0.106066 0.262500
|
||||
v -0.150000 -0.000000 -0.262500
|
||||
v -0.150000 0.000000 0.262500
|
||||
v -0.106066 0.106066 -0.262500
|
||||
v -0.106066 0.106066 0.262500
|
||||
v 0.035355 0.035355 0.325000
|
||||
v 0.000000 0.050000 0.325000
|
||||
v -0.035355 0.035355 0.325000
|
||||
v -0.050000 0.000000 0.325000
|
||||
v -0.035355 -0.035355 0.325000
|
||||
v -0.000000 -0.050000 0.325000
|
||||
v 0.035355 -0.035355 0.325000
|
||||
v 0.050000 0.000000 0.325000
|
||||
v 0.000000 0.050000 -0.325000
|
||||
v 0.035355 0.035355 -0.325000
|
||||
v 0.050000 -0.000000 -0.325000
|
||||
v 0.035355 -0.035355 -0.325000
|
||||
v -0.000000 -0.050000 -0.325000
|
||||
v -0.035355 -0.035355 -0.325000
|
||||
v -0.050000 -0.000000 -0.325000
|
||||
v -0.035355 0.035355 -0.325000
|
||||
vn 0.707100 -0.707100 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.000000 0.000000 1.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn 0.382700 0.923900 -0.000000
|
||||
vn 0.923900 0.382700 -0.000000
|
||||
vn 0.923900 -0.382700 0.000000
|
||||
vn 0.382700 -0.923900 0.000000
|
||||
vn -0.382700 -0.923900 0.000000
|
||||
s off
|
||||
f 3//1 4//1 12//1
|
||||
f 12//2 14//2 13//2
|
||||
f 16//3 10//3 9//3
|
||||
f 14//4 16//4 15//4
|
||||
f 6//5 14//5 12//5
|
||||
f 8//5 16//5 14//5
|
||||
f 1//6 9//6 10//6
|
||||
f 2//5 10//5 16//5
|
||||
f 7//7 15//7 9//7
|
||||
f 3//7 11//7 13//7
|
||||
f 5//7 13//7 15//7
|
||||
f 20//5 22//5 18//5
|
||||
f 8//3 19//3 18//3
|
||||
f 20//4 19//4 8//4
|
||||
f 21//2 20//2 6//2
|
||||
f 29//7 30//7 32//7
|
||||
f 2//8 26//8 1//8
|
||||
f 31//2 30//2 3//2
|
||||
f 32//4 31//4 5//4
|
||||
f 25//3 32//3 7//3
|
||||
f 24//9 27//9 26//9
|
||||
f 23//10 28//10 27//10
|
||||
f 22//11 29//11 28//11
|
||||
f 29//12 22//12 4//12
|
||||
f 11//1 3//1 12//1
|
||||
f 11//2 12//2 13//2
|
||||
f 15//3 16//3 9//3
|
||||
f 13//4 14//4 15//4
|
||||
f 4//5 6//5 12//5
|
||||
f 6//5 8//5 14//5
|
||||
f 2//6 1//6 10//6
|
||||
f 8//5 2//5 16//5
|
||||
f 1//7 7//7 9//7
|
||||
f 5//7 3//7 13//7
|
||||
f 7//7 5//7 15//7
|
||||
f 24//5 17//5 18//5
|
||||
f 18//5 19//5 20//5
|
||||
f 20//5 21//5 22//5
|
||||
f 22//5 23//5 24//5
|
||||
f 24//5 18//5 22//5
|
||||
f 2//3 8//3 18//3
|
||||
f 6//4 20//4 8//4
|
||||
f 4//2 21//2 6//2
|
||||
f 32//7 25//7 28//7
|
||||
f 26//7 27//7 28//7
|
||||
f 28//7 29//7 32//7
|
||||
f 30//7 31//7 32//7
|
||||
f 25//7 26//7 28//7
|
||||
f 25//8 1//8 26//8
|
||||
f 2//8 18//8 17//8
|
||||
f 17//8 26//8 2//8
|
||||
f 5//2 31//2 3//2
|
||||
f 7//4 32//4 5//4
|
||||
f 1//3 25//3 7//3
|
||||
f 17//9 24//9 26//9
|
||||
f 24//10 23//10 27//10
|
||||
f 23//11 22//11 28//11
|
||||
f 4//12 3//12 29//12
|
||||
f 30//12 29//12 3//12
|
||||
f 22//12 21//12 4//12
|
||||
BIN
assets/hbm/textures/blocks/fusion_center_side_alt.png
Normal file
|
After Width: | Height: | Size: 335 B |
BIN
assets/hbm/textures/blocks/fusion_center_top_alt.png
Normal file
|
After Width: | Height: | Size: 571 B |
BIN
assets/hbm/textures/blocks/fusion_conductor_side_alt2.png
Normal file
|
After Width: | Height: | Size: 333 B |
BIN
assets/hbm/textures/blocks/fusion_conductor_side_alt3.png
Normal file
|
After Width: | Height: | Size: 348 B |
BIN
assets/hbm/textures/blocks/fusion_core_side_alt.png
Normal file
|
After Width: | Height: | Size: 713 B |
BIN
assets/hbm/textures/blocks/fusion_motor_side_alt.png
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
assets/hbm/textures/blocks/fusion_motor_top_alt.png
Normal file
|
After Width: | Height: | Size: 287 B |
BIN
assets/hbm/textures/blocks/machine_selenium.png
Normal file
|
After Width: | Height: | Size: 257 B |
BIN
assets/hbm/textures/gui/gui_selenium.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
assets/hbm/textures/gui/gui_utility.png
Normal file
|
After Width: | Height: | Size: 733 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB |
BIN
assets/hbm/textures/items/circuit_targeting_burnt.png
Normal file
|
After Width: | Height: | Size: 360 B |
BIN
assets/hbm/textures/items/n2_charge.png
Normal file
|
After Width: | Height: | Size: 389 B |
BIN
assets/hbm/textures/items/piston_selenium.png
Normal file
|
After Width: | Height: | Size: 400 B |
@ -410,6 +410,9 @@ public class ModBlocks {
|
||||
public static Block machine_turbofan;
|
||||
public static final int guiID_machine_turbofan = 52;
|
||||
|
||||
public static Block machine_selenium;
|
||||
public static final int guiID_machine_selenium = 63;
|
||||
|
||||
public static Block machine_press;
|
||||
public static final int guiID_machine_press = 53;
|
||||
|
||||
@ -803,6 +806,7 @@ public class ModBlocks {
|
||||
machine_fluidtank = new MachineFluidTank(Material.iron).setBlockName("machine_fluidtank").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_fluidtank");
|
||||
machine_turbofan = new MachineTurbofan(Material.iron).setBlockName("machine_turbofan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_turbofan");
|
||||
machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_press");
|
||||
machine_selenium = new MachineSeleniumEngine(Material.iron).setBlockName("machine_selenium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_selenium");
|
||||
|
||||
machine_schrabidium_transmutator = new MachineSchrabidiumTransmutator(Material.iron).setBlockName("machine_schrabidium_transmutator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock);
|
||||
|
||||
@ -1082,6 +1086,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(machine_coal_off, machine_coal_off.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_coal_on, machine_coal_on.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_diesel, machine_diesel.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_selenium, machine_selenium.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_generator, machine_generator.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_radgen, machine_radgen.getUnlocalizedName());
|
||||
|
||||
@ -145,19 +145,11 @@ public class NukeMike extends BlockContainer implements IBomb {
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, MainRegistry.mikeRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
if (MainRegistry.enableNukeClouds) {
|
||||
if (r < 200) {
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
} else {
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
}
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
} else {
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudNoShroom(world, 1000);
|
||||
entity2.posX = x;
|
||||
|
||||
@ -6,7 +6,9 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.entity.effect.EntityCloudSolinium;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeN2;
|
||||
@ -127,7 +129,7 @@ public class NukeN2 extends BlockContainer implements IBomb {
|
||||
this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1);
|
||||
entity.clearSlots();
|
||||
p_149695_1_.setBlockToAir(x, y, z);
|
||||
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.fleijaRadius);
|
||||
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.n2Radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -138,23 +140,13 @@ public class NukeN2 extends BlockContainer implements IBomb {
|
||||
{
|
||||
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
|
||||
|
||||
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
|
||||
entity.posX = x;
|
||||
entity.posY = y;
|
||||
entity.posZ = z;
|
||||
entity.destructionRange = r;
|
||||
entity.speed = MainRegistry.blastSpeed;
|
||||
entity.coefficient = 1.0F;
|
||||
entity.waste = false;
|
||||
entity.extType = 1;
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFacNoRad(world, r, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
world.spawnEntityInWorld(entity);
|
||||
|
||||
EntityCloudSolinium cloud = new EntityCloudSolinium(world, r);
|
||||
cloud.posX = x;
|
||||
cloud.posY = y;
|
||||
cloud.posZ = z;
|
||||
world.spawnEntityInWorld(cloud);
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(world, 1000, r * 0.005F);
|
||||
entity2.posX = x;
|
||||
entity2.posY = y;
|
||||
entity2.posZ = z;
|
||||
world.spawnEntityInWorld(entity2);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
@ -128,7 +128,7 @@ public class NukeSolinium extends BlockContainer implements IBomb {
|
||||
this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1);
|
||||
entity.clearSlots();
|
||||
p_149695_1_.setBlockToAir(x, y, z);
|
||||
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.fleijaRadius);
|
||||
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.soliniumRadius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,17 +40,17 @@ public class BlockReactor extends Block {
|
||||
if(this == ModBlocks.fusion_conductor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_top_alt"*/":block_steel");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_alt"*/":fusion_conductor_side");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + /*":fusion_conductor_alt"*/":fusion_conductor_side_alt3");
|
||||
}
|
||||
if(this == ModBlocks.fusion_center)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_side");
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top_alt");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_side_alt");
|
||||
}
|
||||
if(this == ModBlocks.fusion_motor)
|
||||
{
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":block_steel");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_side");
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_top_alt");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_motor_side_alt");
|
||||
}
|
||||
if(this == ModBlocks.fusion_heater)
|
||||
{
|
||||
|
||||
@ -24,8 +24,8 @@ public class FusionCore extends BlockContainer {
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_core_side");
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fusion_center_top_alt");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fusion_core_side_alt");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
146
com/hbm/blocks/machine/MachineSeleniumEngine.java
Normal file
@ -0,0 +1,146 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.MultiblockHandler;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineCentrifuge;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
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.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineSeleniumEngine extends BlockContainer {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private static boolean keepInventory;
|
||||
|
||||
|
||||
public MachineSeleniumEngine(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityMachineSeleniumEngine();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@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;
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@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)
|
||||
{
|
||||
TileEntityMachineSeleniumEngine tileentityfurnace = (TileEntityMachineSeleniumEngine)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
|
||||
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())
|
||||
{
|
||||
TileEntityMachineSeleniumEngine entity = (TileEntityMachineSeleniumEngine) world.getTileEntity(x, y, z);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_selenium, world, x, y, z);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -20,6 +20,8 @@ public class EntityNukeExplosionMK4 extends Entity {
|
||||
public int speed;
|
||||
public int length;
|
||||
|
||||
public boolean fallout = true;
|
||||
|
||||
ExplosionNukeRay explosion;
|
||||
|
||||
public EntityNukeExplosionMK4(World p_i1582_1_) {
|
||||
@ -55,7 +57,7 @@ public class EntityNukeExplosionMK4 extends Entity {
|
||||
//if(!worldObj.isRemote)
|
||||
//MainRegistry.logger.info(explosion.getProgress() + " / " + count / length);
|
||||
explosion.processTip(speed);
|
||||
} else {
|
||||
} else if(fallout) {
|
||||
|
||||
EntityFalloutRain fallout = new EntityFalloutRain(this.worldObj, (int)(this.length * 1.8) * 10);
|
||||
fallout.posX = this.posX;
|
||||
@ -97,4 +99,18 @@ public class EntityNukeExplosionMK4 extends Entity {
|
||||
return mk4;
|
||||
}
|
||||
|
||||
public static EntityNukeExplosionMK4 statFacNoRad(World world, int r, double x, double y, double z) {
|
||||
|
||||
r *= 2;
|
||||
|
||||
EntityNukeExplosionMK4 mk4 = new EntityNukeExplosionMK4(world);
|
||||
mk4.strength = (int)(r);
|
||||
mk4.count = (int)(4 * Math.PI * Math.pow(mk4.strength, 2) * 25);
|
||||
mk4.speed = (int)Math.ceil(100000 / mk4.strength);
|
||||
mk4.setPosition(x, y, z);
|
||||
mk4.length = mk4.strength / 2;
|
||||
mk4.fallout = false;
|
||||
return mk4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeFleija;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeGadget;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeMan;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeMike;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeN2;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukePrototype;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeTsar;
|
||||
@ -56,6 +57,7 @@ import com.hbm.tileentity.machine.TileEntityMachineRadar;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineReactor;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRefinery;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineShredder;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSiren;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTeleporter;
|
||||
@ -610,6 +612,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_nuke_n2:
|
||||
{
|
||||
if(entity instanceof TileEntityNukeN2)
|
||||
{
|
||||
return new ContainerNukeN2(player.inventory, (TileEntityNukeN2) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_cel_prime:
|
||||
{
|
||||
if(entity instanceof TileEntityCelPrime)
|
||||
@ -618,6 +629,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_machine_selenium:
|
||||
{
|
||||
if(entity instanceof TileEntityMachineSeleniumEngine)
|
||||
{
|
||||
return new ContainerMachineSelenium(player.inventory, (TileEntityMachineSeleniumEngine) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -1160,6 +1180,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_nuke_n2:
|
||||
{
|
||||
if(entity instanceof TileEntityNukeN2)
|
||||
{
|
||||
return new GUINukeN2(player.inventory, (TileEntityNukeN2) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_cel_prime:
|
||||
{
|
||||
if(entity instanceof TileEntityCelPrime)
|
||||
@ -1168,6 +1197,15 @@ public class GUIHandler implements IGuiHandler {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
case ModBlocks.guiID_machine_selenium:
|
||||
{
|
||||
if(entity instanceof TileEntityMachineSeleniumEngine)
|
||||
{
|
||||
return new GUIMachineSelenium(player.inventory, (TileEntityMachineSeleniumEngine) entity);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//CLIENTONLY GUIS
|
||||
|
||||
94
com/hbm/inventory/container/ContainerMachineSelenium.java
Normal file
@ -0,0 +1,94 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.inventory.SlotMachineOutput;
|
||||
import com.hbm.tileentity.bomb.TileEntityCelPrime;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerMachineSelenium extends Container {
|
||||
|
||||
private TileEntityMachineSeleniumEngine seleniumEngine;
|
||||
|
||||
public ContainerMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) {
|
||||
|
||||
seleniumEngine = tedf;
|
||||
|
||||
//Pistons
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 8, 18));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 26, 18));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 44, 18));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 8, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 26, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 44, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 6, 8, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 26, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 8, 44, 54));
|
||||
|
||||
//Fluid IO
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 80, 18));
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 10, 80, 54));
|
||||
|
||||
//Fluid IDs
|
||||
this.addSlotToContainer(new Slot(tedf, 11, 152, 18));
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 12, 152, 54));
|
||||
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(tedf, 13, 116, 90));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 13) {
|
||||
if (!this.mergeItemStack(var5, 14, this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return seleniumEngine.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
84
com/hbm/inventory/container/ContainerNukeN2.java
Normal file
@ -0,0 +1,84 @@
|
||||
package com.hbm.inventory.container;
|
||||
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeN2;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ContainerNukeN2 extends Container {
|
||||
|
||||
private TileEntityNukeN2 nukeSol;
|
||||
|
||||
public ContainerNukeN2(InventoryPlayer invPlayer, TileEntityNukeN2 tedf) {
|
||||
|
||||
nukeSol = tedf;
|
||||
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 98, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 116, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 2, 134, 36));
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 98, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 4, 116, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 134, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 6, 98, 72));
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 116, 72));
|
||||
this.addSlotToContainer(new Slot(tedf, 8, 134, 72));
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 98, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 10, 116, 90));
|
||||
this.addSlotToContainer(new Slot(tedf, 11, 134, 90));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
for(int j = 0; j < 9; j++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0; i < 9; i++)
|
||||
{
|
||||
this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2)
|
||||
{
|
||||
ItemStack var3 = null;
|
||||
Slot var4 = (Slot) this.inventorySlots.get(par2);
|
||||
|
||||
if (var4 != null && var4.getHasStack())
|
||||
{
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 11) {
|
||||
if (!this.mergeItemStack(var5, 12, this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (var5.stackSize == 0)
|
||||
{
|
||||
var4.putStack((ItemStack) null);
|
||||
}
|
||||
else
|
||||
{
|
||||
var4.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInteractWith(EntityPlayer player) {
|
||||
return nukeSol.isUseableByPlayer(player);
|
||||
}
|
||||
}
|
||||
@ -52,8 +52,8 @@ private TileEntityNukeSolinium nukeSol;
|
||||
ItemStack var5 = var4.getStack();
|
||||
var3 = var5.copy();
|
||||
|
||||
if (par2 <= 10) {
|
||||
if (!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true))
|
||||
if (par2 <= 8) {
|
||||
if (!this.mergeItemStack(var5, 9, this.inventorySlots.size(), true))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -32,6 +32,13 @@ public class GUIMachineDiesel extends GuiInfoContainer {
|
||||
|
||||
diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 69 - 52, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, diFurnace.power, diFurnace.maxPower);
|
||||
|
||||
String[] text = new String[] { "Accepted Fuels:",
|
||||
" Diesel (500 HE/t)",
|
||||
" Petroil (300 HE/t)",
|
||||
" Biofuel (400 HE/t)",
|
||||
" NITAN Superfuel (5000 HE/t)" };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -58,6 +65,8 @@ public class GUIMachineDiesel extends GuiInfoContainer {
|
||||
drawTexturedModalRect(guiLeft + 43 + 18 * 4, guiTop + 34, 208, 0, 18, 18);
|
||||
}
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet());
|
||||
diFurnace.tank.renderTank(this, guiLeft + 80, guiTop + 69, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
}
|
||||
|
||||
86
com/hbm/inventory/gui/GUIMachineSelenium.java
Normal file
@ -0,0 +1,86 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerMachineDiesel;
|
||||
import com.hbm.inventory.container.ContainerMachineSelenium;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineDiesel;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineSelenium extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_selenium.png");
|
||||
private TileEntityMachineSeleniumEngine diFurnace;
|
||||
|
||||
public GUIMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) {
|
||||
super(new ContainerMachineSelenium(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 18, 16, 52);
|
||||
this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 108, 160, 16, diFurnace.power, diFurnace.powerCap);
|
||||
|
||||
String[] text = new String[] { "Accepted Fuels:",
|
||||
" Industrial Oil (100 HE/t)",
|
||||
" Heating Oil (150 HE/t)",
|
||||
" Diesel (450 HE/t)",
|
||||
" Kerosene (600 HE/t)",
|
||||
" Reclaimed Oil (200 HE/t)",
|
||||
" Petroil (250 HE/t)",
|
||||
" Biofuel (400 HE/t)",
|
||||
" NITAN Superfuel (5000 HE/t)",
|
||||
"(These numbers are base values,",
|
||||
"actual HE/t can deviate)" };
|
||||
this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.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(diFurnace.power > 0) {
|
||||
int i = (int)diFurnace.getPowerScaled(160);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 108, 0, 222, i, 16);
|
||||
}
|
||||
|
||||
if(diFurnace.tank.getFill() > 0 && diFurnace.hasAcceptableFuel() && diFurnace.pistonCount > 2)
|
||||
{
|
||||
drawTexturedModalRect(guiLeft + 115, guiTop + 71, 192, 0, 18, 18);
|
||||
}
|
||||
|
||||
if(diFurnace.pistonCount > 0)
|
||||
{
|
||||
int k = diFurnace.pistonCount;
|
||||
drawTexturedModalRect(guiLeft + 26, guiTop + 81, 176, 52 + 16 * k - 16, 16, 16);
|
||||
}
|
||||
|
||||
this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(diFurnace.tank.getSheet());
|
||||
diFurnace.tank.renderTank(this, guiLeft + 80 + 36, guiTop + 70, diFurnace.tank.getTankType().textureX() * FluidTank.x, diFurnace.tank.getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
}
|
||||
}
|
||||
57
com/hbm/inventory/gui/GUINukeN2.java
Normal file
@ -0,0 +1,57 @@
|
||||
package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.container.ContainerNukeN2;
|
||||
import com.hbm.inventory.container.ContainerNukeSolinium;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeN2;
|
||||
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUINukeN2 extends GuiContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/n2Schematic.png");
|
||||
private TileEntityNukeN2 testNuke;
|
||||
|
||||
public GUINukeN2(InventoryPlayer invPlayer, TileEntityNukeN2 tedf) {
|
||||
super(new ContainerNukeN2(invPlayer, tedf));
|
||||
testNuke = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer( int i, int j) {
|
||||
String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int count = 0;
|
||||
|
||||
for(int i = 0; i < 12; i++) {
|
||||
if(this.testNuke.slots[i] != null && this.testNuke.slots[i].getItem() == ModItems.n2_charge)
|
||||
count++;
|
||||
}
|
||||
|
||||
if(count > 0)
|
||||
{
|
||||
drawTexturedModalRect(guiLeft + 35, guiTop + 120 - 6 * count, 176, 0, 34, 6 * count);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,13 +3,18 @@ package com.hbm.inventory.gui;
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public abstract class GuiInfoContainer extends GuiContainer {
|
||||
|
||||
ResourceLocation guiUtil = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_utility.png");
|
||||
|
||||
public GuiInfoContainer(Container p_i1072_1_) {
|
||||
super(p_i1072_1_);
|
||||
}
|
||||
@ -28,4 +33,26 @@ public abstract class GuiInfoContainer extends GuiContainer {
|
||||
this.func_146283_a(Arrays.asList(text), mouseX, mouseY);
|
||||
}
|
||||
|
||||
public void drawCustomInfoStat(int mouseX, int mouseY, int x, int y, int width, int height, int tPosX, int tPosY, String[] text) {
|
||||
|
||||
if(x <= mouseX && x + width > mouseX && y < mouseY && y + height >= mouseY)
|
||||
this.func_146283_a(Arrays.asList(text), tPosX, tPosY);
|
||||
}
|
||||
|
||||
public void drawInfoPanel(int x, int y, int width, int height, int type) {
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(guiUtil);
|
||||
|
||||
switch(type) {
|
||||
case 0:
|
||||
drawTexturedModalRect(x, y, 0, 0, 8, 8); break;
|
||||
case 1:
|
||||
drawTexturedModalRect(x, y, 0, 8, 8, 8); break;
|
||||
case 2:
|
||||
drawTexturedModalRect(x, y, 8, 0, 16, 16); break;
|
||||
case 3:
|
||||
drawTexturedModalRect(x, y, 24, 0, 16, 16); break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -404,6 +404,8 @@ public class ModItems {
|
||||
public static Item pellet_lead;
|
||||
public static Item pellet_advanced;
|
||||
|
||||
public static Item piston_selenium;
|
||||
|
||||
public static Item crystal_energy;
|
||||
public static Item pellet_coolant;
|
||||
|
||||
@ -823,6 +825,8 @@ public class ModItems {
|
||||
public static Item solinium_propellant;
|
||||
public static Item solinium_core;
|
||||
|
||||
public static Item n2_charge;
|
||||
|
||||
public static Item battery_generic;
|
||||
public static Item battery_advanced;
|
||||
public static Item battery_lithium;
|
||||
@ -1520,6 +1524,8 @@ public class ModItems {
|
||||
pellet_rtg_weak = new ItemCustomLore().setUnlocalizedName("pellet_rtg_weak").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_rtg_weak");
|
||||
tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake");
|
||||
|
||||
piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":piston_selenium");
|
||||
|
||||
crystal_energy = new ItemCustomLore().setUnlocalizedName("crystal_energy").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":crystal_energy");
|
||||
pellet_coolant = new ItemCustomLore().setUnlocalizedName("pellet_coolant").setMaxDamage(41400).setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_coolant");
|
||||
|
||||
@ -1533,18 +1539,18 @@ public class ModItems {
|
||||
ams_catalyst_blank = new Item().setUnlocalizedName("ams_catalyst_blank").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_blank");
|
||||
ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium");
|
||||
ams_catalyst_beryllium = new ItemCatalyst(0x97978B, 0, 1.25F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_beryllium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_beryllium");
|
||||
ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.0F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium");
|
||||
ams_catalyst_caesium = new ItemCatalyst(0x6400FF, 2500000, 1.00F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_caesium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_caesium");
|
||||
ams_catalyst_cerium = new ItemCatalyst(0x1D3FFF, 1000000, 1.15F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_cerium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cerium");
|
||||
ams_catalyst_cobalt = new ItemCatalyst(0x789BBE, 0, 1.25F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_cobalt").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_cobalt");
|
||||
ams_catalyst_copper = new ItemCatalyst(0xAADE29, 0, 1.25F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_copper").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_copper");
|
||||
ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.0F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium");
|
||||
ams_catalyst_euphemium = new ItemCatalyst(0xFF9CD2, 2500000, 1.0F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_euphemium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_euphemium");
|
||||
ams_catalyst_copper = new ItemCatalyst(0xAADE29, 0, 1.25F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_copper").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_copper");
|
||||
ams_catalyst_dineutronium = new ItemCatalyst(0x334077, 2500000, 1.00F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_dineutronium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_dineutronium");
|
||||
ams_catalyst_euphemium = new ItemCatalyst(0xFF9CD2, 2500000, 1.00F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_euphemium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_euphemium");
|
||||
ams_catalyst_iron = new ItemCatalyst(0xFF7E22, 1000000, 1.15F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_iron").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_iron");
|
||||
ams_catalyst_lithium = new ItemCatalyst(0xFF2727, 0, 1.25F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_lithium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_lithium");
|
||||
ams_catalyst_niobium = new ItemCatalyst(0x3BF1B6, 1000000, 1.15F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_niobium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_niobium");
|
||||
ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.0F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium");
|
||||
ams_catalyst_strontium = new ItemCatalyst(0xDD0D35, 1000000, 1.15F, 1.0F, 1.0F).setUnlocalizedName("ams_catalyst_strontium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_strontium");
|
||||
ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.0F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium");
|
||||
ams_catalyst_schrabidium = new ItemCatalyst(0x32FFFF, 2500000, 1.00F, 1.05F, 0.95F).setUnlocalizedName("ams_catalyst_schrabidium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_schrabidium");
|
||||
ams_catalyst_strontium = new ItemCatalyst(0xDD0D35, 1000000, 1.15F, 1.00F, 1.00F).setUnlocalizedName("ams_catalyst_strontium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_strontium");
|
||||
ams_catalyst_thorium = new ItemCatalyst(0x653B22, 2500000, 1.00F, 0.95F, 1.05F).setUnlocalizedName("ams_catalyst_thorium").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_thorium");
|
||||
ams_catalyst_tungsten = new ItemCatalyst(0xF5FF48, 0, 1.25F, 1.15F, 0.85F).setUnlocalizedName("ams_catalyst_tungsten").setCreativeTab(MainRegistry.tabParts).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_tungsten");
|
||||
|
||||
cell_empty = new ItemCell().setUnlocalizedName("cell_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":cell_empty");
|
||||
@ -1951,6 +1957,8 @@ public class ModItems {
|
||||
solinium_propellant = new ItemSolinium().setUnlocalizedName("solinium_propellant").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":solinium_propellant");
|
||||
solinium_core = new ItemSolinium().setUnlocalizedName("solinium_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":solinium_core");
|
||||
|
||||
n2_charge = new ItemN2().setUnlocalizedName("n2_charge").setMaxStackSize(1).setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":n2_charge");
|
||||
|
||||
battery_generic = new ItemBattery(50).setUnlocalizedName("battery_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_generic");
|
||||
battery_advanced = new ItemBattery(200).setUnlocalizedName("battery_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_advanced");
|
||||
battery_lithium = new ItemBattery(2500).setUnlocalizedName("battery_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_lithium");
|
||||
@ -2728,6 +2736,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(pellet_lead, pellet_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(pellet_advanced, pellet_advanced.getUnlocalizedName());
|
||||
|
||||
//Engine Pieces
|
||||
GameRegistry.registerItem(piston_selenium, piston_selenium.getUnlocalizedName());
|
||||
|
||||
//Cells
|
||||
GameRegistry.registerItem(cell_empty, cell_empty.getUnlocalizedName());
|
||||
GameRegistry.registerItem(cell_uf6, cell_uf6.getUnlocalizedName());
|
||||
@ -3412,6 +3423,9 @@ public class ModItems {
|
||||
GameRegistry.registerItem(solinium_propellant, solinium_propellant.getUnlocalizedName());
|
||||
GameRegistry.registerItem(solinium_core, solinium_core.getUnlocalizedName());
|
||||
|
||||
//N2
|
||||
GameRegistry.registerItem(n2_charge, n2_charge.getUnlocalizedName());
|
||||
|
||||
//Conventional Armor
|
||||
GameRegistry.registerItem(goggles, goggles.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_mask, gas_mask.getUnlocalizedName());
|
||||
|
||||
18
com/hbm/items/bomb/ItemN2.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.hbm.items.bomb;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemN2 extends Item {
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool)
|
||||
{
|
||||
list.add("Used in:");
|
||||
list.add("N² Mine");
|
||||
}
|
||||
|
||||
}
|
||||
@ -94,6 +94,7 @@ public class ClientProxy extends ServerProxy
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePress.class, new RenderPress());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadar.class, new RenderRadar());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSeleniumEngine.class, new RenderSelenium());
|
||||
|
||||
//RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core));
|
||||
|
||||
@ -253,6 +253,7 @@ import com.hbm.tileentity.machine.TileEntityMachineReactor;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineRefinery;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSPP;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineShredder;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSiren;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineTeleporter;
|
||||
@ -404,6 +405,7 @@ public class MainRegistry
|
||||
public static int tungstenSpawn = 10;
|
||||
public static int leadSpawn = 6;
|
||||
public static int berylliumSpawn = 6;
|
||||
|
||||
public static int gadgetRadius = 150;
|
||||
public static int boyRadius = 120;
|
||||
public static int manRadius = 175;
|
||||
@ -411,12 +413,16 @@ public class MainRegistry
|
||||
public static int tsarRadius = 500;
|
||||
public static int prototypeRadius = 150;
|
||||
public static int fleijaRadius = 50;
|
||||
public static int soliniumRadius = 75;
|
||||
public static int n2Radius = 100;
|
||||
public static int missileRadius = 100;
|
||||
public static int mirvRadius = 100;
|
||||
public static int fatmanRadius = 35;
|
||||
public static int nukaRadius = 25;
|
||||
public static int aSchrabRadius = 20;
|
||||
|
||||
public static int blastSpeed = 1024;
|
||||
|
||||
public static int radioStructure = 500;
|
||||
public static int antennaStructure = 250;
|
||||
public static int atomStructure = 500;
|
||||
@ -602,6 +608,7 @@ public class MainRegistry
|
||||
GameRegistry.registerTileEntity(TileEntityCelPrimeBattery.class, "tileentity_cel_prime_energy");
|
||||
GameRegistry.registerTileEntity(TileEntityCelPrimePort.class, "tileentity_cel_prime_connector");
|
||||
GameRegistry.registerTileEntity(TileEntityCelPrimeTanks.class, "tileentity_cel_prime_storage");
|
||||
GameRegistry.registerTileEntity(TileEntityMachineSeleniumEngine.class, "tileentity_selenium_engine");
|
||||
|
||||
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
|
||||
@ -1309,6 +1316,12 @@ public class MainRegistry
|
||||
Property propASchrab = config.get(Configuration.CATEGORY_GENERAL, "3.11_aSchrabRadius", 20);
|
||||
propASchrab.comment = "Radius of dropped anti schrabidium";
|
||||
aSchrabRadius = propASchrab.getInt();
|
||||
Property propSolinium = config.get(Configuration.CATEGORY_GENERAL, "3.12_soliniumRadius", 75);
|
||||
propSolinium.comment = "Radius of the blue rinse";
|
||||
soliniumRadius = propSolinium.getInt();
|
||||
Property propN2 = config.get(Configuration.CATEGORY_GENERAL, "3.13_n2Radius", 100);
|
||||
propN2.comment = "Radius of the N2 mine";
|
||||
n2Radius = propN2.getInt();
|
||||
|
||||
Property propRadio = config.get(Configuration.CATEGORY_GENERAL, "4.00_radioSpawn", 500);
|
||||
propRadio.comment = "Spawn radio station on every nTH chunk";
|
||||
|
||||
@ -43,6 +43,11 @@ 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"));
|
||||
|
||||
//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"));
|
||||
public static final IModelCustom selenium_piston = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_piston.obj"));
|
||||
|
||||
//Press
|
||||
public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj"));
|
||||
public static final IModelCustom press_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_head.obj"));
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.tileentity.bomb.TileEntityTurretCheapo;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSBase;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSEmitter;
|
||||
import com.hbm.tileentity.machine.TileEntityAMSLimiter;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@ -101,6 +102,11 @@ public class AuxGaugePacket implements IMessage {
|
||||
|
||||
cwis.rotation = m.value;
|
||||
}
|
||||
if (te instanceof TileEntityMachineSeleniumEngine) {
|
||||
TileEntityMachineSeleniumEngine selenium = (TileEntityMachineSeleniumEngine)te;
|
||||
|
||||
selenium.pistonCount = m.value;
|
||||
}
|
||||
|
||||
} catch (Exception x) { }
|
||||
return null;
|
||||
|
||||
56
com/hbm/render/tileentity/RenderSelenium.java
Normal file
@ -0,0 +1,56 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class RenderSelenium extends TileEntitySpecialRenderer {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity tileEntity, 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(180, 0F, 1F, 0F);
|
||||
GL11.glRotatef(-90, 0F, 1F, 0F);
|
||||
|
||||
switch(tileEntity.getBlockMetadata())
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
bindTexture(ResourceManager.universal);
|
||||
ResourceManager.selenium_body.renderAll();
|
||||
|
||||
GL11.glTranslated(0.0D, 1.0D, 0.0D);
|
||||
|
||||
int count = ((TileEntityMachineSeleniumEngine)tileEntity).pistonCount;
|
||||
|
||||
float rot = 360F / count;
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
ResourceManager.selenium_piston.renderAll();
|
||||
GL11.glRotatef(rot, 0, 0, 1);
|
||||
}
|
||||
|
||||
GL11.glRotatef((System.currentTimeMillis() / 10) % 360, 0F, 0F, -1F);
|
||||
|
||||
ResourceManager.selenium_rotor.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@ -174,7 +174,7 @@ public class TileEntityCelPrime extends TileEntity implements ISidedInventory {
|
||||
case 2:
|
||||
appendText("No external PCI devices found!");
|
||||
appendText("");
|
||||
appendText("Self-test in progres...");
|
||||
appendText("Self-test in progress...");
|
||||
break;
|
||||
case 3:
|
||||
appendText("Hardware self-test successful!");
|
||||
@ -202,6 +202,14 @@ public class TileEntityCelPrime extends TileEntity implements ISidedInventory {
|
||||
break;
|
||||
case 9:
|
||||
appendText("All systems ready!");
|
||||
appendText("");
|
||||
appendText("");
|
||||
appendText("");
|
||||
appendText("==============================");
|
||||
appendText("CEL PRIME is a WIP feature and not");
|
||||
appendText("yet functional. please don't ask me how");
|
||||
appendText("it works because it DOESN'T!");
|
||||
appendText("==============================");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory {
|
||||
private String customName;
|
||||
|
||||
public TileEntityNukeN2() {
|
||||
slots = new ItemStack[9];
|
||||
slots = new ItemStack[12];
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -77,7 +77,7 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory {
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.nukeSolinium";
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.nukeN2";
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -171,16 +171,19 @@ public class TileEntityNukeN2 extends TileEntity implements ISidedInventory {
|
||||
|
||||
public boolean isReady() {
|
||||
|
||||
if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null)
|
||||
if(slots[0].getItem() == ModItems.solinium_igniter &&
|
||||
slots[1].getItem() == ModItems.solinium_propellant &&
|
||||
slots[2].getItem() == ModItems.solinium_propellant &&
|
||||
slots[3].getItem() == ModItems.solinium_igniter &&
|
||||
slots[4].getItem() == ModItems.solinium_core &&
|
||||
slots[5].getItem() == ModItems.solinium_igniter &&
|
||||
slots[6].getItem() == ModItems.solinium_propellant &&
|
||||
slots[7].getItem() == ModItems.solinium_propellant &&
|
||||
slots[8].getItem() == ModItems.solinium_igniter)
|
||||
if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null)
|
||||
if(slots[0].getItem() == ModItems.n2_charge &&
|
||||
slots[1].getItem() == ModItems.n2_charge &&
|
||||
slots[2].getItem() == ModItems.n2_charge &&
|
||||
slots[3].getItem() == ModItems.n2_charge &&
|
||||
slots[4].getItem() == ModItems.n2_charge &&
|
||||
slots[5].getItem() == ModItems.n2_charge &&
|
||||
slots[6].getItem() == ModItems.n2_charge &&
|
||||
slots[7].getItem() == ModItems.n2_charge &&
|
||||
slots[8].getItem() == ModItems.n2_charge &&
|
||||
slots[9].getItem() == ModItems.n2_charge &&
|
||||
slots[10].getItem() == ModItems.n2_charge &&
|
||||
slots[11].getItem() == ModItems.n2_charge)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
375
com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java
Normal file
@ -0,0 +1,375 @@
|
||||
package com.hbm.tileentity.machine;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
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.ISource;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.AuxElectricityPacket;
|
||||
import com.hbm.packet.AuxGaugePacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
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.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityMachineSeleniumEngine extends TileEntity implements ISidedInventory, ISource, IFluidContainer, IFluidAcceptor {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public long power;
|
||||
public int soundCycle = 0;
|
||||
public static final long maxPower = 100000;
|
||||
public long powerCap = 100000;
|
||||
public int age = 0;
|
||||
public List<IConsumer> list = new ArrayList();
|
||||
public FluidTank tank;
|
||||
public int pistonCount = 0;
|
||||
|
||||
private static final int[] slots_top = new int[] { 0 };
|
||||
private static final int[] slots_bottom = new int[] { 1, 2 };
|
||||
private static final int[] slots_side = new int[] { 2 };
|
||||
|
||||
private String customName;
|
||||
|
||||
public TileEntityMachineSeleniumEngine() {
|
||||
slots = new ItemStack[14];
|
||||
tank = new FluidTank(FluidType.DIESEL, 16000, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInventory() {
|
||||
return slots.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlot(int i) {
|
||||
return slots[i];
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStackInSlotOnClosing(int i) {
|
||||
if (slots[i] != null) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setInventorySlotContents(int i, ItemStack itemStack) {
|
||||
slots[i] = itemStack;
|
||||
if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) {
|
||||
itemStack.stackSize = getInventoryStackLimit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInventoryName() {
|
||||
return this.hasCustomInventoryName() ? this.customName : "container.machineSelenium";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasCustomInventoryName() {
|
||||
return this.customName != null && this.customName.length() > 0;
|
||||
}
|
||||
|
||||
public void setCustomName(String name) {
|
||||
this.customName = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseableByPlayer(EntityPlayer player) {
|
||||
if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) {
|
||||
return false;
|
||||
} else {
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64;
|
||||
}
|
||||
}
|
||||
|
||||
// You scrubs aren't needed for anything (right now)
|
||||
@Override
|
||||
public void openInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeInventory() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int i, ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int i, int j) {
|
||||
if (slots[i] != null) {
|
||||
if (slots[i].stackSize <= j) {
|
||||
ItemStack itemStack = slots[i];
|
||||
slots[i] = null;
|
||||
return itemStack;
|
||||
}
|
||||
ItemStack itemStack1 = slots[i].splitStack(j);
|
||||
if (slots[i].stackSize == 0) {
|
||||
slots[i] = null;
|
||||
}
|
||||
|
||||
return itemStack1;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
this.power = nbt.getLong("powerTime");
|
||||
this.powerCap = nbt.getLong("powerCap");
|
||||
tank.readFromNBT(nbt, "fuel");
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
for (int i = 0; i < list.tagCount(); i++) {
|
||||
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
|
||||
byte b0 = nbt1.getByte("slot");
|
||||
if (b0 >= 0 && b0 < slots.length) {
|
||||
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setLong("powerTime", power);
|
||||
nbt.setLong("powerCap", powerCap);
|
||||
tank.writeToNBT(nbt, "fuel");
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
for (int i = 0; i < slots.length; i++) {
|
||||
if (slots[i] != null) {
|
||||
NBTTagCompound nbt1 = new NBTTagCompound();
|
||||
nbt1.setByte("slot", (byte) i);
|
||||
slots[i].writeToNBT(nbt1);
|
||||
list.appendTag(nbt1);
|
||||
}
|
||||
}
|
||||
nbt.setTag("items", list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
|
||||
return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
|
||||
return this.isItemValidForSlot(i, itemStack);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
|
||||
if (i == 1)
|
||||
if (itemStack.getItem() == ModItems.canister_empty || itemStack.getItem() == ModItems.tank_steel)
|
||||
return true;
|
||||
if (i == 2)
|
||||
if (itemStack.getItem() instanceof ItemBattery && ItemBattery.getCharge(itemStack) == ItemBattery.getMaxChargeStatic(itemStack))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public long getPowerScaled(long i) {
|
||||
return (power * i) / powerCap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
if (!worldObj.isRemote) {
|
||||
age++;
|
||||
if (age >= 20) {
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if (age == 9 || age == 19)
|
||||
ffgeuaInit();
|
||||
|
||||
pistonCount = countPistons();
|
||||
|
||||
//Tank Management
|
||||
tank.setType(11, 12, slots);
|
||||
tank.loadTank(9, 10, slots);
|
||||
tank.updateTank(xCoord, yCoord, zCoord);
|
||||
|
||||
FluidType type = tank.getTankType();
|
||||
if(type.name().equals(FluidType.NITAN.name()))
|
||||
powerCap = maxPower * 10;
|
||||
else
|
||||
powerCap = maxPower;
|
||||
|
||||
// Battery Item
|
||||
power = Library.chargeItemsFromTE(slots, 13, power, powerCap);
|
||||
|
||||
generate();
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power));
|
||||
PacketDispatcher.wrapper.sendToAll(new AuxGaugePacket(xCoord, yCoord, zCoord, pistonCount, 0));
|
||||
}
|
||||
}
|
||||
|
||||
public int countPistons() {
|
||||
int count = 0;
|
||||
|
||||
for(int i = 0; i < 9; i++) {
|
||||
if(slots[i] != null && slots[i].getItem() == ModItems.piston_selenium)
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
public boolean hasAcceptableFuel() {
|
||||
return getHEFromFuel() > 0;
|
||||
}
|
||||
|
||||
public int getHEFromFuel() {
|
||||
FluidType type = tank.getTankType();
|
||||
if(type.name().equals(FluidType.SMEAR.name()))
|
||||
return 100;
|
||||
if(type.name().equals(FluidType.HEATINGOIL.name()))
|
||||
return 150;
|
||||
if(type.name().equals(FluidType.DIESEL.name()))
|
||||
return 450;
|
||||
if(type.name().equals(FluidType.KEROSENE.name()))
|
||||
return 600;
|
||||
if(type.name().equals(FluidType.RECLAIMED.name()))
|
||||
return 200;
|
||||
if(type.name().equals(FluidType.PETROIL.name()))
|
||||
return 250;
|
||||
if(type.name().equals(FluidType.BIOFUEL.name()))
|
||||
return 400;
|
||||
if(type.name().equals(FluidType.NITAN.name()))
|
||||
return 5000;
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void generate() {
|
||||
if (hasAcceptableFuel()) {
|
||||
if (tank.getFill() > 0) {
|
||||
if (soundCycle == 0) {
|
||||
//if (tank.getTankType().name().equals(FluidType.) > 0)
|
||||
// this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 1.0F);
|
||||
//else
|
||||
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 0.5F);
|
||||
}
|
||||
soundCycle++;
|
||||
|
||||
if (soundCycle >= 3)
|
||||
soundCycle = 0;
|
||||
//if (this.superTimer > 0)
|
||||
// soundCycle = 0;
|
||||
|
||||
tank.setFill(tank.getFill() - 10);
|
||||
if (tank.getFill() < 0)
|
||||
tank.setFill(0);
|
||||
|
||||
if (power + getHEFromFuel() <= powerCap) {
|
||||
power += getHEFromFuel();
|
||||
} else {
|
||||
power = powerCap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeua(int x, int y, int z, boolean newTact) {
|
||||
|
||||
Library.ffgeua(x, y, z, newTact, this, worldObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ffgeuaInit() {
|
||||
ffgeua(this.xCoord, this.yCoord + 1, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact());
|
||||
ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getTact() {
|
||||
if (age >= 0 && age < 10) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getSPower() {
|
||||
return power;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSPower(long i) {
|
||||
this.power = i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IConsumer> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearList() {
|
||||
this.list.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
tank.setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
tank.setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxAFluidFill(FluidType type) {
|
||||
return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAFluidFill(FluidType type) {
|
||||
return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAFluidFill(int i, FluidType type) {
|
||||
if(type.name().equals(tank.getTankType().name()))
|
||||
tank.setFill(i);
|
||||
}
|
||||
}
|
||||