french translations, solinium bomb chassis, new bomb textures

This commit is contained in:
HbmMods 2018-03-17 19:30:07 +01:00
parent 2919094cbf
commit 93bd8746ea
22 changed files with 5831 additions and 5118 deletions

1565
assets/hbm/lang/fr_FR.lang Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

582
assets/hbm/models/ufp.obj Normal file
View File

@ -0,0 +1,582 @@
# Blender v2.76 (sub 0) OBJ File: 'ufp.blend'
# www.blender.org
o Cylinder
v 0.000000 1.000000 -0.500000
v 0.000000 1.000000 1.500000
v 0.191342 0.961940 -0.500000
v 0.191342 0.961940 1.500000
v 0.353553 0.853553 -0.500000
v 0.353553 0.853553 1.500000
v 0.461940 0.691342 -0.500000
v 0.461940 0.691342 1.500000
v 0.500000 0.500000 -0.500000
v 0.500000 0.500000 1.500000
v 0.461940 0.308658 -0.500000
v 0.461940 0.308658 1.500000
v 0.353553 0.146447 -0.500000
v 0.353553 0.146447 1.500000
v 0.191342 0.038060 -0.500000
v 0.191342 0.038060 1.500000
v 0.000000 -0.000000 -0.500000
v 0.000000 0.000000 1.500000
v -0.191342 0.038060 -0.500000
v -0.191342 0.038060 1.500000
v -0.353553 0.146446 -0.500000
v -0.353553 0.146447 1.500000
v -0.461940 0.308658 -0.500000
v -0.461940 0.308658 1.500000
v -0.500000 0.500000 -0.500000
v -0.500000 0.500000 1.500000
v -0.461940 0.691342 -0.500000
v -0.461940 0.691342 1.500000
v -0.353553 0.853553 -0.500000
v -0.353553 0.853554 1.500000
v -0.191341 0.961940 -0.500000
v -0.191341 0.961940 1.500000
v 0.143506 0.846455 1.750000
v 0.000000 0.875000 1.750000
v 0.265165 0.765165 1.750000
v 0.346455 0.643506 1.750000
v 0.375000 0.500000 1.750000
v 0.346455 0.356494 1.750000
v 0.265165 0.234835 1.750000
v 0.143506 0.153545 1.750000
v 0.000000 0.125000 1.750000
v -0.143506 0.153545 1.750000
v -0.265165 0.234835 1.750000
v -0.346455 0.356494 1.750000
v -0.375000 0.500000 1.750000
v -0.346455 0.643506 1.750000
v -0.265165 0.765165 1.750000
v -0.143506 0.846455 1.750000
v 0.047835 0.615485 1.900000
v 0.000000 0.625000 1.900000
v 0.088388 0.588389 1.900000
v 0.115485 0.547836 1.900000
v 0.125000 0.500000 1.900000
v 0.115485 0.452165 1.900000
v 0.088388 0.411612 1.900000
v 0.047835 0.384515 1.900000
v 0.000000 0.375000 1.900000
v -0.047835 0.384515 1.900000
v -0.088388 0.411612 1.900000
v -0.115485 0.452165 1.900000
v -0.125000 0.500000 1.900000
v -0.115485 0.547836 1.900000
v -0.088388 0.588389 1.900000
v -0.047835 0.615485 1.900000
v 0.000000 0.750000 -1.750000
v 0.095671 0.730970 -1.750000
v 0.176777 0.676777 -1.750000
v 0.230970 0.595671 -1.750000
v 0.250000 0.500000 -1.750000
v 0.230970 0.404329 -1.750000
v 0.176777 0.323223 -1.750000
v 0.095671 0.269030 -1.750000
v 0.000000 0.250000 -1.750000
v -0.095671 0.269030 -1.750000
v -0.176777 0.323223 -1.750000
v -0.230970 0.404329 -1.750000
v -0.250000 0.500000 -1.750000
v -0.230970 0.595671 -1.750000
v -0.176777 0.676777 -1.750000
v -0.095671 0.730970 -1.750000
v -0.000000 0.750000 -2.500000
v 0.095671 0.730970 -2.500000
v 0.176777 0.676777 -2.500000
v 0.230970 0.595671 -2.500000
v 0.250000 0.500000 -2.500000
v 0.230970 0.404329 -2.500000
v 0.176777 0.323223 -2.500000
v 0.095671 0.269030 -2.500000
v 0.000000 0.250000 -2.500000
v -0.095671 0.269030 -2.500000
v -0.176777 0.323223 -2.500000
v -0.230970 0.404329 -2.500000
v -0.250000 0.500000 -2.500000
v -0.230970 0.595671 -2.500000
v -0.176777 0.676777 -2.500000
v -0.095671 0.730970 -2.500000
v -0.530330 1.030330 -1.750000
v 0.530330 -0.030330 -1.750000
v -0.530330 1.030330 -2.500000
v 0.530330 -0.030330 -2.500000
v -0.265165 0.765165 -1.000000
v 0.265165 0.234835 -1.000000
v -0.530330 -0.030330 -1.750000
v 0.530330 1.030330 -1.750000
v -0.530330 -0.030330 -2.500000
v 0.530330 1.030330 -2.500000
v -0.265165 0.234835 -1.000000
v 0.265165 0.765165 -1.000000
vt 0.308738 0.762034
vt 0.272835 0.762033
vt 0.272836 0.393966
vt 0.236932 0.762033
vt 0.236932 0.393966
vt 0.201028 0.762033
vt 0.201029 0.393966
vt 0.165125 0.762033
vt 0.165126 0.393966
vt 0.129222 0.762033
vt 0.129222 0.393966
vt 0.093319 0.762033
vt 0.093319 0.393966
vt 0.057415 0.762033
vt 0.057415 0.393966
vt 0.021512 0.762033
vt 0.021512 0.393966
vt 0.595963 0.762035
vt 0.560060 0.762035
vt 0.560063 0.393968
vt 0.524157 0.762035
vt 0.524160 0.393968
vt 0.488254 0.762034
vt 0.488256 0.393967
vt 0.452351 0.762034
vt 0.452353 0.393967
vt 0.416447 0.762034
vt 0.416449 0.393967
vt 0.380544 0.762034
vt 0.380546 0.393967
vt 0.232444 0.813276
vt 0.205516 0.813276
vt 0.344641 0.762034
vt 0.308739 0.393966
vt 0.344643 0.393967
vt 0.281812 0.159539
vt 0.160637 0.813276
vt 0.151661 0.866175
vt 0.142685 0.866175
vt 0.052928 0.813276
vt 0.026000 0.813276
vt 0.304250 0.813276
vt 0.277323 0.813276
vt 0.447863 0.813277
vt 0.124734 0.813276
vt 0.097806 0.813276
vt 0.519669 0.813277
vt 0.340153 0.813277
vt 0.196540 0.813276
vt 0.169613 0.813276
vt 0.591475 0.813278
vt 0.564548 0.813278
vt 0.411959 0.813277
vt 0.268347 0.813276
vt 0.088831 0.813276
vt 0.061903 0.813276
vt 0.483766 0.813277
vt 0.133710 0.813276
vt 0.555572 0.813278
vt 0.528645 0.813277
vt 0.376056 0.813277
vt 0.349129 0.813277
vt 0.782044 0.733935
vt 0.790337 0.692245
vt 0.807606 0.695680
vt 0.420935 0.813277
vt 0.438886 0.866176
vt 0.115758 0.866175
vt 0.106782 0.866175
vt 0.385032 0.813277
vt 0.402983 0.866175
vt 0.079855 0.866175
vt 0.070879 0.866175
vt 0.367080 0.866175
vt 0.358104 0.866175
vt 0.043952 0.866175
vt 0.295274 0.866175
vt 0.286298 0.866175
vt 0.331177 0.866175
vt 0.322201 0.866175
vt 0.582499 0.866176
vt 0.573523 0.866176
vt 0.259371 0.866175
vt 0.250395 0.866175
vt 0.546596 0.866176
vt 0.223468 0.866175
vt 0.214492 0.866175
vt 0.492742 0.813277
vt 0.510693 0.866176
vt 0.187564 0.866175
vt 0.178589 0.866175
vt 0.474790 0.866176
vt 0.465814 0.866176
vt 0.353620 0.159539
vt 0.353620 0.021514
vt 0.371572 0.021514
vt 0.425427 0.159540
vt 0.443378 0.159540
vt 0.102295 0.159539
vt 0.120246 0.159539
vt 0.497234 0.159540
vt 0.515185 0.159540
vt 0.317716 0.159539
vt 0.174102 0.159539
vt 0.192054 0.159539
vt 0.595966 0.393968
vt 0.569041 0.159541
vt 0.389523 0.159540
vt 0.407475 0.159540
vt 0.245909 0.159539
vt 0.066391 0.159539
vt 0.084343 0.159539
vt 0.461330 0.159540
vt 0.479282 0.159540
vt 0.138198 0.159539
vt 0.533137 0.159540
vt 0.551089 0.159541
vt 0.371571 0.159539
vt 0.210005 0.159539
vt 0.227957 0.159539
vt 0.030488 0.159538
vt 0.048439 0.159538
vt 0.693090 0.782494
vt 0.638990 0.746346
vt 0.729239 0.728394
vt 0.030488 0.021513
vt 0.048439 0.021513
vt 0.281813 0.021512
vt 0.299765 0.021512
vt 0.317716 0.021512
vt 0.335668 0.021512
vt 0.569042 0.021515
vt 0.586993 0.021515
vt 0.245909 0.021514
vt 0.263861 0.021514
vt 0.533138 0.021515
vt 0.551090 0.021515
vt 0.210006 0.021513
vt 0.227957 0.021513
vt 0.497235 0.021515
vt 0.515186 0.021515
vt 0.174102 0.021513
vt 0.192054 0.021513
vt 0.461331 0.021515
vt 0.479283 0.021515
vt 0.138199 0.021513
vt 0.156150 0.021513
vt 0.425427 0.021515
vt 0.443379 0.021515
vt 0.102295 0.021513
vt 0.120247 0.021513
vt 0.389524 0.021514
vt 0.407476 0.021514
vt 0.066391 0.021513
vt 0.084343 0.021513
vt 0.915041 0.511196
vt 0.638990 0.511196
vt 0.638990 0.373170
vt 0.846029 0.649222
vt 0.708003 0.649222
vt 0.885898 0.083239
vt 0.762444 0.330146
vt 0.638990 0.268420
vt 0.978488 0.206693
vt 0.916761 0.330146
vt 0.299764 0.159539
vt 0.313226 0.813276
vt 0.241419 0.813276
vt 0.456838 0.813277
vt 0.813952 0.702027
vt 0.817387 0.710320
vt 0.817387 0.719295
vt 0.813952 0.727588
vt 0.807606 0.733935
vt 0.799313 0.737370
vt 0.790337 0.737370
vt 0.775698 0.727588
vt 0.772263 0.719295
vt 0.772263 0.710320
vt 0.775698 0.702027
vt 0.782044 0.695680
vt 0.799313 0.692245
vt 0.429911 0.866175
vt 0.394007 0.866175
vt 0.034976 0.866175
vt 0.537620 0.866176
vt 0.501717 0.866176
vt 0.335668 0.159539
vt 0.586992 0.159541
vt 0.263861 0.159539
vt 0.156150 0.159539
vt 0.675139 0.692245
vt 0.693090 0.692245
vt 0.709675 0.699115
vt 0.722369 0.711809
vt 0.729239 0.746346
vt 0.722369 0.762931
vt 0.709675 0.775624
vt 0.675139 0.782494
vt 0.658554 0.775624
vt 0.645860 0.762931
vt 0.638990 0.728394
vt 0.645860 0.711809
vt 0.658554 0.699115
vt 0.915041 0.373170
vt 0.762444 0.021512
vn 0.195100 0.980800 -0.000000
vn 0.555600 0.831500 0.000000
vn 0.831500 0.555600 0.000000
vn 0.980800 0.195100 -0.000000
vn 0.980800 -0.195100 0.000000
vn 0.831500 -0.555600 0.000000
vn 0.555600 -0.831500 0.000000
vn 0.195100 -0.980800 0.000000
vn -0.195100 -0.980800 0.000000
vn -0.555600 -0.831500 0.000000
vn -0.831500 -0.555600 0.000000
vn -0.980800 -0.195100 0.000000
vn -0.980800 0.195100 0.000000
vn -0.831500 0.555600 0.000000
vn 0.746500 0.498800 0.440300
vn -0.195100 0.980800 0.000000
vn -0.555600 0.831500 -0.000000
vn 0.191400 0.962400 -0.192500
vn 0.511800 -0.101800 0.853000
vn 0.175200 -0.880600 0.440300
vn 0.175200 0.880600 0.440300
vn -0.880600 0.175200 0.440300
vn 0.746500 -0.498800 0.440300
vn -0.746500 -0.498800 0.440300
vn -0.175200 0.880600 0.440300
vn 0.880600 0.175200 0.440300
vn -0.175200 -0.880600 0.440300
vn -0.746500 0.498800 0.440300
vn 0.498800 0.746500 0.440300
vn 0.498800 -0.746500 0.440300
vn -0.880600 -0.175200 0.440300
vn 0.880600 -0.175200 0.440300
vn -0.498800 -0.746500 0.440300
vn -0.498800 0.746500 0.440300
vn 0.000000 0.000000 1.000000
vn -0.511800 0.101800 0.853000
vn 0.433900 -0.289900 0.853000
vn -0.433900 0.289900 0.853000
vn 0.289900 -0.433900 0.853000
vn -0.289900 0.433900 0.853000
vn 0.101800 -0.511800 0.853000
vn 0.101800 0.511800 0.853000
vn -0.101800 0.511800 0.853000
vn -0.101800 -0.511800 0.853000
vn 0.289900 0.433900 0.853000
vn -0.289900 -0.433900 0.853000
vn 0.433900 0.289900 0.853000
vn -0.433900 -0.289900 0.853000
vn 0.511800 0.101800 0.853000
vn -0.511800 -0.101800 0.853000
vn -0.962400 0.191400 -0.192500
vn 0.815900 -0.545200 -0.192500
vn -0.815900 -0.545200 -0.192500
vn -0.191400 0.962400 -0.192500
vn 0.962400 0.191400 -0.192500
vn -0.191400 -0.962400 -0.192500
vn -0.815900 0.545200 -0.192500
vn 0.545200 0.815900 -0.192500
vn 0.545200 -0.815900 -0.192500
vn -0.962400 -0.191400 -0.192500
vn 0.962400 -0.191400 -0.192500
vn -0.545200 -0.815900 -0.192500
vn -0.545200 0.815900 -0.192500
vn 0.815900 0.545200 -0.192500
vn 0.191400 -0.962400 -0.192500
vn -0.000000 0.000000 -1.000000
vn 0.707100 0.707100 0.000000
vn -0.707100 0.707100 -0.000000
s off
f 2/1/1 4/2/1 3/3/1
f 4/2/2 6/4/2 5/5/2
f 6/4/3 8/6/3 7/7/3
f 8/6/4 10/8/4 9/9/4
f 10/8/5 12/10/5 11/11/5
f 12/10/6 14/12/6 13/13/6
f 14/12/7 16/14/7 15/15/7
f 16/14/8 18/16/8 17/17/8
f 18/18/9 20/19/9 19/20/9
f 20/19/10 22/21/10 21/22/10
f 22/21/11 24/23/11 23/24/11
f 24/23/12 26/25/12 25/26/12
f 26/25/13 28/27/13 27/28/13
f 28/27/14 30/29/14 29/30/14
f 6/4/15 35/31/15 36/32/15
f 32/33/16 2/1/16 1/34/16
f 30/29/17 32/33/17 31/35/17
f 1/34/18 3/3/18 66/36/18
f 37/37/19 53/38/19 54/39/19
f 16/14/20 40/40/20 41/41/20
f 2/1/21 34/42/21 33/43/21
f 28/27/22 26/25/22 45/44/22
f 12/10/23 38/45/23 39/46/23
f 24/23/24 22/21/24 43/47/24
f 2/1/25 32/33/25 48/48/25
f 8/6/26 36/49/26 37/50/26
f 18/18/27 41/51/27 42/52/27
f 30/29/28 28/27/28 46/53/28
f 6/4/29 4/2/29 33/54/29
f 14/12/30 39/55/30 40/56/30
f 26/25/31 24/23/31 44/57/31
f 10/8/32 37/37/32 38/58/32
f 20/19/33 42/59/33 43/60/33
f 30/29/34 47/61/34 48/62/34
f 59/63/35 53/64/35 51/65/35
f 46/66/36 45/44/36 61/67/36
f 38/45/37 54/68/37 55/69/37
f 47/70/38 46/53/38 62/71/38
f 39/55/39 55/72/39 56/73/39
f 47/61/40 63/74/40 64/75/40
f 41/41/41 40/40/41 56/76/41
f 34/42/42 50/77/42 49/78/42
f 48/48/43 64/79/43 50/80/43
f 41/51/44 57/81/44 58/82/44
f 33/54/45 49/83/45 51/84/45
f 43/60/46 42/59/46 58/85/46
f 35/31/47 51/86/47 52/87/47
f 44/88/48 43/47/48 59/89/48
f 36/49/49 52/90/49 53/91/49
f 44/57/50 60/92/50 61/93/50
f 80/94/17 96/95/17 95/96/17
f 27/28/51 78/97/51 77/98/51
f 13/13/52 71/99/52 70/100/52
f 23/24/53 76/101/53 75/102/53
f 31/35/54 1/34/54 65/103/54
f 9/9/55 69/104/55 68/105/55
f 17/106/56 19/20/56 74/107/56
f 29/30/57 79/108/57 78/109/57
f 3/3/58 5/5/58 67/110/58
f 15/15/59 72/111/59 71/112/59
f 25/26/60 77/113/60 76/114/60
f 9/9/61 11/11/61 70/115/61
f 21/22/62 75/116/62 74/117/62
f 31/35/63 80/94/63 79/118/63
f 7/7/64 68/119/64 67/120/64
f 17/17/65 73/121/65 72/122/65
f 88/123/66 92/124/66 84/125/66
f 73/121/8 89/126/8 88/127/8
f 66/36/1 82/128/1 81/129/1
f 65/103/16 81/130/16 96/131/16
f 74/107/9 90/132/9 89/133/9
f 67/110/2 83/134/2 82/135/2
f 75/116/10 91/136/10 90/137/10
f 68/119/3 84/138/3 83/139/3
f 76/101/11 92/140/11 91/141/11
f 69/104/4 85/142/4 84/143/4
f 77/113/12 93/144/12 92/145/12
f 70/115/5 86/146/5 85/147/5
f 78/97/13 94/148/13 93/149/13
f 71/99/6 87/150/6 86/151/6
f 79/108/14 95/152/14 94/153/14
f 72/111/7 88/154/7 87/155/7
f 97/156/67 98/157/67 100/158/67
f 97/156/67 101/159/67 102/160/67
f 103/161/68 104/162/68 106/163/68
f 103/161/68 107/164/68 108/165/68
f 1/34/1 2/1/1 3/3/1
f 3/3/2 4/2/2 5/5/2
f 5/5/3 6/4/3 7/7/3
f 7/7/4 8/6/4 9/9/4
f 9/9/5 10/8/5 11/11/5
f 11/11/6 12/10/6 13/13/6
f 13/13/7 14/12/7 15/15/7
f 15/15/8 16/14/8 17/17/8
f 17/106/9 18/18/9 19/20/9
f 19/20/10 20/19/10 21/22/10
f 21/22/11 22/21/11 23/24/11
f 23/24/12 24/23/12 25/26/12
f 25/26/13 26/25/13 27/28/13
f 27/28/14 28/27/14 29/30/14
f 8/6/15 6/4/15 36/32/15
f 31/35/16 32/33/16 1/34/16
f 29/30/17 30/29/17 31/35/17
f 65/166/18 1/34/18 66/36/18
f 38/58/19 37/37/19 54/39/19
f 18/16/20 16/14/20 41/41/20
f 4/2/21 2/1/21 33/43/21
f 46/66/22 28/27/22 45/44/22
f 14/12/23 12/10/23 39/46/23
f 44/88/24 24/23/24 43/47/24
f 34/167/25 2/1/25 48/48/25
f 10/8/26 8/6/26 37/50/26
f 20/19/27 18/18/27 42/52/27
f 47/70/28 30/29/28 46/53/28
f 35/168/29 6/4/29 33/54/29
f 16/14/30 14/12/30 40/56/30
f 45/169/31 26/25/31 44/57/31
f 12/10/32 10/8/32 38/58/32
f 22/21/33 20/19/33 43/60/33
f 32/33/34 30/29/34 48/62/34
f 51/65/35 49/170/35 50/171/35
f 50/171/35 64/172/35 51/65/35
f 63/173/35 62/174/35 61/175/35
f 61/175/35 60/176/35 63/173/35
f 59/63/35 58/177/35 57/178/35
f 57/178/35 56/179/35 55/180/35
f 55/180/35 54/181/35 53/64/35
f 53/64/35 52/182/35 51/65/35
f 51/65/35 64/172/35 63/173/35
f 63/173/35 60/176/35 59/63/35
f 59/63/35 57/178/35 55/180/35
f 55/180/35 53/64/35 59/63/35
f 51/65/35 63/173/35 59/63/35
f 62/183/36 46/66/36 61/67/36
f 39/46/37 38/45/37 55/69/37
f 63/184/38 47/70/38 62/71/38
f 40/56/39 39/55/39 56/73/39
f 48/62/40 47/61/40 64/75/40
f 57/185/41 41/41/41 56/76/41
f 33/43/42 34/42/42 49/78/42
f 34/167/43 48/48/43 50/80/43
f 42/52/44 41/51/44 58/82/44
f 35/168/45 33/54/45 51/84/45
f 59/186/46 43/60/46 58/85/46
f 36/32/47 35/31/47 52/87/47
f 60/187/48 44/88/48 59/89/48
f 37/50/49 36/49/49 53/91/49
f 45/169/50 44/57/50 61/93/50
f 79/118/17 80/94/17 95/96/17
f 25/26/51 27/28/51 77/98/51
f 11/11/52 13/13/52 70/100/52
f 21/22/53 23/24/53 75/102/53
f 80/188/54 31/35/54 65/103/54
f 7/7/55 9/9/55 68/105/55
f 73/189/56 17/106/56 74/107/56
f 27/28/57 29/30/57 78/109/57
f 66/190/58 3/3/58 67/110/58
f 13/13/59 15/15/59 71/112/59
f 23/24/60 25/26/60 76/114/60
f 69/191/61 9/9/61 70/115/61
f 19/20/62 21/22/62 74/117/62
f 29/30/63 31/35/63 79/118/63
f 5/5/64 7/7/64 67/120/64
f 15/15/65 17/17/65 72/122/65
f 96/192/66 81/193/66 82/194/66
f 82/194/66 83/195/66 84/125/66
f 84/125/66 85/196/66 86/197/66
f 86/197/66 87/198/66 84/125/66
f 88/123/66 89/199/66 90/200/66
f 90/200/66 91/201/66 92/124/66
f 92/124/66 93/202/66 94/203/66
f 94/203/66 95/204/66 92/124/66
f 96/192/66 82/194/66 84/125/66
f 84/125/66 87/198/66 88/123/66
f 88/123/66 90/200/66 92/124/66
f 92/124/66 95/204/66 96/192/66
f 96/192/66 84/125/66 92/124/66
f 72/122/8 73/121/8 88/127/8
f 65/166/1 66/36/1 81/129/1
f 80/188/16 65/103/16 96/131/16
f 73/189/9 74/107/9 89/133/9
f 66/190/2 67/110/2 82/135/2
f 74/117/10 75/116/10 90/137/10
f 67/120/3 68/119/3 83/139/3
f 75/102/11 76/101/11 91/141/11
f 68/105/4 69/104/4 84/143/4
f 76/114/12 77/113/12 92/145/12
f 69/191/5 70/115/5 85/147/5
f 77/98/13 78/97/13 93/149/13
f 70/100/6 71/99/6 86/151/6
f 78/109/14 79/108/14 94/153/14
f 71/112/7 72/111/7 87/155/7
f 99/205/67 97/156/67 100/158/67
f 98/157/67 97/156/67 102/160/67
f 105/206/68 103/161/68 106/163/68
f 104/162/68 103/161/68 108/165/68

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 724 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -210,6 +210,9 @@ public class ModBlocks {
public static Block nuke_custom;
public static final int guiID_nuke_custom = 37;
public static Block nuke_solinium;
public static final int guiID_nuke_solinium = 60;
public static Block bomb_multi;
public static final int guiID_bomb_multi = 10;
@ -618,6 +621,7 @@ public class ModBlocks {
nuke_fleija = new NukeFleija(Material.iron).setBlockName("nuke_fleija").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":fleija");
nuke_prototype = new NukePrototype(Material.iron).setBlockName("nuke_prototype").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":prototype");
nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":custom");
nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.tabNuke).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium");
bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1");
//bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large");
@ -990,6 +994,7 @@ public class ModBlocks {
GameRegistry.registerBlock(nuke_tsar, nuke_tsar.getUnlocalizedName());
GameRegistry.registerBlock(nuke_prototype, ItemPrototypeBlock.class, nuke_prototype.getUnlocalizedName());
GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName());
GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName());
GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName());
//Generic Bombs

