Improved taint performance, better missile textures, SPP generator

This commit is contained in:
HbmMods 2018-01-07 17:25:30 +01:00
parent efe4b5a8a8
commit 55d6480d2b
37 changed files with 773 additions and 298 deletions

View File

@ -82,168 +82,170 @@ v -0.152782 6.000000 -0.228654
v 0.053650 6.000000 0.269716
v -0.053650 6.000000 0.269716
v -0.152782 6.000000 0.228654
vt 0.685668 0.290217
vt 0.658852 0.290217
vt 0.658853 0.015310
vt 0.632036 0.290217
vt 0.632037 0.015310
vt 0.605220 0.290217
vt 0.605221 0.015310
vt 0.578405 0.290217
vt 0.578405 0.015310
vt 0.551589 0.290217
vt 0.551589 0.015310
vt 0.980642 0.290219
vt 0.953826 0.290219
vt 0.953828 0.015312
vt 0.927010 0.290218
vt 0.927012 0.015312
vt 0.900194 0.290218
vt 0.900196 0.015312
vt 0.873379 0.290218
vt 0.873381 0.015312
vt 0.846563 0.290218
vt 0.846565 0.015311
vt 0.819747 0.290218
vt 0.819749 0.015311
vt 0.792931 0.290218
vt 0.792933 0.015311
vt 0.766115 0.290217
vt 0.766117 0.015311
vt 0.739300 0.290217
vt 0.739301 0.015311
vt 0.977288 0.497086
vt 0.957176 0.497086
vt 0.712484 0.290217
vt 0.685669 0.015311
vt 0.712485 0.015311
vt 0.439181 0.150122
vt 0.385211 0.069290
vt 0.466044 0.015320
vt 0.762762 0.497085
vt 0.762761 0.703264
vt 0.742649 0.703264
vt 0.843209 0.497085
vt 0.823098 0.497085
vt 0.709131 0.497084
vt 0.689019 0.497084
vt 0.601868 0.497084
vt 0.896841 0.497085
vt 0.742651 0.497084
vt 0.655500 0.497084
vt 0.635388 0.497084
vt 0.950472 0.497086
vt 0.930361 0.497086
vt 0.816394 0.497085
vt 0.796282 0.497085
vt 0.575052 0.497084
vt 0.554941 0.497084
vt 0.870025 0.497085
vt 0.849913 0.497085
vt 0.735947 0.497085
vt 0.715835 0.497084
vt 0.628684 0.497084
vt 0.923656 0.497085
vt 0.903545 0.497085
vt 0.682315 0.497084
vt 0.662203 0.497084
vt 0.789578 0.497085
vt 0.769466 0.497084
vt 0.816393 0.703263
vt 0.813711 0.841375
vt 0.798962 0.841375
vt 0.950470 0.703263
vt 0.930359 0.703263
vt 0.735946 0.703262
vt 0.715834 0.703262
vt 0.923655 0.703264
vt 0.903543 0.703263
vt 0.682315 0.703264
vt 0.662203 0.703264
vt 0.709130 0.703263
vt 0.689018 0.703263
vt 0.896839 0.703264
vt 0.876727 0.703264
vt 0.655499 0.703264
vt 0.635387 0.703264
vt 0.870024 0.703264
vt 0.849912 0.703264
vt 0.628684 0.703262
vt 0.608572 0.703262
vt 0.843208 0.703262
vt 0.823096 0.703262
vt 0.601868 0.703263
vt 0.581756 0.703263
vt 0.796281 0.703263
vt 0.575052 0.703262
vt 0.554940 0.703262
vt 0.789577 0.703265
vt 0.769465 0.703265
vt 0.977286 0.703265
vt 0.957174 0.703265
vt 0.611254 0.841372
vt 0.626003 0.841372
vt 0.618629 0.983736
vt 0.572370 0.841374
vt 0.786895 0.841378
vt 0.772146 0.841378
vt 0.974604 0.841378
vt 0.959855 0.841378
vt 0.760079 0.841377
vt 0.745330 0.841377
vt 0.947787 0.841374
vt 0.733263 0.841373
vt 0.920972 0.841376
vt 0.679633 0.841378
vt 0.664884 0.841378
vt 0.706448 0.841375
vt 0.894157 0.841377
vt 0.879408 0.841377
vt 0.652817 0.841377
vt 0.638068 0.841377
vt 0.867342 0.841377
vt 0.852593 0.841377
vt 0.840526 0.841373
vt 0.825777 0.841373
vt 0.599187 0.841377
vt 0.584438 0.841377
vt 0.859966 0.983742
vt 0.886782 0.983742
vt 0.913597 0.983742
vt 0.906224 0.841376
vt 0.940412 0.983736
vt 0.933039 0.841373
vt 0.967228 0.983745
vt 0.645443 0.983745
vt 0.564996 0.983739
vt 0.557621 0.841374
vt 0.591813 0.983742
vt 0.833151 0.983735
vt 0.806336 0.983739
vt 0.779520 0.983745
vt 0.752703 0.983743
vt 0.725889 0.983735
vt 0.718515 0.841372
vt 0.699074 0.983741
vt 0.691700 0.841375
vt 0.672258 0.983745
vt 0.980644 0.015313
vt 0.490815 0.025590
vt 0.509770 0.044558
vt 0.520023 0.069336
vt 0.520014 0.096152
vt 0.509743 0.120923
vt 0.490775 0.139878
vt 0.465997 0.150132
vt 0.414410 0.139852
vt 0.395455 0.120884
vt 0.385202 0.096105
vt 0.395482 0.044519
vt 0.414450 0.025564
vt 0.439228 0.015310
vt 0.581756 0.497084
vt 0.876729 0.497085
vt 0.608572 0.497084
vt 0.614465 0.355173
vt 0.582182 0.355174
vt 0.582181 0.024218
vt 0.549899 0.355174
vt 0.549898 0.024218
vt 0.517616 0.355174
vt 0.517615 0.024218
vt 0.485333 0.355174
vt 0.485331 0.024218
vt 0.453049 0.355174
vt 0.453048 0.024218
vt 0.969580 0.355174
vt 0.937297 0.355174
vt 0.937298 0.024218
vt 0.905014 0.355174
vt 0.905015 0.024218
vt 0.872730 0.355174
vt 0.872732 0.024218
vt 0.840447 0.355174
vt 0.840448 0.024218
vt 0.808164 0.355173
vt 0.808165 0.024218
vt 0.775881 0.355173
vt 0.775881 0.024218
vt 0.743598 0.355173
vt 0.743598 0.024218
vt 0.711315 0.355173
vt 0.711315 0.024218
vt 0.679032 0.355173
vt 0.679031 0.024218
vt 0.965543 0.604218
vt 0.941331 0.604218
vt 0.646748 0.355173
vt 0.614465 0.024218
vt 0.646748 0.024218
vt 0.872257 0.814551
vt 0.807283 0.717237
vt 0.904596 0.652263
vt 0.211315 0.024218
vt 0.211315 0.272435
vt 0.187102 0.272435
vt 0.804128 0.604218
vt 0.779916 0.604218
vt 0.642713 0.604218
vt 0.618501 0.604218
vt 0.513581 0.604218
vt 0.868694 0.604218
vt 0.707279 0.604218
vt 0.683067 0.604218
vt 0.578147 0.604218
vt 0.553935 0.604218
vt 0.933260 0.604218
vt 0.909048 0.604218
vt 0.771845 0.604218
vt 0.747633 0.604218
vt 0.481298 0.604218
vt 0.457086 0.604218
vt 0.836411 0.604218
vt 0.812199 0.604218
vt 0.674996 0.604218
vt 0.650784 0.604218
vt 0.545864 0.604218
vt 0.900977 0.604218
vt 0.876765 0.604218
vt 0.610430 0.604218
vt 0.586218 0.604218
vt 0.739562 0.604218
vt 0.715350 0.604218
vt 0.259740 0.272435
vt 0.256511 0.438707
vt 0.238756 0.438707
vt 0.380801 0.024219
vt 0.380801 0.272435
vt 0.356589 0.272435
vt 0.187103 0.024218
vt 0.162890 0.272435
vt 0.356589 0.024219
vt 0.332377 0.272435
vt 0.138679 0.024218
vt 0.138678 0.272435
vt 0.114465 0.272435
vt 0.162891 0.024218
vt 0.332377 0.024219
vt 0.308164 0.272435
vt 0.114466 0.024218
vt 0.090253 0.272434
vt 0.308165 0.024219
vt 0.283952 0.272435
vt 0.090254 0.024218
vt 0.066041 0.272434
vt 0.283952 0.024219
vt 0.066042 0.024218
vt 0.041828 0.272434
vt 0.259740 0.024219
vt 0.235527 0.272435
vt 0.041829 0.024218
vt 0.017616 0.272434
vt 0.235528 0.024219
vt 0.405014 0.024219
vt 0.405014 0.272435
vt 0.069268 0.438705
vt 0.087024 0.438705
vt 0.078146 0.610096
vt 0.038599 0.438707
vt 0.232299 0.438707
vt 0.214543 0.438707
vt 0.401786 0.438707
vt 0.384030 0.438707
vt 0.208086 0.438707
vt 0.190330 0.438707
vt 0.377573 0.438706
vt 0.183874 0.438706
vt 0.353361 0.438707
vt 0.135449 0.438707
vt 0.117693 0.438707
vt 0.159662 0.438707
vt 0.329149 0.438707
vt 0.311393 0.438707
vt 0.111237 0.438707
vt 0.093481 0.438707
vt 0.304936 0.438707
vt 0.287180 0.438707
vt 0.280723 0.438706
vt 0.262968 0.438706
vt 0.062812 0.438707
vt 0.045056 0.438707
vt 0.296057 0.610098
vt 0.320271 0.610099
vt 0.344483 0.610101
vt 0.335605 0.438707
vt 0.368695 0.610095
vt 0.359817 0.438706
vt 0.392908 0.610101
vt 0.102358 0.610101
vt 0.029721 0.610100
vt 0.020843 0.438707
vt 0.053934 0.610099
vt 0.271846 0.610095
vt 0.247634 0.610098
vt 0.223421 0.610099
vt 0.199207 0.610098
vt 0.174995 0.610095
vt 0.166118 0.438706
vt 0.150783 0.610101
vt 0.141906 0.438707
vt 0.126570 0.610099
vt 0.969581 0.024218
vt 0.934418 0.664628
vt 0.957238 0.687463
vt 0.969581 0.717294
vt 0.969570 0.749577
vt 0.957206 0.779398
vt 0.934370 0.802218
vt 0.904540 0.814562
vt 0.842436 0.802186
vt 0.819616 0.779351
vt 0.807272 0.749521
vt 0.819648 0.687416
vt 0.842483 0.664596
vt 0.872313 0.652252
vt 0.489369 0.604218
vt 0.844482 0.604218
vt 0.521652 0.604218
vt 0.017617 0.024218
vn 0.000000 0.000000 -1.000000
vn 0.382700 0.000000 -0.923900
vn 0.707100 0.000000 -0.707100
@ -333,70 +335,70 @@ f 20/21/19 38/42/19 39/43/19
f 32/33/20 40/44/20 41/45/20
f 8/8/21 6/6/21 42/46/21
f 18/19/22 16/17/22 43/47/22
f 26/27/23 35/39/23 44/48/23
f 2/2/24 45/49/24 46/50/24
f 12/13/25 31/51/25 47/52/25
f 22/23/26 39/53/26 48/54/26
f 8/8/27 49/55/27 30/56/27
f 18/19/28 50/57/28 38/58/28
f 28/29/29 44/59/29 40/60/29
f 6/6/30 4/4/30 46/61/30
f 14/15/31 47/62/31 43/63/31
f 1/1/32 41/64/32 45/65/32
f 24/25/33 48/66/33 35/67/33
f 51/68/34 52/69/34 53/70/34
f 31/51/7 54/71/7 55/72/7
f 44/59/17 37/73/17 56/74/17
f 47/62/8 55/75/8 57/76/8
f 41/64/1 58/77/1 59/78/1
f 40/44/16 56/79/16 58/80/16
f 43/47/9 57/81/9 60/82/9
f 45/49/2 59/83/2 61/84/2
f 50/57/10 60/85/10 62/86/10
f 46/61/3 61/87/3 63/88/3
f 38/42/11 62/89/11 51/90/11
f 42/46/4 63/91/4 64/92/4
f 39/53/12 51/68/12 65/93/12
f 49/55/5 64/94/5 66/95/5
f 48/66/13 65/96/13 36/97/13
f 30/31/6 66/98/6 54/99/6
f 67/100/35 68/101/35 69/102/35
f 66/95/36 64/94/36 70/103/36
f 65/96/37 53/104/37 71/105/37
f 66/98/38 72/106/38 73/107/38
f 36/40/39 71/108/39 74/109/39
f 55/72/40 54/71/40 73/110/40
f 56/74/41 37/73/41 74/111/41
f 57/76/42 55/75/42 75/112/42
f 58/77/43 76/113/43 77/114/43
f 58/80/44 56/79/44 78/115/44
f 57/81/45 79/116/45 80/117/45
f 59/83/46 77/118/46 68/119/46
f 60/85/47 80/120/47 81/121/47
f 61/87/48 68/101/48 67/100/48
f 62/89/49 81/122/49 52/123/49
f 63/91/50 67/124/50 70/125/50
f 80/120/51 69/126/51 81/121/51
f 79/116/52 69/127/52 80/117/52
f 75/112/53 69/128/53 79/129/53
f 73/110/54 69/130/54 75/131/54
f 72/106/55 69/132/55 73/107/55
f 77/118/56 69/133/56 68/119/56
f 70/103/57 69/134/57 72/135/57
f 67/124/58 69/136/58 70/125/58
f 81/122/59 69/137/59 52/123/59
f 52/69/60 69/138/60 53/70/60
f 53/104/61 69/139/61 71/105/61
f 71/108/62 69/140/62 74/109/62
f 74/111/63 69/141/63 78/142/63
f 78/115/64 69/143/64 76/144/64
f 76/113/65 69/145/65 77/114/65
f 26/27/23 35/48/23 44/49/23
f 2/2/24 45/50/24 46/51/24
f 12/13/25 31/52/25 47/53/25
f 22/23/26 39/54/26 48/55/26
f 8/8/27 49/56/27 30/57/27
f 18/19/28 50/58/28 38/59/28
f 28/29/29 44/60/29 40/61/29
f 6/6/30 4/4/30 46/62/30
f 14/15/31 47/63/31 43/64/31
f 1/1/32 41/65/32 45/66/32
f 24/25/33 48/67/33 35/68/33
f 51/69/34 52/70/34 53/71/34
f 31/72/7 54/73/7 55/74/7
f 44/75/17 37/41/17 56/76/17
f 47/77/8 55/74/8 57/78/8
f 41/79/1 58/80/1 59/81/1
f 40/82/16 56/76/16 58/80/16
f 43/83/9 57/78/9 60/84/9
f 45/85/2 59/81/2 61/86/2
f 50/87/10 60/84/10 62/88/10
f 46/89/3 61/86/3 63/90/3
f 38/91/11 62/88/11 51/69/11
f 42/92/4 63/90/4 64/93/4
f 39/94/12 51/69/12 65/95/12
f 49/96/5 64/93/5 66/97/5
f 48/98/13 65/95/13 36/40/13
f 30/99/6 66/100/6 54/73/6
f 67/101/35 68/102/35 69/103/35
f 66/97/36 64/93/36 70/104/36
f 65/95/37 53/105/37 71/106/37
f 66/100/38 72/107/38 73/108/38
f 36/40/39 71/109/39 74/110/39
f 55/74/40 54/73/40 73/111/40
f 56/76/41 37/41/41 74/112/41
f 57/78/42 55/74/42 75/113/42
f 58/80/43 76/114/43 77/115/43
f 58/80/44 56/76/44 78/116/44
f 57/78/45 79/117/45 80/118/45
f 59/81/46 77/119/46 68/120/46
f 60/84/47 80/121/47 81/122/47
f 61/86/48 68/102/48 67/101/48
f 62/88/49 81/123/49 52/124/49
f 63/90/50 67/125/50 70/126/50
f 80/121/51 69/127/51 81/122/51
f 79/117/52 69/128/52 80/118/52
f 75/113/53 69/129/53 79/130/53
f 73/111/54 69/131/54 75/132/54
f 72/107/55 69/133/55 73/108/55
f 77/119/56 69/134/56 68/120/56
f 70/104/57 69/135/57 72/136/57
f 67/125/58 69/137/58 70/126/58
f 81/123/59 69/138/59 52/124/59
f 52/70/60 69/139/60 53/71/60
f 53/105/61 69/140/61 71/106/61
f 71/109/62 69/141/62 74/110/62
f 74/112/63 69/142/63 78/143/63
f 78/116/64 69/144/64 76/145/64
f 76/114/65 69/146/65 77/115/65
f 33/34/1 1/1/1 3/3/1
f 3/3/2 2/2/2 5/5/2
f 5/5/3 4/4/3 7/7/3
f 7/7/4 6/6/4 9/9/4
f 9/9/5 8/8/5 11/11/5
f 11/146/6 10/12/6 13/14/6
f 11/147/6 10/12/6 13/14/6
f 13/14/7 12/13/7 15/16/7
f 15/16/8 14/15/8 17/18/8
f 17/18/9 16/17/9 19/20/9
@ -408,63 +410,63 @@ f 27/28/14 26/27/14 29/30/14
f 12/13/15 10/12/15 31/32/15
f 34/35/16 32/33/16 33/34/16
f 29/30/17 28/29/17 34/35/17
f 34/38/18 33/147/18 3/148/18
f 3/148/18 5/149/18 34/38/18
f 7/150/18 9/151/18 15/36/18
f 11/152/18 13/153/18 15/36/18
f 15/36/18 17/154/18 23/37/18
f 19/155/18 21/156/18 23/37/18
f 23/37/18 25/157/18 27/158/18
f 27/158/18 29/159/18 23/37/18
f 34/38/18 5/149/18 7/150/18
f 9/151/18 11/152/18 15/36/18
f 17/154/18 19/155/18 23/37/18
f 23/37/18 29/159/18 34/38/18
f 34/38/18 7/150/18 15/36/18
f 44/48/14 35/39/14 37/41/14
f 34/38/18 33/148/18 3/149/18
f 3/149/18 5/150/18 34/38/18
f 7/151/18 9/152/18 15/36/18
f 11/153/18 13/154/18 15/36/18
f 15/36/18 17/155/18 23/37/18
f 19/156/18 21/157/18 23/37/18
f 23/37/18 25/158/18 27/159/18
f 27/159/18 29/160/18 23/37/18
f 34/38/18 5/150/18 7/151/18
f 9/152/18 11/153/18 15/36/18
f 17/155/18 19/156/18 23/37/18
f 23/37/18 29/160/18 34/38/18
f 34/38/18 7/151/18 15/36/18
f 44/75/14 35/39/14 37/41/14
f 22/23/19 20/21/19 39/43/19
f 1/1/20 32/33/20 41/45/20
f 49/160/21 8/8/21 42/46/21
f 50/161/22 18/19/22 43/47/22
f 28/29/23 26/27/23 44/48/23
f 4/4/24 2/2/24 46/50/24
f 14/15/25 12/13/25 47/52/25
f 24/25/26 22/23/26 48/54/26
f 10/10/27 8/8/27 30/56/27
f 20/21/28 18/19/28 38/58/28
f 32/33/29 28/29/29 40/60/29
f 42/162/30 6/6/30 46/61/30
f 16/17/31 14/15/31 43/63/31
f 2/2/32 1/1/32 45/65/32
f 26/27/33 24/25/33 35/67/33
f 65/93/34 51/68/34 53/70/34
f 47/52/7 31/51/7 55/72/7
f 40/60/17 44/59/17 56/74/17
f 43/63/8 47/62/8 57/76/8
f 45/65/1 41/64/1 59/78/1
f 41/45/16 40/44/16 58/80/16
f 50/161/9 43/47/9 60/82/9
f 46/50/2 45/49/2 61/84/2
f 38/58/10 50/57/10 62/86/10
f 42/162/3 46/61/3 63/88/3
f 39/43/11 38/42/11 51/90/11
f 49/160/4 42/46/4 64/92/4
f 48/54/12 39/53/12 65/93/12
f 30/56/5 49/55/5 66/95/5
f 35/67/13 48/66/13 36/97/13
f 31/32/6 30/31/6 54/99/6
f 72/135/36 66/95/36 70/103/36
f 36/97/37 65/96/37 71/105/37
f 54/99/38 66/98/38 73/107/38
f 37/41/39 36/40/39 74/109/39
f 75/131/40 55/72/40 73/110/40
f 78/142/41 56/74/41 74/111/41
f 79/129/42 57/76/42 75/112/42
f 59/78/43 58/77/43 77/114/43
f 76/144/44 58/80/44 78/115/44
f 60/82/45 57/81/45 80/117/45
f 61/84/46 59/83/46 68/119/46
f 62/86/47 60/85/47 81/121/47
f 63/88/48 61/87/48 67/100/48
f 51/90/49 62/89/49 52/123/49
f 64/92/50 63/91/50 70/125/50
f 49/161/21 8/8/21 42/46/21
f 50/162/22 18/19/22 43/47/22
f 28/29/23 26/27/23 44/49/23
f 4/4/24 2/2/24 46/51/24
f 14/15/25 12/13/25 47/53/25
f 24/25/26 22/23/26 48/55/26
f 10/10/27 8/8/27 30/57/27
f 20/21/28 18/19/28 38/59/28
f 32/33/29 28/29/29 40/61/29
f 42/163/30 6/6/30 46/62/30
f 16/17/31 14/15/31 43/64/31
f 2/2/32 1/1/32 45/66/32
f 26/27/33 24/25/33 35/68/33
f 65/95/34 51/69/34 53/71/34
f 47/77/7 31/72/7 55/74/7
f 40/82/17 44/75/17 56/76/17
f 43/83/8 47/77/8 57/78/8
f 45/85/1 41/79/1 59/81/1
f 41/79/16 40/82/16 58/80/16
f 50/87/9 43/83/9 60/84/9
f 46/89/2 45/85/2 61/86/2
f 38/91/10 50/87/10 62/88/10
f 42/92/3 46/89/3 63/90/3
f 39/94/11 38/91/11 51/69/11
f 49/96/4 42/92/4 64/93/4
f 48/98/12 39/94/12 65/95/12
f 30/164/5 49/96/5 66/97/5
f 35/39/13 48/98/13 36/40/13
f 31/72/6 30/99/6 54/73/6
f 72/136/36 66/97/36 70/104/36
f 36/40/37 65/95/37 71/106/37
f 54/73/38 66/100/38 73/108/38
f 37/41/39 36/40/39 74/110/39
f 75/132/40 55/74/40 73/111/40
f 78/143/41 56/76/41 74/112/41
f 79/130/42 57/78/42 75/113/42
f 59/81/43 58/80/43 77/115/43
f 76/145/44 58/80/44 78/116/44
f 60/84/45 57/78/45 80/118/45
f 61/86/46 59/81/46 68/120/46
f 62/88/47 60/84/47 81/122/47
f 63/90/48 61/86/48 67/101/48
f 51/69/49 62/88/49 52/124/49
f 64/93/50 63/90/50 70/126/50

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 271 B

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 241 B

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -393,6 +393,9 @@ public class ModBlocks {
public static Block machine_siren;
public static final int guiID_siren = 57;
public static Block machine_spp_bottom;
public static Block machine_spp_top;
public static Block turret_light;
public static Block turret_heavy;
public static Block turret_rocket;
@ -755,6 +758,9 @@ public class ModBlocks {
machine_reix_mainframe = new MachineReiXMainframe(Material.iron).setBlockName("machine_reix_mainframe").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.tabBlock);
machine_siren = new MachineSiren(Material.iron).setBlockName("machine_siren").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke).setBlockTextureName(RefStrings.MODID + ":machine_siren");
machine_spp_bottom = new SPPBottom(Material.iron).setBlockName("machine_spp_bottom").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke);
machine_spp_top = new SPPTop(Material.iron).setBlockName("machine_spp_top").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.tabNuke);
cheater_virus = new CheaterVirus(Material.iron).setBlockName("cheater_virus").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus");
cheater_virus_seed = new CheaterVirusSeed(Material.iron).setBlockName("cheater_virus_seed").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":cheater_virus_seed");
@ -1009,6 +1015,8 @@ public class ModBlocks {
GameRegistry.registerBlock(machine_industrial_generator, machine_industrial_generator.getUnlocalizedName());
GameRegistry.registerBlock(machine_cyclotron, machine_cyclotron.getUnlocalizedName());
GameRegistry.registerBlock(machine_rtg_grey, machine_rtg_grey.getUnlocalizedName());
GameRegistry.registerBlock(machine_spp_bottom, machine_spp_bottom.getUnlocalizedName());
GameRegistry.registerBlock(machine_spp_top, machine_spp_top.getUnlocalizedName());
//GameRegistry.registerBlock(machine_rtg_red, machine_rtg_red.getUnlocalizedName());
//GameRegistry.registerBlock(machine_rtg_orange, machine_rtg_orange.getUnlocalizedName());
//GameRegistry.registerBlock(machine_rtg_yellow, machine_rtg_yellow.getUnlocalizedName());

View File

@ -30,7 +30,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class BlockTaint extends BlockContainer {
public class BlockTaint extends Block/*Container*/ {
@SideOnly(Side.CLIENT)
private IIcon[] icons;
@ -40,10 +40,10 @@ public class BlockTaint extends BlockContainer {
this.setTickRandomly(true);
}
@Override
/*@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityTaint();
}
}*/
@SideOnly(Side.CLIENT)
public IIcon getIcon(int p_149691_1_, int meta)
@ -93,8 +93,14 @@ public class BlockTaint extends BlockContainer {
@Override
public int getRenderType(){
return -1;
return 334077;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
@Override
public boolean isOpaqueCube() {
@ -173,7 +179,8 @@ public class BlockTaint extends BlockContainer {
PotionEffect effect = new PotionEffect(PotionEffectTaint.instance.id, 15 * 20, level);
effect.setCurativeItems(list);
if(entity instanceof EntityLivingBase)
((EntityLivingBase)entity).addPotionEffect(effect);
if(world.rand.nextInt(50) == 0)
((EntityLivingBase)entity).addPotionEffect(effect);
}
}

View File

@ -0,0 +1,44 @@
package com.hbm.blocks.machine;
import com.hbm.lib.RefStrings;
import com.hbm.tileentity.machine.TileEntityMachineSPP;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class SPPBottom extends BlockContainer {
@SideOnly(Side.CLIENT)
private IIcon iconTop;
private IIcon iconBottom;
public SPPBottom(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityMachineSPP();
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_b_top"));
this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_blank"));
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_spp_b_side");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon);
}
}

View File

@ -0,0 +1,36 @@
package com.hbm.blocks.machine;
import com.hbm.lib.RefStrings;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
public class SPPTop extends Block {
@SideOnly(Side.CLIENT)
private IIcon iconTop;
private IIcon iconBottom;
public SPPTop(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_blank"));
this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + (":machine_spp_t_bottom"));
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_spp_t_side");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon);
}
}

View File

@ -0,0 +1,31 @@
package com.hbm.entity.grenade;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityGrenadeGascan extends EntityGrenadeBase
{
private static final String __OBFID = "CL_00001722";
public EntityGrenadeGascan(World p_i1773_1_)
{
super(p_i1773_1_);
}
public EntityGrenadeGascan(World p_i1774_1_, EntityLivingBase p_i1774_2_)
{
super(p_i1774_1_, p_i1774_2_);
}
@Override
public void explode() {
if (!this.worldObj.isRemote)
{
this.setDead();
this.worldObj.newExplosion((Entity)null, (float)this.posX, (float)this.posY, (float)this.posZ, 10.0F, true, false);
}
}
}

View File

@ -709,6 +709,7 @@ public class ModItems {
public static Item grenade_tau;
public static Item grenade_schrabidium;
public static Item grenade_lemon;
public static Item grenade_gascan;
public static Item grenade_mk2;
public static Item grenade_aschrab;
public static Item grenade_nuke;
@ -789,6 +790,15 @@ public class ModItems {
public static Item titanium_filter;
public static Item screwdriver;
public static Item overfuse;
public static Item dynosphere_base;
public static Item dynosphere_desh;
public static Item dynosphere_desh_charged;
public static Item dynosphere_schrabidium;
public static Item dynosphere_schrabidium_charged;
public static Item dynosphere_euphemium;
public static Item dynosphere_euphemium_charged;
public static Item dynosphere_dineutronium;
public static Item dynosphere_dineutronium_charged;
public static Item tank_waste;
@ -1757,6 +1767,7 @@ public class ModItems {
grenade_tau = new ItemGrenade().setUnlocalizedName("grenade_tau").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_tau_alt");
grenade_schrabidium = new ItemGrenade().setUnlocalizedName("grenade_schrabidium").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_schrabidium_alt");
grenade_lemon = new ItemGrenade().setUnlocalizedName("grenade_lemon").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_lemon");
grenade_gascan = new ItemGrenade().setUnlocalizedName("grenade_gascan").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_gascan");
grenade_mk2 = new ItemGrenade().setUnlocalizedName("grenade_mk2").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_mk2_alt");
grenade_aschrab = new ItemGrenade().setUnlocalizedName("grenade_aschrab").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_aschrab");
grenade_nuke = new ItemGrenade().setUnlocalizedName("grenade_nuke").setCreativeTab(MainRegistry.tabNuke).setTextureName(RefStrings.MODID + ":grenade_nuke_alt");
@ -1829,15 +1840,25 @@ public class ModItems {
battery_su = new ItemBattery(15).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su");
battery_su_l = new ItemBattery(35).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":battery_su_l");
fusion_core = new ItemBattery(5000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core");
fusion_core = new ItemBattery(200000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core");
fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fusion_core_infinite");
energy_core = new ItemBattery(5000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":energy_core");
energy_core = new ItemBattery(100000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":energy_core");
fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":fuse");
redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":redcoil_capacitor");
titanium_filter = new ItemCapacitor(72000).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":titanium_filter");
screwdriver = new ItemCustomLore().setUnlocalizedName("screwdriver").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":screwdriver");
overfuse = new ItemCustomLore().setUnlocalizedName("overfuse").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":overfuse");
dynosphere_base = new Item().setUnlocalizedName("dynosphere_base").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_base");
dynosphere_desh = new ItemBattery(10000L).setUnlocalizedName("dynosphere_desh").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_desh");
dynosphere_desh_charged = new Item().setUnlocalizedName("dynosphere_desh_charged").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_desh_charged");
dynosphere_schrabidium = new ItemBattery(1000000L).setUnlocalizedName("dynosphere_schrabidium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_schrabidium");
dynosphere_schrabidium_charged = new Item().setUnlocalizedName("dynosphere_schrabidium_charged").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_schrabidium_charged");
dynosphere_euphemium = new ItemBattery(100000000L).setUnlocalizedName("dynosphere_euphemium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_euphemium");
dynosphere_euphemium_charged = new Item().setUnlocalizedName("dynosphere_euphemium_charged").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_euphemium_charged");
dynosphere_dineutronium = new ItemBattery(10000000000L).setUnlocalizedName("dynosphere_dineutronium").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_dineutronium");
dynosphere_dineutronium_charged = new Item().setUnlocalizedName("dynosphere_dineutronium_charged").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":dynosphere_dineutronium_charged");
factory_core_titanium = new ItemBattery(70400).setUnlocalizedName("factory_core_titanium").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_titanium");
factory_core_advanced = new ItemBattery(41600).setUnlocalizedName("factory_core_advanced").setMaxStackSize(1).setCreativeTab(MainRegistry.tabParts).setTextureName(RefStrings.MODID + ":factory_core_advanced");
@ -2603,6 +2624,17 @@ public class ModItems {
GameRegistry.registerItem(factory_core_titanium, factory_core_titanium.getUnlocalizedName());
GameRegistry.registerItem(factory_core_advanced, factory_core_advanced.getUnlocalizedName());
//Dynospheres
GameRegistry.registerItem(dynosphere_base, dynosphere_base.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_desh, dynosphere_desh.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_desh_charged, dynosphere_desh_charged.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_schrabidium, dynosphere_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_schrabidium_charged, dynosphere_schrabidium_charged.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_euphemium, dynosphere_euphemium.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_euphemium_charged, dynosphere_euphemium_charged.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_dineutronium, dynosphere_dineutronium.getUnlocalizedName());
GameRegistry.registerItem(dynosphere_dineutronium_charged, dynosphere_dineutronium_charged.getUnlocalizedName());
//Template Folder
GameRegistry.registerItem(template_folder, template_folder.getUnlocalizedName());
@ -2973,6 +3005,7 @@ public class ModItems {
GameRegistry.registerItem(grenade_schrabidium, grenade_schrabidium.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuke, grenade_nuke.getUnlocalizedName());
GameRegistry.registerItem(grenade_lemon, grenade_lemon.getUnlocalizedName());
GameRegistry.registerItem(grenade_gascan, grenade_gascan.getUnlocalizedName());
GameRegistry.registerItem(grenade_mk2, grenade_mk2.getUnlocalizedName());
GameRegistry.registerItem(grenade_aschrab, grenade_aschrab.getUnlocalizedName());
GameRegistry.registerItem(grenade_nuclear, grenade_nuclear.getUnlocalizedName());

View File

@ -15,7 +15,7 @@ public class ItemBattery extends Item {
private long maxCharge;
public ItemBattery(int dura) {
public ItemBattery(long dura) {
this.maxCharge = dura;
}
@ -26,12 +26,20 @@ public class ItemBattery extends Item {
if(itemstack.hasTagCompound())
charge = ItemBattery.getCharge(itemstack);
if(itemstack.getItem() != ModItems.fusion_core && itemstack.getItem() != ModItems.factory_core_titanium && itemstack.getItem() != ModItems.factory_core_advanced && itemstack.getItem() != ModItems.energy_core)
if(itemstack.getItem() != ModItems.fusion_core &&
itemstack.getItem() != ModItems.factory_core_titanium &&
itemstack.getItem() != ModItems.factory_core_advanced &&
itemstack.getItem() != ModItems.energy_core &&
itemstack.getItem() != ModItems.dynosphere_desh &&
itemstack.getItem() != ModItems.dynosphere_schrabidium &&
itemstack.getItem() != ModItems.dynosphere_euphemium &&
itemstack.getItem() != ModItems.dynosphere_dineutronium)
{
list.add("Energy stored: " + Library.getShortNumber(charge * 100) + "/" + Library.getShortNumber(maxCharge * 100) + "HE");
} else {
long charge1 = (charge * 100) / this.maxCharge;
String charge1 = Library.getShortNumber((charge * 100) / this.maxCharge);
list.add("Charge: " + charge1 + "%");
list.add("(" + Library.getShortNumber(charge * 100) + "/" + Library.getShortNumber(maxCharge * 100) + "HE)");
}
}
@ -43,7 +51,14 @@ public class ItemBattery extends Item {
return EnumRarity.rare;
}
if(this == ModItems.fusion_core || this == ModItems.factory_core_titanium || this == ModItems.factory_core_advanced || this == ModItems.energy_core)
if(this == ModItems.fusion_core ||
this == ModItems.factory_core_titanium ||
this == ModItems.factory_core_advanced ||
this == ModItems.energy_core ||
this == ModItems.dynosphere_desh ||
this == ModItems.dynosphere_schrabidium ||
this == ModItems.dynosphere_euphemium ||
this == ModItems.dynosphere_dineutronium)
{
return EnumRarity.uncommon;
}

View File

@ -8,6 +8,7 @@ import com.hbm.entity.grenade.EntityGrenadeFire;
import com.hbm.entity.grenade.EntityGrenadeFlare;
import com.hbm.entity.grenade.EntityGrenadeFrag;
import com.hbm.entity.grenade.EntityGrenadeGas;
import com.hbm.entity.grenade.EntityGrenadeGascan;
import com.hbm.entity.grenade.EntityGrenadeGeneric;
import com.hbm.entity.grenade.EntityGrenadeLemon;
import com.hbm.entity.grenade.EntityGrenadeMk2;
@ -111,6 +112,9 @@ public class ItemGrenade extends Item {
if (this == ModItems.grenade_black_hole) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeBlackHole(p_77659_2_, p_77659_3_));
}
if (this == ModItems.grenade_gascan) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeGascan(p_77659_2_, p_77659_3_));
}
}
return p_77659_1_;
@ -127,7 +131,7 @@ public class ItemGrenade extends Item {
return EnumRarity.epic;
}
if (this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau || this == ModItems.grenade_lemon || this == ModItems.grenade_mk2 || this == ModItems.grenade_pulse) {
if (this == ModItems.grenade_nuke || this == ModItems.grenade_nuclear || this == ModItems.grenade_tau || this == ModItems.grenade_lemon || this == ModItems.grenade_mk2 || this == ModItems.grenade_pulse || this == ModItems.grenade_gascan) {
return EnumRarity.uncommon;
}

View File

@ -612,49 +612,74 @@ public class Library {
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 15; i++)
for(int i = 0; i < 50; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 15; i++)
for(int i = 0; i < 50; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 15; i++)
for(int i = 0; i < 50; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_2 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 15; i++)
for(int i = 0; i < 50; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium_cell_4 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 200; i++)
for(int i = 0; i < 20000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 200; i++)
for(int i = 0; i < 20000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_6 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 200; i++)
for(int i = 0; i < 20000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark_cell_25 && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 100; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_desh && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 1000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_schrabidium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 10000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_euphemium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 100000; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.dynosphere_dineutronium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{
power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break;
for(int i = 0; i < 10; i++)
if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.factory_core_titanium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
@ -697,6 +722,15 @@ public class Library {
power -= 1;
slots[index].setItemDamage(slots[index].getItemDamage() - 1);
} else break;
/*if(slots[index] != null && slots[index].equals(ItemBattery.getFullBattery(ModItems.dynosphere_desh)))
slots[index] = new ItemStack(ModItems.dynosphere_desh_charged);
if(slots[index] != null && slots[index].equals(ItemBattery.getFullBattery(ModItems.dynosphere_schrabidium)))
slots[index] = new ItemStack(ModItems.dynosphere_schrabidium_charged);
if(slots[index] != null && slots[index].equals(ItemBattery.getFullBattery(ModItems.dynosphere_euphemium)))
slots[index] = new ItemStack(ModItems.dynosphere_euphemium_charged);
if(slots[index] != null && slots[index].equals(ItemBattery.getFullBattery(ModItems.dynosphere_dineutronium)))
slots[index] = new ItemStack(ModItems.dynosphere_dineutronium_charged);*/
return power;
}

View File

@ -15,6 +15,7 @@ import com.hbm.entity.mob.*;
import com.hbm.entity.particle.*;
import com.hbm.entity.projectile.*;
import com.hbm.items.ModItems;
import com.hbm.render.block.*;
import com.hbm.render.entity.*;
import com.hbm.render.item.*;
import com.hbm.render.tileentity.*;
@ -33,6 +34,8 @@ public class ClientProxy extends ServerProxy
{
MinecraftForge.EVENT_BUS.register(new ModEventHandlerClient());
RenderingRegistry.registerBlockHandler(new RenderTaintBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestContainer.class, new RenderTestContainer());
@ -106,6 +109,7 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadePulse.class, new RenderSnowball(ModItems.grenade_pulse));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBlackHole.class, new RenderSnowball(ModItems.grenade_black_hole));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGascan.class, new RenderSnowball(ModItems.grenade_gascan));
RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare());

View File

@ -54,6 +54,7 @@ import com.hbm.entity.grenade.EntityGrenadeFire;
import com.hbm.entity.grenade.EntityGrenadeFlare;
import com.hbm.entity.grenade.EntityGrenadeFrag;
import com.hbm.entity.grenade.EntityGrenadeGas;
import com.hbm.entity.grenade.EntityGrenadeGascan;
import com.hbm.entity.grenade.EntityGrenadeGeneric;
import com.hbm.entity.grenade.EntityGrenadeLemon;
import com.hbm.entity.grenade.EntityGrenadeMk2;
@ -218,6 +219,7 @@ import com.hbm.tileentity.machine.TileEntityMachinePumpjack;
import com.hbm.tileentity.machine.TileEntityMachineRTG;
import com.hbm.tileentity.machine.TileEntityMachineReactor;
import com.hbm.tileentity.machine.TileEntityMachineRefinery;
import com.hbm.tileentity.machine.TileEntityMachineSPP;
import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator;
import com.hbm.tileentity.machine.TileEntityMachineShredder;
import com.hbm.tileentity.machine.TileEntityMachineSiren;
@ -544,6 +546,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityAMSLimiter.class, "tileentity_ams_limiter");
GameRegistry.registerTileEntity(TileEntityMachineSiren.class, "tileentity_siren");
GameRegistry.registerTileEntity(TileEntityTaint.class, "tileentity_taint");
GameRegistry.registerTileEntity(TileEntityMachineSPP.class, "tileentity_spp");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);
@ -633,6 +636,7 @@ public class MainRegistry
EntityRegistry.registerModEntity(EntityLaser.class, "entity_laser", 85, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBoxcar.class, "entity_boxcar", 86, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityMissileTaint.class, "entity_missile_taint", 87, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityGrenadeGascan.class, "entity_grenade_gascan", 88, 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);
@ -923,6 +927,7 @@ public class MainRegistry
recipes.overridePreSetRecipe(new ItemStack(ModItems.fragment_lanthanium), new ItemStack(ModItems.powder_lanthanium_tiny, 1));
recipes.overridePreSetRecipe(new ItemStack(ModItems.fragment_actinium), new ItemStack(ModItems.powder_actinium_tiny, 1));
recipes.overridePreSetRecipe(new ItemStack(ModItems.fragment_meteorite), new ItemStack(ModItems.powder_meteorite_tiny, 1));
recipes.overridePreSetRecipe(new ItemStack(ModBlocks.block_meteor), new ItemStack(ModItems.powder_meteorite, 10));
recipes.PrintRecipes();

