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

View File

@ -15,7 +15,7 @@ public class ItemBattery extends Item {
private long maxCharge; private long maxCharge;
public ItemBattery(int dura) { public ItemBattery(long dura) {
this.maxCharge = dura; this.maxCharge = dura;
} }
@ -26,12 +26,20 @@ public class ItemBattery extends Item {
if(itemstack.hasTagCompound()) if(itemstack.hasTagCompound())
charge = ItemBattery.getCharge(itemstack); 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"); list.add("Energy stored: " + Library.getShortNumber(charge * 100) + "/" + Library.getShortNumber(maxCharge * 100) + "HE");
} else { } else {
long charge1 = (charge * 100) / this.maxCharge; String charge1 = Library.getShortNumber((charge * 100) / this.maxCharge);
list.add("Charge: " + charge1 + "%"); 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; 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; 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.EntityGrenadeFlare;
import com.hbm.entity.grenade.EntityGrenadeFrag; import com.hbm.entity.grenade.EntityGrenadeFrag;
import com.hbm.entity.grenade.EntityGrenadeGas; import com.hbm.entity.grenade.EntityGrenadeGas;
import com.hbm.entity.grenade.EntityGrenadeGascan;
import com.hbm.entity.grenade.EntityGrenadeGeneric; import com.hbm.entity.grenade.EntityGrenadeGeneric;
import com.hbm.entity.grenade.EntityGrenadeLemon; import com.hbm.entity.grenade.EntityGrenadeLemon;
import com.hbm.entity.grenade.EntityGrenadeMk2; import com.hbm.entity.grenade.EntityGrenadeMk2;
@ -111,6 +112,9 @@ public class ItemGrenade extends Item {
if (this == ModItems.grenade_black_hole) { if (this == ModItems.grenade_black_hole) {
p_77659_2_.spawnEntityInWorld(new EntityGrenadeBlackHole(p_77659_2_, p_77659_3_)); 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_; return p_77659_1_;
@ -127,7 +131,7 @@ public class ItemGrenade extends Item {
return EnumRarity.epic; 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; return EnumRarity.uncommon;
} }

View File

@ -612,49 +612,74 @@ public class Library {
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_schrabidium && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{ {
power -= 100; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) 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; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) 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; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) 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; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) if(power - 100 >= 0 && slots[index] != null && slots[index].getItem() == ModItems.battery_spark && ItemBattery.getCharge(slots[index]) < ((ItemBattery)slots[index].getItem()).getMaxCharge())
{ {
power -= 100; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) 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; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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()) 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; power -= 100;
((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1); ((ItemBattery)slots[index].getItem()).chargeBattery(slots[index], 1);
} else break; } 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++) 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()) 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; power -= 1;
slots[index].setItemDamage(slots[index].getItemDamage() - 1); slots[index].setItemDamage(slots[index].getItemDamage() - 1);
} else break; } 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; return power;
} }

View File

@ -15,6 +15,7 @@ import com.hbm.entity.mob.*;
import com.hbm.entity.particle.*; import com.hbm.entity.particle.*;
import com.hbm.entity.projectile.*; import com.hbm.entity.projectile.*;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.render.block.*;
import com.hbm.render.entity.*; import com.hbm.render.entity.*;
import com.hbm.render.item.*; import com.hbm.render.item.*;
import com.hbm.render.tileentity.*; import com.hbm.render.tileentity.*;
@ -33,6 +34,8 @@ public class ClientProxy extends ServerProxy
{ {
MinecraftForge.EVENT_BUS.register(new ModEventHandlerClient()); MinecraftForge.EVENT_BUS.register(new ModEventHandlerClient());
RenderingRegistry.registerBlockHandler(new RenderTaintBlock());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestContainer.class, new RenderTestContainer()); 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(EntityGrenadePulse.class, new RenderSnowball(ModItems.grenade_pulse));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeShrapnel.class, new RenderSnowball(ModItems.grenade_shrapnel));
RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBlackHole.class, new RenderSnowball(ModItems.grenade_black_hole)); 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()); 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.EntityGrenadeFlare;
import com.hbm.entity.grenade.EntityGrenadeFrag; import com.hbm.entity.grenade.EntityGrenadeFrag;
import com.hbm.entity.grenade.EntityGrenadeGas; import com.hbm.entity.grenade.EntityGrenadeGas;
import com.hbm.entity.grenade.EntityGrenadeGascan;
import com.hbm.entity.grenade.EntityGrenadeGeneric; import com.hbm.entity.grenade.EntityGrenadeGeneric;
import com.hbm.entity.grenade.EntityGrenadeLemon; import com.hbm.entity.grenade.EntityGrenadeLemon;
import com.hbm.entity.grenade.EntityGrenadeMk2; 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.TileEntityMachineRTG;
import com.hbm.tileentity.machine.TileEntityMachineReactor; import com.hbm.tileentity.machine.TileEntityMachineReactor;
import com.hbm.tileentity.machine.TileEntityMachineRefinery; import com.hbm.tileentity.machine.TileEntityMachineRefinery;
import com.hbm.tileentity.machine.TileEntityMachineSPP;
import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator; import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator;
import com.hbm.tileentity.machine.TileEntityMachineShredder; import com.hbm.tileentity.machine.TileEntityMachineShredder;
import com.hbm.tileentity.machine.TileEntityMachineSiren; import com.hbm.tileentity.machine.TileEntityMachineSiren;
@ -544,6 +546,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityAMSLimiter.class, "tileentity_ams_limiter"); GameRegistry.registerTileEntity(TileEntityAMSLimiter.class, "tileentity_ams_limiter");
GameRegistry.registerTileEntity(TileEntityMachineSiren.class, "tileentity_siren"); GameRegistry.registerTileEntity(TileEntityMachineSiren.class, "tileentity_siren");
GameRegistry.registerTileEntity(TileEntityTaint.class, "tileentity_taint"); 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(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, 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(EntityLaser.class, "entity_laser", 85, this, 1000, 1, true);
EntityRegistry.registerModEntity(EntityBoxcar.class, "entity_boxcar", 86, 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(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(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72); 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_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_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(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(); 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;
}
}