Vent redstone option, added landmines and defuser

This commit is contained in:
HbmMods 2018-08-20 18:18:34 +02:00
parent 06baf70c30
commit 7c48197eb8
24 changed files with 962 additions and 9 deletions

View File

@ -249,6 +249,11 @@ item.turret_control.name=Geschützsteuerung
item.turret_chip.name=Geschütz-KI-Chip item.turret_chip.name=Geschütz-KI-Chip
item.turret_biometry.name=Geschütz-Telemetriekarte item.turret_biometry.name=Geschütz-Telemetriekarte
tile.mine_ap.name=Antipersonenmine
tile.mine_he.name=Antipanzermine
tile.mine_shrap.name=Schrapnellmine
item.defuser.name=High-Tech Bombenentschärfungsgerät
tile.bomb_multi.name=Mehrzweckbombe tile.bomb_multi.name=Mehrzweckbombe
tile.rejuvinator.name=Regenerationsmaschine tile.rejuvinator.name=Regenerationsmaschine

View File

@ -261,6 +261,11 @@ item.turret_control.name=Turret Controller
item.turret_chip.name=Turret AI-Chip item.turret_chip.name=Turret AI-Chip
item.turret_biometry.name=Turret Telemetry Card item.turret_biometry.name=Turret Telemetry Card
tile.mine_ap.name=Anti-Personell Mine
tile.mine_he.name=Anti-Tank Mine
tile.mine_shrap.name=Shrapnel Mine
item.defuser.name=High-Tech Bomb Defusing Device
tile.crate.name=Supply Crate tile.crate.name=Supply Crate
tile.crate_weapon.name=Weapon Crate tile.crate_weapon.name=Weapon Crate
tile.crate_lead.name=Hazmat Crate tile.crate_lead.name=Hazmat Crate

View File

