added more stupid crabs, patched up remaining stuff

This commit is contained in:
HbmMods 2020-05-03 23:10:47 +02:00
parent ca58bfa74a
commit b9584c897c
32 changed files with 2421 additions and 58 deletions

View File

@ -695,6 +695,7 @@ item.ingot_saturnite.name=Saturnitbarren
item.plate_saturnite.name=Saturnitplatte
item.ingot_fiberglass.name=Fiberglasstafel
item.ingot_asbestos.name=Asbestplatte
item.ingot_electronium.name=Elektroniumbarren
item.solid_fuel.name=Festbrennstoff
item.rocket_fuel.name=Festbrennstoff (Raketentreibstoff)
@ -1643,6 +1644,8 @@ entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper
entity.entity_mob_tainted_creeper.name=Verseuchter Creeper
entity.entity_mob_hunter_chopper.name=Jagdschrauber
entity.entity_cyber_crab.name=Cyber-Krabbe
entity.entity_tesla_crab.name=Tesla-Krabbe
entity.entity_taint_crab.name=Verseuchte Krabbe
item.cap_aluminium.name=Aluminiumdeckel
item.hull_small_steel.name=Kleine Stahlhülle
@ -1912,6 +1915,7 @@ item.sat_miner.name=Asteroiden-Förderschiff
item.sat_gerald.name=Gerald der Konstruktionsandroid
item.sat_chip.name=Satelliten-ID-Chip
item.sat_interface.name=Satelliten-Kontrollinterface
item.sat_coord.name=Satelliten-Zielmarkierer
tile.sat_mapper.name=Oberflächen-Abtastungssatellit (Dekoblock)
tile.sat_scanner.name=Satellit mit Tiefenscanning-Modul (Dekoblock)
tile.sat_radar.name=Radar-Überwachungssatellit (Dekoblock)

View File

@ -695,6 +695,7 @@ item.ingot_saturnite.name=Saturnite Ingot
item.plate_saturnite.name=Saturnite Plate
item.ingot_fiberglass.name=Fiberglass Bar
item.ingot_asbestos.name=Asbestos Sheet
item.ingot_electronium.name=Electronium Ingot
item.solid_fuel.name=Solid Fuel
item.rocket_fuel.name=Solid Fuel (Rocket Propellant)
@ -1643,6 +1644,8 @@ entity.entity_mob_nuclear_creeper.name=Nuclear Creeper
entity.entity_mob_tainted_creeper.name=Tainted Creeper
entity.entity_mob_hunter_chopper.name=Hunter Chopper
entity.entity_cyber_crab.name=Cyber Crab
entity.entity_tesla_crab.name=Tesla Crab
entity.entity_taint_crab.name=Taint Crab
item.cap_aluminium.name=Aluminium Cap
item.hull_small_steel.name=Small Steel Shell
@ -1912,6 +1915,7 @@ item.sat_miner.name=Asteroid Mining Ship
item.sat_gerald.name=Gerald The Construction Android
item.sat_chip.name=Satellite ID-Chip
item.sat_interface.name=Satellite Control Interface
item.sat_coord.name=Satellite Designator
tile.sat_mapper.name=Surface Mapping Satellite (Deco Block)
tile.sat_scanner.name=Satellite with Depth-Resource Scanning Module (Deco Block)
tile.sat_radar.name=Radar Survey Satellite (Deco Block)

View File