View File

@ -0,0 +1,215 @@
package com.hbm.blocks.bomb;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.effect.EntityCloudFleija;
import com.hbm.entity.logic.EntityNukeExplosionMK3;
import com.hbm.interfaces.IBomb;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class NukeSolinium extends BlockContainer implements IBomb {
private final Random field_149933_a = new Random();
private static boolean keepInventory = false;
private Map field_77288_k = new HashMap();
public NukeSolinium(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityNukeSolinium();
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return Item.getItemFromBlock(ModBlocks.nuke_solinium);
}
@Override
public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_)
{
if (!keepInventory)
{
TileEntityNukeSolinium tileentityfurnace = (TileEntityNukeSolinium)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_);
if (tileentityfurnace != null)
{
for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1)
{
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
if (itemstack != null)
{
float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F;
while (itemstack.stackSize > 0)
{
int j1 = this.field_149933_a.nextInt(21) + 10;
if (j1 > itemstack.stackSize)
{
j1 = itemstack.stackSize;
}
itemstack.stackSize -= j1;
EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage()));
if (itemstack.hasTagCompound())
{
entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy());
}
float f3 = 0.05F;
entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3;
entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3;
p_149749_1_.spawnEntityInWorld(entityitem);
}
}
}
p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_);
}
}
super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
TileEntityNukeSolinium entity = (TileEntityNukeSolinium) world.getTileEntity(x, y, z);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_nuke_solinium, world, x, y, z);
}
return true;
} else {
return false;
}
}
@Override
public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_)
{
TileEntityNukeSolinium entity = (TileEntityNukeSolinium) p_149695_1_.getTileEntity(x, y, z);
if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z) && !p_149695_1_.isRemote)
{
if(entity.isReady())
{
this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1);
entity.clearSlots();
p_149695_1_.setBlockToAir(x, y, z);
igniteTestBomb(p_149695_1_, x, y, z, MainRegistry.fleijaRadius);
}
}
}
public boolean igniteTestBomb(World world, int x, int y, int z, int r)
{
if (!world.isRemote)
{
TileEntityNukeSolinium entityn = (TileEntityNukeSolinium) world.getTileEntity(x, y, z);
entityn.clearSlots();
world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F);
EntityNukeExplosionMK3 entity = new EntityNukeExplosionMK3(world);
entity.posX = x;
entity.posY = y;
entity.posZ = z;
entity.destructionRange = r;
entity.speed = MainRegistry.blastSpeed;
entity.coefficient = 1.0F;
entity.waste = false;
world.spawnEntityInWorld(entity);
EntityCloudFleija cloud = new EntityCloudFleija(world, r);
cloud.posX = x;
cloud.posY = y;
cloud.posZ = z;
world.spawnEntityInWorld(cloud);
}
return false;
}
@Override
public int getRenderType(){
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
if(i == 0)
{
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}
if(i == 1)
{
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}
if(i == 2)
{
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
if(i == 3)
{
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}
}
@Override
public void explode(World world, int x, int y, int z) {
TileEntityNukeSolinium entity = (TileEntityNukeSolinium) world.getTileEntity(x, y, z);
//if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z))
{
if(entity.isReady())
{
this.onBlockDestroyedByPlayer(world, x, y, z, 1);
entity.clearSlots();
world.setBlockToAir(x, y, z);
igniteTestBomb(world, x, y, z, MainRegistry.fleijaRadius);
}
}
}
}