@ -0,0 +1,209 @@
# Blender v2.76 (sub 0) OBJ File: 'mine_ap.blend'
# www.blender.org
o Sphere
v -0.023918 0.081742 0.000000
v -0.044194 0.068194 0.000000
v -0.057743 0.047918 0.000000
v -0.062500 0.024000 0.000000
v -0.057743 0.000082 0.000000
v -0.016913 0.081742 -0.016912
v -0.031250 0.068194 -0.031250
v -0.040830 0.047918 -0.040830
v -0.044194 0.024000 -0.044194
v -0.040830 0.000082 -0.040830
v -0.000000 0.081742 -0.023918
v -0.000000 0.068194 -0.044194
v -0.000000 0.047918 -0.057742
v -0.000000 0.024000 -0.062500
v -0.000000 0.000082 -0.057742
v -0.000000 0.086500 0.000000
v 0.016912 0.081742 -0.016912
v 0.031250 0.068194 -0.031250
v 0.040830 0.047918 -0.040830
v 0.044194 0.024000 -0.044194
v 0.040830 0.000082 -0.040830
v 0.023918 0.081742 0.000000
v 0.044194 0.068194 0.000000
v 0.057742 0.047918 0.000000
v 0.062500 0.024000 0.000000
v 0.057742 0.000082 0.000000
v 0.016912 0.081742 0.016912
v 0.031250 0.068194 0.031250
v 0.040830 0.047918 0.040830
v 0.044194 0.024000 0.044194
v 0.040830 0.000082 0.040830
v -0.000000 0.081742 0.023918
v -0.000000 0.068194 0.044194
v -0.000000 0.047918 0.057742
v -0.000000 0.024000 0.062500
v -0.000000 0.000082 0.057742
v -0.016913 0.081742 0.016912
v -0.031250 0.068194 0.031250
v -0.040830 0.047918 0.040830
v -0.044194 0.024000 0.044194
v -0.040830 0.000082 0.040830
v -0.061524 0.148194 -0.061523
v 0.061523 0.148194 -0.061523
v 0.061523 0.148194 0.061523
v -0.061524 0.148194 0.061523
v -0.005980 0.081742 0.000000
v -0.000000 0.081742 -0.005979
v -0.000000 0.111500 0.000000
v 0.005979 0.081742 0.000000
v -0.000000 0.081742 0.005979
v -0.000000 0.086500 0.000000
vt 0.713388 0.422365
vt 0.372492 0.422365
vt 0.358449 0.234785
vt 0.613541 0.784500
vt 0.472338 0.784500
vt 0.412485 0.606170
vt 0.727431 0.234785
vt 0.372492 0.047204
vt 0.673395 0.606170
vt 0.713387 0.047204
vt 0.542940 0.958853
vt 0.074879 0.038923
vt 0.262088 0.020580
vt 0.262088 0.720477
vt 0.839131 0.569078
vt 0.877120 0.614143
vt 0.839131 0.803203
vt 0.837838 0.803203
vt 0.799848 0.614143
vt 0.837838 0.569078
vt 0.878413 0.569078
vt 0.916403 0.614143
vt 0.878413 0.803204
vt 0.917696 0.614143
vt 0.955685 0.569078
vt 0.955685 0.803203
vn -0.908700 0.180700 -0.376400
vn -0.541400 0.810300 -0.224300
vn -0.908700 -0.180700 -0.376400
vn -0.786200 0.525300 -0.325600
vn -0.376400 0.180700 -0.908700
vn -0.224300 0.810300 -0.541400
vn -0.376400 -0.180700 -0.908700
vn -0.325600 0.525300 -0.786200
vn 0.376400 -0.180700 -0.908700
vn 0.325600 0.525300 -0.786200
vn 0.376400 0.180700 -0.908700
vn 0.224300 0.810300 -0.541400
vn 0.786200 0.525300 -0.325600
vn 0.908700 0.180700 -0.376400
vn 0.541400 0.810300 -0.224300
vn 0.908700 -0.180700 -0.376400
vn 0.908700 0.180700 0.376400
vn 0.541400 0.810300 0.224300
vn 0.908700 -0.180700 0.376400
vn 0.786200 0.525300 0.325600
vn 0.224300 0.810300 0.541400
vn 0.376400 -0.180700 0.908700
vn 0.325600 0.525300 0.786200
vn 0.376400 0.180700 0.908700
vn -0.376400 -0.180700 0.908700
vn -0.325600 0.525300 0.786200
vn -0.376400 0.180700 0.908700
vn -0.224300 0.810300 0.541400
vn -0.194500 0.977600 -0.080500
vn -0.080500 0.977600 -0.194500
vn 0.080500 0.977600 -0.194500
vn 0.194500 0.977600 -0.080500
vn 0.194500 0.977600 0.080500
vn 0.080500 0.977600 0.194500
vn -0.080500 0.977600 0.194500
vn -0.194500 0.977600 0.080500
vn -0.908700 0.180700 0.376400
vn -0.541400 0.810300 0.224300
vn -0.908700 -0.180700 0.376400
vn -0.786200 0.525300 0.325600
vn -0.707100 0.000000 0.707100
vn 0.707100 0.000000 0.707100
vn 0.707100 0.000000 -0.707100
vn -0.707100 0.000000 -0.707100
vn -1.000000 0.000000 -0.000000
vn 0.000000 0.000000 1.000000
vn 1.000000 0.000000 -0.000000
vn 0.000000 0.000000 -1.000000
s off
f 3/1/1 8/2/1 9/3/1
f 1/4/2 6/5/2 7/6/2
f 4/7/3 9/3/3 10/8/3
f 2/9/4 7/6/4 8/2/4
f 8/1/5 13/2/5 14/3/5
f 6/4/6 11/5/6 12/6/6
f 9/7/7 14/3/7 15/8/7
f 7/9/8 12/6/8 13/2/8
f 14/7/9 20/3/9 21/8/9
f 12/9/10 18/6/10 19/2/10
f 13/1/11 19/2/11 20/3/11
f 11/4/12 17/5/12 18/6/12
f 18/9/13 23/6/13 24/2/13
f 19/1/14 24/2/14 25/3/14
f 17/4/15 22/5/15 23/6/15
f 20/7/16 25/3/16 26/8/16
f 25/7/17 24/1/17 29/2/17
f 23/9/18 22/4/18 27/5/18
f 25/7/19 30/3/19 31/8/19
f 23/9/20 28/6/20 29/2/20
f 28/9/21 27/4/21 32/5/21
f 31/10/22 30/7/22 35/3/22
f 29/1/23 28/9/23 33/6/23
f 29/1/24 34/2/24 35/3/24
f 35/7/25 40/3/25 41/8/25
f 33/9/26 38/6/26 39/2/26
f 35/7/27 34/1/27 39/2/27
f 32/4/28 37/5/28 38/6/28
f 1/4/29 16/11/29 6/5/29
f 6/4/30 16/11/30 11/5/30
f 11/4/31 16/11/31 17/5/31
f 17/4/32 16/11/32 22/5/32
f 22/4/33 16/11/33 27/5/33
f 27/4/34 16/11/34 32/5/34
f 32/4/35 16/11/35 37/5/35
f 37/4/36 16/11/36 1/5/36
f 39/1/37 3/2/37 4/3/37
f 37/4/38 1/5/38 2/6/38
f 40/7/39 4/3/39 5/8/39
f 39/1/40 38/9/40 2/6/40
f 27/12/41 28/13/41 44/14/41
f 17/12/42 18/13/42 43/14/42
f 6/12/43 7/13/43 42/14/43
f 37/12/44 38/13/44 45/14/44
f 47/15/45 51/16/45 48/17/45
f 48/18/46 51/19/46 49/20/46
f 50/21/47 51/22/47 48/23/47
f 51/24/48 46/25/48 48/26/48
f 4/7/1 3/1/1 9/3/1
f 2/9/2 1/4/2 7/6/2
f 5/10/3 4/7/3 10/8/3
f 3/1/4 2/9/4 8/2/4
f 9/7/5 8/1/5 14/3/5
f 7/9/6 6/4/6 12/6/6
f 10/10/7 9/7/7 15/8/7
f 8/1/8 7/9/8 13/2/8
f 15/10/9 14/7/9 21/8/9
f 13/1/10 12/9/10 19/2/10
f 14/7/11 13/1/11 20/3/11
f 12/9/12 11/4/12 18/6/12
f 19/1/13 18/9/13 24/2/13
f 20/7/14 19/1/14 25/3/14
f 18/9/15 17/4/15 23/6/15
f 21/10/16 20/7/16 26/8/16
f 30/3/17 25/7/17 29/2/17
f 28/6/18 23/9/18 27/5/18
f 26/10/19 25/7/19 31/8/19
f 24/1/20 23/9/20 29/2/20
f 33/6/21 28/9/21 32/5/21
f 36/8/22 31/10/22 35/3/22
f 34/2/23 29/1/23 33/6/23
f 30/7/24 29/1/24 35/3/24
f 36/10/25 35/7/25 41/8/25
f 34/1/26 33/9/26 39/2/26
f 40/3/27 35/7/27 39/2/27
f 33/9/28 32/4/28 38/6/28
f 40/7/37 39/1/37 4/3/37
f 38/9/38 37/4/38 2/6/38
f 41/10/39 40/7/39 5/8/39
f 3/2/40 39/1/40 2/6/40

View File