@ -0,0 +1,154 @@
# Blender v2.76 (sub 0) OBJ File: ''
# www.blender.org
o Cube.001
v -0.500000 0.000000 -0.500000
v -0.500000 -0.000000 0.500000
v -0.500000 0.187500 0.500000
v -0.500000 0.187500 -0.500000
v 0.500000 0.000000 -0.500000
v 0.500000 0.187500 -0.500000
v 0.500000 0.187500 0.500000
v 0.500000 -0.000000 0.500000
v -0.437500 0.187500 -0.437500
v -0.437500 0.812500 -0.437500
v 0.437500 0.812500 -0.437500
v 0.437500 0.187500 -0.437500
v -0.437500 0.187500 0.437500
v 0.437500 0.187500 0.437500
v -0.500000 1.000000 -0.500000
v -0.500000 1.000000 0.500000
v 0.500000 1.000000 0.500000
v 0.500000 1.000000 -0.500000
v 0.437500 0.812500 0.437500
v -0.500000 0.812500 0.500000
v 0.500000 0.812500 0.500000
v -0.500000 0.812500 -0.500000
v 0.500000 0.812500 -0.500000
v -0.437500 0.812500 0.437500
v 0.187500 0.187500 -0.500000
v 0.375000 0.187500 -0.500000
v 0.375000 0.812500 -0.500000
v 0.187500 0.812500 -0.500000
v -0.187500 0.187500 -0.500000
v -0.375000 0.187500 -0.500000
v -0.375000 0.812500 -0.500000
v -0.187500 0.812500 -0.500000
v -0.187500 0.812500 0.500000
v -0.187500 0.187500 0.500000
v -0.375000 0.187500 0.500000
v -0.375000 0.812500 0.500000
v 0.187500 0.812500 0.500000
v 0.187500 0.187500 0.500000
v 0.375000 0.187500 0.500000
v 0.375000 0.812500 0.500000
v -0.500000 0.187500 -0.187500
v -0.500000 0.187500 -0.375000
v -0.500000 0.812500 -0.375000
v -0.500000 0.812500 -0.187500
v -0.500000 0.187500 0.187500
v -0.500000 0.187500 0.375000
v -0.500000 0.812500 0.375000
v -0.500000 0.812500 0.187500
v 0.500000 0.812500 0.187500
v 0.500000 0.187500 0.187500
v 0.500000 0.187500 0.375000
v 0.500000 0.812500 0.375000
v 0.500000 0.187500 -0.187500
v 0.500000 0.812500 -0.187500
v 0.500000 0.812500 -0.375000
v 0.500000 0.187500 -0.375000
vt 1.000000 0.500000
vt 1.000000 0.593750
vt 0.500000 0.593750
vt 0.500000 0.500000
vt 0.468750 0.406250
vt 0.031250 0.406250
vt 0.031250 0.093750
vt 0.968750 0.468750
vt 0.531250 0.031250
vt 0.500000 -0.000000
vt 1.000000 -0.000000
vt 0.000000 1.000000
vt 0.000000 0.500000
vt 0.500000 1.000000
vt 0.500000 0.906250
vt 1.000000 0.906250
vt 0.531250 0.468750
vt 0.968750 0.031250
vt 0.468750 0.093750
vt 0.656250 0.593750
vt 0.562500 0.593750
vt 0.562500 0.906250
vt 0.843750 0.906250
vt 0.843750 0.593750
vt 0.937500 0.593750
vt 0.656250 0.906250
vt 0.937500 0.906250
vt 1.000000 1.000000
vn -1.000000 0.000000 0.000000
vn 1.000000 0.000000 0.000000
vn 0.000000 0.000000 -1.000000
vn -0.000000 1.000000 0.000000
vn 0.000000 -1.000000 -0.000000
vn 0.000000 0.000000 1.000000
s 1
f 2/1/1 3/2/1 4/3/1
f 6/2/2 7/3/2 8/4/2
f 10/5/3 11/6/3 12/7/3
f 9/8/4 4/1/4 3/4/4
f 14/9/4 7/10/4 6/11/4
f 16/12/4 17/13/4 18/4/4
f 5/12/5 8/13/5 2/4/5
f 11/5/2 19/6/2 14/7/2
f 16/14/6 20/15/6 21/16/6
f 15/14/1 22/15/1 20/16/1
f 17/14/2 21/15/2 23/16/2
f 18/14/3 23/15/3 22/16/3
f 24/8/5 20/1/5 22/4/5
f 10/17/5 22/4/5 23/10/5
f 19/18/5 21/11/5 20/1/5
f 11/9/5 23/10/5 21/11/5
f 24/5/1 10/6/1 9/7/1
f 19/7/6 24/19/6 13/5/6
f 8/1/6 7/2/6 3/3/6
f 3/4/4 7/10/4 14/9/4
f 6/11/4 4/1/4 9/8/4
f 1/1/3 4/2/3 6/3/3
f 28/20/3 27/21/3 26/22/3
f 30/23/3 31/24/3 32/25/3
f 36/26/6 35/20/6 34/21/6
f 38/27/6 39/23/6 40/24/6
f 44/22/1 43/26/1 42/20/1
f 46/23/1 47/24/1 48/25/1
f 52/24/2 51/23/2 50/27/2
f 56/26/2 55/20/2 54/21/2
f 1/4/1 2/1/1 4/3/1
f 5/1/2 6/2/2 8/4/2
f 9/19/3 10/5/3 12/7/3
f 13/17/4 9/8/4 3/4/4
f 12/18/4 14/9/4 6/11/4
f 15/14/4 16/12/4 18/4/4
f 1/14/5 5/12/5 2/4/5
f 12/19/2 11/5/2 14/7/2
f 17/28/6 16/14/6 21/16/6
f 16/28/1 15/14/1 20/16/1
f 18/28/2 17/14/2 23/16/2
f 15/28/3 18/14/3 22/16/3
f 10/17/5 24/8/5 22/4/5
f 11/9/5 10/17/5 23/10/5
f 24/8/5 19/18/5 20/1/5
f 19/18/5 11/9/5 21/11/5
f 13/19/1 24/5/1 9/7/1
f 14/6/6 19/7/6 13/5/6
f 2/4/6 8/1/6 3/3/6
f 13/17/4 3/4/4 14/9/4
f 12/18/4 6/11/4 9/8/4
f 5/4/3 1/1/3 6/3/3
f 25/26/3 28/20/3 26/22/3
f 29/27/3 30/23/3 32/25/3
f 33/22/6 36/26/6 34/21/6
f 37/25/6 38/27/6 40/24/6
f 41/21/1 44/22/1 42/20/1
f 45/27/1 46/23/1 48/25/1
f 49/25/2 52/24/2 50/27/2
f 53/22/2 56/26/2 54/21/2

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,588 @@
# Blender v2.76 (sub 0) OBJ File: 'teslacrab.blend'
# www.blender.org
o Front
v 0.353553 0.187500 -0.265165
v 0.353553 0.312500 -0.265165
v 0.176777 0.187500 -0.088388
v 0.176777 0.312500 -0.088388
v 0.265165 0.187500 -0.353553
v 0.265165 0.312500 -0.353553
v 0.088388 0.187500 -0.176777
v 0.088388 0.312500 -0.176777
v 0.433446 -0.001047 -0.389252
v 0.350388 -0.043799 -0.306194
v 0.389252 -0.001047 -0.433446
v 0.306194 -0.043799 -0.350389
v 0.312524 0.468799 -0.268330
v 0.229466 0.426047 -0.185272
v 0.185272 0.426047 -0.229466
v 0.268330 0.468799 -0.312524
v 0.265165 0.187500 0.353553
v 0.265165 0.312500 0.353553
v 0.088388 0.187500 0.176777
v 0.088388 0.312500 0.176777
v 0.353553 0.187500 0.265165
v 0.353553 0.312500 0.265165
v 0.176777 0.187500 0.088388
v 0.176777 0.312500 0.088388
v 0.389252 -0.001047 0.433446
v 0.306194 -0.043799 0.350388
v 0.433446 -0.001047 0.389252
v 0.350389 -0.043799 0.306194
v 0.268330 0.468799 0.312524
v 0.185272 0.426047 0.229466
v 0.229466 0.426047 0.185272
v 0.312524 0.468799 0.268330
vt 0.142857 0.166667
vt 0.238095 0.166667
vt 0.238095 0.500000
vt 0.238095 -0.000000
vt 0.142857 0.500000
vt 0.142857 0.000000
vt 0.047619 0.750000
vt 0.047619 0.666667
vt 0.142857 0.666667
vt 0.142857 0.750000
vt 0.047619 -0.000000
vt -0.000000 0.666667
vt 0.142911 0.000076
vt 0.000053 0.000054
vt -0.000000 -0.000000
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 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.241800 -0.939700 -0.241800
vn -0.241800 0.939700 0.241800
vn -0.664500 -0.342000 0.664500
vn 0.664500 0.342000 -0.664500
vn 0.241800 -0.939700 0.241800
vn -0.241800 0.939700 -0.241800
vn -0.664500 -0.342000 -0.664500
vn 0.664500 0.342000 0.664500
s off
f 4/1/1 3/2/1 1/3/1
f 8/4/2 7/2/2 3/1/2
f 6/3/3 5/5/3 7/1/3
f 2/1/4 1/6/4 5/4/4
f 3/1/5 7/2/5 5/3/5
f 8/1/6 4/2/6 2/3/6
f 11/7/7 9/8/7 10/9/7
f 15/9/8 14/10/8 13/7/8
f 10/11/9 14/8/9 15/12/9
f 9/13/1 13/9/1 14/8/1
f 9/14/10 11/11/10 16/8/10
f 12/6/3 15/9/3 16/8/3
f 20/1/2 19/2/2 17/3/2
f 24/4/3 23/2/3 19/1/3
f 22/3/4 21/5/4 23/1/4
f 18/1/1 17/6/1 21/4/1
f 19/1/5 23/2/5 21/3/5
f 24/1/6 20/2/6 18/3/6
f 27/7/11 25/8/11 26/9/11
f 30/10/12 29/7/12 32/8/12
f 26/11/13 30/8/13 31/12/13
f 25/13/2 29/9/2 30/8/2
f 27/11/14 32/8/14 29/12/14
f 28/6/4 31/9/4 32/8/4
f 2/5/1 4/1/1 1/3/1
f 4/6/2 8/4/2 3/1/2
f 8/2/3 6/3/3 7/1/3
f 6/2/4 2/1/4 5/4/4
f 1/5/5 3/1/5 5/3/5
f 6/5/6 8/1/6 2/3/6
f 12/10/7 11/7/7 10/9/7
f 16/8/8 15/9/8 13/7/8
f 12/15/9 10/11/9 15/12/9
f 10/11/1 9/13/1 14/8/1
f 13/12/10 9/14/10 16/8/10
f 11/11/3 12/6/3 16/8/3
f 18/5/2 20/1/2 17/3/2
f 20/6/3 24/4/3 19/1/3
f 24/2/4 22/3/4 23/1/4
f 22/2/1 18/1/1 21/4/1
f 17/5/5 19/1/5 21/3/5
f 22/5/6 24/1/6 18/3/6
f 28/10/11 27/7/11 26/9/11
f 31/9/12 30/10/12 32/8/12
f 28/15/13 26/11/13 31/12/13
f 26/11/2 25/13/2 30/8/2
f 25/14/14 27/11/14 29/12/14
f 27/11/4 28/6/4 32/8/4
o Back
v -0.353553 0.187500 0.265165
v -0.353553 0.312500 0.265165
v -0.176777 0.187500 0.088388
v -0.176777 0.312500 0.088388
v -0.265165 0.187500 0.353553
v -0.265165 0.312500 0.353553
v -0.088388 0.187500 0.176777
v -0.088388 0.312500 0.176777
v -0.433446 -0.001047 0.389252
v -0.350388 -0.043799 0.306194
v -0.389252 -0.001047 0.433447
v -0.306194 -0.043799 0.350389
v -0.312524 0.468799 0.268330
v -0.229466 0.426047 0.185272
v -0.185272 0.426047 0.229466
v -0.268330 0.468799 0.312524
v -0.265165 0.187500 -0.353553
v -0.265165 0.312500 -0.353553
v -0.088388 0.187500 -0.176777
v -0.088388 0.312500 -0.176777
v -0.353553 0.187500 -0.265165
v -0.353553 0.312500 -0.265165
v -0.176777 0.187500 -0.088388
v -0.176777 0.312500 -0.088388
v -0.389252 -0.001047 -0.433446
v -0.306194 -0.043799 -0.350388
v -0.433446 -0.001047 -0.389252
v -0.350389 -0.043799 -0.306194
v -0.268330 0.468799 -0.312524
v -0.185272 0.426047 -0.229466
v -0.229466 0.426047 -0.185272
v -0.312524 0.468799 -0.268330
vt 0.142857 0.166667
vt 0.238095 0.166667
vt 0.238095 0.500000
vt 0.238095 -0.000000
vt 0.142857 0.500000
vt 0.142857 0.000000
vt 0.047619 0.750000
vt 0.047619 0.666667
vt 0.142857 0.666667
vt 0.142857 0.750000
vt -0.000000 -0.000000
vt 0.047619 -0.000000
vt 0.142911 0.000076
vt 0.000053 0.000054
vt 0.000000 0.666667
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 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 -0.000000
vn -0.241800 -0.939700 0.241800
vn 0.241800 0.939700 -0.241800
vn 0.664500 -0.342000 -0.664500
vn -0.664500 0.342000 0.664500
vn -0.241800 -0.939700 -0.241800
vn 0.241800 0.939700 0.241800
vn 0.664500 -0.342000 0.664500
vn -0.664500 0.342000 -0.664500
s off
f 36/16/15 35/17/15 33/18/15
f 40/19/16 39/17/16 35/16/16
f 38/18/17 37/20/17 39/16/17
f 34/16/18 33/21/18 37/19/18
f 35/16/19 39/17/19 37/18/19
f 40/16/20 36/17/20 34/18/20
f 43/22/21 41/23/21 42/24/21
f 46/25/22 45/22/22 48/23/22
f 44/26/23 42/27/23 46/23/23
f 41/28/15 45/24/15 46/23/15
f 41/29/24 43/27/24 48/23/24
f 43/27/17 44/21/17 47/24/17
f 52/16/16 51/17/16 49/18/16
f 56/19/17 55/17/17 51/16/17
f 54/18/18 53/20/18 55/16/18
f 50/16/15 49/21/15 53/19/15
f 51/16/19 55/17/19 53/18/19
f 56/16/20 52/17/20 50/18/20
f 59/22/25 57/23/25 58/24/25
f 62/25/26 61/22/26 64/23/26
f 60/26/27 58/27/27 62/23/27
f 57/28/16 61/24/16 62/23/16
f 59/27/28 64/23/28 61/30/28
f 59/27/18 60/21/18 63/24/18
f 34/20/15 36/16/15 33/18/15
f 36/21/16 40/19/16 35/16/16
f 40/17/17 38/18/17 39/16/17
f 38/17/18 34/16/18 37/19/18
f 33/20/19 35/16/19 37/18/19
f 38/20/20 40/16/20 34/18/20
f 44/25/21 43/22/21 42/24/21
f 47/24/22 46/25/22 48/23/22
f 47/30/23 44/26/23 46/23/23
f 42/27/15 41/28/15 46/23/15
f 45/30/24 41/29/24 48/23/24
f 48/23/17 43/27/17 47/24/17
f 50/20/16 52/16/16 49/18/16
f 52/21/17 56/19/17 51/16/17
f 56/17/18 54/18/18 55/16/18
f 54/17/15 50/16/15 53/19/15
f 49/20/19 51/16/19 53/18/19
f 54/20/20 56/16/20 50/18/20
f 60/25/25 59/22/25 58/24/25
f 63/24/26 62/25/26 64/23/26
f 63/30/27 60/26/27 62/23/27
f 58/27/16 57/28/16 62/23/16
f 57/29/28 59/27/28 61/30/28
f 64/23/18 59/27/18 63/24/18
o Body
v -0.000000 0.187500 -0.250000
v -0.000000 0.312500 -0.250000
v 0.176777 0.187500 -0.176777
v 0.176777 0.312500 -0.176777
v 0.250000 0.187500 0.000000
v 0.250000 0.312500 0.000000
v 0.176777 0.187500 0.176777
v 0.176777 0.312500 0.176777
v -0.000000 0.187500 0.250000
v -0.000000 0.312500 0.250000
v -0.176777 0.187500 0.176777
v -0.176777 0.312500 0.176777
v -0.250000 0.187500 -0.000000
v -0.250000 0.312500 -0.000000
v -0.176777 0.187500 -0.176777
v -0.176777 0.312500 -0.176777
v 0.088388 0.437500 -0.088388
v -0.000000 0.437500 -0.125000
v 0.125000 0.437500 0.000000
v 0.088388 0.437500 0.088388
v -0.000000 0.437500 0.125000
v -0.088388 0.437500 0.088388
v -0.125000 0.437500 -0.000000
v -0.088388 0.437500 -0.088388
v 0.044194 0.437500 -0.044194
v -0.000000 0.437500 -0.062500
v 0.062500 0.437500 0.000000
v 0.044194 0.437500 0.044194
v -0.000000 0.437500 0.062500
v -0.044194 0.437500 0.044194
v -0.062500 0.437500 -0.000000
v -0.044194 0.437500 -0.044194
v 0.044194 1.187500 -0.044194
v -0.000000 1.187500 -0.062500
v 0.062500 1.187500 0.000000
v 0.044194 1.187500 0.044194
v -0.000000 1.187500 0.062500
v -0.044194 1.187500 0.044194
v -0.062500 1.187500 -0.000000
v -0.044194 1.187500 -0.044194
v 0.128163 0.625000 -0.039775
v 0.128163 1.125000 -0.039775
v 0.039775 0.625000 -0.128163
v 0.039775 1.125000 -0.128163
v 0.172357 0.625000 -0.083969
v 0.172357 1.125000 -0.083969
v 0.083969 0.625000 -0.172357
v 0.083969 1.125000 -0.172357
v 0.083969 0.625000 -0.083969
v 0.083969 1.125000 -0.083969
v 0.039775 0.625000 -0.039775
v 0.039775 1.125000 -0.039775
v -0.039775 0.625000 -0.128163
v -0.039775 1.125000 -0.128163
v -0.128163 0.625000 -0.039775
v -0.128163 1.125000 -0.039775
v -0.083969 0.625000 -0.172357
v -0.083969 1.125000 -0.172357
v -0.172357 0.625000 -0.083969
v -0.172357 1.125000 -0.083969
v -0.083969 0.625000 -0.083969
v -0.083969 1.125000 -0.083969
v -0.039775 0.625000 -0.039775
v -0.039775 1.125000 -0.039775
v -0.128163 0.625000 0.039775
v -0.128163 1.125000 0.039775
v -0.039775 0.625000 0.128163
v -0.039775 1.125000 0.128163
v -0.172357 0.625000 0.083969
v -0.172357 1.125000 0.083969
v -0.083969 0.625000 0.172357
v -0.083969 1.125000 0.172357
v -0.083969 0.625000 0.083969
v -0.083969 1.125000 0.083969
v -0.039775 0.625000 0.039775
v -0.039775 1.125000 0.039775
v 0.039775 0.625000 0.128163
v 0.039775 1.125000 0.128163
v 0.128163 0.625000 0.039775
v 0.128163 1.125000 0.039775
v 0.083969 0.625000 0.172357
v 0.083969 1.125000 0.172357
v 0.172357 0.625000 0.083969
v 0.172357 1.125000 0.083969
v 0.083969 0.625000 0.083969
v 0.083969 1.125000 0.083969
v 0.039775 0.625000 0.039775
v 0.039775 1.125000 0.039775
v 0.088388 0.187500 -0.088388
v 0.088388 0.187500 0.088388
v -0.088388 0.187500 0.088388
v -0.088388 0.187500 -0.088388
v 0.044194 0.062500 -0.044194
v 0.044194 0.062500 0.044194
v -0.044194 0.062500 0.044194
v -0.044194 0.062500 -0.044194
v 0.062500 0.300000 0.062500
v 0.062500 0.425000 0.062500
v 0.062500 0.300000 -0.062500
v 0.062500 0.425000 -0.062500
v 0.187500 0.300000 0.062500
v 0.187500 0.425000 0.062500
v 0.187500 0.300000 -0.062500
v 0.187500 0.425000 -0.062500
v -0.062500 0.300000 -0.062500
v -0.062500 0.425000 -0.062500
v -0.062500 0.300000 0.062500
v -0.062500 0.425000 0.062500
v -0.187500 0.300000 -0.062500
v -0.187500 0.425000 -0.062500
v -0.187500 0.300000 0.062500
v -0.187500 0.425000 0.062500
v 0.062500 0.300000 -0.062500
v 0.062500 0.425000 -0.062500
v -0.062500 0.300000 -0.062500
v -0.062500 0.425000 -0.062500
v 0.062500 0.300000 -0.187500
v 0.062500 0.425000 -0.187500
v -0.062500 0.300000 -0.187500
v -0.062500 0.425000 -0.187500
v -0.062500 0.300000 0.062500
v -0.062500 0.425000 0.062500
v 0.062500 0.300000 0.062500
v 0.062500 0.425000 0.062500
v -0.062500 0.300000 0.187500
v -0.062500 0.425000 0.187500
v 0.062500 0.300000 0.187500
v 0.062500 0.425000 0.187500
vt 0.380952 0.166667
vt 0.238095 0.166667
vt 0.238095 0.000000
vt 0.333333 0.416667
vt 0.661170 0.231718
vt 0.534256 0.323714
vt 0.481687 0.101615
vt 0.479736 0.384719
vt 0.505554 0.339539
vt 0.567883 0.384719
vt 0.285714 0.416667
vt 0.780379 0.161384
vt 0.717304 0.115663
vt 0.806505 0.051004
vt 0.714286 0.000000
vt 0.714286 1.000000
vt 0.666667 1.000000
vt 0.857143 0.666667
vt 0.857143 -0.000000
vt 0.952381 -0.000000
vt 0.809524 0.666667
vt 0.809524 -0.000000
vt 0.952381 0.750000
vt 0.857143 0.750000
vt 0.952381 0.666667
vt 1.000000 0.000000
vt 1.000000 0.666667
vt 0.488988 0.211058
vt 0.565087 0.122276
vt 0.653869 0.211058
vt 0.577770 0.122276
vt 0.476190 0.000000
vt 0.476190 0.166667
vt 0.380952 0.000000
vt 0.534257 0.009619
vt 0.608601 0.009619
vt 0.661170 0.101615
vt 0.608601 0.323714
vt 0.481687 0.231718
vt 0.567883 0.448614
vt 0.542065 0.493795
vt 0.505554 0.493795
vt 0.479736 0.448614
vt 0.542065 0.339539
vt 0.743431 0.005282
vt 0.780379 0.005282
vt 0.806505 0.115663
vt 0.743431 0.161384
vt 0.717304 0.051004
vt 0.666667 0.000000
vn 0.382700 0.000000 -0.923900
vn 0.923900 0.000000 -0.382700
vn 0.923900 0.000000 0.382700
vn 0.382700 0.000000 0.923900
vn -0.382700 0.000000 0.923900
vn -0.923900 0.000000 0.382700
vn -0.678600 0.678600 -0.281100
vn -0.382700 0.000000 -0.923900
vn -0.923900 0.000000 -0.382700
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 0.678600 0.678600 -0.281100
vn -0.281100 0.678600 0.678600
vn -0.281100 0.678600 -0.678600
vn 0.281100 0.678600 -0.678600
vn 0.678600 0.678600 0.281100
vn -0.678600 0.678600 0.281100
vn 0.281100 0.678600 0.678600
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 66/31/29 68/32/29 67/33/29
f 68/31/30 70/32/30 69/33/30
f 70/31/31 72/32/31 71/33/31
f 72/31/32 74/32/32 73/33/32
f 74/31/33 76/32/33 75/33/33
f 76/31/34 78/32/34 77/33/34
f 80/32/35 78/31/35 87/34/35
f 80/31/36 66/32/36 65/33/36
f 78/31/37 80/32/37 79/33/37
f 71/35/38 75/36/38 79/37/38
f 86/38/39 85/39/39 83/40/39
f 68/31/40 81/34/40 83/41/40
f 76/32/41 74/31/41 85/34/41
f 80/31/42 88/34/42 82/41/42
f 68/32/43 66/31/43 82/34/43
f 70/31/44 83/34/44 84/41/44
f 76/31/45 86/34/45 87/41/45
f 72/31/46 84/34/46 85/41/46
f 103/42/39 101/43/39 98/44/39
f 91/45/31 99/46/31 100/47/31
f 90/45/29 98/46/29 97/47/29
f 96/45/36 104/46/36 98/47/36
f 94/45/34 102/46/34 103/47/34
f 92/45/32 100/46/32 101/47/32
f 89/45/30 97/46/30 99/47/30
f 95/45/37 103/46/37 104/47/37
f 93/45/33 101/46/33 102/47/33
f 108/48/47 107/49/47 105/50/47
f 112/51/48 111/52/48 107/49/48
f 110/48/49 109/49/49 111/50/49
f 106/51/50 105/52/50 109/49/50
f 105/53/38 107/54/38 111/48/38
f 110/48/39 112/55/39 108/53/39
f 113/50/48 115/56/48 116/57/48
f 120/48/50 119/49/50 117/50/50
f 124/51/47 123/52/47 119/49/47
f 122/48/48 121/49/48 123/50/48
f 118/51/49 117/52/49 121/49/49
f 119/54/38 123/48/38 121/55/38
f 124/55/39 120/53/39 118/54/39
f 125/50/47 127/56/47 128/57/47
f 132/48/49 131/49/49 129/50/49
f 136/51/50 135/52/50 131/49/50
f 134/48/47 133/49/47 135/50/47
f 130/51/48 129/52/48 133/49/48
f 131/54/38 135/48/38 133/55/38
f 136/55/39 132/53/39 130/54/39
f 137/50/50 139/56/50 140/57/50
f 144/48/48 143/49/48 141/50/48
f 148/51/49 147/52/49 143/49/49
f 146/48/50 145/49/50 147/50/50
f 142/51/47 141/52/47 145/49/47
f 141/48/38 143/55/38 147/53/38
f 148/55/39 144/53/39 142/54/39
f 149/50/49 151/56/49 152/57/49
f 79/58/49 156/59/49 160/60/49
f 157/58/48 153/61/48 67/60/48
f 75/58/48 155/59/48 159/60/48
f 158/58/49 154/61/49 71/60/49
f 174/62/51 173/63/51 175/31/51
f 168/62/52 167/63/52 163/31/52
f 166/31/53 165/64/53 167/62/53
f 162/31/54 161/64/54 165/62/54
f 176/31/54 175/64/54 171/62/54
f 168/63/39 164/31/39 162/64/39
f 170/64/52 169/62/52 173/63/52
f 176/63/39 172/31/39 170/64/39
f 190/31/54 189/64/54 191/62/54
f 184/31/51 183/64/51 179/62/51
f 182/62/52 181/63/52 183/31/52
f 178/31/53 177/64/53 181/62/53
f 192/31/53 191/64/53 187/62/53
f 184/31/39 180/64/39 178/62/39
f 186/31/51 185/64/51 189/62/51
f 192/62/39 188/63/39 186/31/39
f 65/64/29 66/31/29 67/33/29
f 67/64/30 68/31/30 69/33/30
f 69/64/31 70/31/31 71/33/31
f 71/64/32 72/31/32 73/33/32
f 73/64/33 74/31/33 75/33/33
f 75/64/34 76/31/34 77/33/34
f 88/41/35 80/32/35 87/34/35
f 79/64/36 80/31/36 65/33/36
f 77/64/37 78/31/37 79/33/37
f 79/37/38 65/65/38 67/66/38
f 67/66/38 69/67/38 71/35/38
f 71/35/38 73/68/38 75/36/38
f 75/36/38 77/69/38 79/37/38
f 79/37/38 67/66/38 71/35/38
f 83/40/39 81/70/39 82/71/39
f 82/71/39 88/72/39 83/40/39
f 87/73/39 86/38/39 83/40/39
f 85/39/39 84/74/39 83/40/39
f 83/40/39 88/72/39 87/73/39
f 70/32/40 68/31/40 83/41/40
f 86/41/41 76/32/41 85/34/41
f 66/32/42 80/31/42 82/41/42
f 81/41/43 68/32/43 82/34/43
f 72/32/44 70/31/44 84/41/44
f 78/32/45 76/31/45 87/41/45
f 74/32/46 72/31/46 85/41/46
f 99/75/39 97/76/39 98/44/39
f 98/44/39 104/77/39 103/42/39
f 103/42/39 102/78/39 101/43/39
f 101/43/39 100/79/39 99/75/39
f 99/75/39 98/44/39 101/43/39
f 92/80/31 91/45/31 100/47/31
f 89/80/29 90/45/29 97/47/29
f 90/80/36 96/45/36 98/47/36
f 95/80/34 94/45/34 103/47/34
f 93/80/32 92/45/32 101/47/32
f 91/80/30 89/45/30 99/47/30
f 96/80/37 95/45/37 104/47/37
f 94/80/33 93/45/33 102/47/33
f 106/55/47 108/48/47 105/50/47
f 108/48/48 112/51/48 107/49/48
f 112/55/49 110/48/49 111/50/49
f 110/48/50 106/51/50 109/49/50
f 109/55/38 105/53/38 111/48/38
f 106/54/39 110/48/39 108/53/39
f 114/55/48 113/50/48 116/57/48
f 118/55/50 120/48/50 117/50/50
f 120/48/47 124/51/47 119/49/47
f 124/55/48 122/48/48 123/50/48
f 122/48/49 118/51/49 121/49/49
f 117/53/38 119/54/38 121/55/38
f 122/48/39 124/55/39 118/54/39
f 126/55/47 125/50/47 128/57/47
f 130/55/49 132/48/49 129/50/49
f 132/48/50 136/51/50 131/49/50
f 136/55/47 134/48/47 135/50/47
f 134/48/48 130/51/48 133/49/48
f 129/53/38 131/54/38 133/55/38
f 134/48/39 136/55/39 130/54/39
f 138/55/50 137/50/50 140/57/50
f 142/55/48 144/48/48 141/50/48
f 144/48/49 148/51/49 143/49/49
f 148/55/50 146/48/50 147/50/50
f 146/48/47 142/51/47 145/49/47
f 145/54/38 141/48/38 147/53/38
f 146/48/39 148/55/39 142/54/39
f 150/55/49 149/50/49 152/57/49
f 176/64/51 174/62/51 175/31/51
f 164/64/52 168/62/52 163/31/52
f 168/63/53 166/31/53 167/62/53
f 166/63/54 162/31/54 165/62/54
f 172/63/54 176/31/54 171/62/54
f 166/62/39 168/63/39 162/64/39
f 174/31/52 170/64/52 173/63/52
f 174/62/39 176/63/39 170/64/39
f 192/63/54 190/31/54 191/62/54
f 180/63/51 184/31/51 179/62/51
f 184/64/52 182/62/52 183/31/52
f 182/63/53 178/31/53 181/62/53
f 188/63/53 192/31/53 187/62/53
f 182/63/39 184/31/39 178/62/39
f 190/63/51 186/31/51 189/62/51
f 190/64/39 192/62/39 186/31/39

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