View File

@ -0,0 +1,124 @@
package com.hbm.render.block;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class RenderTaintBlock implements ISimpleBlockRenderingHandler {
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { }
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
Tessellator tessellator = Tessellator.instance;
IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z));
if (renderer.hasOverrideBlockTexture())
{
iicon = renderer.overrideBlockTexture;
}
boolean ceil = world.getBlock(x, y + 1, z).isNormalCube();
boolean floor = world.getBlock(x, y - 1, z).isNormalCube();
boolean side1 = world.getBlock(x, y, z + 1).isNormalCube();
boolean side2 = world.getBlock(x - 1, y, z).isNormalCube();
boolean side3 = world.getBlock(x, y, z - 1).isNormalCube();
boolean side4 = world.getBlock(x + 1, y, z).isNormalCube();
tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z));
int l = block.colorMultiplier(renderer.blockAccess, x, y, z);
float f = (float)(l >> 16 & 255) / 255.0F;
float f1 = (float)(l >> 8 & 255) / 255.0F;
float f2 = (float)(l & 255) / 255.0F;
tessellator.setColorOpaque_F(f, f1, f2);
double d3 = (double)iicon.getMinU();
double d4 = (double)iicon.getMinV();
double d0 = (double)iicon.getMaxU();
double d1 = (double)iicon.getMaxV();
double d2 = 0.05000000074505806D;
int i1 = renderer.blockAccess.getBlockMetadata(x, y, z);
if (side2)
{
tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 1), d3, d4);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 1), d3, d1);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 0), d0, d1);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 0), d0, d4);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 0), d0, d4);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 0), d0, d1);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 0), (double)(z + 1), d3, d1);
tessellator.addVertexWithUV((double)x + d2, (double)(y + 1), (double)(z + 1), d3, d4);
}
if (side4)
{
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 1), d0, d1);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 1), d0, d4);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 0), d3, d4);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 0), d3, d1);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 0), d3, d1);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 0), d3, d4);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 1), (double)(z + 1), d0, d4);
tessellator.addVertexWithUV((double)(x + 1) - d2, (double)(y + 0), (double)(z + 1), d0, d1);
}
if (side3)
{
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)z + d2, d0, d1);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)z + d2, d0, d4);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)z + d2, d3, d4);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)z + d2, d3, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)z + d2, d3, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)z + d2, d3, d4);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)z + d2, d0, d4);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)z + d2, d0, d1);
}
if (side1)
{
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)(z + 1) - d2, d3, d4);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)(z + 1) - d2, d3, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)(z + 1) - d2, d0, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)(z + 1) - d2, d0, d4);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1), (double)(z + 1) - d2, d0, d4);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0), (double)(z + 1) - d2, d0, d1);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0), (double)(z + 1) - d2, d3, d1);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1), (double)(z + 1) - d2, d3, d4);
}
if (ceil)
{
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1) - d2, (double)(z + 0), d3, d4);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 1) - d2, (double)(z + 1), d3, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1) - d2, (double)(z + 1), d0, d1);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 1) - d2, (double)(z + 0), d0, d4);
}
if (floor)
{
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0) + d2, (double)(z + 0), d0, d4);
tessellator.addVertexWithUV((double)(x + 0), (double)(y + 0) + d2, (double)(z + 1), d0, d1);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0) + d2, (double)(z + 1), d3, d1);
tessellator.addVertexWithUV((double)(x + 1), (double)(y + 0) + d2, (double)(z + 0), d3, d4);
}
return true;
}
@Override
public boolean shouldRender3DInInventory(int modelId) {
return false;
}
@Override
public int getRenderId() {
return 334077;
}
}