@ -0,0 +1,376 @@
# Blender v2.76 (sub 0) OBJ File: 'mine_he.blend'
# www.blender.org
o Cylinder
v 0.000000 0.000000 -0.250000
v 0.000000 0.125000 -0.250000
v 0.125000 0.000000 -0.216506
v 0.125000 0.125000 -0.216506
v 0.216506 0.000000 -0.125000
v 0.216506 0.125000 -0.125000
v 0.250000 0.000000 0.000000
v 0.250000 0.125000 0.000000
v 0.216506 0.000000 0.125000
v 0.216506 0.125000 0.125000
v 0.125000 0.000000 0.216506
v 0.125000 0.125000 0.216506
v 0.000000 0.000000 0.250000
v 0.000000 0.125000 0.250000
v -0.125000 0.000000 0.216506
v -0.125000 0.125000 0.216506
v -0.216506 0.000000 0.125000
v -0.216506 0.125000 0.125000
v -0.250000 0.000000 0.000000
v -0.250000 0.125000 0.000000
v -0.216506 0.000000 -0.125000
v -0.216506 0.125000 -0.125000
v -0.125000 0.000000 -0.216506
v -0.125000 0.125000 -0.216506
v 0.100000 0.125000 -0.173205
v -0.000000 0.125000 -0.200000
v 0.173205 0.125000 -0.100000
v 0.200000 0.125000 0.000000
v 0.173205 0.125000 0.100000
v 0.100000 0.125000 0.173205
v 0.000000 0.125000 0.200000
v -0.100000 0.125000 0.173205
v -0.173205 0.125000 0.100000
v -0.200000 0.125000 0.000000
v -0.173205 0.125000 -0.100000
v -0.100000 0.125000 -0.173205
v 0.100000 0.110000 -0.173205
v -0.000000 0.110000 -0.200000
v 0.173205 0.110000 -0.100000
v 0.200000 0.110000 0.000000
v 0.173205 0.110000 0.100000
v 0.100000 0.110000 0.173205
v 0.000000 0.110000 0.200000
v -0.100000 0.110000 0.173205
v -0.173205 0.110000 0.100000
v -0.200000 0.110000 0.000000
v -0.173205 0.110000 -0.100000
v -0.100000 0.110000 -0.173205
v 0.070000 0.110000 -0.121244
v -0.000000 0.110000 -0.140000
v 0.121244 0.110000 -0.070000
v 0.140000 0.110000 0.000000
v 0.121244 0.110000 0.070000
v 0.070000 0.110000 0.121244
v 0.000000 0.110000 0.140000
v -0.070000 0.110000 0.121244
v -0.121244 0.110000 0.070000
v -0.140000 0.110000 0.000000
v -0.121244 0.110000 -0.070000
v -0.070000 0.110000 -0.121244
v 0.070000 0.125000 -0.121244
v -0.000000 0.125000 -0.140000
v 0.121244 0.125000 -0.070000
v 0.140000 0.125000 0.000000
v 0.121244 0.125000 0.070000
v 0.070000 0.125000 0.121244
v 0.000000 0.125000 0.140000
v -0.070000 0.125000 0.121244
v -0.121244 0.125000 0.070000
v -0.140000 0.125000 0.000000
v -0.121244 0.125000 -0.070000
v -0.070000 0.125000 -0.121244
v 0.035000 0.125000 -0.060622
v -0.000000 0.125000 -0.070000
v 0.060622 0.125000 -0.035000
v 0.070000 0.125000 0.000000
v 0.060622 0.125000 0.035000
v 0.035000 0.125000 0.060622
v 0.000000 0.125000 0.070000
v -0.035000 0.125000 0.060622
v -0.060622 0.125000 0.035000
v -0.070000 0.125000 0.000000
v -0.060622 0.125000 -0.035000
v -0.035000 0.125000 -0.060622
v 0.021000 0.150000 -0.036373
v -0.000000 0.150000 -0.042000
v 0.036373 0.150000 -0.021000
v 0.042000 0.150000 0.000000
v 0.036373 0.150000 0.021000
v 0.021000 0.150000 0.036373
v 0.000000 0.150000 0.042000
v -0.021000 0.150000 0.036373
v -0.036373 0.150000 0.021000
v -0.042000 0.150000 0.000000
v -0.036373 0.150000 -0.021000
v -0.021000 0.150000 -0.036373
vt 0.960752 0.210383
vt 0.779713 0.210383
vt 0.779713 0.035513
vt 0.942646 0.277949
vt 0.694075 0.517821
vt 0.018428 0.336781
vt 0.265732 0.089478
vt 0.942648 0.298932
vt 0.797817 0.298932
vt 0.797814 0.277947
vt 0.920923 0.380009
vt 0.819542 0.380009
vt 0.920923 0.400994
vt 0.819542 0.400994
vt 0.895578 0.495584
vt 0.844887 0.495584
vt 0.762072 0.729031
vt 0.791336 0.772633
vt 0.769830 0.794139
vt 0.761958 0.823517
vt 0.879471 0.823517
vt 0.850093 0.874402
vt 0.915201 0.764875
vt 0.871599 0.794139
vt 0.850093 0.772633
vt 0.879357 0.918004
vt 0.871599 0.852895
vt 0.709566 0.819974
vt 0.722685 0.771011
vt 0.873221 0.725488
vt 0.820715 0.764761
vt 0.931864 0.827060
vt 0.918744 0.876024
vt 0.709566 0.827060
vt 0.769830 0.852895
vt 0.768208 0.921547
vt 0.791336 0.874402
vt 0.820715 0.882274
vt 0.817172 0.712368
vt 0.918744 0.771011
vt 0.931864 0.819974
vt 0.762072 0.918004
vt 0.726228 0.882160
vt 0.824257 0.934666
vt 0.960752 0.035512
vt 0.446771 0.089478
vt 0.603555 0.179997
vt 0.694075 0.336782
vt 0.603555 0.674605
vt 0.446771 0.765124
vt 0.265732 0.765124
vt 0.108948 0.674605
vt 0.018428 0.517820
vt 0.108948 0.179997
vt 0.726228 0.764875
vt 0.879357 0.729031
vt 0.915201 0.882160
vt 0.824257 0.712368
vt 0.722685 0.876024
vt 0.817172 0.934666
vt 0.768208 0.725488
vt 0.873221 0.921547
vn 0.258800 0.000000 -0.965900
vn 0.707100 0.000000 -0.707100
vn 0.965900 0.000000 -0.258800
vn 0.965900 0.000000 0.258800
vn 0.707100 0.000000 0.707100
vn 0.258800 0.000000 0.965900
vn -0.258800 0.000000 0.965900
vn -0.707100 0.000000 0.707100
vn -0.965900 0.000000 0.258800
vn -0.965900 0.000000 -0.258800
vn 0.000000 1.000000 0.000000
vn -0.258800 0.000000 -0.965900
vn -0.707100 0.000000 -0.707100
vn 0.000000 -1.000000 0.000000
vn -0.655700 0.734300 0.175700
vn 0.175700 0.734300 0.655700
vn 0.655700 0.734300 -0.175700
vn -0.655700 0.734300 -0.175700
vn -0.175700 0.734300 0.655700
vn 0.655700 0.734300 0.175700
vn -0.480000 0.734300 -0.480000
vn 0.175700 0.734300 -0.655700
vn -0.480000 0.734300 0.480000
vn 0.480000 0.734300 0.480000
vn -0.175700 0.734300 -0.655700
vn 0.480000 0.734300 -0.480000
s off
f 2/1/1 4/2/1 3/3/1
f 4/1/2 6/2/2 5/3/2
f 6/1/3 8/2/3 7/3/3
f 8/1/4 10/2/4 9/3/4
f 10/1/5 12/2/5 11/3/5
f 12/1/6 14/2/6 13/3/6
f 14/1/7 16/2/7 15/3/7
f 16/1/8 18/2/8 17/3/8
f 18/1/9 20/2/9 19/3/9
f 20/1/10 22/2/10 21/3/10
f 10/2/11 8/1/11 28/4/11
f 24/1/12 2/2/12 1/3/12
f 22/1/13 24/2/13 23/3/13
f 7/5/14 19/6/14 23/7/14
f 27/4/9 39/8/9 40/9/9
f 24/1/11 36/4/11 26/10/11
f 2/1/11 26/4/11 25/10/11
f 8/2/11 6/1/11 27/4/11
f 22/1/11 35/4/11 36/10/11
f 4/1/11 25/4/11 27/10/11
f 20/1/11 34/4/11 35/10/11
f 18/1/11 33/4/11 34/10/11
f 16/1/11 32/4/11 33/10/11
f 14/1/11 31/4/11 32/10/11
f 14/2/11 12/1/11 30/4/11
f 12/2/11 10/1/11 29/4/11
f 39/8/11 51/11/11 52/12/11
f 34/4/4 46/8/4 47/9/4
f 31/4/1 43/8/1 44/9/1
f 28/4/10 40/8/10 41/9/10
f 35/4/5 47/8/5 48/9/5
f 26/4/7 38/8/7 37/9/7
f 32/4/2 44/8/2 45/9/2
f 29/4/13 41/8/13 42/9/13
f 36/4/6 48/8/6 38/9/6
f 25/4/8 37/8/8 39/9/8
f 33/4/3 45/8/3 46/9/3
f 30/4/12 42/8/12 43/9/12
f 54/11/6 66/13/6 67/14/6
f 46/8/11 58/11/11 59/12/11
f 43/8/11 55/11/11 56/12/11
f 40/8/11 52/11/11 53/12/11
f 47/8/11 59/11/11 60/12/11
f 37/9/11 38/8/11 50/11/11
f 44/8/11 56/11/11 57/12/11
f 42/9/11 41/8/11 53/11/11
f 38/9/11 48/8/11 60/11/11
f 37/8/11 49/11/11 51/12/11
f 45/8/11 57/11/11 58/12/11
f 42/8/11 54/11/11 55/12/11
f 66/13/11 78/15/11 79/16/11
f 51/11/3 63/13/3 64/14/3
f 58/11/10 70/13/10 71/14/10
f 55/11/7 67/13/7 68/14/7
f 52/11/4 64/13/4 65/14/4
f 59/11/13 71/13/13 72/14/13
f 50/11/1 62/13/1 61/14/1
f 56/11/8 68/13/8 69/14/8
f 53/11/5 65/13/5 66/14/5
f 60/11/12 72/13/12 62/14/12
f 49/11/2 61/13/2 63/14/2
f 57/11/9 69/13/9 70/14/9
f 81/17/15 93/18/15 94/19/15
f 63/13/11 75/15/11 76/16/11
f 70/13/11 82/15/11 83/16/11
f 67/13/11 79/15/11 80/16/11
f 64/13/11 76/15/11 77/16/11
f 71/13/11 83/15/11 84/16/11
f 62/13/11 74/15/11 73/16/11
f 68/13/11 80/15/11 81/16/11
f 66/14/11 65/13/11 77/15/11
f 62/14/11 72/13/11 84/15/11
f 61/13/11 73/15/11 75/16/11
f 69/13/11 81/15/11 82/16/11
f 95/20/11 89/21/11 87/22/11
f 78/23/16 90/24/16 91/25/16
f 75/26/17 87/22/17 88/27/17
f 83/28/18 82/29/18 94/19/18
f 79/30/19 91/25/19 92/31/19
f 77/32/20 76/33/20 88/27/20
f 83/34/21 95/20/21 96/35/21
f 74/36/22 86/37/22 85/38/22
f 80/39/23 92/31/23 93/18/23
f 78/40/24 77/41/24 89/21/24
f 74/42/25 84/43/25 96/35/25
f 73/44/26 85/38/26 87/22/26
f 1/45/1 2/1/1 3/3/1
f 3/45/2 4/1/2 5/3/2
f 5/45/3 6/1/3 7/3/3
f 7/45/4 8/1/4 9/3/4
f 9/45/5 10/1/5 11/3/5
f 11/45/6 12/1/6 13/3/6
f 13/45/7 14/1/7 15/3/7
f 15/45/8 16/1/8 17/3/8
f 17/45/9 18/1/9 19/3/9
f 19/45/10 20/1/10 21/3/10
f 29/10/11 10/2/11 28/4/11
f 23/45/12 24/1/12 1/3/12
f 21/45/13 22/1/13 23/3/13
f 23/7/14 1/46/14 3/47/14
f 3/47/14 5/48/14 7/5/14
f 7/5/14 9/49/14 11/50/14
f 11/50/14 13/51/14 15/52/14
f 15/52/14 17/53/14 19/6/14
f 19/6/14 21/54/14 23/7/14
f 23/7/14 3/47/14 7/5/14
f 7/5/14 11/50/14 15/52/14
f 15/52/14 19/6/14 7/5/14
f 28/10/9 27/4/9 40/9/9
f 2/2/11 24/1/11 26/10/11
f 4/2/11 2/1/11 25/10/11
f 28/10/11 8/2/11 27/4/11
f 24/2/11 22/1/11 36/10/11
f 6/2/11 4/1/11 27/10/11
f 22/2/11 20/1/11 35/10/11
f 20/2/11 18/1/11 34/10/11
f 18/2/11 16/1/11 33/10/11
f 16/2/11 14/1/11 32/10/11
f 31/10/11 14/2/11 30/4/11
f 30/10/11 12/2/11 29/4/11
f 40/9/11 39/8/11 52/12/11
f 35/10/4 34/4/4 47/9/4
f 32/10/1 31/4/1 44/9/1
f 29/10/10 28/4/10 41/9/10
f 36/10/5 35/4/5 48/9/5
f 25/10/7 26/4/7 37/9/7
f 33/10/2 32/4/2 45/9/2
f 30/10/13 29/4/13 42/9/13
f 26/10/6 36/4/6 38/9/6
f 27/10/8 25/4/8 39/9/8
f 34/10/3 33/4/3 46/9/3
f 31/10/12 30/4/12 43/9/12
f 55/12/6 54/11/6 67/14/6
f 47/9/11 46/8/11 59/12/11
f 44/9/11 43/8/11 56/12/11
f 41/9/11 40/8/11 53/12/11
f 48/9/11 47/8/11 60/12/11
f 49/12/11 37/9/11 50/11/11
f 45/9/11 44/8/11 57/12/11
f 54/12/11 42/9/11 53/11/11
f 50/12/11 38/9/11 60/11/11
f 39/9/11 37/8/11 51/12/11
f 46/9/11 45/8/11 58/12/11
f 43/9/11 42/8/11 55/12/11
f 67/14/11 66/13/11 79/16/11
f 52/12/3 51/11/3 64/14/3
f 59/12/10 58/11/10 71/14/10
f 56/12/7 55/11/7 68/14/7
f 53/12/4 52/11/4 65/14/4
f 60/12/13 59/11/13 72/14/13
f 49/12/1 50/11/1 61/14/1
f 57/12/8 56/11/8 69/14/8
f 54/12/5 53/11/5 66/14/5
f 50/12/12 60/11/12 62/14/12
f 51/12/2 49/11/2 63/14/2
f 58/12/9 57/11/9 70/14/9
f 82/55/15 81/17/15 94/19/15
f 64/14/11 63/13/11 76/16/11
f 71/14/11 70/13/11 83/16/11
f 68/14/11 67/13/11 80/16/11
f 65/14/11 64/13/11 77/16/11
f 72/14/11 71/13/11 84/16/11
f 61/14/11 62/13/11 73/16/11
f 69/14/11 68/13/11 81/16/11
f 78/16/11 66/14/11 77/15/11
f 74/16/11 62/14/11 84/15/11
f 63/14/11 61/13/11 75/16/11
f 70/14/11 69/13/11 82/16/11
f 87/22/11 85/38/11 95/20/11
f 86/37/11 96/35/11 95/20/11
f 95/20/11 94/19/11 93/18/11
f 93/18/11 92/31/11 95/20/11
f 91/25/11 90/24/11 89/21/11
f 89/21/11 88/27/11 87/22/11
f 85/38/11 86/37/11 95/20/11
f 95/20/11 92/31/11 91/25/11
f 91/25/11 89/21/11 95/20/11
f 79/56/16 78/23/16 91/25/16
f 76/57/17 75/26/17 88/27/17
f 95/20/18 83/28/18 94/19/18
f 80/58/19 79/30/19 92/31/19
f 89/21/20 77/32/20 88/27/20
f 84/59/21 83/34/21 96/35/21
f 73/60/22 74/36/22 85/38/22
f 81/61/23 80/39/23 93/18/23
f 90/24/24 78/40/24 89/21/24
f 86/37/25 74/42/25 96/35/25
f 75/62/26 73/44/26 87/22/26

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 842 B