View File

@ -1187,7 +1187,7 @@ public class ModBlocks {
crate_lead = new BlockCrate(Material.iron).setBlockName("crate_lead").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_lead");
crate_metal = new BlockCrate(Material.iron).setBlockName("crate_metal").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_metal");
crate_red = new BlockCrate(Material.iron).setBlockName("crate_red").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crate_red");
crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab);
crate_can = new BlockCanCrate(Material.wood).setBlockName("crate_can").setStepSound(Block.soundTypeWood).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_can");
crate_ammo = new BlockAmmoCrate(Material.wood).setBlockName("crate_ammo").setStepSound(Block.soundTypeMetal).setHardness(1.0F).setResistance(2.5F).setCreativeTab(MainRegistry.consumableTab);
crate_iron = new BlockStorageCrate(Material.iron).setBlockName("crate_iron").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
crate_steel = new BlockStorageCrate(Material.iron).setBlockName("crate_steel").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);

View File

@ -5,7 +5,9 @@ import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.mob.EntityTaintCrab;
import com.hbm.entity.mob.EntityTaintedCreeper;
import com.hbm.entity.mob.EntityTeslaCrab;
import com.hbm.potion.HbmPotion;
import cpw.mods.fml.relauncher.Side;
@ -189,6 +191,16 @@ public class BlockTaint extends Block/*Container*/ {
world.spawnEntityInWorld(creep);
}
}
if(entity instanceof EntityTeslaCrab) {
EntityTaintCrab crab = new EntityTaintCrab(world);
crab.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);
if(!world.isRemote) {
entity.setDead();
world.spawnEntityInWorld(crab);
}
}
}
}