View File

@ -14,6 +14,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeGadget;
import com.hbm.tileentity.bomb.TileEntityNukeMan;
import com.hbm.tileentity.bomb.TileEntityNukeMike;
import com.hbm.tileentity.bomb.TileEntityNukePrototype;
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
import com.hbm.tileentity.bomb.TileEntityNukeTsar;
import com.hbm.tileentity.bomb.TileEntityTestNuke;
import com.hbm.tileentity.machine.TileEntityAMSBase;
@ -598,6 +599,15 @@ public class GUIHandler implements IGuiHandler {
}
return null;
}
case ModBlocks.guiID_nuke_solinium:
{
if(entity instanceof TileEntityNukeSolinium)
{
//return new ContainerNukeSolinium(player.inventory, (TileEntityNukeSolinium) entity);
}
return null;
}
}
return null;
}
@ -1130,6 +1140,15 @@ public class GUIHandler implements IGuiHandler {
}
return null;
}
case ModBlocks.guiID_nuke_solinium:
{
if(entity instanceof TileEntityNukeSolinium)
{
//return new GUINukeSolinium(player.inventory, (TileEntityNukeSolinium) entity);
}
return null;
}
}
} else {
//CLIENTONLY GUIS

View File

@ -58,6 +58,7 @@ public class ClientProxy extends ServerProxy
//MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.nuke_gadget), new ItemRenderNukeGadget());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBoy.class, new RenderNukeBoy());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeCustom.class, new RenderNukeCustom());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCentrifuge.class, new RenderCentrifuge());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineUF6Tank.class, new RenderUF6Tank());

View File

@ -172,6 +172,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeGadget;
import com.hbm.tileentity.bomb.TileEntityNukeMan;
import com.hbm.tileentity.bomb.TileEntityNukeMike;
import com.hbm.tileentity.bomb.TileEntityNukePrototype;
import com.hbm.tileentity.bomb.TileEntityNukeSolinium;
import com.hbm.tileentity.bomb.TileEntityNukeTsar;
import com.hbm.tileentity.bomb.TileEntityRedBarrel;
import com.hbm.tileentity.bomb.TileEntityTestBombAdvanced;
@ -585,6 +586,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityMachineRadar.class, "tileentity_radar");
GameRegistry.registerTileEntity(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster");
GameRegistry.registerTileEntity(TileEntityTurretCheapo.class, "tileentity_turret_cheapo");
GameRegistry.registerTileEntity(TileEntityNukeSolinium.class, "tileentity_nuke_solinium");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -66,6 +66,9 @@ public class ResourceManager {
public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"));
public static final IModelCustom radar_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj"));
//Bombs
public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ufp.obj"));
////Textures TEs
public static final ResourceLocation universal = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");

View File

@ -19,7 +19,7 @@ public class RenderNukeGadget extends TileEntitySpecialRenderer {
public RenderNukeGadget()
{
gadgetModel = AdvancedModelLoader.loadModel(objTesterModelRL);
gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png");
gadgetTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_tex.png");
}
@Override

View File

@ -0,0 +1,47 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
public class RenderNukeSolinium extends TileEntitySpecialRenderer {
public RenderNukeSolinium() { }
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(90, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata())
{
case 2:
GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4:
GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3:
GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5:
GL11.glRotatef(0, 0F, 1F, 0F); break;
}
bindTexture(ResourceManager.universal);
ResourceManager.bomb_solinium.renderAll();
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,211 @@
package com.hbm.tileentity.bomb;
import com.hbm.items.ModItems;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityNukeSolinium extends TileEntity implements ISidedInventory {
public ItemStack slots[];
private String customName;
public TileEntityNukeSolinium() {
slots = new ItemStack[11];
}
@Override
public int getSizeInventory() {
return slots.length;
}
@Override
public ItemStack getStackInSlot(int i) {
return slots[i];
}
@Override
public ItemStack decrStackSize(int i, int j) {
if(slots[i] != null)
{
if(slots[i].stackSize <= j)
{
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
}
ItemStack itemStack1 = slots[i].splitStack(j);
if (slots[i].stackSize == 0)
{
slots[i] = null;
}
return itemStack1;
} else {
return null;
}
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if(slots[i] != null)
{
ItemStack itemStack = slots[i];
slots[i] = null;
return itemStack;
} else {
return null;
}
}
@Override
public void setInventorySlotContents(int i, ItemStack itemStack) {
slots[i] = itemStack;
if(itemStack != null && itemStack.stackSize > getInventoryStackLimit())
{
itemStack.stackSize = getInventoryStackLimit();
}
}
@Override
public String getInventoryName() {
return this.hasCustomInventoryName() ? this.customName : "container.nukeSolinium";
}
@Override
public boolean hasCustomInventoryName() {
return this.customName != null && this.customName.length() > 0;
}
public void setCustomName(String name) {
this.customName = name;
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this)
{
return false;
}else{
return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64;
}
}
@Override
public void openInventory() {
}
@Override
public void closeInventory() {
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return false;
}
@Override
public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
return null;
}
@Override
public boolean canInsertItem(int i, ItemStack itemStack, int j) {
return this.isItemValidForSlot(i, itemStack);
}
@Override
public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return j != 0 || i != 1 || itemStack.getItem() == Items.bucket;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
NBTTagList list = nbt.getTagList("items", 10);
slots = new ItemStack[getSizeInventory()];
for(int i = 0; i < list.tagCount(); i++)
{
NBTTagCompound nbt1 = list.getCompoundTagAt(i);
byte b0 = nbt1.getByte("slot");
if(b0 >= 0 && b0 < slots.length)
{
slots[b0] = ItemStack.loadItemStackFromNBT(nbt1);
}
}
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
NBTTagList list = new NBTTagList();
for(int i = 0; i < slots.length; i++)
{
if(slots[i] != null)
{
NBTTagCompound nbt1 = new NBTTagCompound();
nbt1.setByte("slot", (byte)i);
slots[i].writeToNBT(nbt1);
list.appendTag(nbt1);
}
}
nbt.setTag("items", list);
}
public boolean isReady() {
if(slots[0] != null && slots[1] != null && slots[2] != null && slots[3] != null && slots[4] != null && slots[5] != null && slots[6] != null && slots[7] != null && slots[8] != null && slots[9] != null && slots[10] != null)
if(slots[0].getItem() == ModItems.fleija_igniter &&
slots[1].getItem() == ModItems.fleija_igniter &&
slots[2].getItem() == ModItems.fleija_propellant &&
slots[3].getItem() == ModItems.fleija_propellant &&
slots[4].getItem() == ModItems.fleija_propellant &&
slots[5].getItem() == ModItems.fleija_core &&
slots[6].getItem() == ModItems.fleija_core &&
slots[7].getItem() == ModItems.fleija_core &&
slots[8].getItem() == ModItems.fleija_core &&
slots[9].getItem() == ModItems.fleija_core &&
slots[10].getItem() == ModItems.fleija_core)
{
return true;
}
return false;
}
public void clearSlots() {
for(int i = 0; i < slots.length; i++)
{
slots[i] = null;
}
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}

View File

@ -75,6 +75,14 @@ public abstract class TileEntityTurretBase extends TileEntity {
if(rotationPitch > 30)
rotationPitch = 30;
if(this instanceof TileEntityTurretCheapo) {
if(rotationPitch < -30)
rotationPitch = -30;
if(rotationPitch > 15)
rotationPitch = 15;
}
if(worldObj.getBlock(xCoord, yCoord, zCoord) instanceof TurretBase && ammo > 0) {
if(((TurretBase)worldObj.getBlock(xCoord, yCoord, zCoord)).executeHoldAction(worldObj, use, rotationYaw, rotationPitch, xCoord, yCoord, zCoord))
ammo--;

View File

@ -47,6 +47,9 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
@Override
public void updateEntity() {
if(this.yCoord < MainRegistry.radarAltitude)
return;
if(!worldObj.isRemote)
nearbyMissiles.clear();
@ -80,7 +83,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
nearbyMissiles.add(new int[] { (int)mis.posX, (int)mis.posZ, mis.getMissileType() });
}*/
if(e instanceof EntityRocketHoming && e.posY >= yCoord + MainRegistry.radarBuffer) {
/*if(e instanceof EntityRocketHoming && e.posY >= yCoord + MainRegistry.radarBuffer) {
EntityRocketHoming rocket = (EntityRocketHoming)e;
if(rocket.getIsCritical())
@ -89,7 +92,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer {
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 6, (int)e.posY });
continue;
}
}*/
if(!(e instanceof EntityMissileBaseAdvanced) && e.width * e.width * e.height >= 0.5D && e.posY >= yCoord + MainRegistry.radarBuffer) {
nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 5, (int)e.posY });