View File

@ -180,6 +180,9 @@ public class ModBlocks {
public static Block yellow_barrel; public static Block yellow_barrel;
public static Block crashed_balefire; public static Block crashed_balefire;
public static Block rejuvinator; public static Block rejuvinator;
public static Block mine_ap;
public static Block mine_he;
public static Block mine_shrap;
public static Block crate; public static Block crate;
public static Block crate_weapon; public static Block crate_weapon;
@ -712,7 +715,10 @@ public class ModBlocks {
red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F); red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F);
yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F); yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F);
crashed_balefire = new BlockCrashedBomb(Material.iron).setBlockName("crashed_bomb").setCreativeTab(MainRegistry.nukeTab).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":crashed_balefire"); crashed_balefire = new BlockCrashedBomb(Material.iron).setBlockName("crashed_bomb").setCreativeTab(MainRegistry.nukeTab).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":crashed_balefire");
rejuvinator = new BombRejuvinator(Material.iron).setBlockName("rejuvinator").setCreativeTab(MainRegistry.nukeTab).setBlockUnbreakable().setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":inserter_side"); rejuvinator = new BombRejuvinator(Material.iron).setBlockName("rejuvinator").setCreativeTab(MainRegistry.nukeTab).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":inserter_side");
mine_ap = new Landmine(Material.iron).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap");
mine_he = new Landmine(Material.iron).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he");
mine_shrap = new Landmine(Material.iron).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap");
machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F);
@ -1130,6 +1136,11 @@ public class ModBlocks {
GameRegistry.registerBlock(turret_cwis, turret_cwis.getUnlocalizedName()); GameRegistry.registerBlock(turret_cwis, turret_cwis.getUnlocalizedName());
GameRegistry.registerBlock(turret_cheapo, turret_cheapo.getUnlocalizedName()); GameRegistry.registerBlock(turret_cheapo, turret_cheapo.getUnlocalizedName());
//Mines
GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName());
GameRegistry.registerBlock(mine_he, mine_he.getUnlocalizedName());
GameRegistry.registerBlock(mine_shrap, mine_shrap.getUnlocalizedName());
//Wot //Wot
GameRegistry.registerBlock(cel_prime, cel_prime.getUnlocalizedName()); GameRegistry.registerBlock(cel_prime, cel_prime.getUnlocalizedName());
GameRegistry.registerBlock(cel_prime_terminal, cel_prime_terminal.getUnlocalizedName()); GameRegistry.registerBlock(cel_prime_terminal, cel_prime_terminal.getUnlocalizedName());