View File

@ -5,45 +5,34 @@ import java.util.List;
import java.util.Random;
import com.hbm.items.ModItems;
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.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class BlockCanCrate extends Block {
@SideOnly(Side.CLIENT)
private IIcon iconTop;
@SideOnly(Side.CLIENT)
private IIcon iconBottom;
public BlockCanCrate(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_top");
this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_bottom");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_can_side");
public int getRenderType(){
return 334085;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 0 ? this.iconBottom : (side == 1 ? this.iconTop : this.blockIcon);
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) {

View File

@ -23,12 +23,10 @@ import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.5D, 60, 80, 15.0F);
private static final IEntitySelector selector = new IEntitySelector() {
public boolean isEntityApplicable(Entity p_82704_1_) {
return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper);
return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper || p_82704_1_ instanceof EntityNuclearCreeper);
}
};
@ -37,20 +35,26 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
super(p_i1733_1_);
this.setSize(0.75F, 0.35F);
this.getNavigator().setAvoidsWater(true);
this.tasks.addTask(0, new EntityAIPanic(this, 0.75D));
if(!(this instanceof EntityTaintCrab))
this.tasks.addTask(0, new EntityAIPanic(this, 0.75D));
this.tasks.addTask(1, new EntityAIWander(this, 0.5F));
//this.tasks.addTask(2, new EntityAIAvoidEntity(this, EntityPlayer.class, 3, 0.75D, 1.0D));
this.tasks.addTask(4, this.aiArrowAttack);
this.tasks.addTask(4, arrowAI());
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, true, true, selector));
}
protected EntityAIArrowAttack arrowAI() {
return new EntityAIArrowAttack(this, 0.5D, 60, 80, 15.0F);
}
@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(4.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.75F);
}
@Override
@ -117,7 +121,11 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
if(this.getHealth() <= 0) {
this.setDead();
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.1F, true);
if(this instanceof EntityTaintCrab)
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 3F, false);
else
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.1F, false);
}
}
@ -160,6 +168,10 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
return ModItems.wire_gold;
}
protected void dropRareDrop(int p_70600_1_) {
this.dropItem(ModItems.wire_magnetized_tungsten, 1);
}
@Override
public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) {
EntityBullet bullet = new EntityBullet(worldObj, this, entity, 1.6F, 2);

View File

@ -0,0 +1,88 @@
package com.hbm.entity.mob;
import java.util.ArrayList;
import java.util.List;
import com.hbm.entity.projectile.EntityBulletBase;
import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.items.ModItems;
import com.hbm.packet.AuxParticlePacketNT;
import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.tileentity.machine.TileEntityTesla;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIArrowAttack;
import net.minecraft.item.Item;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class EntityTaintCrab extends EntityCyberCrab {
public List<double[]> targets = new ArrayList();
public EntityTaintCrab(World p_i1733_1_) {
super(p_i1733_1_);
this.setSize(1.25F, 1.25F);
this.ignoreFrustumCheck = true;
}
protected EntityAIArrowAttack arrowAI() {
return new EntityAIArrowAttack(this, 0.5D, 5, 5, 50.0F);
}
@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F);
}
public void onLivingUpdate() {
targets = TileEntityTesla.zap(worldObj, posX, posY + 1.25, posZ, 10, this);
List<EntityLivingBase> targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5));
for(EntityLivingBase e : targets) {
if(!(e instanceof EntityCyberCrab))
e.addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 10, 15));
}
super.onLivingUpdate();
}
@Override
protected Item getDropItem()
{
return ModItems.coil_advanced_alloy;
}
protected void dropRareDrop(int p_70600_1_) {
this.dropItem(ModItems.coil_magnetized_tungsten, 1);
}
@Override
public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) {
EntityBulletBase bullet = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this);
Vec3 motion = Vec3.createVectorHelper(posX - entity.posX, posY - entity.posZ - entity.height / 2, posZ - entity.posZ);
motion = motion.normalize();
NBTTagCompound data = new NBTTagCompound();
data.setString("type", "vanilla");
data.setString("mode", "flame");
data.setDouble("mX", bullet.motionX * 0.3);
data.setDouble("mY", bullet.motionY * 0.3);
data.setDouble("mZ", bullet.motionZ * 0.3);
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(this.dimension, posX, posY, posZ, 50));
this.worldObj.spawnEntityInWorld(bullet);
this.playSound("hbm:weapon.sawShoot", 1.0F, 0.5F);
}
}

