mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
added more stupid crabs, patched up remaining stuff
This commit is contained in:
parent
ca58bfa74a
commit
b9584c897c
@ -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)
|
||||
|
||||
@ -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)
|
||||
|
||||
154
assets/hbm/models/blocks/conservecrate.obj
Normal file
154
assets/hbm/models/blocks/conservecrate.obj
Normal 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
|
||||
1139
assets/hbm/models/mobs/taintcrab.obj
Normal file
1139
assets/hbm/models/mobs/taintcrab.obj
Normal file
File diff suppressed because it is too large
Load Diff
588
assets/hbm/models/mobs/teslacrab.obj
Normal file
588
assets/hbm/models/mobs/teslacrab.obj
Normal 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
|
||||
BIN
assets/hbm/textures/armor/starmetal_1.png
Normal file
BIN
assets/hbm/textures/armor/starmetal_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
assets/hbm/textures/armor/starmetal_2.png
Normal file
BIN
assets/hbm/textures/armor/starmetal_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 484 B |
BIN
assets/hbm/textures/blocks/crate_can.png
Normal file
BIN
assets/hbm/textures/blocks/crate_can.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
BIN
assets/hbm/textures/entity/taintcrab.png
Normal file
BIN
assets/hbm/textures/entity/taintcrab.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/hbm/textures/entity/taintcrab_clean.png
Normal file
BIN
assets/hbm/textures/entity/taintcrab_clean.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 499 B |
BIN
assets/hbm/textures/entity/teslacrab.png
Normal file
BIN
assets/hbm/textures/entity/teslacrab.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 249 B |
@ -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);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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_) {
|
||||
|
||||
@ -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);
|
||||
|
||||
88
com/hbm/entity/mob/EntityTaintCrab.java
Normal file
88
com/hbm/entity/mob/EntityTaintCrab.java
Normal 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);
|
||||
}
|
||||
}
|
||||
48
com/hbm/entity/mob/EntityTeslaCrab.java
Normal file
48
com/hbm/entity/mob/EntityTeslaCrab.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
@ -52,7 +52,7 @@ public class EntityTom extends EntityThrowable {
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isInRangeToRenderDist(double distance)
|
||||
{
|
||||
return distance < 100000;
|
||||
return distance < 500000;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 });
|
||||
|
||||
@ -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() {
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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"));
|
||||
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
68
com/hbm/render/block/RenderConserve.java
Normal file
68
com/hbm/render/block/RenderConserve.java
Normal 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;
|
||||
}
|
||||
}
|
||||
52
com/hbm/render/entity/mob/RenderTaintCrab.java
Normal file
52
com/hbm/render/entity/mob/RenderTaintCrab.java
Normal 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;
|
||||
}
|
||||
}
|
||||
52
com/hbm/render/entity/mob/RenderTeslaCrab.java
Normal file
52
com/hbm/render/entity/mob/RenderTeslaCrab.java
Normal 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;
|
||||
}
|
||||
}
|
||||
39
com/hbm/render/model/ModelTaintCrab.java
Normal file
39
com/hbm/render/model/ModelTaintCrab.java
Normal 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();
|
||||
}
|
||||
}
|
||||
39
com/hbm/render/model/ModelTeslaCrab.java
Normal file
39
com/hbm/render/model/ModelTeslaCrab.java
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user