View File

@ -0,0 +1,173 @@
package com.hbm.blocks.bomb;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.explosion.ExplosionChaos;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.interfaces.IBomb;
import com.hbm.items.ModItems;
import com.hbm.tileentity.bomb.TileEntityLandmine;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.BlockFence;
import net.minecraft.block.material.Material;
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.tileentity.TileEntityDispenser;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class Landmine extends BlockContainer implements IBomb {
public static boolean safeMode = false;
public Landmine(Material p_i45386_1_) {
super(p_i45386_1_);
}
@Override
public TileEntity createNewTileEntity(World world, int i) {
return new TileEntityLandmine();
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public Item getItemDropped(int i, Random rand, int j) {
return null;
}
@Override
public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_,
int p_149719_4_) {
float f = 0.0625F;
if (this == ModBlocks.mine_ap)
this.setBlockBounds(6 * f, 0.0F, 6 * f, 10 * f, 4 * f, 10 * f);
if (this == ModBlocks.mine_he)
this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f);
if (this == ModBlocks.mine_shrap)
this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f);
}
@Override
public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
float f = 0.0625F;
if (this == ModBlocks.mine_ap)
this.setBlockBounds(6 * f, 0.0F, 6 * f, 10 * f, 4 * f, 10 * f);
if (this == ModBlocks.mine_he)
this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f);
if (this == ModBlocks.mine_shrap)
this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f);
return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY,
z + this.maxZ);
}
public boolean canPlaceBlockAt(World world, int x, int y, int z) {
return World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)
|| BlockFence.func_149825_a(world.getBlock(x, y - 1, z));
}
public void onNeighborBlockChange(World world, int x, int y, int z,
Block block) {
if (world.isBlockIndirectlyGettingPowered(x, y, z))
{
explode(world, x, y, z);
}
boolean flag = false;
if (!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)
&& !BlockFence.func_149825_a(world.getBlock(x, y - 1, z))) {
flag = true;
}
if (flag) {
this.dropBlockAsItem(world, x, y, z,
world.getBlockMetadata(x, y, z), 0);
world.setBlockToAir(x, y, z);
}
}
public void breakBlock(World world, int x, int y, int z, Block block, int i) {
if (!safeMode) {
explode(world, x, y, z);
}
super.breakBlock(world, x, y, z, block, i);
}
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy,
float fz) {
if (player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.defuser) {
safeMode = true;
world.setBlockToAir(x, y, z);
ItemStack itemstack = new ItemStack(this, 1);
float f = world.rand.nextFloat() * 0.6F + 0.2F;
float f1 = world.rand.nextFloat() * 0.2F;
float f2 = world.rand.nextFloat() * 0.6F + 0.2F;
EntityItem entityitem = new EntityItem(world, x + f, y + f1 + 1, z + f2, itemstack);
float f3 = 0.05F;
entityitem.motionX = (float) world.rand.nextGaussian() * f3;
entityitem.motionY = (float) world.rand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float) world.rand.nextGaussian() * f3;
if(!world.isRemote)
world.spawnEntityInWorld(entityitem);
safeMode = false;
return true;
}
return false;
}
@Override
public void explode(World world, int x, int y, int z) {
if(!world.isRemote) {
Landmine.safeMode = true;
world.func_147480_a(x, y, z, false);
Landmine.safeMode = false;
if (this == ModBlocks.mine_ap) {
world.newExplosion(null, x + 0.5, y + 0.5, z + 0.5, 2.5F, false, false);
}
if (this == ModBlocks.mine_he) {
ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 10F, true, false, false);
}
if (this == ModBlocks.mine_shrap) {
ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 1, true, false, false);
ExplosionLarge.spawnShrapnelShower(world, x + 0.5, y + 0.5, z + 0.5, 0, 1D, 0, 45, 0.2D);
ExplosionLarge.spawnShrapnels(world, x + 0.5, y + 0.5, z + 0.5, 5);
}
}
}
}

