Up-down-thingie, large refinery, more fluid support, chemplant recipes
@ -590,8 +590,14 @@ item.canister_reoil.name=Kanister voll aufbereitetem Industrieöl
|
||||
item.canister_petroil.name=Gemischkanister
|
||||
item.canister_napalm.name=Napalm B
|
||||
item.canister_NITAN.name=NITAN© 100 Oktan Supertreibstoff
|
||||
item.canister_heavyoil.name=Schwerölkanister
|
||||
item.canister_bitumen.name=Bitumenkanister
|
||||
item.canister_heatingoil.name=Heizölkanister
|
||||
item.canister_naphtha.name=Mitteldestillatkanister
|
||||
item.canister_lightoil.name=Leichtölkanister
|
||||
item.gas_empty.name=Leerer Gastank
|
||||
item.gas_full.name=Gastank
|
||||
item.gas_petroleum.name=Petroleumgastank
|
||||
|
||||
item.rod_empty.name=Leerer Brennstab
|
||||
item.rod_uranium.name=Uranbrennstab
|
||||
|
||||
@ -590,8 +590,14 @@ item.canister_reoil.name=Canister of Reclaimed Industrial Oil
|
||||
item.canister_petroil.name=Petroil Canister
|
||||
item.canister_napalm.name=Napalm B
|
||||
item.canister_NITAN.name=NITAN© 100 Octane Super Fuel
|
||||
item.canister_heavyoil.name=Heavy Oil Canister
|
||||
item.canister_bitumen.name=Bitumen Canister
|
||||
item.canister_heatingoil.name=Heating Oil Canister
|
||||
item.canister_naphtha.name=Naphtha Canister
|
||||
item.canister_lightoil.name=Light Oil Canister
|
||||
item.gas_empty.name=Empty Gas Tank
|
||||
item.gas_full.name=Gas Tank
|
||||
item.gas_petroleum.name=Petroleum Gas Tank
|
||||
|
||||
item.rod_empty.name=Emty Rod
|
||||
item.rod_uranium.name=Uranium Rod
|
||||
|
||||
@ -1,177 +1,302 @@
|
||||
# Blender v2.70 (sub 0) OBJ File: 'LaunchPad.blend'
|
||||
# Blender v2.76 (sub 0) OBJ File: 'launchpad.blend'
|
||||
# www.blender.org
|
||||
o Cylinder
|
||||
v 0.000000 0.000000 -1.000000
|
||||
v 1.060660 0.250000 -1.060660
|
||||
v 0.000000 0.500000 -1.000000
|
||||
v 1.500000 0.250000 0.000000
|
||||
v 0.707107 0.500000 -0.707107
|
||||
v 1.060660 0.250000 1.060660
|
||||
v 1.000000 0.500000 0.000000
|
||||
v -0.000000 0.250000 1.500000
|
||||
v 0.707107 0.500000 0.707107
|
||||
v -1.060660 0.250000 1.060660
|
||||
v -0.000000 0.500000 1.000000
|
||||
v 0.000000 0.250000 -1.500000
|
||||
v -0.707107 0.500000 0.707107
|
||||
v -1.060660 0.250000 -1.060660
|
||||
v -1.000000 0.500000 -0.000000
|
||||
v -1.500000 0.250000 -0.000000
|
||||
v -0.707107 0.500000 -0.707107
|
||||
v 0.000000 0.250000 -1.000000
|
||||
v 0.707107 0.000000 -0.707107
|
||||
v 0.707107 0.250000 -0.707107
|
||||
v 1.000000 0.000000 0.000000
|
||||
v 1.000000 0.250000 0.000000
|
||||
v 0.707107 0.000000 0.707107
|
||||
v 0.707107 0.250000 0.707107
|
||||
v -0.000000 0.000000 1.000000
|
||||
v -0.000000 0.250000 1.000000
|
||||
v -0.707107 0.000000 0.707107
|
||||
v -0.707107 0.250000 0.707107
|
||||
v -1.000000 0.000000 -0.000000
|
||||
v -1.000000 0.250000 -0.000000
|
||||
v -0.707107 0.000000 -0.707107
|
||||
v -0.707107 0.250000 -0.707107
|
||||
v 0.000000 0.500000 -0.750000
|
||||
v 0.530330 0.500000 -0.530330
|
||||
v 0.750000 0.500000 0.000000
|
||||
v 0.530330 0.500000 0.530330
|
||||
v -0.000000 0.500000 0.750000
|
||||
v -0.530330 0.500000 0.530330
|
||||
v -0.750000 0.500000 -0.000000
|
||||
v -0.530330 0.500000 -0.530330
|
||||
vt 0.202877 0.776488
|
||||
vt 0.202877 0.991569
|
||||
vt 0.128330 0.991569
|
||||
vt 0.983572 0.646674
|
||||
vt 0.983572 0.861756
|
||||
vt 0.909025 0.861756
|
||||
vt 0.816586 0.629813
|
||||
vt 0.816586 0.414732
|
||||
vt 0.891133 0.414732
|
||||
vt 0.008946 0.991569
|
||||
vt 0.008946 0.776488
|
||||
vt 0.083493 0.776488
|
||||
vt 0.816586 0.861756
|
||||
vt 0.816586 0.646674
|
||||
vt 0.891133 0.646674
|
||||
vt 0.339051 0.991569
|
||||
vt 0.339051 0.776488
|
||||
vt 0.413598 0.776488
|
||||
vt 0.559927 0.759627
|
||||
vt 0.458434 0.732741
|
||||
vt 0.458434 0.571430
|
||||
vt 0.909025 0.629813
|
||||
vt 0.909025 0.414732
|
||||
vt 0.983572 0.414732
|
||||
vt 0.532982 0.776488
|
||||
vt 0.532982 0.991569
|
||||
vt 0.458434 0.991569
|
||||
vt 0.008946 0.375598
|
||||
vt 0.559927 0.160516
|
||||
vt 0.170324 0.527684
|
||||
vt 0.577818 0.283806
|
||||
vt 0.577818 0.122495
|
||||
vt 0.698852 0.008431
|
||||
vt 0.697202 0.646674
|
||||
vt 0.798695 0.673560
|
||||
vt 0.798695 0.834871
|
||||
vt 0.577818 0.646675
|
||||
vt 0.679311 0.673560
|
||||
vt 0.679311 0.834871
|
||||
vt 0.697202 0.414732
|
||||
vt 0.798695 0.441617
|
||||
vt 0.798695 0.602928
|
||||
vt 0.128330 0.544545
|
||||
vt 0.229822 0.571430
|
||||
vt 0.229822 0.732741
|
||||
vt 0.008946 0.544545
|
||||
vt 0.110438 0.571430
|
||||
vt 0.110438 0.732741
|
||||
vt 0.577818 0.414732
|
||||
vt 0.679311 0.441617
|
||||
vt 0.679311 0.602928
|
||||
vt 0.440543 0.759627
|
||||
vt 0.339051 0.732741
|
||||
vt 0.339051 0.571430
|
||||
vt 0.128330 0.776488
|
||||
vt 0.909025 0.646674
|
||||
vt 0.891133 0.629813
|
||||
vt 0.083493 0.991569
|
||||
vt 0.891133 0.861756
|
||||
vt 0.413598 0.991569
|
||||
vt 0.559927 0.544545
|
||||
vt 0.983572 0.629813
|
||||
vt 0.458434 0.776488
|
||||
vt 0.008946 0.160516
|
||||
vt 0.170324 0.008431
|
||||
vt 0.398548 0.008431
|
||||
vt 0.559927 0.375598
|
||||
vt 0.398548 0.527684
|
||||
vt 0.870020 0.008431
|
||||
vt 0.991054 0.122495
|
||||
vt 0.870020 0.397870
|
||||
vt 0.991054 0.283806
|
||||
vt 0.698852 0.397871
|
||||
vt 0.697202 0.861756
|
||||
vt 0.577818 0.861756
|
||||
vt 0.697202 0.629813
|
||||
vt 0.128330 0.759627
|
||||
vt 0.008946 0.759627
|
||||
vt 0.577818 0.629813
|
||||
vt 0.440543 0.544545
|
||||
vn 0.382684 0.000000 -0.923880
|
||||
vn 0.923880 0.000000 -0.382683
|
||||
vn 0.923880 0.000000 0.382683
|
||||
vn 0.382683 0.000000 0.923880
|
||||
vn -0.382684 0.000000 0.923880
|
||||
vn -0.923880 0.000000 0.382683
|
||||
vn -0.281085 0.678598 -0.678598
|
||||
vn -0.382684 0.000000 -0.923879
|
||||
vn -0.923880 0.000000 -0.382683
|
||||
v 0.000000 0.000000 -1.500000
|
||||
v 1.060660 0.000000 -1.060660
|
||||
v 1.500000 0.000000 0.000000
|
||||
v 1.060660 0.000000 1.060660
|
||||
v -0.000000 0.000000 1.500000
|
||||
v -1.060660 0.000000 1.060660
|
||||
v -1.500000 0.000000 -0.000000
|
||||
v -1.060660 0.000000 -1.060660
|
||||
v -0.500000 0.000000 2.000000
|
||||
v 0.500000 0.000000 2.000000
|
||||
v -0.500000 0.000000 -2.000000
|
||||
v 0.500000 0.000000 -2.000000
|
||||
v -0.500000 0.125000 -2.000000
|
||||
v 0.500000 0.125000 -2.000000
|
||||
v -0.500000 0.475000 -0.750000
|
||||
v 0.500000 0.475000 -0.750000
|
||||
v -0.500000 0.475000 0.750000
|
||||
v 0.500000 0.475000 0.750000
|
||||
v 0.500000 0.125000 2.000000
|
||||
v -0.500000 0.125000 2.000000
|
||||
v -0.500000 0.100000 0.750000
|
||||
v 0.500000 0.100000 0.750000
|
||||
v -0.500000 0.100000 -0.750000
|
||||
v 0.500000 0.100000 -0.750000
|
||||
v 2.000000 0.000000 0.500000
|
||||
v 2.000000 0.000000 -0.500000
|
||||
v -2.000000 0.000000 0.500000
|
||||
v -2.000000 0.000000 -0.500000
|
||||
v -2.000000 0.125000 0.500000
|
||||
v -2.000000 0.125000 -0.500000
|
||||
v -0.750000 0.475000 0.500000
|
||||
v -0.750000 0.475000 -0.500000
|
||||
v 0.750000 0.475000 0.500000
|
||||
v 0.750000 0.475000 -0.500000
|
||||
v 2.000000 0.125000 -0.500000
|
||||
v 2.000000 0.125000 0.500000
|
||||
v 0.750000 0.100000 0.500000
|
||||
v 0.750000 0.100000 -0.500000
|
||||
v -0.750000 0.100000 0.500000
|
||||
v -0.750000 0.100000 -0.500000
|
||||
vt 0.679427 0.603288
|
||||
vt 0.736986 0.545729
|
||||
vt 0.755787 0.564530
|
||||
vt 0.736986 0.464329
|
||||
vt 0.763575 0.464329
|
||||
vt 0.679428 0.406770
|
||||
vt 0.698229 0.387969
|
||||
vt 0.598027 0.406770
|
||||
vt 0.598027 0.380181
|
||||
vt 0.540468 0.464329
|
||||
vt 0.521667 0.445528
|
||||
vt 0.540468 0.545729
|
||||
vt 0.513879 0.545729
|
||||
vt 0.598027 0.603288
|
||||
vt 0.679427 0.629877
|
||||
vt 0.579226 0.622089
|
||||
vt 0.371403 0.064091
|
||||
vt 0.370621 0.122777
|
||||
vt 0.246818 0.069553
|
||||
vt 0.028468 0.292851
|
||||
vt 0.071192 0.251063
|
||||
vt 0.122297 0.378412
|
||||
vt 0.289175 0.473320
|
||||
vt 0.246967 0.432446
|
||||
vt 0.370760 0.378824
|
||||
vt 0.456943 0.213084
|
||||
vt 0.412191 0.251217
|
||||
vt 0.204262 0.028468
|
||||
vt 0.122271 0.123726
|
||||
vt 0.028468 0.209288
|
||||
vt 0.062521 0.124396
|
||||
vt 0.121333 0.437581
|
||||
vt 0.143605 0.355918
|
||||
vt 0.245661 0.401664
|
||||
vt 0.429011 0.374227
|
||||
vt 0.552285 0.820181
|
||||
vt 0.552285 0.686813
|
||||
vt 0.658640 0.686813
|
||||
vt 0.346906 0.359230
|
||||
vt 0.145516 0.144219
|
||||
vt 0.102263 0.249691
|
||||
vt 0.382068 0.252292
|
||||
vt 0.248398 0.100332
|
||||
vt 0.348830 0.144590
|
||||
vt 0.898743 0.686813
|
||||
vt 0.898743 0.820181
|
||||
vt 0.792388 0.820181
|
||||
vt 0.658640 0.971532
|
||||
vt 0.552285 0.971532
|
||||
vt 0.552285 0.833475
|
||||
vt 0.898743 0.833475
|
||||
vt 0.792388 0.833475
|
||||
vt 0.898743 0.971532
|
||||
vt 0.658640 0.833475
|
||||
vt 0.792388 0.971532
|
||||
vt 0.753982 0.960778
|
||||
vt 0.937149 0.960778
|
||||
vt 0.513879 0.960778
|
||||
vt 0.539483 0.829891
|
||||
vt 0.671442 0.829891
|
||||
vt 0.697046 0.960778
|
||||
vt 0.413332 0.663908
|
||||
vt 0.306977 0.663908
|
||||
vt 0.306977 0.530539
|
||||
vt 0.066874 0.530539
|
||||
vt 0.173229 0.530539
|
||||
vt 0.173229 0.663908
|
||||
vt 0.413332 0.815259
|
||||
vt 0.306977 0.815259
|
||||
vt 0.306977 0.677202
|
||||
vt 0.066874 0.663908
|
||||
vt 0.173229 0.677202
|
||||
vt 0.066874 0.815259
|
||||
vt 0.066874 0.677202
|
||||
vt 0.413332 0.677202
|
||||
vt 0.028468 0.804505
|
||||
vt 0.211635 0.804505
|
||||
vt 0.173229 0.815259
|
||||
vt 0.268571 0.804505
|
||||
vt 0.294175 0.673617
|
||||
vt 0.426134 0.673617
|
||||
vt 0.451738 0.804505
|
||||
vt 0.722318 0.323245
|
||||
vt 0.513879 0.236907
|
||||
vt 0.600218 0.028468
|
||||
vt 0.698228 0.622089
|
||||
vt 0.763575 0.545729
|
||||
vt 0.755787 0.445528
|
||||
vt 0.679428 0.380181
|
||||
vt 0.579226 0.387969
|
||||
vt 0.513880 0.464329
|
||||
vt 0.598027 0.629877
|
||||
vt 0.521667 0.564530
|
||||
vt 0.288867 0.028609
|
||||
vt 0.062538 0.377750
|
||||
vt 0.371704 0.437572
|
||||
vt 0.429230 0.127457
|
||||
vt 0.121231 0.064583
|
||||
vt 0.204447 0.473603
|
||||
vt 0.456631 0.289155
|
||||
vt 0.658640 0.820181
|
||||
vt 0.792388 0.686813
|
||||
vt 0.779586 0.829891
|
||||
vt 0.911545 0.829891
|
||||
vt 0.413332 0.530539
|
||||
vt 0.054072 0.673618
|
||||
vt 0.186031 0.673618
|
||||
vt 0.722318 0.028468
|
||||
vt 0.808657 0.114806
|
||||
vt 0.808657 0.236907
|
||||
vt 0.600218 0.323245
|
||||
vt 0.513879 0.114806
|
||||
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.000000 1.000000 -0.000000
|
||||
vn -0.382700 0.000000 -0.923900
|
||||
vn -0.923900 0.000000 -0.382700
|
||||
vn 0.000000 -0.996800 0.079700
|
||||
vn 0.000000 -0.996800 -0.079700
|
||||
vn 0.000000 0.963000 -0.269600
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.963000 0.269600
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.079700 -0.996800 0.000000
|
||||
vn -0.079700 -0.996800 -0.000000
|
||||
vn -0.269600 0.963000 -0.000000
|
||||
vn 0.269600 0.963000 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.678598 0.678598 -0.281085
|
||||
vn -0.678599 0.678598 0.281085
|
||||
vn -0.281085 0.678598 0.678598
|
||||
vn 0.281085 0.678598 0.678598
|
||||
vn 0.678599 0.678598 0.281085
|
||||
vn 0.678598 0.678599 -0.281085
|
||||
vn 0.281085 0.678598 -0.678598
|
||||
vn 0.382683 0.000000 -0.923880
|
||||
vn 0.382684 0.000000 0.923880
|
||||
vn -0.382684 0.000000 0.923879
|
||||
vn -0.382683 0.000000 -0.923880
|
||||
vn -0.678598 0.678598 0.281085
|
||||
vn 0.678598 0.678598 0.281085
|
||||
vn 0.678598 0.678598 -0.281085
|
||||
s off
|
||||
f 2/1/1 4/2/1 3/3/1
|
||||
f 4/4/2 6/5/2 5/6/2
|
||||
f 6/7/3 8/8/3 7/9/3
|
||||
f 8/10/4 10/11/4 9/12/4
|
||||
f 10/13/5 12/14/5 11/15/5
|
||||
f 12/16/6 14/17/6 13/18/6
|
||||
f 16/19/7 24/20/7 17/21/7
|
||||
f 16/22/8 2/23/8 1/24/8
|
||||
f 14/25/9 16/26/9 15/27/9
|
||||
f 15/28/10 7/29/10 13/30/10
|
||||
f 21/31/11 20/32/11 19/33/11
|
||||
f 14/34/12 23/35/12 24/36/12
|
||||
f 12/37/13 22/38/13 23/39/13
|
||||
f 10/40/14 21/41/14 22/42/14
|
||||
f 8/43/15 20/44/15 21/45/15
|
||||
f 6/46/16 19/47/16 20/48/16
|
||||
f 4/49/17 18/50/17 19/51/17
|
||||
f 2/52/18 17/53/18 18/54/18
|
||||
f 1/55/19 2/1/19 3/3/19
|
||||
f 3/56/2 4/4/2 5/6/2
|
||||
f 5/57/3 6/7/3 7/9/3
|
||||
f 7/58/20 8/10/20 9/12/20
|
||||
f 9/59/21 10/13/21 11/15/21
|
||||
f 11/60/6 12/16/6 13/18/6
|
||||
f 2/61/7 16/19/7 17/21/7
|
||||
f 15/62/22 16/22/22 1/24/22
|
||||
f 13/63/9 14/25/9 15/27/9
|
||||
f 15/28/10 1/64/10 3/65/10
|
||||
f 3/65/10 5/66/10 7/29/10
|
||||
f 7/29/10 9/67/10 11/68/10
|
||||
f 19/33/11 18/69/11 17/70/11
|
||||
f 15/28/10 3/65/10 7/29/10
|
||||
f 23/71/11 19/33/11 24/72/11
|
||||
f 7/29/10 11/68/10 13/30/10
|
||||
f 21/31/11 19/33/11 22/73/11
|
||||
f 16/74/12 14/34/12 24/36/12
|
||||
f 19/33/11 23/71/11 22/73/11
|
||||
f 14/75/23 12/37/23 23/39/23
|
||||
f 19/33/11 17/70/11 24/72/11
|
||||
f 12/76/14 10/40/14 22/42/14
|
||||
f 10/77/15 8/43/15 21/45/15
|
||||
f 8/78/24 6/46/24 20/48/24
|
||||
f 6/79/25 4/49/25 19/51/25
|
||||
f 4/80/18 2/52/18 18/54/18
|
||||
f 2/1/1 4/2/1 18/3/1
|
||||
f 4/2/2 6/4/2 19/5/2
|
||||
f 6/4/3 8/6/3 20/7/3
|
||||
f 8/6/4 10/8/4 21/9/4
|
||||
f 10/8/5 12/10/5 22/11/5
|
||||
f 12/10/6 14/12/6 23/13/6
|
||||
f 14/12/7 8/6/7 6/4/7
|
||||
f 16/14/8 2/1/8 17/15/8
|
||||
f 14/12/9 16/14/9 24/16/9
|
||||
f 17/17/7 11/18/7 13/19/7
|
||||
f 22/20/7 9/21/7 7/22/7
|
||||
f 20/23/7 5/24/7 3/25/7
|
||||
f 18/26/7 1/27/7 11/18/7
|
||||
f 24/28/7 13/19/7 15/29/7
|
||||
f 22/30/7 23/31/7 15/29/7
|
||||
f 21/32/7 7/22/7 5/24/7
|
||||
f 7/22/4 29/33/4 28/34/4
|
||||
f 19/35/7 3/25/7 1/27/7
|
||||
f 36/36/10 48/37/10 47/38/10
|
||||
f 5/24/3 28/34/3 27/39/3
|
||||
f 15/29/6 31/40/6 30/41/6
|
||||
f 9/21/5 30/41/5 29/33/5
|
||||
f 3/25/2 27/39/2 26/42/2
|
||||
f 13/19/9 32/43/9 31/40/9
|
||||
f 1/27/1 26/42/1 25/44/1
|
||||
f 11/18/8 25/44/8 32/43/8
|
||||
f 46/45/11 34/46/11 33/47/11
|
||||
f 39/48/12 40/49/12 38/50/12
|
||||
f 33/47/13 34/46/13 43/51/13
|
||||
f 44/52/14 43/51/14 42/53/14
|
||||
f 37/54/15 38/50/15 36/36/15
|
||||
f 44/52/16 41/55/16 45/56/16
|
||||
f 46/57/17 42/53/17 43/51/17
|
||||
f 48/58/17 36/59/17 38/50/17
|
||||
f 37/54/16 35/60/16 47/61/16
|
||||
f 51/62/18 52/63/18 64/64/18
|
||||
f 61/65/19 62/66/19 50/67/19
|
||||
f 55/68/20 56/69/20 54/70/20
|
||||
f 49/71/17 50/67/17 59/72/17
|
||||
f 57/73/21 60/74/21 59/72/21
|
||||
f 53/75/16 54/70/16 52/63/16
|
||||
f 60/74/13 57/73/13 61/76/13
|
||||
f 62/77/15 58/78/15 59/72/15
|
||||
f 64/79/15 52/80/15 54/70/15
|
||||
f 53/75/13 51/81/13 63/82/13
|
||||
f 28/83/22 30/84/22 32/85/22
|
||||
f 17/86/1 2/1/1 18/3/1
|
||||
f 18/87/2 4/2/2 19/5/2
|
||||
f 19/88/3 6/4/3 20/7/3
|
||||
f 20/89/4 8/6/4 21/9/4
|
||||
f 21/90/5 10/8/5 22/11/5
|
||||
f 22/91/6 12/10/6 23/13/6
|
||||
f 6/4/7 4/2/7 2/1/7
|
||||
f 2/1/7 16/14/7 6/4/7
|
||||
f 14/12/7 12/10/7 10/8/7
|
||||
f 10/8/7 8/6/7 14/12/7
|
||||
f 6/4/7 16/14/7 14/12/7
|
||||
f 24/92/8 16/14/8 17/15/8
|
||||
f 23/93/9 14/12/9 24/16/9
|
||||
f 24/94/7 17/17/7 13/19/7
|
||||
f 21/95/7 22/20/7 7/22/7
|
||||
f 19/96/7 20/23/7 3/25/7
|
||||
f 17/97/7 18/26/7 11/18/7
|
||||
f 23/98/7 24/28/7 15/29/7
|
||||
f 9/21/7 22/30/7 15/29/7
|
||||
f 20/99/7 21/32/7 5/24/7
|
||||
f 5/24/4 7/22/4 28/34/4
|
||||
f 18/100/7 19/35/7 1/27/7
|
||||
f 35/101/10 36/36/10 47/38/10
|
||||
f 3/25/3 5/24/3 27/39/3
|
||||
f 9/21/6 15/29/6 30/41/6
|
||||
f 7/22/5 9/21/5 29/33/5
|
||||
f 1/27/2 3/25/2 26/42/2
|
||||
f 15/29/9 13/19/9 31/40/9
|
||||
f 11/18/1 1/27/1 25/44/1
|
||||
f 13/19/8 11/18/8 32/43/8
|
||||
f 45/102/11 46/45/11 33/47/11
|
||||
f 37/54/12 39/48/12 38/50/12
|
||||
f 44/52/13 33/47/13 43/51/13
|
||||
f 41/55/14 44/52/14 42/53/14
|
||||
f 35/101/15 37/54/15 36/36/15
|
||||
f 33/103/16 44/52/16 45/56/16
|
||||
f 34/104/17 46/57/17 43/51/17
|
||||
f 40/49/17 48/58/17 38/50/17
|
||||
f 39/48/16 37/54/16 47/61/16
|
||||
f 63/105/18 51/62/18 64/64/18
|
||||
f 49/71/19 61/65/19 50/67/19
|
||||
f 53/75/20 55/68/20 54/70/20
|
||||
f 60/74/17 49/71/17 59/72/17
|
||||
f 58/78/21 57/73/21 59/72/21
|
||||
f 51/62/16 53/75/16 52/63/16
|
||||
f 49/106/13 60/74/13 61/76/13
|
||||
f 50/107/15 62/77/15 59/72/15
|
||||
f 56/69/15 64/79/15 54/70/15
|
||||
f 55/68/13 53/75/13 63/82/13
|
||||
f 32/85/22 25/108/22 26/109/22
|
||||
f 26/109/22 27/110/22 28/83/22
|
||||
f 28/83/22 29/111/22 30/84/22
|
||||
f 30/84/22 31/112/22 32/85/22
|
||||
f 32/85/22 26/109/22 28/83/22
|
||||
|
||||
1870
assets/hbm/models/chemplant_main.obj
Normal file
150
assets/hbm/models/chemplant_piston.obj
Normal file
@ -0,0 +1,150 @@
|
||||
# Blender v2.76 (sub 0) OBJ File: 'chemplant_piston.blend'
|
||||
# www.blender.org
|
||||
o Cube.001_Cube.002
|
||||
v 0.427500 2.000000 -0.427500
|
||||
v 0.427500 2.000000 -0.822500
|
||||
v 0.822500 2.000000 -0.427500
|
||||
v 0.822500 2.000000 -0.822500
|
||||
v 0.427500 2.150000 -0.427500
|
||||
v 0.427500 2.150000 -0.822500
|
||||
v 0.822500 2.150000 -0.822500
|
||||
v 0.822500 2.150000 -0.427500
|
||||
v 0.476875 2.000000 -0.476875
|
||||
v 0.476875 2.000000 -0.773125
|
||||
v 0.773125 2.000000 -0.773125
|
||||
v 0.773125 2.000000 -0.476875
|
||||
v 0.476875 1.500000 -0.476875
|
||||
v 0.476875 1.500000 -0.773125
|
||||
v 0.773125 1.500000 -0.773125
|
||||
v 0.773125 1.500000 -0.476875
|
||||
v -0.822500 2.000000 -0.427500
|
||||
v -0.822500 2.000000 -0.822500
|
||||
v -0.427500 2.000000 -0.427500
|
||||
v -0.427500 2.000000 -0.822500
|
||||
v -0.822500 2.150000 -0.427500
|
||||
v -0.822500 2.150000 -0.822500
|
||||
v -0.427500 2.150000 -0.822500
|
||||
v -0.427500 2.150000 -0.427500
|
||||
v -0.773125 2.000000 -0.476875
|
||||
v -0.773125 2.000000 -0.773125
|
||||
v -0.476875 2.000000 -0.773125
|
||||
v -0.476875 2.000000 -0.476875
|
||||
v -0.773125 1.500000 -0.476875
|
||||
v -0.773125 1.500000 -0.773125
|
||||
v -0.476875 1.500000 -0.773125
|
||||
v -0.476875 1.500000 -0.476875
|
||||
vt 0.263926 0.442748
|
||||
vt 0.248840 0.427662
|
||||
vt 0.248840 0.337146
|
||||
vt 0.309756 0.322060
|
||||
vt 0.430444 0.322060
|
||||
vt 0.430444 0.442748
|
||||
vt 0.263926 0.322060
|
||||
vt 0.309756 0.442748
|
||||
vt 0.476275 0.442748
|
||||
vt 0.309756 0.488579
|
||||
vt 0.430444 0.276229
|
||||
vt 0.415358 0.503665
|
||||
vt 0.415358 0.656434
|
||||
vt 0.324842 0.656434
|
||||
vt 0.476275 0.322060
|
||||
vt 0.491361 0.337146
|
||||
vt 0.491361 0.427662
|
||||
vt 0.430444 0.488579
|
||||
vt 0.324842 0.503664
|
||||
vt 0.309756 0.276230
|
||||
vt 0.324842 0.261143
|
||||
vt 0.415358 0.261144
|
||||
vt 0.324842 0.108374
|
||||
vt 0.415358 0.108374
|
||||
vt 0.096070 0.427662
|
||||
vt 0.096071 0.337146
|
||||
vt 0.644130 0.337146
|
||||
vt 0.644130 0.427662
|
||||
vt 0.847582 0.752895
|
||||
vt 0.847582 0.774230
|
||||
vt 0.783577 0.838234
|
||||
vt 0.729835 0.805827
|
||||
vt 0.644497 0.720488
|
||||
vt 0.729836 0.635149
|
||||
vt 0.762243 0.838234
|
||||
vt 0.815175 0.720488
|
||||
vt 0.697428 0.602742
|
||||
vt 0.847582 0.688081
|
||||
vt 0.612089 0.752895
|
||||
vt 0.783578 0.602742
|
||||
vt 0.891602 0.494718
|
||||
vt 0.955606 0.558722
|
||||
vt 0.612089 0.688081
|
||||
vt 0.612089 0.666746
|
||||
vt 0.676094 0.602742
|
||||
vt 0.762243 0.602742
|
||||
vt 0.847582 0.666746
|
||||
vt 0.697428 0.838234
|
||||
vt 0.676093 0.838234
|
||||
vt 0.612089 0.774230
|
||||
vt 0.568069 0.946258
|
||||
vt 0.504065 0.882254
|
||||
vt 0.955606 0.882254
|
||||
vt 0.891601 0.946258
|
||||
vt 0.504065 0.558721
|
||||
vt 0.568070 0.494717
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn -1.000000 0.000000 0.000000
|
||||
vn 0.000000 0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
s off
|
||||
f 3/1/1 12/2/1 11/3/1
|
||||
f 7/4/2 6/5/2 5/6/2
|
||||
f 4/7/3 7/4/3 8/8/3
|
||||
f 1/9/4 5/6/4 6/5/4
|
||||
f 3/10/5 8/8/5 5/6/5
|
||||
f 2/11/6 6/5/6 7/4/6
|
||||
f 9/12/5 13/13/5 16/14/5
|
||||
f 2/15/1 10/16/1 9/17/1
|
||||
f 1/18/1 9/12/1 12/19/1
|
||||
f 4/20/1 11/21/1 10/22/1
|
||||
f 11/21/6 15/23/6 14/24/6
|
||||
f 12/2/3 16/25/3 15/26/3
|
||||
f 10/16/4 14/27/4 13/28/4
|
||||
f 19/29/1 28/30/1 27/31/1
|
||||
f 23/32/2 22/33/2 21/34/2
|
||||
f 20/35/3 23/32/3 24/36/3
|
||||
f 17/37/4 21/34/4 22/33/4
|
||||
f 19/38/5 24/36/5 21/34/5
|
||||
f 18/39/6 22/33/6 23/32/6
|
||||
f 25/40/5 29/41/5 32/42/5
|
||||
f 18/43/1 26/44/1 25/45/1
|
||||
f 17/46/1 25/40/1 28/47/1
|
||||
f 20/48/1 27/49/1 26/50/1
|
||||
f 27/49/6 31/51/6 30/52/6
|
||||
f 28/30/3 32/53/3 31/54/3
|
||||
f 26/44/4 30/55/4 29/56/4
|
||||
f 4/7/1 3/1/1 11/3/1
|
||||
f 8/8/2 7/4/2 5/6/2
|
||||
f 3/1/3 4/7/3 8/8/3
|
||||
f 2/15/4 1/9/4 6/5/4
|
||||
f 1/18/5 3/10/5 5/6/5
|
||||
f 4/20/6 2/11/6 7/4/6
|
||||
f 12/19/5 9/12/5 16/14/5
|
||||
f 1/9/1 2/15/1 9/17/1
|
||||
f 3/10/1 1/18/1 12/19/1
|
||||
f 2/11/1 4/20/1 10/22/1
|
||||
f 10/22/6 11/21/6 14/24/6
|
||||
f 11/3/3 12/2/3 15/26/3
|
||||
f 9/17/4 10/16/4 13/28/4
|
||||
f 20/35/1 19/29/1 27/31/1
|
||||
f 24/36/2 23/32/2 21/34/2
|
||||
f 19/29/3 20/35/3 24/36/3
|
||||
f 18/43/4 17/37/4 22/33/4
|
||||
f 17/46/5 19/38/5 21/34/5
|
||||
f 20/48/6 18/39/6 23/32/6
|
||||
f 28/47/5 25/40/5 32/42/5
|
||||
f 17/37/1 18/43/1 25/45/1
|
||||
f 19/38/1 17/46/1 28/47/1
|
||||
f 18/39/1 20/48/1 26/50/1
|
||||
f 26/50/6 27/49/6 30/52/6
|
||||
f 27/31/3 28/30/3 31/54/3
|
||||
f 25/45/4 26/44/4 29/56/4
|
||||
3714
assets/hbm/models/refinery.obj
Normal file
@ -7,6 +7,10 @@
|
||||
"block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]},
|
||||
"block.shutdown": {"category": "block", "sounds": [{"name": "block/shutdown", "stream": false}]},
|
||||
"block.minerOperate": {"category": "block", "sounds": [{"name": "block/minerOperate", "stream": false}]},
|
||||
"block.assemblerOperate": {"category": "block", "sounds": [{"name": "block/assemblerOperate", "stream": false}]},
|
||||
"block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": false}]},
|
||||
"block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]},
|
||||
"block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]},
|
||||
|
||||
"item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]},
|
||||
"item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]},
|
||||
|
||||
BIN
assets/hbm/textures/gui/fluids2.png
Normal file → Executable file
|
Before Width: | Height: | Size: 874 B After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
assets/hbm/textures/gui/gui_refinery_alt.png
Normal file
|
After Width: | Height: | Size: 7.0 KiB |
BIN
assets/hbm/textures/items/canister_bitumen.png
Normal file
|
After Width: | Height: | Size: 305 B |
BIN
assets/hbm/textures/items/canister_heatingoil.png
Normal file
|
After Width: | Height: | Size: 307 B |
BIN
assets/hbm/textures/items/canister_heavyoil.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
assets/hbm/textures/items/canister_lightoil.png
Normal file
|
After Width: | Height: | Size: 302 B |
BIN
assets/hbm/textures/items/canister_naphtha.png
Normal file
|
After Width: | Height: | Size: 311 B |
BIN
assets/hbm/textures/items/gas_petroleum.png
Normal file
|
After Width: | Height: | Size: 217 B |
BIN
assets/hbm/textures/models/MissileDoomsday.png
Executable file
|
After Width: | Height: | Size: 54 KiB |
BIN
assets/hbm/textures/models/bombletThetaTexture.png
Executable file
|
After Width: | Height: | Size: 17 KiB |
BIN
assets/hbm/textures/models/tank.png
Executable file
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/hbm/textures/models/tank_AMAT.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
assets/hbm/textures/models/tank_ASCHRAB.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
assets/hbm/textures/models/tank_BITUMEN.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
assets/hbm/textures/models/tank_COOLANT.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
assets/hbm/textures/models/tank_DEUTERIUM.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
assets/hbm/textures/models/tank_DIESEL.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
assets/hbm/textures/models/tank_GAS.png
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
assets/hbm/textures/models/tank_HEATINGOIL.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
assets/hbm/textures/models/tank_HEAVYOIL.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
assets/hbm/textures/models/tank_KEROSENE.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
assets/hbm/textures/models/tank_LAVA.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
assets/hbm/textures/models/tank_LIGHTOIL.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
assets/hbm/textures/models/tank_LUBRICANT.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
assets/hbm/textures/models/tank_NAPHTHA.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/hbm/textures/models/tank_NONE.png
Executable file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/hbm/textures/models/tank_OIL.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/hbm/textures/models/tank_PETROIL.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
assets/hbm/textures/models/tank_PETROLEUM.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
assets/hbm/textures/models/tank_PUF6.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
assets/hbm/textures/models/tank_RECLAIMED.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
assets/hbm/textures/models/tank_SMEAR.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
assets/hbm/textures/models/tank_TRITIUM.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
assets/hbm/textures/models/tank_UF6.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
assets/hbm/textures/models/tank_WATER.png
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
@ -408,6 +408,8 @@ public class ModBlocks {
|
||||
public static Block dummy_port_chemplant;
|
||||
public static Block dummy_block_fluidtank;
|
||||
public static Block dummy_port_fluidtank;
|
||||
public static Block dummy_block_refinery;
|
||||
public static Block dummy_port_refinery;
|
||||
|
||||
|
||||
private static void initializeBlock() {
|
||||
@ -672,7 +674,7 @@ public class ModBlocks {
|
||||
machine_well = new MachineOilWell(Material.iron).setBlockName("machine_well").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_well");
|
||||
oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe");
|
||||
machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_flare");
|
||||
machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery_side");
|
||||
machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_refinery");
|
||||
machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_drill");
|
||||
drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe");
|
||||
machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock).setBlockTextureName(RefStrings.MODID + ":machine_assembler");
|
||||
@ -723,6 +725,8 @@ public class ModBlocks {
|
||||
dummy_port_chemplant = new DummyBlockChemplant(Material.iron).setBlockName("dummy_port_chemplant").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_block_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_block_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_fluidtank = new DummyBlockFluidTank(Material.iron).setBlockName("dummy_port_fluidtank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_block_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_block_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
dummy_port_refinery = new DummyBlockRefinery(Material.iron).setBlockName("dummy_port_refinery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
}
|
||||
|
||||
private static void registerBlock() {
|
||||
@ -1023,6 +1027,8 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(dummy_port_chemplant, dummy_port_chemplant.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_block_fluidtank, dummy_block_fluidtank.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_fluidtank, dummy_port_fluidtank.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_block_refinery, dummy_block_refinery.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(dummy_port_refinery, dummy_port_refinery.getUnlocalizedName());
|
||||
|
||||
//Other Technical Blocks
|
||||
GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName());
|
||||
|
||||
@ -239,7 +239,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileIncendiary missile = new EntityMissileIncendiary(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -257,7 +257,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileBunkerBuster missile = new EntityMissileBunkerBuster(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -266,7 +266,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_strong && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileStrong missile = new EntityMissileStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -275,7 +275,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_incendiary_strong && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileIncendiaryStrong missile = new EntityMissileIncendiaryStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -284,7 +284,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_cluster_strong && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileClusterStrong missile = new EntityMissileClusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -293,7 +293,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_buster_strong && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileBusterStrong missile = new EntityMissileBusterStrong(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -302,7 +302,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_burst && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileBurst missile = new EntityMissileBurst(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -311,7 +311,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_inferno && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileInferno missile = new EntityMissileInferno(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -320,7 +320,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_rain && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileRain missile = new EntityMissileRain(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileRain missile = new EntityMissileRain(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -329,7 +329,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_drill && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileDrill missile = new EntityMissileDrill(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -338,7 +338,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileNuclear missile = new EntityMissileNuclear(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -347,7 +347,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_endo && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileEndo missile = new EntityMissileEndo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -356,7 +356,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_exo && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileExo missile = new EntityMissileExo(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileExo missile = new EntityMissileExo(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
@ -365,7 +365,7 @@ public class LaunchPad extends BlockContainer implements IBomb {
|
||||
}
|
||||
if(entity.slots[0] != null && entity.slots[0].getItem() == ModItems.missile_nuclear_cluster && entity.power >= 75000)
|
||||
{
|
||||
EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, xCoord, zCoord, x + 0.5F, y + 2F, z + 0.5F);
|
||||
EntityMissileMirv missile = new EntityMissileMirv(p_149695_1_, x + 0.5F, y + 2F, z + 0.5F, xCoord, zCoord);
|
||||
p_149695_1_.spawnEntityInWorld(missile);
|
||||
entity.power -= 75000;
|
||||
|
||||
|
||||
106
com/hbm/blocks/machine/DummyBlockRefinery.java
Normal file
@ -0,0 +1,106 @@
|
||||
package com.hbm.blocks.machine;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.interfaces.IDummy;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityDummy;
|
||||
import com.hbm.tileentity.TileEntityMachineCyclotron;
|
||||
import com.hbm.tileentity.TileEntityMachineRefinery;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class DummyBlockRefinery extends BlockContainer implements IDummy {
|
||||
|
||||
public static boolean safeBreak = false;
|
||||
|
||||
public DummyBlockRefinery(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
return new TileEntityDummy();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void breakBlock(World world, int x, int y, int z, Block block, int i)
|
||||
{
|
||||
if(!safeBreak) {
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te != null && te instanceof TileEntityDummy) {
|
||||
int a = ((TileEntityDummy)te).targetX;
|
||||
int b = ((TileEntityDummy)te).targetY;
|
||||
int c = ((TileEntityDummy)te).targetZ;
|
||||
|
||||
//world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i);
|
||||
if(!world.isRemote)
|
||||
world.func_147480_a(a, b, c, true);
|
||||
}
|
||||
}
|
||||
world.removeTileEntity(x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public Item getItem(World world, int x, int y, int z)
|
||||
{
|
||||
return Item.getItemFromBlock(ModBlocks.machine_refinery);
|
||||
}
|
||||
|
||||
@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())
|
||||
{
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
if(te != null && te instanceof TileEntityDummy) {
|
||||
int a = ((TileEntityDummy)te).targetX;
|
||||
int b = ((TileEntityDummy)te).targetY;
|
||||
int c = ((TileEntityDummy)te).targetZ;
|
||||
|
||||
TileEntityMachineRefinery entity = (TileEntityMachineRefinery) world.getTileEntity(a, b, c);
|
||||
if(entity != null)
|
||||
{
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_refinery, world, a, b, c);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,7 +99,7 @@ public class MachineMiningDrill extends BlockContainer implements IMultiblock {
|
||||
}
|
||||
world.setBlock(x, y, z - 1, ModBlocks.dummy_port_drill);
|
||||
TileEntity te2 = world.getTileEntity(x, y, z - 1);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
if(te2 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te2;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
|
||||
@ -3,8 +3,11 @@ package com.hbm.blocks.machine;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.handler.MultiblockHandler;
|
||||
import com.hbm.interfaces.IMultiblock;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityDummy;
|
||||
import com.hbm.tileentity.TileEntityMachineRefinery;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
@ -14,6 +17,7 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
@ -21,28 +25,17 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class MachineRefinery extends BlockContainer {
|
||||
public class MachineRefinery extends BlockContainer implements IMultiblock {
|
||||
|
||||
private final Random field_149933_a = new Random();
|
||||
private Random rand;
|
||||
private static boolean keepInventory;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_top");
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_refinery_side");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
|
||||
public MachineRefinery(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -51,8 +44,19 @@ public class MachineRefinery extends BlockContainer {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_refinery);
|
||||
}
|
||||
|
||||
public MachineRefinery(Material p_i45386_1_) {
|
||||
super(p_i45386_1_);
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean renderAsNormalBlock() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -129,4 +133,51 @@ public class MachineRefinery extends BlockContainer {
|
||||
|
||||
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
|
||||
if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.refineryDimensions)) {
|
||||
MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.refineryDimensions, ModBlocks.dummy_block_refinery);
|
||||
|
||||
//
|
||||
DummyBlockRefinery.safeBreak = true;
|
||||
world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_refinery);
|
||||
TileEntity te = world.getTileEntity(x + 1, y, z + 1);
|
||||
if(te instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_refinery);
|
||||
TileEntity te2 = world.getTileEntity(x + 1, y, z - 1);
|
||||
if(te2 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te2;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_refinery);
|
||||
TileEntity te3 = world.getTileEntity(x - 1, y, z - 1);
|
||||
if(te3 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te3;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_refinery);
|
||||
TileEntity te4 = world.getTileEntity(x - 1, y, z + 1);
|
||||
if(te4 instanceof TileEntityDummy) {
|
||||
TileEntityDummy dummy = (TileEntityDummy)te4;
|
||||
dummy.targetX = x;
|
||||
dummy.targetY = y;
|
||||
dummy.targetZ = z;
|
||||
}
|
||||
DummyBlockRefinery.safeBreak = false;
|
||||
//
|
||||
|
||||
} else
|
||||
world.func_147480_a(x, y, z, true);
|
||||
}
|
||||
}
|
||||
|
||||
101
com/hbm/entity/missile/EntityBombletSelena.java
Normal file
@ -0,0 +1,101 @@
|
||||
package com.hbm.entity.missile;
|
||||
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.particle.EntityOilSpillFX;
|
||||
import com.hbm.entity.particle.EntitySSmokeFX;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.projectile.EntityThrowable;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityBombletSelena extends EntityThrowable {
|
||||
|
||||
double decelY = 0.1D;
|
||||
double accelXZ = 0.1D;
|
||||
|
||||
public EntityBombletSelena(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
this.ignoreFrustumCheck = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ);
|
||||
vector = vector.normalize();
|
||||
vector.xCoord *= accelXZ;
|
||||
vector.zCoord *= accelXZ;
|
||||
this.motionY -= decelY;
|
||||
this.motionX -= vector.xCoord;
|
||||
this.motionZ -= vector.zCoord;
|
||||
|
||||
this.rotation();
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F, true, true, true);
|
||||
ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
//if(!this.worldObj.isRemote)
|
||||
// this.worldObj.spawnEntityInWorld(new EntityOilSpillFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
}
|
||||
|
||||
protected void rotation() {
|
||||
float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
|
||||
this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI);
|
||||
|
||||
for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
|
||||
{
|
||||
this.prevRotationPitch += 360.0F;
|
||||
}
|
||||
|
||||
while (this.rotationYaw - this.prevRotationYaw < -180.0F)
|
||||
{
|
||||
this.prevRotationYaw -= 360.0F;
|
||||
}
|
||||
|
||||
while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
|
||||
{
|
||||
this.prevRotationYaw += 360.0F;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onImpact(MovingObjectPosition p_70184_1_) {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isInRangeToRenderDist(double distance)
|
||||
{
|
||||
return distance < 25000;
|
||||
}
|
||||
|
||||
}
|
||||
@ -4,6 +4,7 @@ import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.particle.EntitySSmokeFX;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -43,27 +44,26 @@ public class EntityBombletTheta extends EntityThrowable {
|
||||
this.motionX -= vector.xCoord;
|
||||
this.motionZ -= vector.zCoord;
|
||||
|
||||
if(motionY < -0.75D && !worldObj.isRemote && rand.nextInt(10) == 0) {
|
||||
EntityBombletSelena selena = new EntityBombletSelena(worldObj);
|
||||
selena.posX = this.posX;
|
||||
selena.posY = this.posY;
|
||||
selena.posZ = this.posZ;
|
||||
selena.motionX = rand.nextGaussian();
|
||||
selena.motionY = rand.nextGaussian();
|
||||
selena.motionZ = rand.nextGaussian();
|
||||
selena.decelY = this.decelY;
|
||||
selena.accelXZ = this.accelXZ;
|
||||
worldObj.spawnEntityInWorld(selena);
|
||||
}
|
||||
|
||||
this.rotation();
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
/*EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj);
|
||||
entity.posX = this.posX;
|
||||
entity.posY = this.posY;
|
||||
entity.posZ = this.posZ;
|
||||
entity.destructionRange = MainRegistry.mirvRadius;
|
||||
entity.speed = 25;
|
||||
entity.coefficient = 10.0F;
|
||||
|
||||
this.worldObj.spawnEntityInWorld(entity);
|
||||
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000);
|
||||
entity2.posX = this.posX;
|
||||
entity2.posY = this.posY - 9;
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);*/
|
||||
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 50.0F, true, true, true);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
@ -99,7 +99,6 @@ public class EntityBombletTheta extends EntityThrowable {
|
||||
|
||||
@Override
|
||||
protected void onImpact(MovingObjectPosition p_70184_1_) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -6,144 +6,18 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileBunkerBuster extends EntityMissileBase {
|
||||
public class EntityMissileBunkerBuster extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileBunkerBuster(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileBunkerBuster(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
public EntityMissileBunkerBuster(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
for(int i = 0; i < 15; i++)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 5F, true);
|
||||
@ -153,8 +27,5 @@ public class EntityMissileBunkerBuster extends EntityMissileBase {
|
||||
ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 5);
|
||||
ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileBurst extends EntityMissileBase {
|
||||
public class EntityMissileBurst extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileBurst(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileBurst(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileBurst(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
for(int i = 0; i < 4; i++)
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 50.0F, true);
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, 50.0F, true, true, true);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,145 +6,18 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileBusterStrong extends EntityMissileBase {
|
||||
public class EntityMissileBusterStrong extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileBusterStrong(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileBusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 75;
|
||||
public EntityMissileBusterStrong(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
for(int i = 0; i < 20; i++)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 7.5F, true);
|
||||
@ -153,7 +26,4 @@ public class EntityMissileBusterStrong extends EntityMissileBase {
|
||||
ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 8);
|
||||
ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileClusterStrong extends EntityMissileBase {
|
||||
public class EntityMissileClusterStrong extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileClusterStrong(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileClusterStrong(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 75;
|
||||
public EntityMissileClusterStrong(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
this.isCluster = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true);
|
||||
ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100);
|
||||
this.setDead();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true);
|
||||
ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 50, 100);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cluster() {
|
||||
this.onImpact();
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,150 +87,10 @@ public class EntityMissileDoomsday extends EntityMissileBaseAdvanced {
|
||||
worldObj.spawnEntityInWorld(bomblet4);
|
||||
worldObj.spawnEntityInWorld(bomblet5);
|
||||
worldObj.spawnEntityInWorld(bomblet6);
|
||||
ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(25));
|
||||
ExplosionLarge.spawnTracers(worldObj, posX, posY, posZ, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*public EntityMissileGeneric(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileGeneric(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
@ -6,145 +6,18 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileDrill extends EntityMissileBase {
|
||||
public class EntityMissileDrill extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileDrill(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileDrill(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileDrill(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
for(int i = 0; i < 30; i++)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY - i, this.posZ, 10F, true);
|
||||
@ -153,7 +26,4 @@ public class EntityMissileDrill extends EntityMissileBase {
|
||||
ExplosionLarge.spawnShrapnels(worldObj, this.posX, this.posY, this.posZ, 12);
|
||||
ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 12);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileEndo extends EntityMissileBase {
|
||||
public class EntityMissileEndo extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileEndo(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileEndo(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileEndo(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true);
|
||||
ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30);
|
||||
ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,150 +6,20 @@ import com.hbm.explosion.ExplosionThermo;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileExo extends EntityMissileBase {
|
||||
public class EntityMissileExo extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileExo(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileExo(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileExo(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true);
|
||||
ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30);
|
||||
ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,155 +8,19 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileIncendiary extends EntityMissileBase {
|
||||
public class EntityMissileIncendiary extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileIncendiary(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileIncendiary(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 10.0F, true, true, true);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isInRangeToRenderDist(double distance)
|
||||
{
|
||||
return distance < 25000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -7,149 +7,19 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileIncendiaryStrong extends EntityMissileBase {
|
||||
public class EntityMissileIncendiaryStrong extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileIncendiaryStrong(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileIncendiaryStrong(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 75;
|
||||
public EntityMissileIncendiaryStrong(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 25.0F, true, true, true);
|
||||
ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,150 +7,20 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileInferno extends EntityMissileBase {
|
||||
public class EntityMissileInferno extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileInferno(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileInferno(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileInferno(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 35.0F, true, true, true);
|
||||
ExplosionChaos.burn(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10);
|
||||
ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,153 +1,47 @@
|
||||
package com.hbm.entity.missile;
|
||||
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.particle.EntitySmokeFX;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileMirv extends EntityMissileBase {
|
||||
public class EntityMissileMirv extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileMirv(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileMirv(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 150;
|
||||
public EntityMissileMirv(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
this.isCluster = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
public void onImpact() {
|
||||
EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj);
|
||||
entity.posX = this.posX;
|
||||
entity.posY = this.posY;
|
||||
entity.posZ = this.posZ;
|
||||
entity.destructionRange = MainRegistry.missileRadius;
|
||||
entity.speed = 25;
|
||||
entity.coefficient = 10.0F;
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
this.worldObj.spawnEntityInWorld(entity);
|
||||
|
||||
this.rotation();
|
||||
EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(this.worldObj, 1000);
|
||||
entity2.posX = this.posX;
|
||||
entity2.posY = this.posY - 9;
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);
|
||||
}
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
@Override
|
||||
public void cluster() {
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true);
|
||||
ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ);
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15.0F, true);
|
||||
ExplosionChaos.mirv(this.worldObj,this.posX, this.posY, this.posZ);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,145 +8,18 @@ import com.hbm.main.MainRegistry;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileNuclear extends EntityMissileBase {
|
||||
public class EntityMissileNuclear extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileNuclear(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileNuclear(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileNuclear(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
EntityNukeExplosionAdvanced entity = new EntityNukeExplosionAdvanced(this.worldObj);
|
||||
entity.posX = this.posX;
|
||||
entity.posY = this.posY;
|
||||
@ -163,8 +36,5 @@ public class EntityMissileNuclear extends EntityMissileBase {
|
||||
entity2.posZ = this.posZ;
|
||||
this.worldObj.spawnEntityInWorld(entity2);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,145 +6,25 @@ import com.hbm.explosion.ExplosionChaos;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileRain extends EntityMissileBase {
|
||||
public class EntityMissileRain extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileRain(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileRain(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 100;
|
||||
public EntityMissileRain(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
this.isCluster = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true);
|
||||
ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100);
|
||||
this.setDead();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 25F, true);
|
||||
ExplosionChaos.cluster(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 100, 100);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cluster() {
|
||||
this.onImpact();
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,149 +6,19 @@ import com.hbm.explosion.ExplosionLarge;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMissileStrong extends EntityMissileBase {
|
||||
public class EntityMissileStrong extends EntityMissileBaseAdvanced {
|
||||
|
||||
public EntityMissileStrong(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
}
|
||||
|
||||
public EntityMissileStrong(World p_i1582_1_, int x, int z, double a, double b, double c) {
|
||||
super(p_i1582_1_, x, z, a, b, c);
|
||||
this.baseHeight = 75;
|
||||
public EntityMissileStrong(World world, float x, float y, float z, int a, int b) {
|
||||
super(world, x, y, z, a, b);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
|
||||
this.posX += this.motionX;
|
||||
this.posY += this.motionY;
|
||||
this.posZ += this.motionZ;
|
||||
|
||||
this.rotation();
|
||||
|
||||
switch(phase)
|
||||
{
|
||||
case 0:
|
||||
if(loc0 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc0);
|
||||
if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX &&
|
||||
loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY &&
|
||||
loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(loc1 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc1);
|
||||
if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX &&
|
||||
loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY &&
|
||||
loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(loc2 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc2);
|
||||
if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX &&
|
||||
loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY &&
|
||||
loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(loc3 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc3);
|
||||
if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX &&
|
||||
loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY &&
|
||||
loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 4;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(loc4 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc4);
|
||||
if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX &&
|
||||
loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY &&
|
||||
loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 5;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(loc5 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc5);
|
||||
if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX &&
|
||||
loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY &&
|
||||
loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 6;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if(loc6 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc6);
|
||||
if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX &&
|
||||
loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY &&
|
||||
loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 7;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if(loc7 != null)
|
||||
{
|
||||
freePizzaGoddammit(loc7);
|
||||
if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX &&
|
||||
loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY &&
|
||||
loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = 8;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
if(target != null)
|
||||
{
|
||||
freePizzaGoddammit(target);
|
||||
if(target.posX + 2 > this.posX && target.posX - 2 < this.posX &&
|
||||
target.posY + 2 > this.posY && target.posY - 2 < this.posY &&
|
||||
target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ)
|
||||
{
|
||||
this.phase = -1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water)
|
||||
{
|
||||
if(!this.worldObj.isRemote)
|
||||
{
|
||||
public void onImpact() {
|
||||
ExplosionLarge.explode(worldObj, posX, posY, posZ, 25.0F, true, true, true);
|
||||
}
|
||||
this.setDead();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ public class FluidTypeHandler {
|
||||
NONE (0x888888, 8947848, 0, 1, "hbmfluid.none"),
|
||||
|
||||
WATER (0x3333FF, 3355647, 1, 1, "hbmfluid.water"),
|
||||
STEAM (0x3333FF, 3355647, 1, 1, "hbmfluid.steam"),
|
||||
COOLANT (0xd8fcff, 14220543, 2, 1, "hbmfluid.coolant"),
|
||||
|
||||
LAVA (0xFF3300, 16724736, 3, 1, "hbmfluid.lava"),
|
||||
@ -14,6 +15,7 @@ public class FluidTypeHandler {
|
||||
TRITIUM (0x000099, 153, 5, 1, "hbmfluid.tritium"),
|
||||
|
||||
OIL (0x020202, 131586, 6, 1, "hbmfluid.oil"),
|
||||
HOTOIL (0x020202, 131586, 6, 1, "hbmfluid.hotoil"),
|
||||
|
||||
HEAVYOIL (0x141312, 1315602, 2, 2, "hbmfluid.heavyoil"),
|
||||
BITUMEN (0x1f2426, 2040870, 3, 2, "hbmfluid.bitumen"),
|
||||
|
||||
@ -58,6 +58,7 @@ public class MultiblockHandler {
|
||||
public static final int[] chemplantDimensionWest = new int[] { 1, 2, 2, 0, 1, 2 };
|
||||
public static final int[] fluidTankDimensionNS = new int[] { 1, 1, 2, 0, 2, 2 };
|
||||
public static final int[] fluidTankDimensionEW = new int[] { 2, 2, 2, 0, 1, 1 };
|
||||
public static final int[] refineryDimensions = new int[] { 1, 1, 9, 0, 1, 1 };
|
||||
|
||||
//Approved!
|
||||
public static boolean checkSpace(World world, int x, int y, int z, int[] i) {
|
||||
|
||||
@ -1638,7 +1638,7 @@ public class MachineRecipes {
|
||||
break;
|
||||
case WT3_CLUSTER:
|
||||
list.add(new ItemStack(ModItems.warhead_generic_large, 1));
|
||||
list.add(new ItemStack(ModItems.powder_fire, 16));
|
||||
list.add(new ItemStack(ModItems.pellet_cluster, 16));
|
||||
break;
|
||||
case WT1_BUSTER:
|
||||
list.add(new ItemStack(ModItems.warhead_generic_small, 1));
|
||||
@ -2511,6 +2511,20 @@ public class MachineRecipes {
|
||||
list.add(new ItemStack(Items.gold_ingot, 2));
|
||||
list.add(new ItemStack(Items.coal, 8));
|
||||
break;
|
||||
case CC_I:
|
||||
list.add(new ItemStack(Items.coal, 8));
|
||||
break;
|
||||
case CC_HEATING:
|
||||
list.add(new ItemStack(Items.coal, 8));
|
||||
break;
|
||||
case CC_HEAVY:
|
||||
list.add(new ItemStack(Items.coal, 10));
|
||||
break;
|
||||
case CC_NAPHTHA:
|
||||
list.add(new ItemStack(Items.coal, 10));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(list.isEmpty())
|
||||
@ -2531,6 +2545,59 @@ public class MachineRecipes {
|
||||
input[0] = new FluidStack(400, FluidType.LAVA);
|
||||
input[1] = new FluidStack(200, FluidType.KEROSENE);
|
||||
break;
|
||||
case FP_HEAVYOIL:
|
||||
input[0] = new FluidStack(1000, FluidType.HEAVYOIL);
|
||||
break;
|
||||
case FP_SMEAR:
|
||||
input[0] = new FluidStack(1000, FluidType.SMEAR);
|
||||
break;
|
||||
case FP_NAPHTHA:
|
||||
input[0] = new FluidStack(1000, FluidType.NAPHTHA);
|
||||
break;
|
||||
case FP_LIGHTOIL:
|
||||
input[0] = new FluidStack(1000, FluidType.LIGHTOIL);
|
||||
break;
|
||||
case FR_REOIL:
|
||||
input[0] = new FluidStack(1000, FluidType.SMEAR);
|
||||
break;
|
||||
case FR_PETROIL:
|
||||
input[0] = new FluidStack(800, FluidType.RECLAIMED);
|
||||
input[1] = new FluidStack(200, FluidType.LUBRICANT);
|
||||
break;
|
||||
case FC_I_NAPHTHA:
|
||||
input[0] = new FluidStack(1400, FluidType.SMEAR);
|
||||
input[1] = new FluidStack(800, FluidType.WATER);
|
||||
break;
|
||||
case FC_GAS_PETROLEUM:
|
||||
input[0] = new FluidStack(1800, FluidType.GAS);
|
||||
input[1] = new FluidStack(1200, FluidType.WATER);
|
||||
break;
|
||||
case FC_DIESEL_KEROSENE:
|
||||
input[0] = new FluidStack(1200, FluidType.DIESEL);
|
||||
input[1] = new FluidStack(2000, FluidType.STEAM);
|
||||
break;
|
||||
case FC_KEROSENE_PETROLEUM:
|
||||
input[0] = new FluidStack(1400, FluidType.KEROSENE);
|
||||
input[1] = new FluidStack(2000, FluidType.STEAM);
|
||||
break;
|
||||
case CC_I:
|
||||
input[0] = new FluidStack(800, FluidType.HEAVYOIL);
|
||||
input[1] = new FluidStack(1800, FluidType.WATER);
|
||||
break;
|
||||
case CC_HEATING:
|
||||
input[0] = new FluidStack(800, FluidType.SMEAR);
|
||||
input[1] = new FluidStack(2000, FluidType.STEAM);
|
||||
break;
|
||||
case CC_HEAVY:
|
||||
input[0] = new FluidStack(600, FluidType.SMEAR);
|
||||
input[1] = new FluidStack(1400, FluidType.WATER);
|
||||
break;
|
||||
case CC_NAPHTHA:
|
||||
input[0] = new FluidStack(1200, FluidType.HEAVYOIL);
|
||||
input[1] = new FluidStack(2400, FluidType.STEAM);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return input;
|
||||
@ -2548,6 +2615,8 @@ public class MachineRecipes {
|
||||
output[0] = new ItemStack(ModItems.ingot_steel);
|
||||
output[1] = new ItemStack(ModItems.ingot_desh, 2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return output;
|
||||
@ -2564,6 +2633,54 @@ public class MachineRecipes {
|
||||
case TEST:
|
||||
input[0] = new FluidStack(200, FluidType.WATER);
|
||||
break;
|
||||
case FP_HEAVYOIL:
|
||||
input[0] = new FluidStack(300, FluidType.BITUMEN);
|
||||
input[1] = new FluidStack(700, FluidType.SMEAR);
|
||||
break;
|
||||
case FP_SMEAR:
|
||||
input[0] = new FluidStack(600, FluidType.HEATINGOIL);
|
||||
input[1] = new FluidStack(400, FluidType.LUBRICANT);
|
||||
break;
|
||||
case FP_NAPHTHA:
|
||||
input[0] = new FluidStack(400, FluidType.HEATINGOIL);
|
||||
input[1] = new FluidStack(600, FluidType.DIESEL);
|
||||
break;
|
||||
case FP_LIGHTOIL:
|
||||
input[0] = new FluidStack(400, FluidType.DIESEL);
|
||||
input[1] = new FluidStack(600, FluidType.KEROSENE);
|
||||
break;
|
||||
case FR_REOIL:
|
||||
input[0] = new FluidStack(800, FluidType.RECLAIMED);
|
||||
break;
|
||||
case FR_PETROIL:
|
||||
input[0] = new FluidStack(1000, FluidType.PETROIL);
|
||||
break;
|
||||
case FC_I_NAPHTHA:
|
||||
input[0] = new FluidStack(800, FluidType.NAPHTHA);
|
||||
break;
|
||||
case FC_GAS_PETROLEUM:
|
||||
input[0] = new FluidStack(800, FluidType.PETROLEUM);
|
||||
break;
|
||||
case FC_DIESEL_KEROSENE:
|
||||
input[0] = new FluidStack(400, FluidType.KEROSENE);
|
||||
break;
|
||||
case FC_KEROSENE_PETROLEUM:
|
||||
input[0] = new FluidStack(800, FluidType.PETROLEUM);
|
||||
break;
|
||||
case CC_I:
|
||||
input[0] = new FluidStack(800, FluidType.SMEAR);
|
||||
break;
|
||||
case CC_HEATING:
|
||||
input[0] = new FluidStack(800, FluidType.HEATINGOIL);
|
||||
break;
|
||||
case CC_HEAVY:
|
||||
input[0] = new FluidStack(1800, FluidType.HEAVYOIL);
|
||||
break;
|
||||
case CC_NAPHTHA:
|
||||
input[0] = new FluidStack(2000, FluidType.NAPHTHA);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return input;
|
||||
|
||||
@ -14,46 +14,36 @@ public class ContainerMachineRefinery extends Container {
|
||||
|
||||
private TileEntityMachineRefinery testNuke;
|
||||
private int power;
|
||||
private float oil;
|
||||
private int fuel;
|
||||
private int lubricant;
|
||||
private int diesel;
|
||||
private int kerosene;
|
||||
|
||||
public ContainerMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) {
|
||||
power = 0;
|
||||
oil = 0;
|
||||
fuel = 0;
|
||||
lubricant = 0;
|
||||
diesel = 0;
|
||||
kerosene = 0;
|
||||
|
||||
testNuke = tedf;
|
||||
|
||||
//Battery
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 44, 54));
|
||||
this.addSlotToContainer(new Slot(tedf, 0, 8, 90));
|
||||
//Canister Input
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 134, 18));
|
||||
this.addSlotToContainer(new Slot(tedf, 1, 35, 90));
|
||||
//Canister Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 134, 54));
|
||||
//Fuel Input
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 26, 72));
|
||||
//Fuel Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 26, 108));
|
||||
//Lubricant Input
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 62, 72));
|
||||
//Lubricant Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 62, 108));
|
||||
//Diesel Input
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 98, 72));
|
||||
//Diesel Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 98, 108));
|
||||
//Kerosene Input
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 134, 72));
|
||||
//Kerosene Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 2, 35, 108));
|
||||
//Heavy Oil Input
|
||||
this.addSlotToContainer(new Slot(tedf, 3, 80, 90));
|
||||
//Heavy Oil Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 4, 80, 108));
|
||||
//Nahptha Input
|
||||
this.addSlotToContainer(new Slot(tedf, 5, 98, 90));
|
||||
//Nahptha Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 6, 98, 108));
|
||||
//Light Oil Input
|
||||
this.addSlotToContainer(new Slot(tedf, 7, 116, 90));
|
||||
//Light Oil Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 8, 116, 108));
|
||||
//Petroleum Input
|
||||
this.addSlotToContainer(new Slot(tedf, 9, 134, 90));
|
||||
//Petroleum Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 10, 134, 108));
|
||||
//Sulfur Output
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 108));
|
||||
this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 11, 152, 36));
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
@ -73,11 +63,6 @@ public class ContainerMachineRefinery extends Container {
|
||||
public void addCraftingToCrafters(ICrafting crafting) {
|
||||
super.addCraftingToCrafters(crafting);
|
||||
crafting.sendProgressBarUpdate(this, 0, this.testNuke.power);
|
||||
crafting.sendProgressBarUpdate(this, 1, this.testNuke.oil);
|
||||
crafting.sendProgressBarUpdate(this, 2, this.testNuke.fuel);
|
||||
crafting.sendProgressBarUpdate(this, 3, this.testNuke.lubricant);
|
||||
crafting.sendProgressBarUpdate(this, 4, this.testNuke.diesel);
|
||||
crafting.sendProgressBarUpdate(this, 5, this.testNuke.kerosene);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -136,34 +121,9 @@ public class ContainerMachineRefinery extends Container {
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 0, this.testNuke.power);
|
||||
}
|
||||
if(this.oil != this.testNuke.oil)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 1, this.testNuke.oil);
|
||||
}
|
||||
if(this.fuel != this.testNuke.fuel)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 2, this.testNuke.fuel);
|
||||
}
|
||||
if(this.lubricant != this.testNuke.lubricant)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 3, this.testNuke.lubricant);
|
||||
}
|
||||
if(this.diesel != this.testNuke.diesel)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 4, this.testNuke.diesel);
|
||||
}
|
||||
if(this.kerosene != this.testNuke.kerosene)
|
||||
{
|
||||
par1.sendProgressBarUpdate(this, 5, this.testNuke.kerosene);
|
||||
}
|
||||
}
|
||||
|
||||
this.power = this.testNuke.power;
|
||||
this.oil = this.testNuke.oil;
|
||||
this.oil = this.testNuke.fuel;
|
||||
this.oil = this.testNuke.lubricant;
|
||||
this.oil = this.testNuke.diesel;
|
||||
this.oil = this.testNuke.kerosene;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -172,25 +132,5 @@ public class ContainerMachineRefinery extends Container {
|
||||
{
|
||||
testNuke.power = j;
|
||||
}
|
||||
if(i == 1)
|
||||
{
|
||||
testNuke.oil = j;
|
||||
}
|
||||
if(i == 2)
|
||||
{
|
||||
testNuke.fuel = j;
|
||||
}
|
||||
if(i == 3)
|
||||
{
|
||||
testNuke.lubricant = j;
|
||||
}
|
||||
if(i == 4)
|
||||
{
|
||||
testNuke.diesel = j;
|
||||
}
|
||||
if(i == 5)
|
||||
{
|
||||
testNuke.kerosene = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,6 +52,12 @@ public class GUIMachineChemplant extends GuiFluidContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = chemplant.getPowerScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 44, guiTop + 70 - i, 176, 52 - i, 16, i);
|
||||
|
||||
int j = chemplant.getProgressScaled(90);
|
||||
drawTexturedModalRect(guiLeft + 43, guiTop + 89, 0, 222, j, 18);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures);
|
||||
|
||||
chemplant.tanks[0].renderTank(this, guiLeft + 8, guiTop + 52, chemplant.tanks[0].getTankType().textureX() * FluidTank.x, chemplant.tanks[0].getTankType().textureY() * FluidTank.y, 16, 34);
|
||||
|
||||
@ -2,6 +2,7 @@ package com.hbm.inventory.gui;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.inventory.container.ContainerMachineRefinery;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.TileEntityMachineRefinery;
|
||||
@ -12,22 +13,33 @@ import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class GUIMachineRefinery extends GuiContainer {
|
||||
public class GUIMachineRefinery extends GuiFluidContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_refinery.png");
|
||||
private TileEntityMachineRefinery diFurnace;
|
||||
private TileEntityMachineRefinery refinery;
|
||||
|
||||
public GUIMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) {
|
||||
super(new ContainerMachineRefinery(invPlayer, tedf));
|
||||
diFurnace = tedf;
|
||||
refinery = tedf;
|
||||
|
||||
this.xSize = 176;
|
||||
this.ySize = 222;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void drawScreen(int mouseX, int mouseY, float f) {
|
||||
super.drawScreen(mouseX, mouseY, f);
|
||||
|
||||
refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 34, 52);
|
||||
refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 70 - 52, 16, 52);
|
||||
refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 70 - 52, 16, 52);
|
||||
refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52);
|
||||
refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName());
|
||||
String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.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);
|
||||
@ -39,17 +51,16 @@ public class GUIMachineRefinery extends GuiContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int i = diFurnace.getOilScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 80, guiTop + 70 - i, 192, 52 - i, 34, i);
|
||||
int j = diFurnace.getPowerScaled(52);
|
||||
int j = refinery.getPowerScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 70 - j, 176, 52 - j, 16, j);
|
||||
int k = diFurnace.getSmearScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 8, guiTop + 124 - k, 176, 104 - k, 7, k);
|
||||
int l = diFurnace.getLubricantScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 44, guiTop + 124 - l, 183, 104 - l, 7, l);
|
||||
int m = diFurnace.getDieselScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 80, guiTop + 124 - m, 190, 104 - m, 7, m);
|
||||
int n = diFurnace.getKeroseneScaled(52);
|
||||
drawTexturedModalRect(guiLeft + 116, guiTop + 124 - n, 197, 104 - n, 7, n);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(FluidTank.fluidTextures);
|
||||
refinery.tanks[0].renderTank(this, guiLeft + 26, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
refinery.tanks[0].renderTank(this, guiLeft + 26 + 16, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
refinery.tanks[0].renderTank(this, guiLeft + 26 + 32, guiTop + 70, refinery.tanks[0].getTankType().textureX() * FluidTank.x, refinery.tanks[0].getTankType().textureY() * FluidTank.y, 2, 52);
|
||||
refinery.tanks[1].renderTank(this, guiLeft + 80, guiTop + 70, refinery.tanks[1].getTankType().textureX() * FluidTank.x, refinery.tanks[1].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
refinery.tanks[2].renderTank(this, guiLeft + 98, guiTop + 70, refinery.tanks[2].getTankType().textureX() * FluidTank.x, refinery.tanks[2].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
refinery.tanks[3].renderTank(this, guiLeft + 116, guiTop + 70, refinery.tanks[3].getTankType().textureX() * FluidTank.x, refinery.tanks[3].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
refinery.tanks[4].renderTank(this, guiLeft + 134, guiTop + 70, refinery.tanks[4].getTankType().textureX() * FluidTank.x, refinery.tanks[4].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
}
|
||||
}
|
||||
|
||||
@ -355,8 +355,15 @@ public class ModItems {
|
||||
public static Item canister_napalm;
|
||||
public static Item canister_NITAN;
|
||||
|
||||
public static Item canister_heavyoil;
|
||||
public static Item canister_bitumen;
|
||||
public static Item canister_heatingoil;
|
||||
public static Item canister_naphtha;
|
||||
public static Item canister_lightoil;
|
||||
|
||||
public static Item gas_empty;
|
||||
public static Item gas_full;
|
||||
public static Item gas_petroleum;
|
||||
|
||||
public static Item syringe_empty;
|
||||
public static Item syringe_antidote;
|
||||
@ -1279,8 +1286,14 @@ public class ModItems {
|
||||
canister_petroil = new ItemCustomLore().setUnlocalizedName("canister_petroil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_petroil");
|
||||
canister_napalm = new ItemCustomLore().setUnlocalizedName("canister_napalm").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_napalm");
|
||||
canister_NITAN = new ItemCustomLore().setUnlocalizedName("canister_NITAN").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_superfuel");
|
||||
canister_heavyoil = new ItemCustomLore().setUnlocalizedName("canister_heavyoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heavyoil");
|
||||
canister_bitumen = new ItemCustomLore().setUnlocalizedName("canister_bitumen").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_bitumen");
|
||||
canister_heatingoil = new ItemCustomLore().setUnlocalizedName("canister_heatingoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_heatingoil");
|
||||
canister_naphtha = new ItemCustomLore().setUnlocalizedName("canister_naphtha").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_naphtha");
|
||||
canister_lightoil = new ItemCustomLore().setUnlocalizedName("canister_lightoil").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_lightoil");
|
||||
gas_empty = new Item().setUnlocalizedName("gas_empty").setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":gas_empty");
|
||||
gas_full = new Item().setUnlocalizedName("gas_full").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_full");
|
||||
gas_petroleum = new Item().setUnlocalizedName("gas_petroleum").setCreativeTab(MainRegistry.tabParts).setContainerItem(ModItems.gas_empty).setTextureName(RefStrings.MODID + ":gas_petroleum");
|
||||
|
||||
tank_waste = new ItemTankWaste().setUnlocalizedName("tank_waste").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts);
|
||||
|
||||
@ -2232,10 +2245,15 @@ public class ModItems {
|
||||
//Canisters
|
||||
GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_oil, canister_oil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_heavyoil, canister_heavyoil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_bitumen, canister_bitumen.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_smear, canister_smear.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_heatingoil, canister_heatingoil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_canola, canister_canola.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_naphtha, canister_naphtha.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_fuel, canister_fuel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_kerosene, canister_kerosene.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_lightoil, canister_lightoil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_reoil, canister_reoil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_petroil, canister_petroil.getUnlocalizedName());
|
||||
GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName());
|
||||
@ -2244,6 +2262,7 @@ public class ModItems {
|
||||
//Gastanks
|
||||
GameRegistry.registerItem(gas_empty, gas_empty.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_full, gas_full.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gas_petroleum, gas_petroleum.getUnlocalizedName());
|
||||
|
||||
//Batteries
|
||||
GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName());
|
||||
|
||||
@ -422,6 +422,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill speed upgrade");
|
||||
list.add("Effect: Delay -15 (from 50)");
|
||||
list.add("Drawback: Power consumption +300 (from 100)");
|
||||
list.add("");
|
||||
list.add("Assembly machine speed upgrade");
|
||||
list.add("Effect: Delay -25 (from 100)");
|
||||
list.add("Drawback: Power consumption +300 (from 100)");
|
||||
list.add("");
|
||||
list.add("Chemical plant speed upgrade");
|
||||
list.add("Effect: Delay -25 (from 100)");
|
||||
list.add("Drawback: Power consumption +300 (from 100)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_speed_2)
|
||||
@ -429,6 +437,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill speed upgrade");
|
||||
list.add("Effect: Delay -30 (from 50)");
|
||||
list.add("Drawback: Power consumption +600 (from 100)");
|
||||
list.add("");
|
||||
list.add("Assembly machine speed upgrade");
|
||||
list.add("Effect: Delay -50 (from 100)");
|
||||
list.add("Drawback: Power consumption +600 (from 100)");
|
||||
list.add("");
|
||||
list.add("Chemical plant speed upgrade");
|
||||
list.add("Effect: Delay -50 (from 100)");
|
||||
list.add("Drawback: Power consumption +600 (from 100)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_speed_3)
|
||||
@ -436,6 +452,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill speed upgrade");
|
||||
list.add("Effect: Delay -45 (from 50)");
|
||||
list.add("Drawback: Power consumption +900 (from 100)");
|
||||
list.add("");
|
||||
list.add("Assembly machine speed upgrade");
|
||||
list.add("Effect: Delay -75 (from 100)");
|
||||
list.add("Drawback: Power consumption +900 (from 100)");
|
||||
list.add("");
|
||||
list.add("Chemical plant speed upgrade");
|
||||
list.add("Effect: Delay -75 (from 100)");
|
||||
list.add("Drawback: Power consumption +900 (from 100)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_effect_1)
|
||||
@ -464,6 +488,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill power saving upgrade");
|
||||
list.add("Effect: Power consumption -30 (from 100)");
|
||||
list.add("Drawback: Delay +5 (from 50)");
|
||||
list.add("");
|
||||
list.add("Assembly machine power saving upgrade");
|
||||
list.add("Effect: Power consumption -30 (from 100)");
|
||||
list.add("Drawback: Delay +5 (from 50)");
|
||||
list.add("");
|
||||
list.add("Chemical plant power saving upgrade");
|
||||
list.add("Effect: Power consumption -30 (from 100)");
|
||||
list.add("Drawback: Delay +5 (from 50)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_power_2)
|
||||
@ -471,6 +503,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill power saving upgrade");
|
||||
list.add("Effect: Power consumption -60 (from 100)");
|
||||
list.add("Drawback: Delay +10 (from 50)");
|
||||
list.add("");
|
||||
list.add("Assembly machine power saving upgrade");
|
||||
list.add("Effect: Power consumption -60 (from 100)");
|
||||
list.add("Drawback: Delay +10 (from 50)");
|
||||
list.add("");
|
||||
list.add("Chemical plant power saving upgrade");
|
||||
list.add("Effect: Power consumption -60 (from 100)");
|
||||
list.add("Drawback: Delay +10 (from 50)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_power_3)
|
||||
@ -478,6 +518,14 @@ public class ItemCustomLore extends ItemRadioactive {
|
||||
list.add("Mining drill power saving upgrade");
|
||||
list.add("Effect: Power consumption -90 (from 100)");
|
||||
list.add("Drawback: Delay +15 (from 50)");
|
||||
list.add("");
|
||||
list.add("Assembly machine power saving upgrade");
|
||||
list.add("Effect: Power consumption -90 (from 100)");
|
||||
list.add("Drawback: Delay +15 (from 50)");
|
||||
list.add("");
|
||||
list.add("Chemical plant power saving upgrade");
|
||||
list.add("Effect: Power consumption -90 (from 100)");
|
||||
list.add("Drawback: Delay +15 (from 50)");
|
||||
}
|
||||
|
||||
if(this == ModItems.upgrade_fortune_1)
|
||||
|
||||
@ -17,7 +17,14 @@ public class ItemChemistryTemplate extends Item {
|
||||
|
||||
public enum EnumChemistryTemplate {
|
||||
|
||||
TEST;
|
||||
//FP - Fuel Processing
|
||||
//FR - Fuel Reprocessing
|
||||
//FC - Fuel Cracking
|
||||
//CC - Coal Cracking
|
||||
|
||||
TEST, FP_HEAVYOIL, FP_SMEAR, FP_NAPHTHA, FP_LIGHTOIL, FR_REOIL, FR_PETROIL,
|
||||
FC_I_NAPHTHA, FC_GAS_PETROLEUM, FC_DIESEL_KEROSENE, FC_KEROSENE_PETROLEUM, CC_I,
|
||||
CC_HEATING, CC_HEAVY, CC_NAPHTHA;
|
||||
|
||||
public static EnumChemistryTemplate getEnum(int i) {
|
||||
return EnumChemistryTemplate.values()[i];
|
||||
@ -62,6 +69,34 @@ public class ItemChemistryTemplate extends Item {
|
||||
switch (enum1) {
|
||||
case TEST:
|
||||
return 200;
|
||||
case FP_HEAVYOIL:
|
||||
return 50;
|
||||
case FP_SMEAR:
|
||||
return 50;
|
||||
case FP_NAPHTHA:
|
||||
return 50;
|
||||
case FP_LIGHTOIL:
|
||||
return 50;
|
||||
case FR_REOIL:
|
||||
return 30;
|
||||
case FR_PETROIL:
|
||||
return 30;
|
||||
case FC_I_NAPHTHA:
|
||||
return 150;
|
||||
case FC_GAS_PETROLEUM:
|
||||
return 100;
|
||||
case FC_DIESEL_KEROSENE:
|
||||
return 150;
|
||||
case FC_KEROSENE_PETROLEUM:
|
||||
return 150;
|
||||
case CC_I:
|
||||
return 200;
|
||||
case CC_HEATING:
|
||||
return 250;
|
||||
case CC_HEAVY:
|
||||
return 200;
|
||||
case CC_NAPHTHA:
|
||||
return 300;
|
||||
default:
|
||||
return 100;
|
||||
}
|
||||
@ -91,6 +126,7 @@ public class ItemChemistryTemplate extends Item {
|
||||
|
||||
list.add("Inputs:");
|
||||
|
||||
if(stacks != null)
|
||||
for(int i = 0; i < stacks.size(); i++)
|
||||
list.add(stacks.get(i).stackSize + "x " + stacks.get(i).getDisplayName());
|
||||
|
||||
|
||||
@ -284,7 +284,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_flare ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_drill ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_assembler ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -325,7 +326,8 @@ public class Library {
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_well ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_flare ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_chemplant ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank)
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_fluidtank ||
|
||||
world.getBlock(x, y, z) == ModBlocks.dummy_port_refinery)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -856,6 +858,11 @@ public class Library {
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Refinery
|
||||
if(block == ModBlocks.dummy_port_refinery)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
|
||||
if(tileentity instanceof IConductor)
|
||||
{
|
||||
@ -1168,10 +1175,16 @@ public class Library {
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Fluid Tank
|
||||
if(block == ModBlocks.dummy_port_fluidtank)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
//Refinery
|
||||
if(block == ModBlocks.dummy_port_refinery)
|
||||
{
|
||||
tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ);
|
||||
}
|
||||
|
||||
if(tileentity == that)
|
||||
tileentity = null;
|
||||
|
||||
@ -35,6 +35,7 @@ import com.hbm.entity.grenade.EntityGrenadeStrong;
|
||||
import com.hbm.entity.grenade.EntityGrenadeTau;
|
||||
import com.hbm.entity.grenade.EntityGrenadeZOMG;
|
||||
import com.hbm.entity.item.EntityMinecartTest;
|
||||
import com.hbm.entity.missile.EntityBombletSelena;
|
||||
import com.hbm.entity.missile.EntityBombletTheta;
|
||||
import com.hbm.entity.missile.EntityMIRV;
|
||||
import com.hbm.entity.missile.EntityMissileAntiBallistic;
|
||||
@ -100,6 +101,7 @@ import com.hbm.render.entity.RenderBeam3;
|
||||
import com.hbm.render.entity.RenderBeam4;
|
||||
import com.hbm.render.entity.RenderBigNuke;
|
||||
import com.hbm.render.entity.RenderBlackHole;
|
||||
import com.hbm.render.entity.RenderBombletSelena;
|
||||
import com.hbm.render.entity.RenderBombletTheta;
|
||||
import com.hbm.render.entity.RenderChopperMine;
|
||||
import com.hbm.render.entity.RenderCloudFleija;
|
||||
@ -198,6 +200,7 @@ import com.hbm.render.tileentity.RenderPoleTop;
|
||||
import com.hbm.render.tileentity.RenderPuF6Tank;
|
||||
import com.hbm.render.tileentity.RenderPylon;
|
||||
import com.hbm.render.tileentity.RenderRedBarrel;
|
||||
import com.hbm.render.tileentity.RenderRefinery;
|
||||
import com.hbm.render.tileentity.RenderRotationTester;
|
||||
import com.hbm.render.tileentity.RenderSteelPoles;
|
||||
import com.hbm.render.tileentity.RenderStructureMaker;
|
||||
@ -234,6 +237,7 @@ import com.hbm.tileentity.TileEntityMachineCyclotron;
|
||||
import com.hbm.tileentity.TileEntityMachineFluidTank;
|
||||
import com.hbm.tileentity.TileEntityMachineGasFlare;
|
||||
import com.hbm.tileentity.TileEntityMachinePuF6Tank;
|
||||
import com.hbm.tileentity.TileEntityMachineRefinery;
|
||||
import com.hbm.tileentity.TileEntityMachineUF6Tank;
|
||||
import com.hbm.tileentity.TileEntityNukeBoy;
|
||||
import com.hbm.tileentity.TileEntityNukeCustom;
|
||||
@ -294,6 +298,7 @@ public class ClientProxy extends ServerProxy
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineChemplant.class, new RenderChemplant());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFluidTank.class, new RenderFluidTank());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRefinery.class, new RenderRefinery());
|
||||
|
||||
//RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderRocket());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core));
|
||||
@ -446,6 +451,7 @@ public class ClientProxy extends ServerProxy
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena());
|
||||
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo());
|
||||
|
||||
@ -63,6 +63,7 @@ import com.hbm.entity.item.EntityMinecartTest;
|
||||
import com.hbm.entity.logic.EntityNukeExplosion;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionAdvanced;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionPlus;
|
||||
import com.hbm.entity.missile.EntityBombletSelena;
|
||||
import com.hbm.entity.missile.EntityBombletTheta;
|
||||
import com.hbm.entity.missile.EntityMIRV;
|
||||
import com.hbm.entity.missile.EntityMissileAntiBallistic;
|
||||
@ -552,6 +553,7 @@ public class MainRegistry
|
||||
EntityRegistry.registerModEntity(EntitySparkBeam.class, "entity_spark_beam", 77, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 78, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityBombletTheta.class, "entity_theta", 79, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityBombletSelena.class, "entity_selena", 80, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
|
||||
@ -810,11 +812,18 @@ public class MainRegistry
|
||||
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_oil), new ItemStack(ModItems.canister_empty), FluidType.OIL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_smear), new ItemStack(ModItems.canister_empty), FluidType.SMEAR, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heavyoil), new ItemStack(ModItems.canister_empty), FluidType.HEAVYOIL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_bitumen), new ItemStack(ModItems.canister_empty), FluidType.BITUMEN, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_heatingoil), new ItemStack(ModItems.canister_empty), FluidType.HEATINGOIL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_reoil), new ItemStack(ModItems.canister_empty), FluidType.RECLAIMED, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_petroil), new ItemStack(ModItems.canister_empty), FluidType.PETROIL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_canola), new ItemStack(ModItems.canister_empty), FluidType.LUBRICANT, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_naphtha), new ItemStack(ModItems.canister_empty), FluidType.NAPHTHA, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_fuel), new ItemStack(ModItems.canister_empty), FluidType.DIESEL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_lightoil), new ItemStack(ModItems.canister_empty), FluidType.LIGHTOIL, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.canister_kerosene), new ItemStack(ModItems.canister_empty), FluidType.KEROSENE, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full), new ItemStack(ModItems.gas_empty), FluidType.GAS, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_petroleum), new ItemStack(ModItems.gas_empty), FluidType.PETROLEUM, 1000));
|
||||
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), FluidType.DEUTERIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), FluidType.TRITIUM, 1000));
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
package com.hbm.packet;
|
||||
|
||||
import com.hbm.sound.SoundLoopAssembler;
|
||||
import com.hbm.sound.SoundLoopChemplant;
|
||||
import com.hbm.sound.SoundLoopMiner;
|
||||
import com.hbm.tileentity.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.TileEntityMachineChemplant;
|
||||
import com.hbm.tileentity.TileEntityMachineMiningDrill;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@ -63,6 +67,30 @@ public class LoopedSoundPacket implements IMessage {
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineMiningDrill)te).torque > 0.2F)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopMiner(new ResourceLocation("hbm:block.minerOperate"), te));
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineChemplant) {
|
||||
|
||||
boolean flag = true;
|
||||
for(int i = 0; i < SoundLoopChemplant.list.size(); i++) {
|
||||
if(SoundLoopChemplant.list.get(i).getTE() == te && !SoundLoopChemplant.list.get(i).isDonePlaying())
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineChemplant)te).isProgressing)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopChemplant(new ResourceLocation("hbm:block.chemplantOperate"), te));
|
||||
}
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineAssembler) {
|
||||
|
||||
boolean flag = true;
|
||||
for(int i = 0; i < SoundLoopAssembler.list.size(); i++) {
|
||||
if(SoundLoopAssembler.list.get(i).getTE() == te && !SoundLoopAssembler.list.get(i).isDonePlaying())
|
||||
flag = false;
|
||||
}
|
||||
|
||||
if(flag && te.getWorldObj().isRemote && ((TileEntityMachineAssembler)te).isProgressing)
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopAssembler(new ResourceLocation("hbm:block.assemblerOperate"), te));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,6 +37,8 @@ public class PacketDispatcher {
|
||||
wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT);
|
||||
//Sound packet that keeps client and server separated
|
||||
wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT);
|
||||
//Chemplant piston rotation for rendering
|
||||
wrapper.registerMessage(TEChemplantPacket.Handler.class, TEChemplantPacket.class, i++, Side.CLIENT);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -14,18 +14,20 @@ public class TEAssemblerPacket implements IMessage {
|
||||
int y;
|
||||
int z;
|
||||
float spin;
|
||||
boolean progress;
|
||||
|
||||
public TEAssemblerPacket()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TEAssemblerPacket(int x, int y, int z, float spin)
|
||||
public TEAssemblerPacket(int x, int y, int z, float spin, boolean bool)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.spin = spin;
|
||||
this.progress = bool;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -34,6 +36,7 @@ public class TEAssemblerPacket implements IMessage {
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
spin = buf.readFloat();
|
||||
progress = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -42,6 +45,7 @@ public class TEAssemblerPacket implements IMessage {
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeFloat(spin);
|
||||
buf.writeBoolean(progress);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<TEAssemblerPacket, IMessage> {
|
||||
@ -54,6 +58,7 @@ public class TEAssemblerPacket implements IMessage {
|
||||
|
||||
TileEntityMachineAssembler gen = (TileEntityMachineAssembler) te;
|
||||
gen.rotation = m.spin;
|
||||
gen.isProgressing = m.progress;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
68
com/hbm/packet/TEChemplantPacket.java
Normal file
@ -0,0 +1,68 @@
|
||||
package com.hbm.packet;
|
||||
|
||||
import com.hbm.tileentity.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.TileEntityMachineChemplant;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TEChemplantPacket implements IMessage {
|
||||
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
float spin;
|
||||
boolean isProgressing;
|
||||
|
||||
public TEChemplantPacket()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TEChemplantPacket(int x, int y, int z, float spin, boolean isProgressing)
|
||||
{
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.spin = spin;
|
||||
this.isProgressing = isProgressing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
spin = buf.readFloat();
|
||||
isProgressing = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeFloat(spin);
|
||||
buf.writeBoolean(isProgressing);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<TEChemplantPacket, IMessage> {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(TEChemplantPacket m, MessageContext ctx) {
|
||||
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
|
||||
|
||||
if (te != null && te instanceof TileEntityMachineChemplant) {
|
||||
|
||||
TileEntityMachineChemplant gen = (TileEntityMachineChemplant) te;
|
||||
gen.rotation = m.spin;
|
||||
gen.isProgressing = m.isProgressing;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
42
com/hbm/render/entity/RenderBombletSelena.java
Normal file
@ -0,0 +1,42 @@
|
||||
package com.hbm.render.entity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderBombletSelena extends Render {
|
||||
|
||||
private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/bombletSelena.obj");
|
||||
private IModelCustom boyModel;
|
||||
private ResourceLocation boyTexture;
|
||||
|
||||
public RenderBombletSelena() {
|
||||
boyModel = AdvancedModelLoader.loadModel(objTesterModelRL);
|
||||
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
|
||||
GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(2, 2, 2);
|
||||
|
||||
bindTexture(boyTexture);
|
||||
boyModel.renderAll();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png");
|
||||
}
|
||||
}
|
||||
@ -18,7 +18,7 @@ public class RenderBombletTheta extends Render {
|
||||
|
||||
public RenderBombletTheta() {
|
||||
boyModel = AdvancedModelLoader.loadModel(objTesterModelRL);
|
||||
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/bombletThetaTexture.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -36,6 +36,6 @@ public class RenderBombletTheta extends Render {
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png");
|
||||
return new ResourceLocation(RefStrings.MODID +":textures/models/bombletThetaTexture.png");
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@ public class RenderMissileDoomsday extends Render {
|
||||
|
||||
public RenderMissileDoomsday() {
|
||||
boyModel = AdvancedModelLoader.loadModel(objTesterModelRL);
|
||||
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -30,13 +30,15 @@ public class RenderMissileDoomsday extends Render {
|
||||
GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glScalef(2F, 2F, 2F);
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
bindTexture(boyTexture);
|
||||
boyModel.renderAll();
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png");
|
||||
return new ResourceLocation(RefStrings.MODID +":textures/models/MissileDoomsday.png");
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.TileEntityMachineChemplant;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@ -11,20 +13,20 @@ import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderChemplant extends TileEntitySpecialRenderer {
|
||||
|
||||
private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant.obj");
|
||||
//private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/assembler_wheel.obj");
|
||||
private static final ResourceLocation body = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_main.obj");
|
||||
private static final ResourceLocation bolt = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/chemplant_piston.obj");
|
||||
|
||||
private IModelCustom bodyModel;
|
||||
private ResourceLocation bodyTexture;
|
||||
//private IModelCustom boltModel;
|
||||
//private ResourceLocation boltTexture;
|
||||
private IModelCustom boltModel;
|
||||
private ResourceLocation boltTexture;
|
||||
|
||||
public RenderChemplant()
|
||||
{
|
||||
bodyModel = AdvancedModelLoader.loadModel(body);
|
||||
bodyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
//boltModel = AdvancedModelLoader.loadModel(bolt);
|
||||
//boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
boltModel = AdvancedModelLoader.loadModel(bolt);
|
||||
boltTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,32 +64,35 @@ public class RenderChemplant extends TileEntitySpecialRenderer {
|
||||
|
||||
public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f)
|
||||
{
|
||||
/*GL11.glPushMatrix();
|
||||
GL11.glTranslated(x, y, z);
|
||||
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);
|
||||
switch(tileEntity.getBlockMetadata())
|
||||
{
|
||||
case 2:
|
||||
GL11.glTranslated(-1, 0, 0);
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
GL11.glTranslated(0.5D, 0.0D, -0.5D); break;
|
||||
case 4:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
GL11.glRotatef(270, 0F, 1F, 0F);
|
||||
GL11.glTranslated(0.5D, 0.0D, -0.5D); break;
|
||||
case 3:
|
||||
GL11.glTranslated(0, 0, -1);
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
GL11.glRotatef(0, 0F, 1F, 0F);
|
||||
GL11.glTranslated(0.5D, 0.0D, -0.5D); break;
|
||||
case 5:
|
||||
GL11.glTranslated(-1, 0, -1);
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
GL11.glRotatef(90, 0F, 1F, 0F);
|
||||
GL11.glTranslated(0.5D, 0.0D, -0.5D); break;
|
||||
}
|
||||
|
||||
float i = ((TileEntityMachineChemplant)tileEntity).rotation;
|
||||
float t = (float) Math.sin((i / (180 / Math.PI)))/4 + 0.25F;
|
||||
|
||||
GL11.glRotatef(((TileEntityMachineAssembler)tileEntity).rotation, 0F, 1F, 0F);
|
||||
GL11.glTranslatef(0, t, 0);
|
||||
|
||||
bindTexture(boltTexture);
|
||||
boltModel.renderAll();
|
||||
|
||||
GL11.glPopMatrix();*/
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.tileentity.TileEntityMachineFluidTank;
|
||||
import com.hbm.tileentity.TileEntityMachineIGenerator;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
@ -25,8 +26,8 @@ public class RenderFluidTank extends TileEntitySpecialRenderer {
|
||||
genModel = AdvancedModelLoader.loadModel(body);
|
||||
rotModel = AdvancedModelLoader.loadModel(rotor);
|
||||
//gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/textureIGenRotor.png");
|
||||
genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png");
|
||||
rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_none.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -87,6 +88,10 @@ public class RenderFluidTank extends TileEntitySpecialRenderer {
|
||||
//GL11.glTranslated(0.5D, 0.0D, 0.0D);
|
||||
}
|
||||
|
||||
String s = "NONE";
|
||||
if(tileEntity instanceof TileEntityMachineFluidTank)
|
||||
s = ((TileEntityMachineFluidTank)tileEntity).tank.getTankType().name();
|
||||
rotTexture = new ResourceLocation(RefStrings.MODID, "textures/models/tank_" + s + ".png");
|
||||
bindTexture(rotTexture);
|
||||
rotModel.renderAll();
|
||||
|
||||
|
||||
@ -46,6 +46,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
|
||||
private ResourceLocation missileMirvTexture;
|
||||
private ResourceLocation missileThermoEndoTexture;
|
||||
private ResourceLocation missileThermoExoTexture;
|
||||
private ResourceLocation missileDoomTexture;
|
||||
|
||||
public RenderLaunchPadTier1()
|
||||
{
|
||||
@ -74,6 +75,7 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
|
||||
missileMirvTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileMirv.png");
|
||||
missileThermoEndoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalEndo.png");
|
||||
missileThermoExoTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileThermalExo.png");
|
||||
missileDoomTexture = new ResourceLocation(RefStrings.MODID, "textures/models/MissileDoomsday.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -94,9 +96,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
GL11.glScalef(1.5F, 1.0F, 1.5F);
|
||||
bindTexture(padTexture);
|
||||
padModel.renderAll();
|
||||
GL11.glScalef(2/3F, 1.0F, 2/3F);
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
int state = 0;
|
||||
|
||||
if(tileEntity instanceof TileEntityLaunchPad)
|
||||
@ -203,10 +208,12 @@ public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer {
|
||||
if(state == 17)
|
||||
{
|
||||
GL11.glScalef(2F, 2F, 2F);
|
||||
bindTexture(missileStrongTexture);
|
||||
bindTexture(missileDoomTexture);
|
||||
missileDoom.renderAll();
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
|
||||
40
com/hbm/render/tileentity/RenderRefinery.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
import net.minecraftforge.client.model.IModelCustom;
|
||||
|
||||
public class RenderRefinery extends TileEntitySpecialRenderer {
|
||||
|
||||
private static final ResourceLocation body = new ResourceLocation(RefStrings.MODID, "models/refinery.obj");
|
||||
private IModelCustom genModel;
|
||||
private ResourceLocation genTexture;
|
||||
|
||||
public RenderRefinery()
|
||||
{
|
||||
genModel = AdvancedModelLoader.loadModel(body);
|
||||
genTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
|
||||
}
|
||||
|
||||
@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);
|
||||
|
||||
bindTexture(genTexture);
|
||||
|
||||
genModel.renderAll();
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
40
com/hbm/sound/SoundLoopAssembler.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.tileentity.TileEntityMachineAssembler;
|
||||
import com.hbm.tileentity.TileEntityMachineMiningDrill;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class SoundLoopAssembler extends SoundLoopMachine {
|
||||
|
||||
public static List<SoundLoopAssembler> list = new ArrayList<SoundLoopAssembler>();
|
||||
|
||||
public SoundLoopAssembler(ResourceLocation path, TileEntity te) {
|
||||
super(path, te);
|
||||
list.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if(te instanceof TileEntityMachineAssembler) {
|
||||
TileEntityMachineAssembler drill = (TileEntityMachineAssembler)te;
|
||||
|
||||
if(this.volume != 3)
|
||||
volume = 3;
|
||||
|
||||
if(!drill.isProgressing)
|
||||
this.donePlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
public TileEntity getTE() {
|
||||
return te;
|
||||
}
|
||||
|
||||
}
|
||||
40
com/hbm/sound/SoundLoopChemplant.java
Normal file
@ -0,0 +1,40 @@
|
||||
package com.hbm.sound;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.tileentity.TileEntityMachineChemplant;
|
||||
import com.hbm.tileentity.TileEntityMachineMiningDrill;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
public class SoundLoopChemplant extends SoundLoopMachine {
|
||||
|
||||
public static List<SoundLoopChemplant> list = new ArrayList<SoundLoopChemplant>();
|
||||
|
||||
public SoundLoopChemplant(ResourceLocation path, TileEntity te) {
|
||||
super(path, te);
|
||||
list.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
if(te instanceof TileEntityMachineChemplant) {
|
||||
TileEntityMachineChemplant plant = (TileEntityMachineChemplant)te;
|
||||
|
||||
if(this.volume != 3)
|
||||
volume = 3;
|
||||
|
||||
if(!plant.isProgressing)
|
||||
this.donePlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
public TileEntity getTE() {
|
||||
return te;
|
||||
}
|
||||
|
||||
}
|
||||
@ -9,6 +9,7 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.items.tool.ItemAssemblyTemplate;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.LoopedSoundPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEAssemblerPacket;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -34,6 +35,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
|
||||
public int progress;
|
||||
public int maxProgress = 100;
|
||||
public float rotation = 0;
|
||||
public boolean isProgressing;
|
||||
int age = 0;
|
||||
int consumption = 100;
|
||||
int speed = 100;
|
||||
@ -252,6 +254,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
isProgressing = false;
|
||||
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
|
||||
|
||||
if(MachineRecipes.getOutputFromTempate(slots[4]) != null && MachineRecipes.getRecipeFromTempate(slots[4]) != null) {
|
||||
@ -261,7 +264,7 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
|
||||
|
||||
if(slots[5] == null || (slots[5] != null && slots[5].getItem() == MachineRecipes.getOutputFromTempate(slots[4]).copy().getItem()) && slots[5].stackSize + MachineRecipes.getOutputFromTempate(slots[4]).copy().stackSize <= slots[5].getMaxStackSize()) {
|
||||
progress++;
|
||||
|
||||
isProgressing = true;
|
||||
rotation += 5;
|
||||
|
||||
if(rotation >= 360)
|
||||
@ -342,7 +345,8 @@ public class TileEntityMachineAssembler extends TileEntity implements ISidedInve
|
||||
break;
|
||||
}
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation));
|
||||
PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord, rotation, isProgressing));
|
||||
PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -17,8 +17,10 @@ import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.items.tool.ItemAssemblyTemplate;
|
||||
import com.hbm.items.tool.ItemChemistryTemplate;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.packet.LoopedSoundPacket;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.TEAssemblerPacket;
|
||||
import com.hbm.packet.TEChemplantPacket;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -44,6 +46,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
public int progress;
|
||||
public int maxProgress = 100;
|
||||
public float rotation = 0;
|
||||
public boolean isProgressing;
|
||||
int age = 0;
|
||||
int consumption = 100;
|
||||
int speed = 100;
|
||||
@ -284,6 +287,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
{
|
||||
isProgressing = false;
|
||||
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
@ -292,7 +297,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
|
||||
if(age == 9 || age == 19) {
|
||||
fillFluidInit(tanks[2].getTankType());
|
||||
//fillFluidInit(tanks[3].getTankType());
|
||||
fillFluidInit(tanks[3].getTankType());
|
||||
}
|
||||
|
||||
setContainers();
|
||||
@ -319,7 +324,7 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
|
||||
if(hasSpaceForItems(MachineRecipes.getChemOutputFromTempate(slots[4])) && hasSpaceForFluids(outputs)) {
|
||||
progress++;
|
||||
|
||||
isProgressing = true;
|
||||
rotation += 5;
|
||||
|
||||
if(rotation >= 360)
|
||||
@ -400,6 +405,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
if(tryFillAssembler(hopper, i))
|
||||
break;
|
||||
}
|
||||
|
||||
PacketDispatcher.wrapper.sendToAll(new TEChemplantPacket(xCoord, yCoord, zCoord, rotation, isProgressing));
|
||||
PacketDispatcher.wrapper.sendToAll(new LoopedSoundPacket(xCoord, yCoord, zCoord));
|
||||
}
|
||||
|
||||
}
|
||||
@ -666,8 +674,8 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
//boolean true: remove items, boolean false: simulation mode
|
||||
public boolean removeItems(List<ItemStack> stack, ItemStack[] array) {
|
||||
|
||||
if(stack == null)
|
||||
return false;
|
||||
if(stack == null || stack.isEmpty())
|
||||
return true;
|
||||
|
||||
for(int i = 0; i < stack.size(); i++) {
|
||||
for(int j = 0; j < stack.get(i).stackSize; j++) {
|
||||
@ -830,9 +838,9 @@ public class TileEntityMachineChemplant extends TileEntity implements ISidedInve
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getMaxFill();
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
return tanks[1].getMaxFill();
|
||||
return tanks[2].getMaxFill();
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
return tanks[1].getMaxFill();
|
||||
return tanks[3].getMaxFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1,37 +1,43 @@
|
||||
package com.hbm.tileentity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IConsumer;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.interfaces.IFluidSource;
|
||||
import com.hbm.interfaces.IOilAcceptor;
|
||||
import com.hbm.inventory.FluidTank;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.special.ItemBattery;
|
||||
import com.hbm.lib.Library;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
|
||||
public class TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IOilAcceptor {
|
||||
public class TileEntityMachineRefinery extends TileEntity implements ISidedInventory, IConsumer, IFluidContainer, IFluidAcceptor, IFluidSource {
|
||||
|
||||
private ItemStack slots[];
|
||||
|
||||
public int power = 0;
|
||||
public int oil = 0;
|
||||
public int fuel = 0;
|
||||
public int lubricant = 0;
|
||||
public int diesel = 0;
|
||||
public int kerosene = 0;
|
||||
public int sulfur = 0;
|
||||
public static final int maxSulfur = 1000;
|
||||
public static final int maxPower = 100000;
|
||||
public static final int maxOil = 640;
|
||||
public static final int maxFuel = 64 * 100;
|
||||
public static final int maxLubricant = 64 * 100;
|
||||
public static final int maxDiesel = 64 * 100;
|
||||
public static final int maxKerosene = 64 * 100;
|
||||
public static final int maxSulfur = 100;
|
||||
public int age = 0;
|
||||
public FluidTank[] tanks;
|
||||
public List<IFluidAcceptor> list1 = new ArrayList();
|
||||
public List<IFluidAcceptor> list2 = new ArrayList();
|
||||
public List<IFluidAcceptor> list3 = new ArrayList();
|
||||
public List<IFluidAcceptor> list4 = new ArrayList();
|
||||
|
||||
private static final int[] slots_top = new int[] { 1 };
|
||||
private static final int[] slots_bottom = new int[] { 0, 2, 4, 6, 8, 10, 11};
|
||||
@ -41,6 +47,17 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
|
||||
public TileEntityMachineRefinery() {
|
||||
slots = new ItemStack[12];
|
||||
tanks = new FluidTank[5];
|
||||
tanks[0] = new FluidTank(FluidType.OIL, 64000, 0);
|
||||
tanks[1] = new FluidTank(FluidType.HEAVYOIL, 16000, 0);
|
||||
tanks[2] = new FluidTank(FluidType.NAPHTHA, 16000, 0);
|
||||
tanks[3] = new FluidTank(FluidType.LIGHTOIL, 16000, 0);
|
||||
tanks[4] = new FluidTank(FluidType.PETROLEUM, 16000, 0);
|
||||
tanks[0].index = 0;
|
||||
tanks[1].index = 1;
|
||||
tanks[2].index = 2;
|
||||
tanks[3].index = 3;
|
||||
tanks[4].index = 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -99,7 +116,7 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
{
|
||||
return false;
|
||||
}else{
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64;
|
||||
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128;
|
||||
}
|
||||
}
|
||||
|
||||
@ -157,11 +174,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
NBTTagList list = nbt.getTagList("items", 10);
|
||||
|
||||
power = nbt.getInteger("power");
|
||||
oil = nbt.getInteger("oil");
|
||||
fuel = nbt.getInteger("fuel");
|
||||
lubricant = nbt.getInteger("lubricant");
|
||||
diesel = nbt.getInteger("diesel");
|
||||
kerosene = nbt.getInteger("kerosene");
|
||||
tanks[0].readFromNBT(nbt, "input");
|
||||
tanks[1].readFromNBT(nbt, "heavy");
|
||||
tanks[2].readFromNBT(nbt, "naphtha");
|
||||
tanks[3].readFromNBT(nbt, "light");
|
||||
tanks[4].readFromNBT(nbt, "petroleum");
|
||||
sulfur = nbt.getInteger("sulfur");
|
||||
slots = new ItemStack[getSizeInventory()];
|
||||
|
||||
@ -180,11 +197,11 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
nbt.setInteger("power", power);
|
||||
nbt.setInteger("oil", oil);
|
||||
nbt.setInteger("fuel", fuel);
|
||||
nbt.setInteger("lubricant", lubricant);
|
||||
nbt.setInteger("diesel", diesel);
|
||||
nbt.setInteger("kerosene", kerosene);
|
||||
tanks[0].writeToNBT(nbt, "input");
|
||||
tanks[1].writeToNBT(nbt, "heavy");
|
||||
tanks[2].writeToNBT(nbt, "naphtha");
|
||||
tanks[3].writeToNBT(nbt, "light");
|
||||
tanks[4].writeToNBT(nbt, "petroleum");
|
||||
nbt.setInteger("sulfur", sulfur);
|
||||
NBTTagList list = new NBTTagList();
|
||||
|
||||
@ -236,108 +253,52 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
int timer = 20;
|
||||
age++;
|
||||
if(age >= timer)
|
||||
age -= timer;
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
|
||||
power = Library.chargeTEFromItems(slots, 0, power, maxPower);
|
||||
|
||||
if(slots[1] != null && slots[1].getItem() == ModItems.canister_oil && oil + 5 <= maxOil) {
|
||||
if(slots[2] == null) {
|
||||
oil += 5;
|
||||
slots[1].stackSize--;
|
||||
if(slots[1].stackSize <= 0)
|
||||
slots[1] = null;
|
||||
slots[2] = new ItemStack(ModItems.canister_empty);
|
||||
}else if(slots[2] != null && slots[2].getItem() == ModItems.canister_empty && slots[2].stackSize < slots[2].getMaxStackSize()) {
|
||||
oil += 5;
|
||||
slots[1].stackSize--;
|
||||
if(slots[1].stackSize <= 0)
|
||||
slots[1] = null;
|
||||
slots[2].stackSize++;
|
||||
}
|
||||
age++;
|
||||
if(age >= 20)
|
||||
{
|
||||
age = 0;
|
||||
}
|
||||
|
||||
if(age == 0)
|
||||
if(power >= 100 && oil - 5 >= 0 && fuel + 45 <= maxFuel &&
|
||||
lubricant + 30 <= maxLubricant &&
|
||||
diesel + 20 <= maxDiesel &&
|
||||
kerosene + 5 <= maxKerosene) {
|
||||
if(age == 9 || age == 19) {
|
||||
fillFluidInit(tanks[1].getTankType());
|
||||
fillFluidInit(tanks[2].getTankType());
|
||||
fillFluidInit(tanks[3].getTankType());
|
||||
fillFluidInit(tanks[4].getTankType());
|
||||
}
|
||||
|
||||
oil -= 5;
|
||||
fuel += 45;
|
||||
lubricant += 30;
|
||||
diesel += 20;
|
||||
kerosene += 5;
|
||||
tanks[0].loadTank(1, 2, slots);
|
||||
|
||||
int ho = 50;
|
||||
int nt = 25;
|
||||
int lo = 15;
|
||||
int pe = 10;
|
||||
|
||||
if(power >= 50 && tanks[0].getFill() >= 100 &&
|
||||
tanks[1].getFill() + ho <= tanks[1].getMaxFill() &&
|
||||
tanks[2].getFill() + nt <= tanks[2].getMaxFill() &&
|
||||
tanks[3].getFill() + lo <= tanks[3].getMaxFill() &&
|
||||
tanks[4].getFill() + pe <= tanks[4].getMaxFill()) {
|
||||
|
||||
tanks[0].setFill(tanks[0].getFill() - 100);
|
||||
tanks[1].setFill(tanks[1].getFill() + ho);
|
||||
tanks[2].setFill(tanks[2].getFill() + nt);
|
||||
tanks[3].setFill(tanks[3].getFill() + lo);
|
||||
tanks[4].setFill(tanks[4].getFill() + pe);
|
||||
sulfur += 1;
|
||||
power -= 100;
|
||||
}
|
||||
|
||||
if(slots[3] != null && slots[3].getItem() == ModItems.canister_empty && fuel - 100 >= 0) {
|
||||
if(slots[4] == null) {
|
||||
slots[4] = new ItemStack(ModItems.canister_smear);
|
||||
fuel -= 100;
|
||||
slots[3].stackSize--;
|
||||
if(slots[3].stackSize <= 0)
|
||||
slots[3] = null;
|
||||
} else if(slots[4] != null && slots[4].getItem() == ModItems.canister_smear && slots[4].stackSize < slots[4].getMaxStackSize()) {
|
||||
slots[4].stackSize++;
|
||||
fuel -= 100;
|
||||
slots[3].stackSize--;
|
||||
if(slots[3].stackSize <= 0)
|
||||
slots[3] = null;
|
||||
}
|
||||
}
|
||||
tanks[1].unloadTank(3, 4, slots);
|
||||
tanks[2].unloadTank(5, 6, slots);
|
||||
tanks[3].unloadTank(7, 8, slots);
|
||||
tanks[4].unloadTank(9, 10, slots);
|
||||
|
||||
if(slots[5] != null && slots[5].getItem() == ModItems.canister_empty && lubricant - 100 >= 0) {
|
||||
if(slots[6] == null) {
|
||||
slots[6] = new ItemStack(ModItems.canister_canola);
|
||||
lubricant -= 100;
|
||||
slots[5].stackSize--;
|
||||
if(slots[5].stackSize <= 0)
|
||||
slots[5] = null;
|
||||
} else if(slots[6] != null && slots[6].getItem() == ModItems.canister_canola && slots[6].stackSize < slots[6].getMaxStackSize()) {
|
||||
slots[6].stackSize++;
|
||||
lubricant -= 100;
|
||||
slots[5].stackSize--;
|
||||
if(slots[5].stackSize <= 0)
|
||||
slots[5] = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(slots[7] != null && slots[7].getItem() == ModItems.canister_empty && diesel - 100 >= 0) {
|
||||
if(slots[8] == null) {
|
||||
slots[8] = new ItemStack(ModItems.canister_fuel);
|
||||
diesel -= 100;
|
||||
slots[7].stackSize--;
|
||||
if(slots[7].stackSize <= 0)
|
||||
slots[7] = null;
|
||||
} else if(slots[8] != null && slots[8].getItem() == ModItems.canister_fuel && slots[8].stackSize < slots[8].getMaxStackSize()) {
|
||||
slots[8].stackSize++;
|
||||
diesel -= 100;
|
||||
slots[7].stackSize--;
|
||||
if(slots[7].stackSize <= 0)
|
||||
slots[7] = null;
|
||||
}
|
||||
}
|
||||
|
||||
if(slots[9] != null && slots[9].getItem() == ModItems.canister_empty && kerosene - 100 >= 0) {
|
||||
if(slots[10] == null) {
|
||||
slots[10] = new ItemStack(ModItems.canister_kerosene);
|
||||
kerosene -= 100;
|
||||
slots[9].stackSize--;
|
||||
if(slots[9].stackSize <= 0)
|
||||
slots[9] = null;
|
||||
} else if(slots[10] != null && slots[10].getItem() == ModItems.canister_kerosene && slots[10].stackSize < slots[10].getMaxStackSize()) {
|
||||
slots[10].stackSize++;
|
||||
kerosene -= 100;
|
||||
slots[9].stackSize--;
|
||||
if(slots[9].stackSize <= 0)
|
||||
slots[9] = null;
|
||||
}
|
||||
for(int i = 0; i < 5; i++) {
|
||||
tanks[i].updateTank(xCoord, yCoord, zCoord);
|
||||
}
|
||||
|
||||
if(sulfur >= maxSulfur) {
|
||||
@ -347,7 +308,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
} else if(slots[11] != null && slots[11].getItem() == ModItems.sulfur && slots[11].stackSize < slots[11].getMaxStackSize()) {
|
||||
slots[11].stackSize++;
|
||||
sulfur -= maxSulfur;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -357,26 +317,6 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
return (power * i) / maxPower;
|
||||
}
|
||||
|
||||
public int getOilScaled(int i) {
|
||||
return (oil * i) / maxOil;
|
||||
}
|
||||
|
||||
public int getSmearScaled(int i) {
|
||||
return (fuel * i) / maxFuel;
|
||||
}
|
||||
|
||||
public int getLubricantScaled(int i) {
|
||||
return (lubricant * i) / maxLubricant;
|
||||
}
|
||||
|
||||
public int getDieselScaled(int i) {
|
||||
return (diesel * i) / maxDiesel;
|
||||
}
|
||||
|
||||
public int getKeroseneScaled(int i) {
|
||||
return (kerosene * i) / maxKerosene;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPower(int i) {
|
||||
power = i;
|
||||
@ -395,17 +335,154 @@ public class TileEntityMachineRefinery extends TileEntity implements ISidedInven
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFill(int i) {
|
||||
this.oil = i;
|
||||
public void fillFluidInit(FluidType type) {
|
||||
fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 2, getTact(), type);
|
||||
fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 2, getTact(), type);
|
||||
fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 2, getTact(), type);
|
||||
fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 2, getTact(), type);
|
||||
|
||||
fillFluid(this.xCoord - 2, this.yCoord, this.zCoord + 1, getTact(), type);
|
||||
fillFluid(this.xCoord + 2, this.yCoord, this.zCoord + 1, getTact(), type);
|
||||
fillFluid(this.xCoord - 2, this.yCoord, this.zCoord - 1, getTact(), type);
|
||||
fillFluid(this.xCoord + 2, this.yCoord, this.zCoord - 1, getTact(), type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFill() {
|
||||
return this.oil;
|
||||
public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) {
|
||||
Library.transmitFluid(x, y, z, newTact, this, worldObj, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFill() {
|
||||
return TileEntityMachineRefinery.maxOil;
|
||||
public boolean getTact() {
|
||||
if (age >= 0 && age < 10) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSFluidFill(FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getFill();
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getFill();
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
return tanks[2].getFill();
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
return tanks[3].getFill();
|
||||
else if(type.name().equals(tanks[4].getTankType().name()))
|
||||
return tanks[4].getFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSFluidFill(int i, FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
tanks[0].setFill(i);
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
tanks[1].setFill(i);
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
tanks[2].setFill(i);
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
tanks[3].setFill(i);
|
||||
else if(type.name().equals(tanks[4].getTankType().name()))
|
||||
tanks[4].setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IFluidAcceptor> getFluidList(FluidType type) {
|
||||
if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return list1;
|
||||
if(type.name().equals(tanks[2].getTankType().name()))
|
||||
return list2;
|
||||
if(type.name().equals(tanks[3].getTankType().name()))
|
||||
return list3;
|
||||
if(type.name().equals(tanks[4].getTankType().name()))
|
||||
return list4;
|
||||
return new ArrayList<IFluidAcceptor>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearFluidList(FluidType type) {
|
||||
if(type.name().equals(tanks[1].getTankType().name()))
|
||||
list1.clear();
|
||||
if(type.name().equals(tanks[2].getTankType().name()))
|
||||
list2.clear();
|
||||
if(type.name().equals(tanks[3].getTankType().name()))
|
||||
list3.clear();
|
||||
if(type.name().equals(tanks[4].getTankType().name()))
|
||||
list4.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAFluidFill(int i, FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
tanks[0].setFill(i);
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
tanks[1].setFill(i);
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
tanks[2].setFill(i);
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
tanks[3].setFill(i);
|
||||
else if(type.name().equals(tanks[4].getTankType().name()))
|
||||
tanks[4].setFill(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAFluidFill(FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getFill();
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getFill();
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
return tanks[2].getFill();
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
return tanks[3].getFill();
|
||||
else if(type.name().equals(tanks[4].getTankType().name()))
|
||||
return tanks[4].getFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxAFluidFill(FluidType type) {
|
||||
if(type.name().equals(tanks[0].getTankType().name()))
|
||||
return tanks[0].getMaxFill();
|
||||
else if(type.name().equals(tanks[1].getTankType().name()))
|
||||
return tanks[1].getMaxFill();
|
||||
else if(type.name().equals(tanks[2].getTankType().name()))
|
||||
return tanks[2].getMaxFill();
|
||||
else if(type.name().equals(tanks[3].getTankType().name()))
|
||||
return tanks[3].getMaxFill();
|
||||
else if(type.name().equals(tanks[4].getTankType().name()))
|
||||
return tanks[4].getMaxFill();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFillstate(int fill, int index) {
|
||||
if(index < 5 && tanks[index] != null)
|
||||
tanks[index].setFill(fill);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setType(FluidType type, int index) {
|
||||
if(index < 5 && tanks[index] != null)
|
||||
tanks[index].setTankType(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getRenderBoundingBox() {
|
||||
return TileEntity.INFINITE_EXTENT_AABB;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public double getMaxRenderDistanceSquared()
|
||||
{
|
||||
return 65536.0D;
|
||||
}
|
||||
}
|
||||
|
||||