View File

@ -0,0 +1,48 @@
package com.hbm.entity.mob;
import java.util.ArrayList;
import java.util.List;
import com.hbm.items.ModItems;
import com.hbm.tileentity.machine.TileEntityTesla;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.item.Item;
import net.minecraft.world.World;
public class EntityTeslaCrab extends EntityCyberCrab {
public List<double[]> targets = new ArrayList();
public EntityTeslaCrab(World p_i1733_1_) {
super(p_i1733_1_);
this.setSize(0.75F, 1.25F);
this.ignoreFrustumCheck = true;
}
@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5F);
}
public void onLivingUpdate() {
targets = TileEntityTesla.zap(worldObj, posX, posY + 1, posZ, 3, this);
super.onLivingUpdate();
}
@Override
protected Item getDropItem()
{
return ModItems.wire_advanced_alloy;
}
protected void dropRareDrop(int p_70600_1_) {
this.dropItem(ModItems.coil_copper, 1);
}
}

View File

@ -52,7 +52,7 @@ public class EntityTom extends EntityThrowable {
@SideOnly(Side.CLIENT)
public boolean isInRangeToRenderDist(double distance)
{
return distance < 100000;
return distance < 500000;
}
@Override

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (3479)";
public static final String VERSION = "1.0.27 BETA (3493)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -61,7 +61,9 @@ import com.hbm.render.entity.item.RenderMinecartTest;
import com.hbm.render.entity.mob.RenderCyberCrab;
import com.hbm.render.entity.mob.RenderHunterChopper;
import com.hbm.render.entity.mob.RenderNuclearCreeper;
import com.hbm.render.entity.mob.RenderTaintCrab;
import com.hbm.render.entity.mob.RenderTaintedCreeper;
import com.hbm.render.entity.mob.RenderTeslaCrab;
import com.hbm.render.entity.projectile.RenderBaleflare;
import com.hbm.render.entity.projectile.RenderBeam;
import com.hbm.render.entity.projectile.RenderBeam2;
@ -134,6 +136,7 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerBlockHandler(new RenderFence());
RenderingRegistry.registerBlockHandler(new RenderBarbedWire());
RenderingRegistry.registerBlockHandler(new RenderAntennaTop());
RenderingRegistry.registerBlockHandler(new RenderConserve());
MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate());
MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate());
@ -503,6 +506,8 @@ public class ClientProxy extends ServerProxy
RenderingRegistry.registerEntityRenderingHandler(EntityTaintedCreeper.class, new RenderTaintedCreeper());
RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper());
RenderingRegistry.registerEntityRenderingHandler(EntityCyberCrab.class, new RenderCyberCrab());
RenderingRegistry.registerEntityRenderingHandler(EntityTeslaCrab.class, new RenderTeslaCrab());
RenderingRegistry.registerEntityRenderingHandler(EntityTaintCrab.class, new RenderTaintCrab());
RenderingRegistry.registerEntityRenderingHandler(EntityChopperMine.class, new RenderChopperMine());
RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble());
@ -746,6 +751,14 @@ public class ClientProxy extends ServerProxy
}
}
}
if("vanilla".equals(type)) {
double mX = data.getDouble("mX");
double mY = data.getDouble("mY");
double mZ = data.getDouble("mZ");
world.spawnParticle(data.getString("mode"), x, y, z, mX, mY, mZ);
}
}
@Override