View File

@ -1,5 +1,7 @@
package com.hbm.blocks.generic; package com.hbm.blocks.generic;
import java.util.Random;
import com.hbm.lib.RefStrings; import com.hbm.lib.RefStrings;
import com.hbm.tileentity.deco.TileEntityVent; import com.hbm.tileentity.deco.TileEntityVent;
@ -8,6 +10,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -39,4 +42,10 @@ public class BlockVent extends BlockContainer {
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
} }
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
} }

View File

@ -833,6 +833,8 @@ public class ModItems {
public static Item med_ptsd; public static Item med_ptsd;
public static Item med_schizophrenia; public static Item med_schizophrenia;
public static Item defuser;
public static Item flame_pony; public static Item flame_pony;
public static Item flame_conspiracy; public static Item flame_conspiracy;
public static Item flame_politics; public static Item flame_politics;
@ -2048,6 +2050,8 @@ public class ModItems {
med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new"); med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new");
med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new");
defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser");
flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_pony"); flame_pony = new ItemCustomLore().setUnlocalizedName("flame_pony").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_pony");
flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_conspiracy"); flame_conspiracy = new ItemCustomLore().setUnlocalizedName("flame_conspiracy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_conspiracy");
flame_politics = new ItemCustomLore().setUnlocalizedName("flame_politics").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_politics"); flame_politics = new ItemCustomLore().setUnlocalizedName("flame_politics").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flame_politics");
@ -3676,6 +3680,7 @@ public class ModItems {
GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName()); GameRegistry.registerItem(detonator_multi, detonator_multi.getUnlocalizedName());
GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName()); GameRegistry.registerItem(crate_caller, crate_caller.getUnlocalizedName());
GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName()); GameRegistry.registerItem(meteor_remote, meteor_remote.getUnlocalizedName());
GameRegistry.registerItem(defuser, defuser.getUnlocalizedName());
GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName()); GameRegistry.registerItem(hazmat_helmet, hazmat_helmet.getUnlocalizedName());
GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName()); GameRegistry.registerItem(hazmat_plate, hazmat_plate.getUnlocalizedName());
GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName()); GameRegistry.registerItem(hazmat_legs, hazmat_legs.getUnlocalizedName());

View File

@ -349,12 +349,24 @@ public class HbmWorldGen implements IWorldGenerator {
int z = j + rand.nextInt(16); int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z); int y = world.getHeightValue(x, z);
if(world.getBlock(x, y, z).canPlaceTorchOnTop(world, x, y - 1, z)) if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z))
world.setBlock(x, y + 1, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2); world.setBlock(x, y, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2);
if(MainRegistry.enableDebugMode) if(MainRegistry.enableDebugMode)
MainRegistry.logger.info("[Debug] Successfully spawned corrupted broadcaster at " + x + " " + y +" " + z); MainRegistry.logger.info("[Debug] Successfully spawned corrupted broadcaster at " + x + " " + y +" " + z);
} }
if (MainRegistry.enableMines && rand.nextInt(MainRegistry.minefreq) == 0) {
int x = i + rand.nextInt(16);
int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z);
if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z))
world.setBlock(x, y, z, ModBlocks.mine_ap);
if(MainRegistry.enableDebugMode)
MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + y +" " + z);
}
} }
if (rand.nextInt(25) == 0) { if (rand.nextInt(25) == 0) {

View File

@ -71,6 +71,8 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCIWS.class, new RenderCIWSTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCIWS.class, new RenderCIWSTurret());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCheapo.class, new RenderCheapoTurret()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretCheapo.class, new RenderCheapoTurret());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrime.class, new RenderCelPrimeTower()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrime.class, new RenderCelPrimeTower());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrimeTerminal.class, new RenderCelPrimePart()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrimeTerminal.class, new RenderCelPrimePart());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrimeBattery.class, new RenderCelPrimePart()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCelPrimeBattery.class, new RenderCelPrimePart());

View File