View File

@ -0,0 +1,128 @@
package com.hbm.tileentity.machine;
import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.particle.EntityGasFlameFX;
import com.hbm.explosion.ExplosionThermo;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.ISource;
import com.hbm.lib.Library;
import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket;
import com.hbm.packet.PacketDispatcher;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
public class TileEntityMachineSPP extends TileEntity implements ISource {
public long power;
public static final long maxPower = 100000;
public int age = 0;
public int gen = 0;
public List<IConsumer> list = new ArrayList();
@Override
public void updateEntity() {
MainRegistry.logger.debug("0");
age++;
if(age >= 20)
age -= 20;
if(age == 9 || age == 19)
ffgeuaInit();
if(!worldObj.isRemote) {
//if(age == 1)
gen = checkStructure() * 15;
if(gen > 0)
power += gen;
if(power > maxPower)
power = maxPower;
}
}
public int checkStructure() {
int h = 0;
for(int i = yCoord + 1; i < 254; i++)
if(worldObj.getBlock(xCoord, i, zCoord) == ModBlocks.machine_spp_top) {
h = i;
break;
}
for(int i = yCoord + 1; i < h - 1; i++)
if(!checkSegment(i))
return 0;
return h - yCoord - 1;
}
public boolean checkSegment(int y) {
// BBB
// BAB
// BBB
System.out.println(y);
return (worldObj.getBlock(xCoord + 1, y, zCoord) != Blocks.air &&
worldObj.getBlock(xCoord + 1, y, zCoord + 1) != Blocks.air &&
worldObj.getBlock(xCoord + 1, y, zCoord - 1) != Blocks.air &&
worldObj.getBlock(xCoord - 1, y, zCoord + 1) != Blocks.air &&
worldObj.getBlock(xCoord - 1, y, zCoord) != Blocks.air &&
worldObj.getBlock(xCoord - 1, y, zCoord - 1) != Blocks.air &&
worldObj.getBlock(xCoord, y, zCoord + 1) != Blocks.air &&
worldObj.getBlock(xCoord, y, zCoord - 1) != Blocks.air &&
worldObj.getBlock(xCoord, y, zCoord) == Blocks.air);
}
@Override
public boolean getTact() {
if (age >= 0 && age < 10) {
return true;
}
return false;
}
@Override
public void clearList() {
this.list.clear();
}
@Override
public void ffgeuaInit() {
ffgeua(this.xCoord + 1, this.yCoord, this.zCoord, getTact());
ffgeua(this.xCoord - 1, this.yCoord, this.zCoord, getTact());
ffgeua(this.xCoord, this.yCoord, this.zCoord + 1, getTact());
ffgeua(this.xCoord, this.yCoord, this.zCoord - 1, getTact());
ffgeua(this.xCoord, this.yCoord - 1, this.zCoord, getTact());
}
@Override
public void ffgeua(int x, int y, int z, boolean newTact) {
Library.ffgeua(x, y, z, newTact, this, worldObj);
}
@Override
public long getSPower() {
return this.power;
}
@Override
public void setSPower(long i) {
this.power = i;
}
@Override
public List<IConsumer> getList() {
return this.list;
}
}