View File

@ -1525,6 +1525,7 @@ public class CraftingManager {
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.sat_foeq), new Object[] { ModItems.sat_foeq });
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_interface), new Object[] { "ISI", "PCP", "PAP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_gold }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.sat_coord), new Object[] { "SII", "SCA", "SPP", 'I', "ingotSteel", 'S', ModItems.ingot_starmetal, 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_red_copper }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', "ingotMagnetizedTungsten", 'D', "plateDesh", 'L', "plateLead", 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }));
GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top });

View File

@ -700,6 +700,8 @@ public class MainRegistry
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
EntityRegistry.registerGlobalEntityID(EntityHunterChopper.class, "entity_mob_hunter_chopper", EntityRegistry.findGlobalUniqueEntityId(), 0x000020, 0x2D2D72);
EntityRegistry.registerGlobalEntityID(EntityCyberCrab.class, "entity_cyber_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0x444444);
EntityRegistry.registerGlobalEntityID(EntityTeslaCrab.class, "entity_tesla_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0x440000);
EntityRegistry.registerGlobalEntityID(EntityTaintCrab.class, "entity_taint_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0xFF00FF);
ForgeChunkManager.setForcedChunkLoadingCallback(this, new LoadingCallback() {

View File

@ -43,7 +43,6 @@ import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.tileentity.TileEntitySign;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
@ -353,7 +352,6 @@ public class ModEventHandler
public void onEntityHurt(LivingAttackEvent event) {
EntityLivingBase e = event.entityLiving;
DamageSource dmg = event.source;
if(e instanceof EntityPlayer && Library.checkArmor((EntityPlayer)e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) {
e.worldObj.playSoundAtEntity(e, "random.break", 5F, 1.0F + e.getRNG().nextFloat() * 0.5F);

View File

@ -150,6 +150,8 @@ public class ResourceManager {
//Tesla Coil
public static final IModelCustom tesla = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tesla.obj"));
public static final IModelCustom teslacrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/teslacrab.obj"));
public static final IModelCustom taintcrab = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mobs/taintcrab.obj"));
////Textures TEs
@ -279,6 +281,8 @@ public class ResourceManager {
//Tesla Coil
public static final ResourceLocation tesla_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tesla.png");
public static final ResourceLocation teslacrab_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/teslacrab.png");
public static final ResourceLocation taintcrab_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/taintcrab.png");
@ -651,5 +655,6 @@ public class ResourceManager {
public static final IModelCustom pole = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pole.obj"));
public static final IModelCustom barbed_wire = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/barbed_wire.obj"));
public static final IModelCustom antenna_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/antenna_top.obj"));
public static final IModelCustom conservecrate = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/conservecrate.obj"));
}

View File

@ -4,6 +4,7 @@ import java.lang.reflect.Field;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.bomb.BlockTaint;
import com.hbm.entity.mob.EntityTaintCrab;
import com.hbm.entity.mob.EntityTaintedCreeper;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.lib.Library;
@ -86,7 +87,7 @@ public class HbmPotion extends Potion {
if(this == taint) {
if(!(entity instanceof EntityTaintedCreeper) && entity.worldObj.rand.nextInt(80) == 0)
if(!(entity instanceof EntityTaintedCreeper) && !(entity instanceof EntityTaintCrab) && entity.worldObj.rand.nextInt(40) == 0)
entity.attackEntityFrom(ModDamageSource.taint, (level + 1));
if(MainRegistry.enableHardcoreTaint && !entity.worldObj.isRemote) {

View File

@ -0,0 +1,68 @@
package com.hbm.render.block;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
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.minecraftforge.client.model.obj.WavefrontObject;
public class RenderConserve implements ISimpleBlockRenderingHandler {
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
GL11.glPushMatrix();
Tessellator tessellator = Tessellator.instance;
IIcon iicon = block.getIcon(0, 0);
tessellator.setColorOpaque_F(1, 1, 1);
if (renderer.hasOverrideBlockTexture())
{
iicon = renderer.overrideBlockTexture;
}
GL11.glTranslated(0, -0.5, 0);
tessellator.startDrawingQuads();
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.conservecrate, iicon, tessellator, 0, false);
tessellator.draw();
GL11.glPopMatrix();
}
@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));
tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
tessellator.setColorOpaque_F(1, 1, 1);
if (renderer.hasOverrideBlockTexture())
{
iicon = renderer.overrideBlockTexture;
}
tessellator.addTranslation(x + 0.5F, y, z + 0.5F);
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.conservecrate, iicon, tessellator, 0, true);
tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F);
return true;
}
@Override
public boolean shouldRender3DInInventory(int modelId) {
return true;
}
@Override
public int getRenderId() {
return 334085;
}
}

View File

@ -0,0 +1,52 @@
package com.hbm.render.entity.mob;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.mob.EntityTaintCrab;
import com.hbm.main.ResourceManager;
import com.hbm.render.model.ModelTaintCrab;
import com.hbm.render.util.BeamPronter;
import com.hbm.render.util.BeamPronter.EnumBeamType;
import com.hbm.render.util.BeamPronter.EnumWaveType;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class RenderTaintCrab extends RenderLiving {
public RenderTaintCrab() {
super(new ModelTaintCrab(), 1.0F);
this.shadowOpaque = 0.0F;
}
public void doRender(EntityLiving entity, double x, double y, double z, float p_76986_8_, float p_76986_9_) {
if(entity instanceof EntityTaintCrab) {
GL11.glPushMatrix();
GL11.glTranslated(x, y + 1.25, z);
double sx = entity.posX;
double sy = entity.posY + 1.25;
double sz = entity.posZ;
for(double[] target : ((EntityTaintCrab)entity).targets) {
double length = Math.sqrt(Math.pow(target[0] - sx, 2) + Math.pow(target[1] - sy, 2) + Math.pow(target[2] - sz, 2));
BeamPronter.prontBeam(Vec3.createVectorHelper(target[0] - sx, target[1] - sy, target[2] - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x404040, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F);
}
GL11.glPopMatrix();
}
super.doRender(entity, x, y, z, p_76986_8_, p_76986_9_);
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return ResourceManager.taintcrab_tex;
}
}

View File

@ -0,0 +1,52 @@
package com.hbm.render.entity.mob;
import org.lwjgl.opengl.GL11;
import com.hbm.entity.mob.EntityTeslaCrab;
import com.hbm.main.ResourceManager;
import com.hbm.render.model.ModelTeslaCrab;
import com.hbm.render.util.BeamPronter;
import com.hbm.render.util.BeamPronter.EnumBeamType;
import com.hbm.render.util.BeamPronter.EnumWaveType;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Vec3;
public class RenderTeslaCrab extends RenderLiving {
public RenderTeslaCrab() {
super(new ModelTeslaCrab(), 1.0F);
this.shadowOpaque = 0.0F;
}
public void doRender(EntityLiving entity, double x, double y, double z, float p_76986_8_, float p_76986_9_) {
if(entity instanceof EntityTeslaCrab) {
GL11.glPushMatrix();
GL11.glTranslated(x, y + 1, z);
double sx = entity.posX;
double sy = entity.posY + 1;
double sz = entity.posZ;
for(double[] target : ((EntityTeslaCrab)entity).targets) {
double length = Math.sqrt(Math.pow(target[0] - sx, 2) + Math.pow(target[1] - sy, 2) + Math.pow(target[2] - sz, 2));
BeamPronter.prontBeam(Vec3.createVectorHelper(target[0] - sx, target[1] - sy, target[2] - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x404040, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F);
}
GL11.glPopMatrix();
}
super.doRender(entity, x, y, z, p_76986_8_, p_76986_9_);
}
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return ResourceManager.teslacrab_tex;
}
}

View File

@ -0,0 +1,39 @@
package com.hbm.render.model;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import net.minecraft.client.model.ModelBase;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
public class ModelTaintCrab extends ModelBase {
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.render(entity, f, f1, f2, f3, f4, f5);
GL11.glPushMatrix();
GL11.glRotatef(90, 0, -1, 0);
GL11.glRotatef(180, 0, 0, 1);
GL11.glTranslatef(0, -1.5F, 0);
float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F;
ResourceManager.taintcrab.renderPart("Body");
GL11.glPushMatrix();
GL11.glRotatef(rot, 0, 1, 0);
ResourceManager.taintcrab.renderPart("Legs1");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glRotatef(rot, 0, -1, 0);
ResourceManager.taintcrab.renderPart("Legs2");
GL11.glPopMatrix();
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,39 @@
package com.hbm.render.model;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import net.minecraft.client.model.ModelBase;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
public class ModelTeslaCrab extends ModelBase {
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
super.render(entity, f, f1, f2, f3, f4, f5);
GL11.glPushMatrix();
GL11.glRotatef(180, 0, 0, 1);
GL11.glTranslatef(0, -1.5F, 0);
float rot = -(MathHelper.cos(f * 0.6662F * 2.0F + 0.0F) * 0.4F) * f1 * 57.3F;
ResourceManager.teslacrab.renderPart("Body");
GL11.glPushMatrix();
GL11.glRotatef(rot, 0, 1, 0);
ResourceManager.teslacrab.renderPart("Front");
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glRotatef(rot, 0, -1, 0);
ResourceManager.teslacrab.renderPart("Back");
GL11.glPopMatrix();
GL11.glPopMatrix();
}
}

View File

@ -3,8 +3,10 @@ package com.hbm.tileentity.machine;
import java.util.List;
import com.hbm.entity.mob.EntityCyberCrab;
import com.hbm.entity.mob.EntityTeslaCrab;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
@ -18,13 +20,20 @@ public class TileEntityCyberCrab extends TileEntity {
if (!this.worldObj.isRemote) {
age++;
if(age > 200) {
if(age > 200 && worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.air) {
List<Entity> entities = this.worldObj.getEntitiesWithinAABB(EntityCyberCrab.class,
AxisAlignedBB.getBoundingBox(this.xCoord - 5, this.yCoord - 2, this.zCoord - 5, this.xCoord + 6,
this.yCoord + 4, this.zCoord + 6));
if(entities.size() < 5) {
EntityCyberCrab crab = new EntityCyberCrab(worldObj);
EntityCyberCrab crab;
if(worldObj.rand.nextInt(5) == 0)
crab = new EntityTeslaCrab(worldObj);
else
crab = new EntityCyberCrab(worldObj);
crab.setPosition(this.xCoord + 0.5, this.yCoord + 1, this.zCoord + 0.5);
worldObj.spawnEntityInWorld(crab);
}

View File

@ -4,6 +4,10 @@ import java.util.ArrayList;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.entity.mob.EntityCyberCrab;
import com.hbm.entity.mob.EntityNuclearCreeper;
import com.hbm.entity.mob.EntityTaintCrab;
import com.hbm.entity.mob.EntityTeslaCrab;
import com.hbm.interfaces.IConsumer;
import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
@ -11,7 +15,9 @@ import com.hbm.tileentity.TileEntityMachineBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
@ -19,6 +25,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public class TileEntityTesla extends TileEntityMachineBase implements IConsumer {
@ -56,27 +63,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IConsumer
double dy = yCoord + offset;
double dz = zCoord + 0.5;
List<EntityLivingBase> targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(dx - range, dy - range, dz - range, dx + range, dy + range, dz + range));
for(EntityLivingBase e : targets) {
if(e instanceof EntityOcelot)
continue;
Vec3 vec = Vec3.createVectorHelper(e.posX - dx, e.posY + e.height / 2 - dy, e.posZ - dz);
if(vec.lengthVector() > range)
continue;
if(Library.isObstructed(worldObj, xCoord + 0.5, yCoord + offset, zCoord + 0.5, e.posX, e.posY + e.height / 2, e.posZ))
continue;
if(!(e instanceof EntityPlayer && Library.checkForFaraday((EntityPlayer)e)))
if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size()))
worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F);
this.targets.add(new double[] {e.posX, e.posY + e.height / 2, e.posZ});
}
this.targets = zap(worldObj, dx, dy, dz, range, null);
}
NBTTagCompound data = new NBTTagCompound();
@ -93,6 +80,65 @@ public class TileEntityTesla extends TileEntityMachineBase implements IConsumer
}
}
public static List<double[]> zap(World worldObj, double x, double y, double z, double radius, Entity source) {
List<double[]> ret = new ArrayList();
List<EntityLivingBase> targets = worldObj.getEntitiesWithinAABB(EntityLivingBase.class, AxisAlignedBB.getBoundingBox(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius));
for(EntityLivingBase e : targets) {
if(e instanceof EntityOcelot || e == source)
continue;
Vec3 vec = Vec3.createVectorHelper(e.posX - x, e.posY + e.height / 2 - y, e.posZ - z);
if(vec.lengthVector() > range)
continue;
if(Library.isObstructed(worldObj, x, y, z, e.posX, e.posY + e.height / 2, e.posZ))
continue;
if(e instanceof EntityTaintCrab) {
ret.add(new double[] {e.posX, e.posY + 1.25, e.posZ});
e.heal(15F);
continue;
}
if(e instanceof EntityTeslaCrab) {
ret.add(new double[] {e.posX, e.posY + 1, e.posZ});
e.heal(10F);
continue;
}
if(e instanceof EntityCyberCrab) {
ret.add(new double[] {e.posX, e.posY + e.height / 2, e.posZ});
continue;
}
if(!(e instanceof EntityPlayer && Library.checkForFaraday((EntityPlayer)e)))
if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size()))
worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F);
if(e instanceof EntityCreeper) {
((EntityCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1));
}
if(e instanceof EntityNuclearCreeper) {
((EntityNuclearCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1));
}
double offset = 0;
if(source != null && e instanceof EntityPlayer && worldObj.isRemote)
offset = e.height;
ret.add(new double[] {e.posX, e.posY + e.height / 2 - offset, e.posZ});
}
return ret;
}
public void networkUnpack(NBTTagCompound data) {
int s = data.getShort("length");