@ -1237,6 +1237,10 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_chlorine), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.pellet_gas, 'D', Blocks.dispenser })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_chlorine), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.pellet_gas, 'D', Blocks.dispenser }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_cloud, 'D', Blocks.dispenser })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_cloud, 'D', Blocks.dispenser }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', "plateIron", 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_ap, 4), new Object[] { "C", "P", "T", 'C', ModItems.circuit_targeting_tier2, 'P', "plateIron", 'T', Blocks.tnt }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_he, 1), new Object[] { " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', "plateSteel", 'T', Blocks.tnt }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.mine_shrap, 2), new Object[] { "LLL", " C ", "PTP", 'C', ModItems.circuit_targeting_tier2, 'P', "plateSteel", 'T', ModBlocks.det_cord, 'L', ModItems.pellet_buckshot }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', "ingotPolymer", 'S', "plateSteel" }));
GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.assembly_template, 1, OreDictionary.WILDCARD_VALUE) });
GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) }); GameRegistry.addShapelessRecipe(new ItemStack(Items.paper, 1), new Object[] { new ItemStack(ModItems.chemistry_template, 1, OreDictionary.WILDCARD_VALUE) });

View File

@ -187,6 +187,7 @@ import com.hbm.tileentity.bomb.TileEntityCelPrimePort;
import com.hbm.tileentity.bomb.TileEntityCelPrimeTanks; import com.hbm.tileentity.bomb.TileEntityCelPrimeTanks;
import com.hbm.tileentity.bomb.TileEntityCelPrimeTerminal; import com.hbm.tileentity.bomb.TileEntityCelPrimeTerminal;
import com.hbm.tileentity.bomb.TileEntityCrashedBomb; import com.hbm.tileentity.bomb.TileEntityCrashedBomb;
import com.hbm.tileentity.bomb.TileEntityLandmine;
import com.hbm.tileentity.bomb.TileEntityLaunchPad; import com.hbm.tileentity.bomb.TileEntityLaunchPad;
import com.hbm.tileentity.bomb.TileEntityNukeBoy; import com.hbm.tileentity.bomb.TileEntityNukeBoy;
import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.bomb.TileEntityNukeCustom;
@ -227,6 +228,7 @@ import com.hbm.tileentity.deco.TileEntityRotationTester;
import com.hbm.tileentity.deco.TileEntityTaint; import com.hbm.tileentity.deco.TileEntityTaint;
import com.hbm.tileentity.deco.TileEntityTestContainer; import com.hbm.tileentity.deco.TileEntityTestContainer;
import com.hbm.tileentity.deco.TileEntityTestRender; import com.hbm.tileentity.deco.TileEntityTestRender;
import com.hbm.tileentity.deco.TileEntityVent;
import com.hbm.tileentity.deco.TileEntityYellowBarrel; import com.hbm.tileentity.deco.TileEntityYellowBarrel;
import com.hbm.tileentity.machine.TileEntityAMSBase; import com.hbm.tileentity.machine.TileEntityAMSBase;
import com.hbm.tileentity.machine.TileEntityAMSEmitter; import com.hbm.tileentity.machine.TileEntityAMSEmitter;
@ -336,7 +338,7 @@ public class MainRegistry
//Armor Materials //Armor Materials
public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30); public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30);
public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50); public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50);
public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 2147483647, new int[] {3, 8, 6, 3}, 100); public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 2100000000, new int[] {3, 8, 6, 3}, 100);
public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5);
public static ArmorMaterial enumArmorMaterialT45 = EnumHelper.addArmorMaterial("T45", 1000, new int[] {2, 5, 4, 1}, 0); public static ArmorMaterial enumArmorMaterialT45 = EnumHelper.addArmorMaterial("T45", 1000, new int[] {2, 5, 4, 1}, 0);
public static ArmorMaterial enumArmorMaterialSteel = EnumHelper.addArmorMaterial("STEEL", 20, new int[] {2, 6, 5, 2}, 5); public static ArmorMaterial enumArmorMaterialSteel = EnumHelper.addArmorMaterial("STEEL", 20, new int[] {2, 6, 5, 2}, 5);
@ -431,7 +433,7 @@ public class MainRegistry
public static boolean enablePlutoniumOre = false; public static boolean enablePlutoniumOre = false;
public static boolean enableDungeons = true; public static boolean enableDungeons = true;
public static boolean enableMDOres = true; public static boolean enableMDOres = true;
public static boolean enableBarrels = false; public static boolean enableMines = true;
public static boolean enableNITAN = true; public static boolean enableNITAN = true;
public static boolean enableNukeClouds = true; public static boolean enableNukeClouds = true;
public static boolean enableAutoCleanup = false; public static boolean enableAutoCleanup = false;
@ -481,6 +483,7 @@ public class MainRegistry
public static int dudStructure = 500; public static int dudStructure = 500;
public static int spaceshipStructure = 1000; public static int spaceshipStructure = 1000;
public static int broadcaster = 5000; public static int broadcaster = 5000;
public static int minefreq = 64;
public static int meteorStrikeChance = 20 * 60 * 90; public static int meteorStrikeChance = 20 * 60 * 90;
public static int meteorShowerChance = 20 * 60 * 3; public static int meteorShowerChance = 20 * 60 * 3;
public static int meteorShowerDuration = 6000; public static int meteorShowerDuration = 6000;
@ -666,6 +669,8 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityVaultDoor.class, "tileentity_vault_door"); GameRegistry.registerTileEntity(TileEntityVaultDoor.class, "tileentity_vault_door");
GameRegistry.registerTileEntity(TileEntityRadiobox.class, "tileentity_radio_broadcaster"); GameRegistry.registerTileEntity(TileEntityRadiobox.class, "tileentity_radio_broadcaster");
GameRegistry.registerTileEntity(TileEntityRadioRec.class, "tileentity_radio_receiver"); GameRegistry.registerTileEntity(TileEntityRadioRec.class, "tileentity_radio_receiver");
GameRegistry.registerTileEntity(TileEntityVent.class, "tileentity_vent");
GameRegistry.registerTileEntity(TileEntityLandmine.class, "tileentity_landmine");
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);
@ -1339,7 +1344,7 @@ public class MainRegistry
enablePlutoniumOre = config.get(Configuration.CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false).getBoolean(false); enablePlutoniumOre = config.get(Configuration.CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false).getBoolean(false);
enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.03_enableDungeonSpawn", true).getBoolean(true); enableDungeons = config.get(Configuration.CATEGORY_GENERAL, "1.03_enableDungeonSpawn", true).getBoolean(true);
enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.04_enableOresInModdedDimensions", true).getBoolean(true); enableMDOres = config.get(Configuration.CATEGORY_GENERAL, "1.04_enableOresInModdedDimensions", true).getBoolean(true);
enableBarrels = config.get(Configuration.CATEGORY_GENERAL, "1.05_enableNuclearBarrelSpawn", false).getBoolean(false); enableMines = config.get(Configuration.CATEGORY_GENERAL, "1.05_enableLandmineSpawn", true).getBoolean(true);
enableNITAN = config.get(Configuration.CATEGORY_GENERAL, "1.06_enableNITANChestSpawn", true).getBoolean(true); enableNITAN = config.get(Configuration.CATEGORY_GENERAL, "1.06_enableNITANChestSpawn", true).getBoolean(true);
enableNukeClouds = config.get(Configuration.CATEGORY_GENERAL, "1.07_enableMushroomClouds", true).getBoolean(true); enableNukeClouds = config.get(Configuration.CATEGORY_GENERAL, "1.07_enableMushroomClouds", true).getBoolean(true);
enableAutoCleanup = config.get(Configuration.CATEGORY_GENERAL, "1.08_enableAutomaticRadCleanup", false).getBoolean(false); enableAutoCleanup = config.get(Configuration.CATEGORY_GENERAL, "1.08_enableAutomaticRadCleanup", false).getBoolean(false);
@ -1459,8 +1464,11 @@ public class MainRegistry
propSpaceship.comment = "Spawn spaceship on every nTH chunk"; propSpaceship.comment = "Spawn spaceship on every nTH chunk";
spaceshipStructure = propSpaceship.getInt(); spaceshipStructure = propSpaceship.getInt();
Property propBroadcaster = config.get(Configuration.CATEGORY_GENERAL, "4.12_broadcasterSpawn", 5000); Property propBroadcaster = config.get(Configuration.CATEGORY_GENERAL, "4.12_broadcasterSpawn", 5000);
propBroadcaster.comment = "Spawn spaceship on every nTH chunk"; propBroadcaster.comment = "Spawn corrupt broadcaster on every nTH chunk";
broadcaster = propBroadcaster.getInt(); broadcaster = propBroadcaster.getInt();
Property propMines = config.get(Configuration.CATEGORY_GENERAL, "4.13_landmineSpawn", 64);
propMines.comment = "Spawn AP landmine on every nTH chunk";
minefreq = propMines.getInt();
Property propMeteorStrikeChance = config.get(Configuration.CATEGORY_GENERAL, "5.00_meteorStrikeChance", 50000); Property propMeteorStrikeChance = config.get(Configuration.CATEGORY_GENERAL, "5.00_meteorStrikeChance", 50000);
propMeteorStrikeChance.comment = "The probability of a meteor spawning (an average of once every nTH ticks)"; propMeteorStrikeChance.comment = "The probability of a meteor spawning (an average of once every nTH ticks)";

View File

@ -34,6 +34,10 @@ public class ResourceManager {
public static final IModelCustom turret_cheapo_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_head.obj")); public static final IModelCustom turret_cheapo_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_head.obj"));
public static final IModelCustom turret_cheapo_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_gun.obj")); public static final IModelCustom turret_cheapo_gun = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turret_cheapo_gun.obj"));
//Landmines
public static final IModelCustom mine_ap = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_ap.obj"));
public static final IModelCustom mine_he = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_he.obj"));
//Pumpjack //Pumpjack
public static final IModelCustom pumpjack_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack_base.obj")); public static final IModelCustom pumpjack_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack_base.obj"));
public static final IModelCustom pumpjack_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack_head.obj")); public static final IModelCustom pumpjack_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack_head.obj"));
@ -128,6 +132,11 @@ public class ResourceManager {
public static final ResourceLocation turret_cheapo_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_head.png"); public static final ResourceLocation turret_cheapo_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_head.png");
public static final ResourceLocation turret_cheapo_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_gun.png"); public static final ResourceLocation turret_cheapo_gun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turret_cheapo_gun.png");
//Landmines
public static final ResourceLocation mine_ap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_ap.png");
public static final ResourceLocation mine_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_he.png");
public static final ResourceLocation mine_shrap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_shrap.png");
//Pumpjack //Pumpjack
public static final ResourceLocation pumpjack_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_base.png"); public static final ResourceLocation pumpjack_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_base.png");
public static final ResourceLocation pumpjack_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_head.png"); public static final ResourceLocation pumpjack_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack_head.png");

View File

@ -0,0 +1,42 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderLandmine extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f)
{
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F);
Block block = tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord);
if(block == ModBlocks.mine_ap) {
GL11.glScaled(1.5F, 1.5F, 1.5F);
bindTexture(ResourceManager.mine_ap_tex);
ResourceManager.mine_ap.renderAll();
}
if(block == ModBlocks.mine_he) {
bindTexture(ResourceManager.mine_he_tex);
ResourceManager.mine_he.renderAll();
}
if(block == ModBlocks.mine_shrap) {
bindTexture(ResourceManager.mine_shrap_tex);
ResourceManager.mine_he.renderAll();
}
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,83 @@
package com.hbm.tileentity.bomb;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.bomb.Landmine;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.main.ResourceManager;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityLandmine extends TileEntity {
private boolean isPrimed = false;
public void updateEntity() {
if(!worldObj.isRemote) {
Block block = worldObj.getBlock(xCoord, yCoord, zCoord);
double range = 1;
if (block == ModBlocks.mine_ap) {
range = 1.5D;
}
if (block == ModBlocks.mine_he) {
range = 2;
}
if (block == ModBlocks.mine_shrap) {
range = 1.5D;
}
List<Object> list = worldObj.getEntitiesWithinAABBExcludingEntity(null,
AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - 1, zCoord - range, xCoord + range, yCoord + 1, zCoord + range));
boolean flag = false;
for (Object o : list) {
if (o instanceof EntityLivingBase) {
flag = true;
if(isPrimed) {
((Landmine)block).explode(worldObj, xCoord, yCoord, zCoord);
}
return;
}
}
if(!isPrimed && !flag) {
this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:item.techBoop", 2.0F, 1.0F);
isPrimed = true;
}
}
}
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
isPrimed = nbt.getBoolean("primed");
}
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setBoolean("primed", isPrimed);
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}

View File

@ -16,7 +16,7 @@ public class TileEntityVent extends TileEntity {
public void updateEntity() { public void updateEntity() {
if(!worldObj.isRemote) { if(!worldObj.isRemote && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) {
Block b = worldObj.getBlock(xCoord, yCoord, zCoord); Block b = worldObj.getBlock(xCoord, yCoord, zCoord);
if(b == ModBlocks.vent_chlorine) { if(b == ModBlocks.vent_chlorine) {