alas, even more trash
@ -588,6 +588,7 @@ item.attachment_mask.name=Anfügbare Gasmaske
|
||||
item.australium_iii.name=Mark III Lebensverlängerer
|
||||
item.australium_iv.name=Mark IV Lebensverlängerer
|
||||
item.australium_v.name=Mark V Lebensverlängerer
|
||||
item.back_tesla.name=Teslarucksack
|
||||
item.balefire_and_ham.name=Ham and Balefire-Eggs
|
||||
item.balefire_and_steel.name=Balefire-Zeug
|
||||
item.balefire_scrambled.name=Rühr-Balefire-Ei
|
||||
@ -1286,11 +1287,15 @@ item.ingot_uranium.name=Uranbarren
|
||||
item.ingot_uranium_fuel.name=Urankernbrennstoffbarren
|
||||
item.ingot_verticium.name=Verticiumbarren
|
||||
item.ingot_weidanium.name=Weidaniumbarren
|
||||
item.insert_du.name=DU-Einlage
|
||||
item.insert_era.name=Explosive Reaktivpaanzerungseinlage
|
||||
item.insert_esapi.name=ESAPI-Einlage
|
||||
item.insert_kevlar.name=Kevlar-Einlage
|
||||
item.insert_kevlar.name=Kevlareinlage
|
||||
item.insert_sapi.name=SAPI-Einlage
|
||||
item.insert_polonium.name=Poloniumeinlage
|
||||
item.insert_steel.name=Schwere Stahleinlage
|
||||
item.insert_xsapi.name=XSAPI-Einlage
|
||||
item.insert_yharonite.name=Yharoniteinlage
|
||||
item.jackt.name=Verdammt stylische Kugeljacke
|
||||
item.jackt2.name=Verdammt stylische Kugeljacke 2: Tokyo Drift
|
||||
item.jetpack_boost.name=Boosterrucksack
|
||||
@ -2134,6 +2139,7 @@ item.weapon_pipe_lead.name=Die Handüberbrückung
|
||||
item.weapon_pipe_rusty.name=Der Einstellungskorrigierer
|
||||
item.weapon_saw.name=Ärztlich autorisierter Mord
|
||||
item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r
|
||||
item.wd40.name=VT-40
|
||||
item.wire_advanced_alloy.name=Supraleiter
|
||||
item.wire_aluminium.name=Aluminiumdraht
|
||||
item.wire_copper.name=Kupferdraht
|
||||
@ -2281,6 +2287,7 @@ tile.brick_dungeon_tile.name=Berzelianitfliese
|
||||
tile.brick_jungle.name=Enargitziegel
|
||||
tile.brick_jungle_circle.name=Mechanistenzirkel
|
||||
tile.brick_jungle_cracked.name=Rissige Enargitziegel
|
||||
tile.brick_jungle_fragile.name=Brüchige Enargitziegel
|
||||
tile.brick_jungle_glyph.name=Enargit-Glyphenziegel
|
||||
tile.brick_jungle_lava.name=Magmatische Enargitziegel
|
||||
tile.brick_jungle_mystic.name=Arkane Enargitziegel
|
||||
|
||||
@ -588,6 +588,7 @@ item.attachment_mask.name=Gas Mask Attachable
|
||||
item.australium_iii.name=Mark III Life Extender
|
||||
item.australium_iv.name=Mark IV Life Extender
|
||||
item.australium_v.name=Mark V Life Extender
|
||||
item.back_tesla.name=Back-Mounted Tesla Coil
|
||||
item.balefire_and_ham.name=Ham and Balefire Eggs
|
||||
item.balefire_and_steel.name=Balefire and Steel
|
||||
item.balefire_scrambled.name=Scrambled Balefire Egg
|
||||
@ -1286,11 +1287,15 @@ item.ingot_uranium.name=Uranium Ingot
|
||||
item.ingot_uranium_fuel.name=Ingot of Uranium Fuel
|
||||
item.ingot_verticium.name=Verticium Ingot
|
||||
item.ingot_weidanium.name=Weidanium Ingot
|
||||
item.insert_du.name=DU Insert
|
||||
item.insert_era.name=Explosive Reactive Armor Insert
|
||||
item.insert_esapi.name=ESAPI Insert
|
||||
item.insert_kevlar.name=Kevlar Insert
|
||||
item.insert_sapi.name=SAPI Insert
|
||||
item.insert_polonium.name=Polonium Insert
|
||||
item.insert_steel.name=Heavy Steel Insert
|
||||
item.insert_xsapi.name=XSAPI Insert
|
||||
item.insert_yharonite.name=Yharonite Insert
|
||||
item.jackt.name=Damn Stylish Ballistic Jacket
|
||||
item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift
|
||||
item.jetpack_boost.name=Boostpack
|
||||
@ -2134,6 +2139,7 @@ item.weapon_pipe_lead.name=The Manual Override
|
||||
item.weapon_pipe_rusty.name=The Attitude Adjuster
|
||||
item.weapon_saw.name=Doctor Assisted Homicide
|
||||
item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r
|
||||
item.wd40.name=VT-40
|
||||
item.wire_advanced_alloy.name=Super Conductor
|
||||
item.wire_aluminium.name=Aluminium Wire
|
||||
item.wire_copper.name=Copper Wire
|
||||
@ -2281,6 +2287,7 @@ tile.brick_dungeon_tile.name=Berzelianite Tile
|
||||
tile.brick_jungle.name=Enargite Bricks
|
||||
tile.brick_jungle_circle.name=Mechanist's Circle
|
||||
tile.brick_jungle_cracked.name=Cracked Enargite Bricks
|
||||
tile.brick_jungle_fragile.name=Brittle Enargite Bricks
|
||||
tile.brick_jungle_glyph.name=Enargite Glyph Bricks
|
||||
tile.brick_jungle_lava.name=Magmatic Enargite Bricks
|
||||
tile.brick_jungle_mystic.name=Arcane Enargite Bricks
|
||||
|
||||
704
src/main/java/assets/hbm/models/armor/mod_tesla.obj
Normal file
@ -0,0 +1,704 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'tesla.blend'
|
||||
# www.blender.org
|
||||
o Cube
|
||||
v 1.999993 2.000000 2.500000
|
||||
v -2.000007 2.000000 2.500000
|
||||
v 1.999995 9.999999 2.500000
|
||||
v -2.000005 10.000001 2.500000
|
||||
v -2.000007 3.000000 4.500000
|
||||
v 1.999993 3.000000 4.500000
|
||||
v -2.000005 9.000001 4.500000
|
||||
v 1.999995 8.999999 4.500000
|
||||
v 1.999993 3.000000 2.500000
|
||||
v -2.000007 3.000000 2.500000
|
||||
v 1.999995 8.999999 2.500000
|
||||
v -2.000005 9.000001 2.500000
|
||||
v -3.000007 3.000002 2.500000
|
||||
v -3.000005 9.000001 2.500000
|
||||
v 2.999993 2.999998 2.500000
|
||||
v 2.999995 8.999999 2.500000
|
||||
v 1.999993 3.000000 3.500000
|
||||
v 1.999995 8.999999 3.500000
|
||||
v -2.000005 9.000001 3.500000
|
||||
v -2.000007 3.000000 3.500000
|
||||
v -3.000005 9.000001 3.500000
|
||||
v -3.000007 3.000002 3.500000
|
||||
v 2.999993 2.999998 3.500000
|
||||
v 2.999995 8.999999 3.500000
|
||||
v 1.999993 4.000000 4.500000
|
||||
v 1.999995 8.000000 4.500000
|
||||
v -2.000006 4.000000 4.500000
|
||||
v -2.000005 8.000001 4.500000
|
||||
v -3.000006 4.000002 3.500000
|
||||
v -3.000005 8.000001 3.500000
|
||||
v 2.999994 3.999998 3.500000
|
||||
v 2.999995 7.999998 3.500000
|
||||
v 1.999993 4.000000 3.500000
|
||||
v 1.999995 8.000000 3.500000
|
||||
v -2.000006 4.000000 3.500000
|
||||
v -2.000005 8.000001 3.500000
|
||||
v -0.000006 4.500000 11.000000
|
||||
v -1.060668 4.939341 5.000000
|
||||
v -1.060668 4.939341 11.000000
|
||||
v -1.500006 6.000000 5.000000
|
||||
v -1.500006 6.000000 11.000000
|
||||
v -1.060667 7.060661 5.000000
|
||||
v -1.060667 7.060661 11.000000
|
||||
v -0.000005 7.500000 5.000000
|
||||
v -0.000005 7.500000 11.000000
|
||||
v 1.060656 7.060659 5.000000
|
||||
v 1.060656 7.060659 11.000000
|
||||
v 1.499994 6.000000 5.000000
|
||||
v 1.499994 6.000000 11.000000
|
||||
v 1.060655 4.939341 5.000000
|
||||
v 1.060655 4.939341 11.000000
|
||||
v -0.000006 4.500000 9.500000
|
||||
v -0.000007 3.500000 10.500000
|
||||
v -0.000007 1.500000 10.500000
|
||||
v -0.000008 0.500000 9.500000
|
||||
v -0.000008 0.500000 8.500000
|
||||
v -0.000007 1.500000 7.500000
|
||||
v -0.000007 3.500000 7.500000
|
||||
v -0.000006 4.500000 8.500000
|
||||
v 1.060655 4.939339 9.500000
|
||||
v 1.767761 4.232231 10.500000
|
||||
v 3.181973 2.818018 10.500000
|
||||
v 3.889081 2.110910 9.500000
|
||||
v 3.889081 2.110910 8.500000
|
||||
v 3.181973 2.818018 7.500000
|
||||
v 1.767761 4.232231 7.500000
|
||||
v 1.060655 4.939339 8.500000
|
||||
v 1.499994 6.000000 9.500000
|
||||
v 2.499996 5.999998 10.500000
|
||||
v 4.499994 5.999998 10.500000
|
||||
v 5.499994 5.999996 9.500000
|
||||
v 5.499994 5.999996 8.500000
|
||||
v 4.499994 5.999998 7.500000
|
||||
v 2.499996 5.999998 7.500000
|
||||
v 1.499994 6.000000 8.500000
|
||||
v 1.060656 7.060661 9.500000
|
||||
v 1.767764 7.767765 10.500000
|
||||
v 3.181975 9.181980 10.500000
|
||||
v 3.889087 9.889085 9.500000
|
||||
v 3.889087 9.889085 8.500000
|
||||
v 3.181975 9.181980 7.500000
|
||||
v 1.767764 7.767765 7.500000
|
||||
v 1.060656 7.060661 8.500000
|
||||
v -0.000005 7.500000 9.500000
|
||||
v -0.000001 8.500000 10.500000
|
||||
v -0.000004 10.500000 10.500000
|
||||
v -0.000000 11.500001 9.500000
|
||||
v -0.000000 11.500001 8.500000
|
||||
v -0.000004 10.500000 7.500000
|
||||
v -0.000001 8.500000 7.500000
|
||||
v -0.000005 7.500000 8.500000
|
||||
v -1.060663 7.060661 9.500000
|
||||
v -1.767770 7.767769 10.500000
|
||||
v -3.181985 9.181982 10.500000
|
||||
v -3.889088 9.889092 9.500000
|
||||
v -3.889088 9.889092 8.500000
|
||||
v -3.181985 9.181982 7.500000
|
||||
v -1.767770 7.767769 7.500000
|
||||
v -1.060663 7.060661 8.500000
|
||||
v -1.500006 6.000000 9.500000
|
||||
v -2.500006 6.000004 10.500000
|
||||
v -4.500006 6.000002 10.500000
|
||||
v -5.500006 6.000008 9.500000
|
||||
v -5.500006 6.000008 8.500000
|
||||
v -4.500006 6.000002 7.500000
|
||||
v -2.500006 6.000004 7.500000
|
||||
v -1.500006 6.000000 8.500000
|
||||
v -1.060666 4.939341 9.500000
|
||||
v -1.767775 4.232235 10.500000
|
||||
v -3.181987 2.818022 10.500000
|
||||
v -3.889099 2.110918 9.500000
|
||||
v -3.889099 2.110918 8.500000
|
||||
v -3.181987 2.818022 7.500000
|
||||
v -1.767775 4.232235 7.500000
|
||||
v -1.060666 4.939341 8.500000
|
||||
v -0.000007 3.500000 10.500000
|
||||
v 1.767761 4.232231 10.500000
|
||||
v 2.499996 5.999998 10.500000
|
||||
v 1.767764 7.767765 10.500000
|
||||
v -0.000001 8.500000 10.500000
|
||||
v -1.767770 7.767769 10.500000
|
||||
v -2.500006 6.000004 10.500000
|
||||
v -1.767775 4.232235 10.500000
|
||||
v -0.000007 3.500000 11.000000
|
||||
v 1.767761 4.232231 11.000000
|
||||
v 2.499996 5.999998 11.000000
|
||||
v 1.767764 7.767765 11.000000
|
||||
v -0.000001 8.500000 11.000000
|
||||
v -1.767770 7.767769 11.000000
|
||||
v -2.500006 6.000004 11.000000
|
||||
v -1.767775 4.232235 11.000000
|
||||
v -0.000007 4.000000 4.500000
|
||||
v 1.414207 4.585787 4.500000
|
||||
v 1.999994 6.000000 4.500000
|
||||
v 1.414208 7.414213 4.500000
|
||||
v -0.000005 8.000000 4.500000
|
||||
v -1.414219 7.414213 4.500000
|
||||
v -2.000006 6.000000 4.500000
|
||||
v -1.414219 4.585787 4.500000
|
||||
v 1.414207 4.585787 5.000000
|
||||
v -0.000007 4.000000 5.000000
|
||||
v 1.999994 6.000000 5.000000
|
||||
v 1.414208 7.414213 5.000000
|
||||
v -0.000005 8.000000 5.000000
|
||||
v -1.414219 7.414213 5.000000
|
||||
v -2.000006 6.000000 5.000000
|
||||
v -1.414219 4.585787 5.000000
|
||||
v -0.000006 6.000000 5.000000
|
||||
v -0.000006 6.000000 11.000000
|
||||
v -0.000006 4.500000 5.000000
|
||||
vt 0.300000 0.476190
|
||||
vt 0.700000 0.380952
|
||||
vt 0.700000 0.476190
|
||||
vt 0.700000 0.000000
|
||||
vt 0.300000 0.095238
|
||||
vt 0.300000 -0.000000
|
||||
vt 0.000000 0.380952
|
||||
vt 0.100000 0.428571
|
||||
vt 0.000000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 0.900000 0.380952
|
||||
vt 1.000000 0.380952
|
||||
vt 0.000000 0.047619
|
||||
vt 0.100000 0.095238
|
||||
vt 0.000000 0.095238
|
||||
vt 1.000000 0.095238
|
||||
vt 0.900000 0.047619
|
||||
vt 1.000000 0.047619
|
||||
vt 0.100000 0.142857
|
||||
vt 0.100000 0.333333
|
||||
vt 0.100000 0.380952
|
||||
vt 0.200000 0.333333
|
||||
vt 0.200000 0.380952
|
||||
vt 0.300000 0.333333
|
||||
vt 0.200000 0.285714
|
||||
vt 0.200000 0.095238
|
||||
vt 0.100000 0.047619
|
||||
vt 0.300000 0.142857
|
||||
vt 0.200000 0.142857
|
||||
vt 0.200000 0.190476
|
||||
vt 0.100000 0.428571
|
||||
vt 0.300000 0.380952
|
||||
vt 0.800000 0.380952
|
||||
vt 0.900000 0.428571
|
||||
vt 0.900000 0.142857
|
||||
vt 0.900000 0.095238
|
||||
vt 0.800000 0.142857
|
||||
vt 0.800000 0.095238
|
||||
vt 0.700000 0.142857
|
||||
vt 0.900000 0.047619
|
||||
vt 0.700000 0.095238
|
||||
vt 0.800000 0.190476
|
||||
vt 0.800000 0.333333
|
||||
vt 0.800000 0.285714
|
||||
vt 0.900000 0.333333
|
||||
vt 0.700000 0.333333
|
||||
vt 0.800000 0.142857
|
||||
vt 0.800000 0.333333
|
||||
vt 0.200000 0.333333
|
||||
vt 0.200000 0.142857
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 1.000000 0.428571
|
||||
vt 0.950000 0.785714
|
||||
vt 0.900000 0.714286
|
||||
vt 0.900000 0.714286
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.900000 0.714286
|
||||
vt 1.000000 0.428571
|
||||
vt 1.000000 0.714286
|
||||
vt 0.300000 0.833333
|
||||
vt 0.600000 0.928571
|
||||
vt 0.400000 0.928571
|
||||
vt 0.400000 0.547619
|
||||
vt 0.550000 0.476190
|
||||
vt 0.600000 0.547619
|
||||
vt 0.300000 0.714286
|
||||
vt 0.650000 0.642857
|
||||
vt 0.700000 0.714286
|
||||
vt 0.700000 0.761905
|
||||
vt 0.650000 0.833333
|
||||
vt 0.550000 1.000000
|
||||
vt 0.450000 1.000000
|
||||
vt 0.300000 0.642857
|
||||
vt 0.300000 0.761905
|
||||
vt 0.300000 0.642857
|
||||
vt 0.600000 0.547619
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.714286
|
||||
vt 0.700000 0.761905
|
||||
vt 0.300000 0.761905
|
||||
vt 0.300000 0.833333
|
||||
vt 0.600000 0.928571
|
||||
vt 0.400000 0.928571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.400000 0.547619
|
||||
vt 0.700000 0.714286
|
||||
vt 0.650000 0.833333
|
||||
vt 0.450000 1.000000
|
||||
vt 0.550000 1.000000
|
||||
vt 0.300000 0.833333
|
||||
vt 0.600000 0.928571
|
||||
vt 0.400000 0.928571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.600000 0.547619
|
||||
vt 0.400000 0.547619
|
||||
vt 0.300000 0.642857
|
||||
vt 0.700000 0.714286
|
||||
vt 0.300000 0.714286
|
||||
vt 0.700000 0.761905
|
||||
vt 0.650000 0.833333
|
||||
vt 0.450000 1.000000
|
||||
vt 0.550000 1.000000
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.761905
|
||||
vt 0.450000 0.476190
|
||||
vt 0.600000 0.547619
|
||||
vt 0.400000 0.547619
|
||||
vt 0.300000 0.642857
|
||||
vt 0.700000 0.714286
|
||||
vt 0.300000 0.714286
|
||||
vt 0.300000 0.833333
|
||||
vt 0.700000 0.761905
|
||||
vt 0.650000 0.833333
|
||||
vt 0.450000 1.000000
|
||||
vt 0.600000 0.928571
|
||||
vt 0.550000 1.000000
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.761905
|
||||
vt 0.400000 0.928571
|
||||
vt 0.300000 0.642857
|
||||
vt 0.700000 0.714286
|
||||
vt 0.300000 0.714286
|
||||
vt 0.300000 0.833333
|
||||
vt 0.700000 0.761905
|
||||
vt 0.650000 0.833333
|
||||
vt 0.450000 1.000000
|
||||
vt 0.600000 0.928571
|
||||
vt 0.550000 1.000000
|
||||
vt 0.600000 0.547619
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.761905
|
||||
vt 0.400000 0.928571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.400000 0.547619
|
||||
vt 0.450000 1.000000
|
||||
vt 0.600000 0.928571
|
||||
vt 0.550000 1.000000
|
||||
vt 0.300000 0.642857
|
||||
vt 0.600000 0.547619
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.714286
|
||||
vt 0.700000 0.761905
|
||||
vt 0.300000 0.761905
|
||||
vt 0.300000 0.833333
|
||||
vt 0.400000 0.928571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.400000 0.547619
|
||||
vt 0.700000 0.714286
|
||||
vt 0.650000 0.833333
|
||||
vt 0.300000 0.642857
|
||||
vt 0.600000 0.547619
|
||||
vt 0.650000 0.642857
|
||||
vt 0.300000 0.714286
|
||||
vt 0.700000 0.761905
|
||||
vt 0.300000 0.761905
|
||||
vt 0.300000 0.833333
|
||||
vt 0.600000 0.928571
|
||||
vt 0.400000 0.928571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.400000 0.547619
|
||||
vt 0.700000 0.714286
|
||||
vt 0.650000 0.833333
|
||||
vt 0.450000 1.000000
|
||||
vt 0.550000 1.000000
|
||||
vt 0.600000 0.928571
|
||||
vt 0.450000 1.000000
|
||||
vt 0.400000 0.928571
|
||||
vt 0.600000 0.547619
|
||||
vt 0.450000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.300000 0.642857
|
||||
vt 0.400000 0.547619
|
||||
vt 0.700000 0.714286
|
||||
vt 0.650000 0.642857
|
||||
vt 0.700000 0.761905
|
||||
vt 0.300000 0.714286
|
||||
vt 0.300000 0.833333
|
||||
vt 0.300000 0.761905
|
||||
vt 0.650000 0.833333
|
||||
vt 0.200000 0.547619
|
||||
vt 0.000000 0.571429
|
||||
vt 0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.000000 0.571429
|
||||
vt 0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.000000 0.571429
|
||||
vt 0.000000 0.547619
|
||||
vt 0.200000 0.571429
|
||||
vt -0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.200000 0.571429
|
||||
vt 0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.000000 0.571429
|
||||
vt 0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt -0.000000 0.571429
|
||||
vt -0.000000 0.547619
|
||||
vt 0.200000 0.571429
|
||||
vt -0.000000 0.547619
|
||||
vt 0.200000 0.547619
|
||||
vt 0.000000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.100000 0.547619
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.452381
|
||||
vt 0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.452381
|
||||
vt 0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.452381
|
||||
vt 0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt -0.000000 0.452381
|
||||
vt -0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt -0.000000 0.452381
|
||||
vt -0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.452381
|
||||
vt 0.000000 0.428571
|
||||
vt 0.200000 0.428571
|
||||
vt 0.000000 0.452381
|
||||
vt 0.000000 0.428571
|
||||
vt 0.900000 0.714286
|
||||
vt 0.200000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.900000 0.714286
|
||||
vt 0.200000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.200000 0.452381
|
||||
vt 0.900000 0.714286
|
||||
vt 0.900000 0.714286
|
||||
vt 0.900000 0.714286
|
||||
vt 0.900000 0.428571
|
||||
vt 0.100000 0.047619
|
||||
vt 0.100000 0.095238
|
||||
vt 0.100000 0.380952
|
||||
vt 0.900000 0.380952
|
||||
vt 0.900000 0.095238
|
||||
vt 0.900000 0.428571
|
||||
vt 0.900000 0.428571
|
||||
vt 0.450000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 0.476190
|
||||
vt 0.550000 1.000000
|
||||
vt 0.200000 0.571429
|
||||
vt 0.200000 0.571429
|
||||
vt 0.200000 0.571429
|
||||
vt -0.000000 0.571429
|
||||
vt 0.000000 0.571429
|
||||
vt 0.200000 0.571429
|
||||
vt 0.200000 0.571429
|
||||
vt -0.000000 0.571429
|
||||
vn 0.0000 -0.8944 0.4472
|
||||
vn 0.0000 0.8944 0.4472
|
||||
vn -0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 1.0000 -0.0000 -0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn -0.7071 0.0000 0.7071
|
||||
vn 0.7071 -0.0000 0.7071
|
||||
vn 0.3827 -0.9239 0.0000
|
||||
vn -0.9239 -0.3827 0.0000
|
||||
vn -0.9239 0.3827 0.0000
|
||||
vn -0.3827 0.9239 0.0000
|
||||
vn 0.3827 0.9239 0.0000
|
||||
vn 0.9239 0.3827 0.0000
|
||||
vn -0.3827 -0.9239 0.0000
|
||||
vn 0.9239 -0.3827 0.0000
|
||||
vn -0.2811 0.6786 -0.6786
|
||||
vn 0.2811 -0.6786 -0.6786
|
||||
vn 0.2811 -0.6786 0.6786
|
||||
vn -0.2811 0.6786 0.6786
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -0.6786 0.2811 -0.6786
|
||||
vn 0.6786 -0.2811 -0.6786
|
||||
vn 0.6786 -0.2811 0.6786
|
||||
vn -0.6786 0.2811 0.6786
|
||||
vn -0.6786 -0.2811 -0.6786
|
||||
vn 0.6786 0.2811 -0.6786
|
||||
vn 0.6786 0.2811 0.6786
|
||||
vn -0.6786 -0.2811 0.6786
|
||||
vn -0.2811 -0.6786 -0.6786
|
||||
vn 0.2811 0.6786 -0.6786
|
||||
vn 0.2811 0.6786 0.6786
|
||||
vn -0.2811 -0.6786 0.6786
|
||||
s off
|
||||
f 1/1/1 5/2/1 2/3/1
|
||||
f 4/4/2 8/5/2 3/6/2
|
||||
f 15/7/3 17/8/3 9/9/3
|
||||
f 10/10/3 22/11/3 13/12/3
|
||||
f 11/13/4 24/14/4 16/15/4
|
||||
f 14/16/4 19/17/4 12/18/4
|
||||
f 32/19/5 31/20/5 15/7/5
|
||||
f 23/21/6 33/22/6 17/23/6
|
||||
f 25/24/5 17/23/5 33/22/5
|
||||
f 33/22/3 31/20/3 25/25/3
|
||||
f 18/26/5 3/27/5 8/5/5
|
||||
f 18/26/5 26/28/5 34/29/5
|
||||
f 34/29/6 24/14/6 18/26/6
|
||||
f 32/19/4 34/29/4 26/30/4
|
||||
f 1/31/5 17/23/5 6/32/5
|
||||
f 20/33/7 2/34/7 5/2/7
|
||||
f 30/35/7 14/16/7 13/12/7
|
||||
f 21/36/6 36/37/6 19/38/6
|
||||
f 28/39/7 19/38/7 36/37/7
|
||||
f 4/40/7 19/38/7 7/41/7
|
||||
f 36/37/4 30/35/4 28/42/4
|
||||
f 35/43/6 22/11/6 20/33/6
|
||||
f 35/43/3 27/44/3 29/45/3
|
||||
f 20/33/7 27/46/7 35/43/7
|
||||
f 27/46/8 30/47/8 29/48/8
|
||||
f 26/28/9 31/49/9 32/50/9
|
||||
f 28/39/6 27/46/6 26/28/6
|
||||
f 51/51/10 150/52/10 50/53/10
|
||||
f 39/54/11 40/55/11 38/56/11
|
||||
f 41/57/12 42/58/12 40/59/12
|
||||
f 43/60/13 44/61/13 42/62/13
|
||||
f 45/63/14 46/64/14 44/65/14
|
||||
f 47/66/15 48/67/15 46/68/15
|
||||
f 39/54/6 149/69/6 41/70/6
|
||||
f 39/71/16 150/72/16 37/73/16
|
||||
f 51/74/17 48/75/17 49/76/17
|
||||
f 54/77/6 61/78/6 53/79/6
|
||||
f 58/80/18 67/81/18 66/82/18
|
||||
f 56/83/19 65/84/19 64/85/19
|
||||
f 54/77/20 63/86/20 62/87/20
|
||||
f 53/79/21 60/88/21 52/89/21
|
||||
f 57/90/22 66/82/22 65/84/22
|
||||
f 56/83/10 63/86/10 55/91/10
|
||||
f 65/92/22 74/93/22 73/94/22
|
||||
f 64/95/17 71/96/17 63/97/17
|
||||
f 62/98/6 69/99/6 61/100/6
|
||||
f 67/101/23 74/93/23 66/102/23
|
||||
f 65/92/24 72/103/24 64/95/24
|
||||
f 62/98/25 71/96/25 70/104/25
|
||||
f 60/105/26 69/99/26 68/106/26
|
||||
f 70/107/6 77/108/6 69/109/6
|
||||
f 75/110/27 82/111/27 74/112/27
|
||||
f 73/113/28 80/114/28 72/115/28
|
||||
f 70/107/29 79/116/29 78/117/29
|
||||
f 68/118/30 77/108/30 76/119/30
|
||||
f 73/113/22 82/111/22 81/120/22
|
||||
f 72/115/15 79/116/15 71/121/15
|
||||
f 83/122/31 90/123/31 82/124/31
|
||||
f 81/125/32 88/126/32 80/127/32
|
||||
f 78/128/33 87/129/33 86/130/33
|
||||
f 76/131/34 85/132/34 84/133/34
|
||||
f 81/125/22 90/123/22 89/134/22
|
||||
f 80/127/14 87/129/14 79/135/14
|
||||
f 78/128/6 85/132/6 77/136/6
|
||||
f 89/137/18 96/138/18 88/139/18
|
||||
f 86/140/21 95/141/21 94/142/21
|
||||
f 84/143/20 93/144/20 92/145/20
|
||||
f 89/137/22 98/146/22 97/147/22
|
||||
f 88/139/13 95/141/13 87/148/13
|
||||
f 86/140/6 93/144/6 85/149/6
|
||||
f 91/150/19 98/146/19 90/151/19
|
||||
f 92/152/25 101/153/25 100/154/25
|
||||
f 97/155/22 106/156/22 105/157/22
|
||||
f 96/158/12 103/159/12 95/160/12
|
||||
f 94/161/6 101/153/6 93/162/6
|
||||
f 99/163/24 106/156/24 98/164/24
|
||||
f 97/155/23 104/165/23 96/158/23
|
||||
f 94/161/26 103/159/26 102/166/26
|
||||
f 105/167/22 114/168/22 113/169/22
|
||||
f 104/170/11 111/171/11 103/172/11
|
||||
f 102/173/6 109/174/6 101/175/6
|
||||
f 107/176/28 114/168/28 106/177/28
|
||||
f 105/167/27 112/178/27 104/170/27
|
||||
f 102/173/30 111/171/30 110/179/30
|
||||
f 100/180/29 109/174/29 108/181/29
|
||||
f 53/182/33 108/183/33 109/184/33
|
||||
f 58/185/32 115/186/32 59/187/32
|
||||
f 58/185/22 113/188/22 114/189/22
|
||||
f 56/190/31 113/188/31 57/191/31
|
||||
f 55/192/16 112/193/16 56/190/16
|
||||
f 55/192/34 110/194/34 111/195/34
|
||||
f 53/182/6 110/194/6 54/196/6
|
||||
f 119/197/15 126/198/15 118/199/15
|
||||
f 117/200/10 124/201/10 116/202/10
|
||||
f 116/203/16 131/204/16 123/205/16
|
||||
f 130/206/12 121/207/12 122/208/12
|
||||
f 128/209/14 119/210/14 120/211/14
|
||||
f 118/212/17 125/213/17 117/214/17
|
||||
f 123/215/11 130/216/11 122/217/11
|
||||
f 129/218/13 120/219/13 121/220/13
|
||||
f 140/221/6 142/222/6 148/223/6
|
||||
f 133/224/10 141/225/10 132/226/10
|
||||
f 132/227/16 147/228/16 139/229/16
|
||||
f 138/230/12 145/231/12 137/232/12
|
||||
f 136/233/14 143/234/14 135/235/14
|
||||
f 134/236/17 140/221/17 133/237/17
|
||||
f 139/238/11 146/239/11 138/240/11
|
||||
f 137/241/13 144/242/13 136/243/13
|
||||
f 135/244/15 142/245/15 134/246/15
|
||||
f 41/57/6 149/69/6 43/247/6
|
||||
f 141/248/6 148/223/6 147/228/6
|
||||
f 146/249/6 148/223/6 145/231/6
|
||||
f 148/223/6 142/245/6 143/250/6
|
||||
f 145/251/6 148/223/6 144/242/6
|
||||
f 45/63/6 149/69/6 47/252/6
|
||||
f 148/223/6 141/225/6 140/253/6
|
||||
f 143/234/6 144/254/6 148/223/6
|
||||
f 147/255/6 148/223/6 146/239/6
|
||||
f 49/76/6 149/69/6 51/74/6
|
||||
f 51/51/6 149/69/6 37/256/6
|
||||
f 43/60/6 149/69/6 45/257/6
|
||||
f 149/69/6 39/71/6 37/73/6
|
||||
f 47/66/6 149/69/6 49/258/6
|
||||
f 1/1/1 6/32/1 5/2/1
|
||||
f 4/4/2 7/41/2 8/5/2
|
||||
f 15/7/3 23/21/3 17/8/3
|
||||
f 10/10/3 20/259/3 22/11/3
|
||||
f 11/13/4 18/260/4 24/14/4
|
||||
f 14/16/4 21/36/4 19/17/4
|
||||
f 31/20/5 23/21/5 15/7/5
|
||||
f 15/7/5 16/15/5 32/19/5
|
||||
f 16/15/5 24/14/5 32/19/5
|
||||
f 23/21/6 31/20/6 33/22/6
|
||||
f 25/24/5 6/32/5 17/23/5
|
||||
f 18/26/5 11/261/5 3/27/5
|
||||
f 18/26/5 8/5/5 26/28/5
|
||||
f 34/29/6 32/19/6 24/14/6
|
||||
f 1/31/5 9/262/5 17/23/5
|
||||
f 20/33/7 10/263/7 2/34/7
|
||||
f 13/12/7 22/11/7 29/45/7
|
||||
f 30/35/7 21/36/7 14/16/7
|
||||
f 13/12/7 29/45/7 30/35/7
|
||||
f 21/36/6 30/35/6 36/37/6
|
||||
f 28/39/7 7/41/7 19/38/7
|
||||
f 4/40/7 12/264/7 19/38/7
|
||||
f 35/43/6 29/45/6 22/11/6
|
||||
f 20/33/7 5/2/7 27/46/7
|
||||
f 27/46/8 28/39/8 30/47/8
|
||||
f 26/28/9 25/24/9 31/49/9
|
||||
f 5/2/6 6/32/6 25/24/6
|
||||
f 26/28/6 8/5/6 7/41/6
|
||||
f 5/2/6 25/24/6 27/46/6
|
||||
f 25/24/6 26/28/6 27/46/6
|
||||
f 7/41/6 28/39/6 26/28/6
|
||||
f 51/51/10 37/256/10 150/52/10
|
||||
f 39/54/11 41/70/11 40/55/11
|
||||
f 41/57/12 43/247/12 42/58/12
|
||||
f 43/60/13 45/257/13 44/61/13
|
||||
f 45/63/14 47/252/14 46/64/14
|
||||
f 47/66/15 49/258/15 48/67/15
|
||||
f 39/71/16 38/265/16 150/72/16
|
||||
f 51/74/17 50/266/17 48/75/17
|
||||
f 54/77/6 62/87/6 61/78/6
|
||||
f 58/80/18 59/267/18 67/81/18
|
||||
f 56/83/19 57/90/19 65/84/19
|
||||
f 54/77/20 55/91/20 63/86/20
|
||||
f 53/79/21 61/78/21 60/88/21
|
||||
f 57/90/22 58/80/22 66/82/22
|
||||
f 56/83/10 64/85/10 63/86/10
|
||||
f 65/92/22 66/102/22 74/93/22
|
||||
f 64/95/17 72/103/17 71/96/17
|
||||
f 62/98/6 70/104/6 69/99/6
|
||||
f 67/101/23 75/268/23 74/93/23
|
||||
f 65/92/24 73/94/24 72/103/24
|
||||
f 62/98/25 63/97/25 71/96/25
|
||||
f 60/105/26 61/100/26 69/99/26
|
||||
f 70/107/6 78/117/6 77/108/6
|
||||
f 75/110/27 83/269/27 82/111/27
|
||||
f 73/113/28 81/120/28 80/114/28
|
||||
f 70/107/29 71/121/29 79/116/29
|
||||
f 68/118/30 69/109/30 77/108/30
|
||||
f 73/113/22 74/112/22 82/111/22
|
||||
f 72/115/15 80/114/15 79/116/15
|
||||
f 83/122/31 91/270/31 90/123/31
|
||||
f 81/125/32 89/134/32 88/126/32
|
||||
f 78/128/33 79/135/33 87/129/33
|
||||
f 76/131/34 77/136/34 85/132/34
|
||||
f 81/125/22 82/124/22 90/123/22
|
||||
f 80/127/14 88/126/14 87/129/14
|
||||
f 78/128/6 86/130/6 85/132/6
|
||||
f 89/137/18 97/147/18 96/138/18
|
||||
f 86/140/21 87/148/21 95/141/21
|
||||
f 84/143/20 85/149/20 93/144/20
|
||||
f 89/137/22 90/151/22 98/146/22
|
||||
f 88/139/13 96/138/13 95/141/13
|
||||
f 86/140/6 94/142/6 93/144/6
|
||||
f 91/150/19 99/271/19 98/146/19
|
||||
f 92/152/25 93/162/25 101/153/25
|
||||
f 97/155/22 98/164/22 106/156/22
|
||||
f 96/158/12 104/165/12 103/159/12
|
||||
f 94/161/6 102/166/6 101/153/6
|
||||
f 99/163/24 107/272/24 106/156/24
|
||||
f 97/155/23 105/157/23 104/165/23
|
||||
f 94/161/26 95/160/26 103/159/26
|
||||
f 105/167/22 106/177/22 114/168/22
|
||||
f 104/170/11 112/178/11 111/171/11
|
||||
f 102/173/6 110/179/6 109/174/6
|
||||
f 107/176/28 115/273/28 114/168/28
|
||||
f 105/167/27 113/169/27 112/178/27
|
||||
f 102/173/30 103/172/30 111/171/30
|
||||
f 100/180/29 101/175/29 109/174/29
|
||||
f 53/182/33 52/274/33 108/183/33
|
||||
f 58/185/32 114/189/32 115/186/32
|
||||
f 58/185/22 57/191/22 113/188/22
|
||||
f 56/190/31 112/193/31 113/188/31
|
||||
f 55/192/16 111/195/16 112/193/16
|
||||
f 55/192/34 54/196/34 110/194/34
|
||||
f 53/182/6 109/184/6 110/194/6
|
||||
f 119/197/15 127/275/15 126/198/15
|
||||
f 117/200/10 125/276/10 124/201/10
|
||||
f 116/203/16 124/277/16 131/204/16
|
||||
f 130/206/12 129/278/12 121/207/12
|
||||
f 128/209/14 127/279/14 119/210/14
|
||||
f 118/212/17 126/280/17 125/213/17
|
||||
f 123/215/11 131/281/11 130/216/11
|
||||
f 129/218/13 128/282/13 120/219/13
|
||||
f 133/224/10 140/253/10 141/225/10
|
||||
f 132/227/16 141/248/16 147/228/16
|
||||
f 138/230/12 146/249/12 145/231/12
|
||||
f 136/233/14 144/254/14 143/234/14
|
||||
f 134/236/17 142/222/17 140/221/17
|
||||
f 139/238/11 147/255/11 146/239/11
|
||||
f 137/241/13 145/251/13 144/242/13
|
||||
f 135/244/15 143/250/15 142/245/15
|
||||
BIN
src/main/java/assets/hbm/textures/armor/mod_tesla.png
Normal file
|
After Width: | Height: | Size: 636 B |
|
After Width: | Height: | Size: 739 B |
BIN
src/main/java/assets/hbm/textures/items/back_tesla.png
Normal file
|
After Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 461 B After Width: | Height: | Size: 444 B |
BIN
src/main/java/assets/hbm/textures/items/insert_du.png
Normal file
|
After Width: | Height: | Size: 259 B |
BIN
src/main/java/assets/hbm/textures/items/insert_era.png
Normal file
|
After Width: | Height: | Size: 255 B |
BIN
src/main/java/assets/hbm/textures/items/insert_polonium.png
Normal file
|
After Width: | Height: | Size: 291 B |
BIN
src/main/java/assets/hbm/textures/items/insert_yharonite.png
Normal file
|
After Width: | Height: | Size: 318 B |
BIN
src/main/java/assets/hbm/textures/items/journal_pip.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
src/main/java/assets/hbm/textures/items/wd40.png
Normal file
|
After Width: | Height: | Size: 300 B |
@ -234,6 +234,7 @@ public class ModBlocks {
|
||||
|
||||
public static Block brick_jungle;
|
||||
public static Block brick_jungle_cracked;
|
||||
public static Block brick_jungle_fragile;
|
||||
public static Block brick_jungle_lava;
|
||||
public static Block brick_jungle_ooze;
|
||||
public static Block brick_jungle_mystic;
|
||||
@ -1089,6 +1090,7 @@ public class ModBlocks {
|
||||
|
||||
brick_jungle = new BlockGeneric(Material.rock).setBlockName("brick_jungle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle");
|
||||
brick_jungle_cracked = new BlockGeneric(Material.rock).setBlockName("brick_jungle_cracked").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_cracked");
|
||||
brick_jungle_fragile = new FragileBrick(Material.rock).setBlockName("brick_jungle_fragile").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_fragile");
|
||||
brick_jungle_lava = new BlockGeneric(Material.rock).setBlockName("brick_jungle_lava").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_lava");
|
||||
brick_jungle_ooze = new BlockOre(Material.rock).setBlockName("brick_jungle_ooze").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_ooze");
|
||||
brick_jungle_mystic = new BlockOre(Material.rock).setBlockName("brick_jungle_mystic").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setLightLevel(5F/15F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_mystic");
|
||||
@ -1825,6 +1827,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(meteor_battery, ItemBlockLore.class, meteor_battery.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle, brick_jungle.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle_cracked, brick_jungle_cracked.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle_fragile, brick_jungle_fragile.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle_lava, brick_jungle_lava.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle_ooze, brick_jungle_ooze.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(brick_jungle_mystic, brick_jungle_mystic.getUnlocalizedName());
|
||||
|
||||
@ -7,9 +7,9 @@ import com.hbm.config.BombConfig;
|
||||
import com.hbm.entity.effect.EntityNukeCloudSmall;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.explosion.ExplosionNT;
|
||||
import com.hbm.interfaces.IBomb;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -80,7 +80,8 @@ public class DetCord extends Block implements IBomb {
|
||||
world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 1.5F, true);
|
||||
}
|
||||
if(this == ModBlocks.det_charge) {
|
||||
ExplosionLarge.explode(world, x, y, z, 15, true, false, false);
|
||||
new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 15).overrideResolution(64).explode();
|
||||
ExplosionLarge.spawnParticles(world, x, y, z, ExplosionLarge.cloudFunction(15));
|
||||
}
|
||||
if(this == ModBlocks.det_nuke) {
|
||||
world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, BombConfig.missileRadius, x + 0.5, y + 0.5, z + 0.5));
|
||||
|
||||
@ -22,59 +22,53 @@ public class BlockCoalOil extends Block {
|
||||
public BlockCoalOil(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@Override
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block b) {
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
|
||||
Block n = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(n == ModBlocks.ore_coal_oil_burning || n == ModBlocks.balefire || n == Blocks.fire || n.getMaterial() == Material.lava) {
|
||||
world.scheduleBlockUpdate(x, y, z, this, world.rand.nextInt(20) + 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
|
||||
Block n = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(n == ModBlocks.ore_coal_oil_burning || n == ModBlocks.balefire || n == Blocks.fire || n.getMaterial() == Material.lava) {
|
||||
world.scheduleBlockUpdate(x, y, z, this, world.rand.nextInt(20) + 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
world.setBlock(x, y, z, ModBlocks.ore_coal_oil_burning);
|
||||
}
|
||||
world.setBlock(x, y, z, ModBlocks.ore_coal_oil_burning);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int i, Random rand, int j) {
|
||||
return Items.coal;
|
||||
}
|
||||
|
||||
@Override
|
||||
}
|
||||
|
||||
@Override
|
||||
public int quantityDropped(Random rand) {
|
||||
return 2 + rand.nextInt(2);
|
||||
}
|
||||
|
||||
/*public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta) {
|
||||
|
||||
if(world.rand.nextInt(10) == 0)
|
||||
world.setBlock(x, y, z, Blocks.fire);
|
||||
}*/
|
||||
return 2 + rand.nextInt(2);
|
||||
}
|
||||
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
|
||||
|
||||
if(player.getHeldItem() == null)
|
||||
return;
|
||||
|
||||
if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility))
|
||||
return;
|
||||
|
||||
ItemTool tool = (ItemTool)player.getHeldItem().getItem();
|
||||
|
||||
if(tool.func_150913_i() != ToolMaterial.WOOD) {
|
||||
public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) {
|
||||
|
||||
if(world.rand.nextInt(10) == 0)
|
||||
world.setBlock(x, y, z, Blocks.fire);
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) {
|
||||
if(player.getHeldItem() == null)
|
||||
return;
|
||||
|
||||
if(!(player.getHeldItem().getItem() instanceof ItemTool || player.getHeldItem().getItem() instanceof ItemToolAbility))
|
||||
return;
|
||||
|
||||
ItemTool tool = (ItemTool) player.getHeldItem().getItem();
|
||||
|
||||
if(tool.func_150913_i() != ToolMaterial.WOOD) {
|
||||
|
||||
if(world.rand.nextInt(10) == 0)
|
||||
world.setBlock(x, y, z, Blocks.fire);
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) {
|
||||
world.setBlock(x, y, z, Blocks.fire);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
58
src/main/java/com/hbm/blocks/generic/FragileBrick.java
Normal file
@ -0,0 +1,58 @@
|
||||
package com.hbm.blocks.generic;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class FragileBrick extends Block {
|
||||
|
||||
public FragileBrick(Material mat) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemDropped(int i, Random rand, int j) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
|
||||
if(world.isRemote)
|
||||
return;
|
||||
|
||||
world.func_147480_a(x, y, z, false);
|
||||
notifyNeighbors(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntityWalking(World world, int x, int y, int z, Entity entity) {
|
||||
|
||||
if(world.isRemote)
|
||||
return;
|
||||
|
||||
world.func_147480_a(x, y, z, false);
|
||||
notifyNeighbors(world, x, y, z);
|
||||
}
|
||||
|
||||
private void notifyNeighbors(World world, int x, int y, int z) {
|
||||
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
|
||||
Block n = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
|
||||
if(n == this) {
|
||||
world.scheduleBlockUpdate(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, this, world.rand.nextInt(4) + 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void breakBlock(World world, int x, int y, int z, Block b, int m) {
|
||||
notifyNeighbors(world, x, y, z);
|
||||
}
|
||||
}
|
||||
@ -131,6 +131,9 @@ public class ConsumableRecipes {
|
||||
|
||||
//Inserts
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.insert_steel, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', "plateIron", 'S', "blockSteel" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.insert_du, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', "plateIron", 'S', "blockUranium238" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.insert_polonium, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', "plateIron", 'S', "blockPolonium" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.insert_era, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', "plateIron", 'S', ModItems.ingot_semtex }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.insert_kevlar, 1), new Object[] { "KIK", "IDI", "KIK", 'K', ModItems.plate_kevlar, 'I', ModItems.plate_polymer, 'D', ModItems.ducttape });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.insert_sapi, 1), new Object[] { "PKP", "DPD", "PKP", 'P', ModItems.ingot_polymer, 'K', ModItems.insert_kevlar, 'D', ModItems.ducttape });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.insert_esapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ModItems.ingot_polymer, 'K', ModItems.insert_sapi, 'D', ModItems.ducttape, 'S', ModItems.plate_saturnite });
|
||||
|
||||
@ -53,6 +53,11 @@ public class ExplosionNT extends Explosion {
|
||||
return this;
|
||||
}
|
||||
|
||||
public ExplosionNT overrideResolution(int res) {
|
||||
field_77289_h = res;
|
||||
return this;
|
||||
}
|
||||
|
||||
public void explode() {
|
||||
doExplosionA();
|
||||
doExplosionB(false);
|
||||
|
||||
@ -43,17 +43,17 @@ public class ExplosionNukeSmall {
|
||||
} else if(size > safe && size < high) {
|
||||
|
||||
switch(size) {
|
||||
case 1: new ExplosionNT(world, null, posX, posY, posZ, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
case 1: new ExplosionNT(world, null, posX, posY, posZ, 10F).addAllAttrib(ExplosionNT.nukeAttribs).overrideResolution(32).explode();
|
||||
ExplosionNukeGeneric.dealDamage(world, posX, posY, posZ, 30); break;
|
||||
|
||||
case 2: new ExplosionNT(world, null, posX, posY, posZ, 15F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
case 2: new ExplosionNT(world, null, posX, posY, posZ, 15F).addAllAttrib(ExplosionNT.nukeAttribs).overrideResolution(64).explode();
|
||||
ExplosionNukeGeneric.dealDamage(world, posX, posY, posZ, 45); break;
|
||||
|
||||
case 3: new ExplosionNT(world, null, posX, posY, posZ, 15F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
new ExplosionNT(world, null, posX + 7, posY, posZ, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
case 3: new ExplosionNT(world, null, posX, posY, posZ, 20F).addAllAttrib(ExplosionNT.nukeAttribs).overrideResolution(64).explode();
|
||||
/*new ExplosionNT(world, null, posX + 7, posY, posZ, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
new ExplosionNT(world, null, posX - 7, posY, posZ, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
new ExplosionNT(world, null, posX, posY, posZ + 7, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
new ExplosionNT(world, null, posX, posY, posZ - 7, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();
|
||||
new ExplosionNT(world, null, posX, posY, posZ - 7, 10F).addAllAttrib(ExplosionNT.nukeAttribs).explode();*/
|
||||
ExplosionNukeGeneric.dealDamage(world, posX, posY, posZ, 55); break;
|
||||
}
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ import java.util.UUID;
|
||||
|
||||
import com.hbm.items.armor.ItemArmorMod;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@ -79,7 +78,10 @@ public class ArmorModHandler {
|
||||
ItemArmorMod aMod = (ItemArmorMod)mod.getItem();
|
||||
int slot = aMod.type;
|
||||
|
||||
mods.setString(MOD_SLOT_KEY + slot, Item.itemRegistry.getNameForObject(mod.getItem()));
|
||||
NBTTagCompound cmp = new NBTTagCompound();
|
||||
mod.writeToNBT(cmp);
|
||||
|
||||
mods.setTag(MOD_SLOT_KEY + slot, cmp);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -147,11 +149,12 @@ public class ArmorModHandler {
|
||||
|
||||
for(int i = 0; i < 8; i++) {
|
||||
|
||||
String mod = mods.getString(MOD_SLOT_KEY + i);
|
||||
Item item = (Item)Item.itemRegistry.getObject(mod);
|
||||
NBTTagCompound cmp = mods.getCompoundTag(MOD_SLOT_KEY + i);
|
||||
|
||||
if(item != null)
|
||||
slots[i] = new ItemStack(item);
|
||||
ItemStack stack = ItemStack.loadItemStackFromNBT(cmp);
|
||||
|
||||
if(stack != null)
|
||||
slots[i] = stack;
|
||||
}
|
||||
|
||||
return slots;
|
||||
|
||||
@ -1794,6 +1794,7 @@ public class ModItems {
|
||||
public static Item crystal_charred;
|
||||
|
||||
public static Item attachment_mask;
|
||||
public static Item back_tesla;
|
||||
public static Item servo_set;
|
||||
public static Item servo_set_desh;
|
||||
public static Item pads_rubber;
|
||||
@ -1809,6 +1810,10 @@ public class ModItems {
|
||||
public static Item insert_esapi;
|
||||
public static Item insert_xsapi;
|
||||
public static Item insert_steel;
|
||||
public static Item insert_du;
|
||||
public static Item insert_polonium;
|
||||
public static Item insert_era;
|
||||
public static Item insert_yharonite;
|
||||
public static Item armor_polish;
|
||||
public static Item bandaid;
|
||||
public static Item serum;
|
||||
@ -1823,6 +1828,7 @@ public class ModItems {
|
||||
public static Item heart_piece;
|
||||
public static Item heart_container;
|
||||
public static Item heart_booster;
|
||||
public static Item wd40;
|
||||
|
||||
public static Item hazmat_helmet;
|
||||
public static Item hazmat_plate;
|
||||
@ -2709,6 +2715,7 @@ public class ModItems {
|
||||
cbt_device = new ItemSyringe().setUnlocalizedName("cbt_device").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":cbt_device");
|
||||
|
||||
attachment_mask = new ItemModGasmask().setUnlocalizedName("attachment_mask").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":attachment_mask");
|
||||
back_tesla = new ItemModTesla().setUnlocalizedName("back_tesla").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":back_tesla");
|
||||
servo_set = new ItemModServos().setUnlocalizedName("servo_set").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":servo_set");
|
||||
servo_set_desh = new ItemModServos().setUnlocalizedName("servo_set_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":servo_set_desh");
|
||||
pads_rubber = new ItemModPads(0.5F).setUnlocalizedName("pads_rubber").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pads_rubber");
|
||||
@ -2719,11 +2726,15 @@ public class ModItems {
|
||||
cladding_lead = new ItemModCladding(0.2F).setUnlocalizedName("cladding_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_lead");
|
||||
cladding_desh = new ItemModCladding(0.4F).setUnlocalizedName("cladding_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_desh");
|
||||
cladding_obsidian = new ItemModObsidian().setUnlocalizedName("cladding_obsidian").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_obsidian");
|
||||
insert_kevlar = new ItemModInsert(1F, 0.9F, 1F, 1F).setUnlocalizedName("insert_kevlar").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_kevlar");
|
||||
insert_sapi = new ItemModInsert(1F, 0.85F, 1F, 1F).setUnlocalizedName("insert_sapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_sapi");
|
||||
insert_esapi = new ItemModInsert(0.95F, 0.8F, 1F, 1F).setUnlocalizedName("insert_esapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_esapi");
|
||||
insert_xsapi = new ItemModInsert(0.9F, 0.75F, 1F, 1F).setUnlocalizedName("insert_xsapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_xsapi");
|
||||
insert_steel = new ItemModInsert(1F, 0.95F, 0.75F, 0.95F).setUnlocalizedName("insert_steel").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_steel");
|
||||
insert_kevlar = new ItemModInsert(1500, 1F, 0.9F, 1F, 1F).setUnlocalizedName("insert_kevlar").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_kevlar");
|
||||
insert_sapi = new ItemModInsert(1750, 1F, 0.85F, 1F, 1F).setUnlocalizedName("insert_sapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_sapi");
|
||||
insert_esapi = new ItemModInsert(2000, 0.95F, 0.8F, 1F, 1F).setUnlocalizedName("insert_esapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_esapi");
|
||||
insert_xsapi = new ItemModInsert(2500, 0.9F, 0.75F, 1F, 1F).setUnlocalizedName("insert_xsapi").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_xsapi");
|
||||
insert_steel = new ItemModInsert(1000, 1F, 0.95F, 0.75F, 0.95F).setUnlocalizedName("insert_steel").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_steel");
|
||||
insert_du = new ItemModInsert(1500, 0.9F, 0.85F, 0.5F, 0.9F).setUnlocalizedName("insert_du").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_du");
|
||||
insert_polonium = new ItemModInsert(500, 0.9F, 1F, 0.95F, 0.9F).setUnlocalizedName("insert_polonium").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_polonium");
|
||||
insert_era = new ItemModInsert(25, 0.5F, 1F, 0.25F, 1F).setUnlocalizedName("insert_era").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_era");
|
||||
insert_yharonite = new ItemModInsert(9999, 0.01F, 1F, 1F, 1F).setUnlocalizedName("insert_yharonite").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":insert_yharonite");
|
||||
armor_polish = new ItemModPolish().setUnlocalizedName("armor_polish").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":armor_polish");
|
||||
bandaid = new ItemModBandaid().setUnlocalizedName("bandaid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bandaid");
|
||||
serum = new ItemModSerum().setUnlocalizedName("serum").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":serum");
|
||||
@ -2738,6 +2749,7 @@ public class ModItems {
|
||||
heart_piece = new ItemModHealth(5F).setUnlocalizedName("heart_piece").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_piece");
|
||||
heart_container = new ItemModHealth(20F).setUnlocalizedName("heart_container").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_container");
|
||||
heart_booster = new ItemModHealth(40F).setUnlocalizedName("heart_booster").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":heart_booster");
|
||||
wd40 = new ItemModWD40().setUnlocalizedName("wd40").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":wd40");
|
||||
|
||||
can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty");
|
||||
can_smart = new ItemEnergy().setUnlocalizedName("can_smart").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_smart");
|
||||
@ -4196,10 +4208,10 @@ public class ModItems {
|
||||
|
||||
australium_iii = new ArmorAustralium(MainRegistry.aMatAus3, 9, 1).setUnlocalizedName("australium_iii").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_iii");
|
||||
|
||||
jetpack_boost = new JetpackBooster(MainRegistry.aMatSteel, 9, 1, FluidType.BALEFIRE, 32000).setUnlocalizedName("jetpack_boost").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost");
|
||||
jetpack_break = new JetpackBreak(MainRegistry.aMatSteel, 9, 1, FluidType.KEROSENE, 12000).setUnlocalizedName("jetpack_break").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break");
|
||||
jetpack_fly = new JetpackRegular(MainRegistry.aMatSteel, 9, 1, FluidType.KEROSENE, 12000).setUnlocalizedName("jetpack_fly").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_fly");
|
||||
jetpack_vector = new JetpackVectorized(MainRegistry.aMatSteel, 9, 1, FluidType.KEROSENE, 16000).setUnlocalizedName("jetpack_vector").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_vector");
|
||||
jetpack_boost = new JetpackBooster(FluidType.BALEFIRE, 32000).setUnlocalizedName("jetpack_boost").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost");
|
||||
jetpack_break = new JetpackBreak(FluidType.KEROSENE, 12000).setUnlocalizedName("jetpack_break").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break");
|
||||
jetpack_fly = new JetpackRegular(FluidType.KEROSENE, 12000).setUnlocalizedName("jetpack_fly").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_fly");
|
||||
jetpack_vector = new JetpackVectorized(FluidType.KEROSENE, 16000).setUnlocalizedName("jetpack_vector").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_vector");
|
||||
|
||||
cape_test = new ArmorModel(MainRegistry.enumArmorMaterialEmerald, 9, 1).setUnlocalizedName("cape_test").setCreativeTab(null).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_test");
|
||||
cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation");
|
||||
@ -6146,6 +6158,7 @@ public class ModItems {
|
||||
|
||||
//Armor mods
|
||||
GameRegistry.registerItem(attachment_mask, attachment_mask.getUnlocalizedName());
|
||||
GameRegistry.registerItem(back_tesla, back_tesla.getUnlocalizedName());
|
||||
GameRegistry.registerItem(servo_set, servo_set.getUnlocalizedName());
|
||||
GameRegistry.registerItem(servo_set_desh, servo_set_desh.getUnlocalizedName());
|
||||
GameRegistry.registerItem(pads_rubber, pads_rubber.getUnlocalizedName());
|
||||
@ -6161,6 +6174,10 @@ public class ModItems {
|
||||
GameRegistry.registerItem(insert_esapi, insert_esapi.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_xsapi, insert_xsapi.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_steel, insert_steel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_du, insert_du.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_polonium, insert_polonium.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_era, insert_era.getUnlocalizedName());
|
||||
GameRegistry.registerItem(insert_yharonite, insert_yharonite.getUnlocalizedName());
|
||||
GameRegistry.registerItem(armor_polish, armor_polish.getUnlocalizedName());
|
||||
GameRegistry.registerItem(bandaid, bandaid.getUnlocalizedName());
|
||||
GameRegistry.registerItem(serum, serum.getUnlocalizedName());
|
||||
@ -6175,6 +6192,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(heart_piece, heart_piece.getUnlocalizedName());
|
||||
GameRegistry.registerItem(heart_container, heart_container.getUnlocalizedName());
|
||||
GameRegistry.registerItem(heart_booster, heart_booster.getUnlocalizedName());
|
||||
GameRegistry.registerItem(wd40, wd40.getUnlocalizedName());
|
||||
|
||||
//The Gadget
|
||||
GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName());
|
||||
|
||||
@ -4,8 +4,12 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.extprop.HbmLivingProps;
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@ -21,16 +25,17 @@ public class ItemModInsert extends ItemArmorMod {
|
||||
float explosionMod;
|
||||
float speed;
|
||||
|
||||
public ItemModInsert(float damageMod, float projectileMod, float explosionMod, float speed) {
|
||||
public ItemModInsert(int durability, float damageMod, float projectileMod, float explosionMod, float speed) {
|
||||
super(ArmorModHandler.kevlar, false, true, false, false);
|
||||
this.damageMod = damageMod;
|
||||
this.projectileMod = projectileMod;
|
||||
this.explosionMod = explosionMod;
|
||||
this.speed = speed;
|
||||
this.setMaxDamage(durability);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
if(damageMod != 1F)
|
||||
list.add(EnumChatFormatting.RED + "-" + Math.round((1F - damageMod) * 100) + "% damage");
|
||||
@ -41,8 +46,13 @@ public class ItemModInsert extends ItemArmorMod {
|
||||
if(speed != 1F)
|
||||
list.add(EnumChatFormatting.BLUE + "-" + Math.round((1F - speed) * 100) + "% speed");
|
||||
|
||||
if(this == ModItems.insert_polonium)
|
||||
list.add(EnumChatFormatting.DARK_RED + "+100 RAD/s");
|
||||
|
||||
list.add((stack.getMaxDamage() - stack.getItemDamage()) + "/" + stack.getMaxDamage() + "HP");
|
||||
|
||||
list.add("");
|
||||
super.addInformation(itemstack, player, list, bool);
|
||||
super.addInformation(stack, player, list, bool);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -58,10 +68,13 @@ public class ItemModInsert extends ItemArmorMod {
|
||||
desc.add("-" + Math.round((1F - explosionMod) * 100) + "% exp");
|
||||
if(explosionMod != 1F)
|
||||
desc.add("-" + Math.round((1F - speed) * 100) + "% speed");
|
||||
|
||||
if(this == ModItems.insert_polonium)
|
||||
desc.add("+100 RAD/s");
|
||||
|
||||
String join = String.join(" / ", desc);
|
||||
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (" + join + ")");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (" + join + " / " + (stack.getMaxDamage() - stack.getItemDamage()) + "HP)");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -74,6 +87,32 @@ public class ItemModInsert extends ItemArmorMod {
|
||||
|
||||
if(event.source.isExplosion())
|
||||
event.ammount *= explosionMod;
|
||||
|
||||
ItemStack insert = ArmorModHandler.pryMods(armor)[ArmorModHandler.kevlar];
|
||||
|
||||
if(insert == null)
|
||||
return;
|
||||
|
||||
insert.setItemDamage(insert.getItemDamage() + 1);
|
||||
|
||||
if(!event.entity.worldObj.isRemote && this == ModItems.insert_era) {
|
||||
event.entity.worldObj.newExplosion(event.entity, event.entity.posX, event.entity.posY - event.entity.yOffset + event.entity.height * 0.5, event.entity.posZ, 0.05F, false, false);
|
||||
}
|
||||
|
||||
if(insert.getItemDamage() > insert.getMaxDamage()) {
|
||||
ArmorModHandler.removeMod(armor, ArmorModHandler.kevlar);
|
||||
} else {
|
||||
ArmorModHandler.applyMod(armor, insert);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modUpdate(EntityLivingBase entity, ItemStack armor) {
|
||||
|
||||
if(!entity.worldObj.isRemote && this == ModItems.insert_polonium) {
|
||||
//HbmLivingProps.incrementRadiation(entity, 5);
|
||||
ContaminationUtil.applyRadDirect(entity, 20);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,10 +2,13 @@ package com.hbm.items.armor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.items.ModItems;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -23,12 +26,12 @@ public class ItemModServos extends ItemArmorMod {
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
if(this == ModItems.servo_set) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste I / Damage II");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed I / Jump II");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste I / Damage +50%");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +25% / Jump II");
|
||||
}
|
||||
if(this == ModItems.servo_set_desh) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste III / Damage III");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed II / Jump III");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Chestplate: Haste III / Damage +150%");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + "Leggings: Speed +50% / Jump III");
|
||||
}
|
||||
|
||||
list.add("");
|
||||
@ -43,20 +46,20 @@ public class ItemModServos extends ItemArmorMod {
|
||||
if(item.armorType == 1) {
|
||||
|
||||
if(this == ModItems.servo_set) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste I / Damage II)");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste I / Damage +50%)");
|
||||
}
|
||||
if(this == ModItems.servo_set_desh) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste III / Damage III)");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Haste III / Damage +150%)");
|
||||
}
|
||||
}
|
||||
|
||||
if(item.armorType == 2) {
|
||||
|
||||
if(this == ModItems.servo_set) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed I / Jump II)");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed +25% / Jump II)");
|
||||
}
|
||||
if(this == ModItems.servo_set_desh) {
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed II / Jump III)");
|
||||
list.add(EnumChatFormatting.DARK_PURPLE + " " + stack.getDisplayName() + " (Speed +50% / Jump III)");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -69,25 +72,49 @@ public class ItemModServos extends ItemArmorMod {
|
||||
|
||||
if(this == ModItems.servo_set) {
|
||||
entity.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 60, 0));
|
||||
entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60, 1));
|
||||
}
|
||||
if(this == ModItems.servo_set_desh) {
|
||||
entity.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 60, 2));
|
||||
entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60, 2));
|
||||
}
|
||||
}
|
||||
|
||||
if(item.armorType == 2) {
|
||||
|
||||
if(this == ModItems.servo_set) {
|
||||
entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60, 0));
|
||||
entity.addPotionEffect(new PotionEffect(Potion.jump.id, 60, 1));
|
||||
}
|
||||
if(this == ModItems.servo_set_desh) {
|
||||
entity.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60, 1));
|
||||
entity.addPotionEffect(new PotionEffect(Potion.jump.id, 60, 2));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Multimap getModifiers(ItemStack armor) {
|
||||
Multimap multimap = super.getItemAttributeModifiers();
|
||||
|
||||
ItemArmor item = (ItemArmor)armor.getItem();
|
||||
|
||||
if(item.armorType == 1) {
|
||||
if(this == ModItems.servo_set)
|
||||
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Servos", 0.5, 2));
|
||||
|
||||
if(this == ModItems.servo_set_desh)
|
||||
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Servos", 1.5, 2));
|
||||
}
|
||||
|
||||
if(item.armorType == 2) {
|
||||
if(this == ModItems.servo_set)
|
||||
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Servos", 0.25, 2));
|
||||
|
||||
if(this == ModItems.servo_set_desh)
|
||||
multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Servos", 0.5, 2));
|
||||
}
|
||||
|
||||
return multimap;
|
||||
}
|
||||
}
|
||||
|
||||
97
src/main/java/com/hbm/items/armor/ItemModTesla.java
Normal file
@ -0,0 +1,97 @@
|
||||
package com.hbm.items.armor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.render.model.ModelBackTesla;
|
||||
import com.hbm.render.util.BeamPronter;
|
||||
import com.hbm.render.util.BeamPronter.EnumBeamType;
|
||||
import com.hbm.render.util.BeamPronter.EnumWaveType;
|
||||
import com.hbm.tileentity.machine.TileEntityTesla;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
|
||||
public class ItemModTesla extends ItemArmorMod {
|
||||
|
||||
private ModelBackTesla modelTesla;
|
||||
public List<double[]> targets = new ArrayList();
|
||||
|
||||
public ItemModTesla() {
|
||||
super(ArmorModHandler.plate_only, false, true, false, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modUpdate(EntityLivingBase entity, ItemStack armor) {
|
||||
|
||||
if(!entity.worldObj.isRemote && entity instanceof EntityPlayer && armor.getItem() instanceof ArmorFSBPowered && ArmorFSBPowered.hasFSBArmor((EntityPlayer)entity)) {
|
||||
targets = TileEntityTesla.zap(entity.worldObj, entity.posX, entity.posY + 1.25, entity.posZ, 5, entity);
|
||||
|
||||
if(targets != null && !targets.isEmpty() && entity.getRNG().nextInt(5) == 0) {
|
||||
armor.damageItem(1, entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void modRender(RenderPlayerEvent.SetArmorModel event, ItemStack armor) {
|
||||
|
||||
if(this.modelTesla == null) {
|
||||
this.modelTesla = new ModelBackTesla();
|
||||
}
|
||||
|
||||
RenderPlayer renderer = event.renderer;
|
||||
ModelBiped model = renderer.modelArmor;
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
//EntityPlayer me = Minecraft.getMinecraft().thePlayer;
|
||||
|
||||
modelTesla.isSneak = model.isSneak;
|
||||
|
||||
float interp = event.partialRenderTick;
|
||||
float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp;
|
||||
float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * interp;
|
||||
float yaw = yawHead - yawOffset;
|
||||
float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset);
|
||||
float pitch = player.rotationPitch;
|
||||
|
||||
modelTesla.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
|
||||
|
||||
/*GL11.glPushMatrix();
|
||||
|
||||
GL11.glRotated(yawOffset, 0, -1, 0);
|
||||
|
||||
Vec3 offset = Vec3.createVectorHelper(0, 0, -0.5);
|
||||
offset.rotateAroundY((float)Math.toRadians(yawOffset));
|
||||
|
||||
double sx = player.posX + offset.xCoord;
|
||||
double sy = player.posY - 0.25;
|
||||
double sz = player.posZ + offset.zCoord;
|
||||
|
||||
double x = me.posX - sx;
|
||||
double y = me.posY - sy;
|
||||
double z = me.posZ - sz;
|
||||
GL11.glTranslated(x, y, z);
|
||||
|
||||
for(double[] target : 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 + offset.xCoord * 1.5), target[1] - sy, -(target[2] - sz + offset.zCoord * 1.5)), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x404040, 0x404040, (int) (player.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F);
|
||||
}
|
||||
|
||||
GL11.glPopMatrix();*/
|
||||
}
|
||||
|
||||
}
|
||||
77
src/main/java/com/hbm/items/armor/ItemModWD40.java
Normal file
@ -0,0 +1,77 @@
|
||||
package com.hbm.items.armor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraftforge.event.entity.living.LivingHurtEvent;
|
||||
|
||||
public class ItemModWD40 extends ItemArmorMod {
|
||||
|
||||
public ItemModWD40() {
|
||||
super(ArmorModHandler.extra, true, true, true, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
|
||||
String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.BLUE : EnumChatFormatting.YELLOW);
|
||||
|
||||
list.add(color + "Highly reduces damage taken by armor, +2 HP");
|
||||
list.add("");
|
||||
super.addInformation(itemstack, player, list, bool);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDesc(List list, ItemStack stack, ItemStack armor) {
|
||||
|
||||
String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.BLUE : EnumChatFormatting.YELLOW);
|
||||
|
||||
list.add(color + " " + stack.getDisplayName() + " (-80% armor wear / +2 HP)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modDamage(LivingHurtEvent event, ItemStack armor) {
|
||||
|
||||
if(!event.entityLiving.worldObj.isRemote && armor.getItemDamage() > 0 && event.entityLiving.getRNG().nextInt(5) != 0) {
|
||||
armor.setItemDamage(armor.getItemDamage() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Multimap getModifiers(ItemStack armor) {
|
||||
Multimap multimap = super.getItemAttributeModifiers();
|
||||
|
||||
multimap.put(SharedMonsterAttributes.maxHealth.getAttributeUnlocalizedName(),
|
||||
new AttributeModifier(ArmorModHandler.UUIDs[((ItemArmor)armor.getItem()).armorType], "NTM Armor Mod Health", 4, 0));
|
||||
|
||||
return multimap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modUpdate(EntityLivingBase entity, ItemStack armor) {
|
||||
|
||||
if(entity.worldObj.isRemote && entity.hurtTime > 0) {
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "vanillaExt");
|
||||
data.setString("mode", "reddust");
|
||||
data.setDouble("posX", entity.posX + (entity.getRNG().nextDouble() - 0.5) * entity.width * 2);
|
||||
data.setDouble("posY", entity.posY - entity.yOffset + entity.getRNG().nextDouble() * entity.height);
|
||||
data.setDouble("posZ", entity.posZ + (entity.getRNG().nextDouble() - 0.5) * entity.width * 2);
|
||||
data.setDouble("mX", 0.01);
|
||||
data.setDouble("mY", 0.5);
|
||||
data.setDouble("mZ", 0.8);
|
||||
MainRegistry.proxy.effectNT(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,7 @@ package com.hbm.items.armor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.handler.ArmorModHandler;
|
||||
import com.hbm.handler.FluidTypeHandler.FluidType;
|
||||
import com.hbm.interfaces.IPartiallyFillable;
|
||||
import com.hbm.render.model.ModelJetPack;
|
||||
@ -9,29 +10,87 @@ import com.hbm.util.I18nUtil;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelBiped;
|
||||
import net.minecraft.client.renderer.entity.RenderPlayer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemArmor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.RenderPlayerEvent;
|
||||
|
||||
public abstract class JetpackBase extends ItemArmor implements IPartiallyFillable {
|
||||
public abstract class JetpackBase extends ItemArmorMod implements IPartiallyFillable {
|
||||
|
||||
private ModelJetPack model;
|
||||
public FluidType fuel;
|
||||
public int maxFuel;
|
||||
|
||||
public JetpackBase(ArmorMaterial mat, int i, int j, FluidType fuel, int maxFuel) {
|
||||
super(mat, i, j);
|
||||
public JetpackBase(FluidType fuel, int maxFuel) {
|
||||
super(ArmorModHandler.plate_only, false, true, false, false);
|
||||
this.fuel = fuel;
|
||||
this.maxFuel = maxFuel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
|
||||
list.add(I18nUtil.resolveKey(fuel.getUnlocalizedName()) + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB");
|
||||
list.add(EnumChatFormatting.LIGHT_PURPLE + I18nUtil.resolveKey(fuel.getUnlocalizedName()) + ": " + this.getFuel(itemstack) + "mB / " + this.maxFuel + "mB");
|
||||
list.add("");
|
||||
super.addInformation(itemstack, player, list, bool);
|
||||
list.add(EnumChatFormatting.GOLD + "Can be worn on its own!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addDesc(List list, ItemStack stack, ItemStack armor) {
|
||||
|
||||
ItemStack jetpack = ArmorModHandler.pryMods(armor)[ArmorModHandler.plate_only];
|
||||
|
||||
if(jetpack == null)
|
||||
return;
|
||||
|
||||
list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (" + I18nUtil.resolveKey(fuel.getUnlocalizedName()) + ": " + this.getFuel(jetpack) + "mB / " + this.maxFuel + "mB");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modUpdate(EntityLivingBase entity, ItemStack armor) {
|
||||
|
||||
if(!(entity instanceof EntityPlayer))
|
||||
return;
|
||||
|
||||
ItemStack jetpack = ArmorModHandler.pryMods(armor)[ArmorModHandler.plate_only];
|
||||
|
||||
if(jetpack == null)
|
||||
return;
|
||||
|
||||
onArmorTick(entity.worldObj, (EntityPlayer)entity, jetpack);
|
||||
|
||||
ArmorModHandler.applyMod(armor, jetpack);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void modRender(RenderPlayerEvent.SetArmorModel event, ItemStack armor) {
|
||||
|
||||
ModelBiped modelJetpack = getArmorModel(event.entityLiving, null, 1);
|
||||
|
||||
RenderPlayer renderer = event.renderer;
|
||||
ModelBiped model = renderer.modelArmor;
|
||||
EntityPlayer player = event.entityPlayer;
|
||||
|
||||
modelJetpack.isSneak = model.isSneak;
|
||||
|
||||
float interp = event.partialRenderTick;
|
||||
float yawHead = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * interp;
|
||||
float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * interp;
|
||||
float yaw = yawHead - yawOffset;
|
||||
float yawWrapped = MathHelper.wrapAngleTo180_float(yawHead - yawOffset);
|
||||
float pitch = player.rotationPitch;
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(this.getArmorTexture(armor, event.entity, 1, null)));
|
||||
modelJetpack.render(event.entityPlayer, 0.0F, 0.0F, yawWrapped, yaw, pitch, 0.0625F);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -22,8 +22,8 @@ import net.minecraft.world.World;
|
||||
|
||||
public class JetpackBooster extends JetpackBase {
|
||||
|
||||
public JetpackBooster(ArmorMaterial mat, int i, int j, FluidType fuel, int maxFuel) {
|
||||
super(mat, i, j, fuel, maxFuel);
|
||||
public JetpackBooster(FluidType fuel, int maxFuel) {
|
||||
super(fuel, maxFuel);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -86,7 +86,6 @@ public class JetpackBooster extends JetpackBase {
|
||||
|
||||
list.add("High-powered vectorized jetpack.");
|
||||
list.add("Highly increased fuel consumption.");
|
||||
list.add("");
|
||||
|
||||
super.addInformation(stack, player, list, ext);
|
||||
}
|
||||
|
||||
@ -23,8 +23,8 @@ public class JetpackBreak extends JetpackBase {
|
||||
|
||||
public static int maxFuel = 1200;
|
||||
|
||||
public JetpackBreak(ArmorMaterial mat, int i, int j, FluidType fuel, int maxFuel) {
|
||||
super(mat, i, j, fuel, maxFuel);
|
||||
public JetpackBreak(FluidType fuel, int maxFuel) {
|
||||
super(fuel, maxFuel);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -96,7 +96,6 @@ public class JetpackBreak extends JetpackBase {
|
||||
list.add("Regular jetpack that will automatically hover mid-air.");
|
||||
list.add("Sneaking will stop hover mode.");
|
||||
list.add("Hover mode will consume less fuel and increase air-mobility.");
|
||||
list.add("");
|
||||
|
||||
super.addInformation(stack, player, list, ext);
|
||||
}
|
||||
|
||||
@ -21,8 +21,8 @@ import net.minecraft.world.World;
|
||||
|
||||
public class JetpackRegular extends JetpackBase {
|
||||
|
||||
public JetpackRegular(ArmorMaterial mat, int i, int j, FluidType fuel, int maxFuel) {
|
||||
super(mat, i, j, fuel, maxFuel);
|
||||
public JetpackRegular(FluidType fuel, int maxFuel) {
|
||||
super(fuel, maxFuel);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -73,7 +73,6 @@ public class JetpackRegular extends JetpackBase {
|
||||
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
||||
|
||||
list.add("Regular jetpack for simple upwards momentum.");
|
||||
list.add("");
|
||||
|
||||
super.addInformation(stack, player, list, ext);
|
||||
}
|
||||
|
||||
@ -24,8 +24,8 @@ import net.minecraft.world.World;
|
||||
|
||||
public class JetpackVectorized extends JetpackBase {
|
||||
|
||||
public JetpackVectorized(ArmorMaterial mat, int i, int j, FluidType fuel, int maxFuel) {
|
||||
super(mat, i, j, fuel, maxFuel);
|
||||
public JetpackVectorized(FluidType fuel, int maxFuel) {
|
||||
super(fuel, maxFuel);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -88,7 +88,6 @@ public class JetpackVectorized extends JetpackBase {
|
||||
|
||||
list.add("High-mobility jetpack.");
|
||||
list.add("Higher fuel consumption.");
|
||||
list.add("");
|
||||
|
||||
super.addInformation(stack, player, list, ext);
|
||||
}
|
||||
|
||||
@ -38,13 +38,13 @@ public class ItemWandD extends Item {
|
||||
|
||||
MainRegistry.proxy.effectNT(data);*/
|
||||
|
||||
new Spaceship().generate_r0(world, world.rand, x - 4, y, z - 8);
|
||||
//new Spaceship().generate_r0(world, world.rand, x - 4, y, z - 8);
|
||||
|
||||
//new Ruin001().generate_r0(world, world.rand, x, y - 8, z);
|
||||
|
||||
/*CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand);
|
||||
CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand);
|
||||
CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand);*/
|
||||
CellularDungeonFactory.jungle.generate(world, x, y, z, world.rand);
|
||||
//CellularDungeonFactory.jungle.generate(world, x, y + 4, z, world.rand);
|
||||
//CellularDungeonFactory.jungle.generate(world, x, y + 8, z, world.rand);
|
||||
|
||||
//new ArcticVault().trySpawn(world, x, y, z);
|
||||
|
||||
|
||||
@ -421,8 +421,8 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_trixite), new Object[] { " A ", "PTP", "PSP", 'A', ModItems.wire_aluminium, 'P', "plateAluminum", 'S', ModItems.powder_power, 'T', ModItems.crystal_trixite }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.energy_core), new Object[] { "PCW", "TRD", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getFullBattery(ModItems.energy_core), new Object[] { "PCW", "TDR", "PCW", 'P', ModItems.plate_advanced_alloy, 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', "ingotTungsten" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hev_battery, 4), new Object[] { " W ", "IEI", "ICI", 'W', ModItems.wire_gold, 'I', ModItems.plate_polymer, 'E', ModItems.powder_power, 'C', "dustCobalt" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hev_battery, 4), new Object[] { " W ", "ICI", "IEI", 'W', ModItems.wire_gold, 'I', ModItems.plate_polymer, 'E', ModItems.powder_power, 'C', "dustCobalt" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hev_battery, 4), new Object[] { " W ", "IEI", "ICI", 'W', ModItems.wire_gold, 'I', ModItems.plate_polymer, 'E', Items.redstone, 'C', "dustCobalt" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.hev_battery, 4), new Object[] { " W ", "ICI", "IEI", 'W', ModItems.wire_gold, 'I', ModItems.plate_polymer, 'E', Items.redstone, 'C', "dustCobalt" }));
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_red_cell), new Object[] { "WBW", "PBP", "WBW", 'W', ModItems.wire_aluminium, 'P', "plateAluminum", 'B', ItemBattery.getEmptyBattery(ModItems.battery_generic) }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(ItemBattery.getEmptyBattery(ModItems.battery_advanced_cell), new Object[] { "WBW", "PBP", "WBW", 'W', ModItems.wire_red_copper, 'P', "plateCopper", 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced) }));
|
||||
|
||||
@ -11,8 +11,10 @@ import net.minecraft.item.Item.ToolMaterial;
|
||||
import net.minecraft.item.ItemArmor.ArmorMaterial;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.stats.Achievement;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.AchievementPage;
|
||||
import net.minecraftforge.common.ChestGenHooks;
|
||||
import net.minecraftforge.common.ForgeChunkManager;
|
||||
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
||||
import net.minecraftforge.common.ForgeChunkManager.Ticket;
|
||||
@ -259,6 +261,14 @@ public class MainRegistry {
|
||||
enumToolMaterialBottleOpener.setRepairItem(new ItemStack(ModItems.plate_steel));
|
||||
tMatDesh.setRepairItem(new ItemStack(ModItems.ingot_desh));
|
||||
|
||||
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(ModItems.armor_polish), 1, 1, 3));
|
||||
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(ModItems.bathwater), 1, 1, 1));
|
||||
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.bathwater), 1, 1, 1));
|
||||
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.serum), 1, 1, 5));
|
||||
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1));
|
||||
ChestGenHooks.addItem(ChestGenHooks.PYRAMID_DESERT_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1));
|
||||
ChestGenHooks.addItem(ChestGenHooks.PYRAMID_JUNGLE_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1));
|
||||
|
||||
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GUIHandler());
|
||||
GameRegistry.registerTileEntity(TileEntityTestBombAdvanced.class, "tilentity_testbombadvanced");
|
||||
GameRegistry.registerTileEntity(TileEntityDiFurnace.class, "tilentity_diFurnace");
|
||||
|
||||
@ -178,10 +178,17 @@ public class ModEventHandler
|
||||
|
||||
if(!event.entityLiving.worldObj.isRemote) {
|
||||
|
||||
if(event.entityLiving instanceof EntitySpider && event.source instanceof EntityDamageSource &&
|
||||
((EntityDamageSource)event.source).getEntity() instanceof EntityPlayer && event.entityLiving.getRNG().nextInt(500) == 0) {
|
||||
if(event.source instanceof EntityDamageSource && ((EntityDamageSource)event.source).getEntity() instanceof EntityPlayer) {
|
||||
|
||||
event.entityLiving.dropItem(ModItems.spider_milk, 1);
|
||||
if(event.entityLiving instanceof EntitySpider && event.entityLiving.getRNG().nextInt(500) == 0) {
|
||||
|
||||
event.entityLiving.dropItem(ModItems.spider_milk, 1);
|
||||
}
|
||||
|
||||
if(event.entityLiving instanceof EntitySpider && event.entityLiving.getRNG().nextInt(1000) == 0) {
|
||||
|
||||
event.entityLiving.dropItem(ModItems.heart_piece, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -246,6 +246,11 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//because armor thatisn't ItemArmor doesn't render at all
|
||||
if(armor != null && armor.getItem() instanceof JetpackBase) {
|
||||
((ItemArmorMod)armor.getItem()).modRender(event, armor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -502,6 +502,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom armor_ajr = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/AJR.obj"));
|
||||
public static final IModelCustom armor_hat = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/hat.obj"));
|
||||
public static final IModelCustom armor_fau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/fau.obj"));
|
||||
public static final IModelCustom armor_mod_tesla = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/mod_tesla.obj"));
|
||||
|
||||
////Texture Items
|
||||
|
||||
@ -572,6 +573,8 @@ public class ResourceManager {
|
||||
public static final ResourceLocation fau_cassette = new ResourceLocation(RefStrings.MODID, "textures/armor/fau_cassette.png");
|
||||
public static final ResourceLocation fau_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/fau_arm.png");
|
||||
|
||||
public static final ResourceLocation mod_tesla = new ResourceLocation(RefStrings.MODID, "textures/armor/mod_tesla.png");
|
||||
|
||||
public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png");
|
||||
|
||||
|
||||
|
||||
@ -56,6 +56,9 @@ public class ModelRendererObj {
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void render(float scale) {
|
||||
|
||||
if(parts == null)
|
||||
return;
|
||||
|
||||
GL11.glPushMatrix();
|
||||
|
||||
GL11.glTranslatef(this.offsetX * scale, this.offsetY * scale, this.offsetZ * scale);
|
||||
@ -81,7 +84,7 @@ public class ModelRendererObj {
|
||||
|
||||
GL11.glScalef(scale, scale, scale);
|
||||
|
||||
if(parts != null && parts.length > 0)
|
||||
if(parts.length > 0)
|
||||
for(String part : parts)
|
||||
model.renderPart(part);
|
||||
else
|
||||
|
||||
@ -24,6 +24,16 @@ public class ModelArmorBase extends ModelBiped {
|
||||
|
||||
public ModelArmorBase(int type) {
|
||||
this.type = type;
|
||||
|
||||
//generate null defaults to prevent major breakage from using incomplete models
|
||||
head = new ModelRendererObj(null);
|
||||
body = new ModelRendererObj(null);
|
||||
leftArm = new ModelRendererObj(null).setRotationPoint(-5.0F, 2.0F, 0.0F);
|
||||
rightArm = new ModelRendererObj(null).setRotationPoint(5.0F, 2.0F, 0.0F);
|
||||
leftLeg = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightLeg = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F);
|
||||
leftFoot = new ModelRendererObj(null).setRotationPoint(1.9F, 12.0F, 0.0F);
|
||||
rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F);
|
||||
}
|
||||
|
||||
public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_, float p_78087_5_, float p_78087_6_, Entity entity) {
|
||||
|
||||
33
src/main/java/com/hbm/render/model/ModelBackTesla.java
Normal file
@ -0,0 +1,33 @@
|
||||
package com.hbm.render.model;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.loader.ModelRendererObj;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class ModelBackTesla extends ModelArmorBase {
|
||||
|
||||
public ModelBackTesla() {
|
||||
super(1);
|
||||
body = new ModelRendererObj(ResourceManager.armor_mod_tesla);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {
|
||||
|
||||
setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mod_tesla);
|
||||
body.render(par7);
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
}
|
||||
@ -6,6 +6,7 @@ import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.HbmChestContents;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
@ -15,6 +16,7 @@ import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemDoor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
@ -649,7 +651,12 @@ public class Relay extends WorldGenerator
|
||||
world.setBlock(x + 4, y + 0, z + 10, Blocks.brick_block, 0, 3);
|
||||
world.setBlock(x + 6, y + 0, z + 10, ModBlocks.crate_iron, 0, 3);
|
||||
world.setBlockMetadataWithNotify(x + 6, y + 0, z + 10, 3, 3);
|
||||
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8);
|
||||
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(1), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8);
|
||||
|
||||
if(world.rand.nextInt(5) == 0) {
|
||||
((TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10)).setInventorySlotContents(11, new ItemStack(ModItems.morning_glory));
|
||||
}
|
||||
|
||||
world.setBlock(x + 7, y + 0, z + 10, Blocks.brick_block, 0, 3);
|
||||
world.setBlock(x + 8, y + 0, z + 10, Blocks.brick_block, 0, 3);
|
||||
world.setBlock(x + 10, y + 0, z + 10, ModBlocks.fence_metal, 0, 3);
|
||||
@ -659,7 +666,7 @@ public class Relay extends WorldGenerator
|
||||
world.setBlock(x + 10, y + 0, z + 11, ModBlocks.fence_metal, 0, 3);
|
||||
world.setBlock(x + 0, y + 0, z + 12, Library.getRandomConcrete(), 0, 3);
|
||||
//world.setBlock(x + 4, y + 0, z + 12, Blocks.iron_door, 0, 3);
|
||||
ItemDoor.placeDoorBlock(world, x + 4, y + 0, z + 12, 0, Blocks.iron_door);
|
||||
ItemDoor.placeDoorBlock(world, x + 4, y + 0, z + 12, 0, Blocks.iron_door);
|
||||
world.setBlock(x + 7, y + 0, z + 12, Blocks.brick_block, 0, 3);
|
||||
world.setBlock(x + 8, y + 0, z + 12, Blocks.brick_block, 0, 3);
|
||||
world.setBlock(x + 10, y + 0, z + 12, ModBlocks.fence_metal, 0, 3);
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.hbm.world.generator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
@ -41,7 +43,25 @@ public class JungleDungeon extends CellularDungeon {
|
||||
|
||||
//A hole has not been made -> this is the bottom floor
|
||||
if(!that.hasHole) {
|
||||
world.setBlock(x, y, z, ModBlocks.brick_jungle_circle);
|
||||
|
||||
List<int[]> rooms = new ArrayList();
|
||||
|
||||
for(int i = 0; i < that.cells.length; i++) {
|
||||
for(int j = 0; j < that.cells[0].length; j++) {
|
||||
|
||||
if(that.cells[i][j] != null)
|
||||
rooms.add(new int[]{i, j});
|
||||
}
|
||||
}
|
||||
|
||||
if(!rooms.isEmpty()) {
|
||||
|
||||
int ix = x - dimX * width / 2;
|
||||
int iz = z - dimZ * width / 2;
|
||||
|
||||
int[] room = rooms.get(world.rand.nextInt(rooms.size()));
|
||||
world.setBlock(ix + room[0] * (width - 1) + width / 2, y, iz + room[1] * (width - 1) + width / 2, ModBlocks.brick_jungle_circle);
|
||||
}
|
||||
}
|
||||
|
||||
that.hasHole = false;
|
||||
|
||||
@ -67,7 +67,7 @@ public class JungleDungeonRoom extends CellularDungeonRoom {
|
||||
|
||||
if(world.getBlock(x + 1 + a, y - 1, z + 1 + b) == Blocks.air) {
|
||||
if(bl == ModBlocks.brick_jungle || bl == ModBlocks.brick_jungle_cracked || bl == ModBlocks.brick_jungle_lava || bl == ModBlocks.brick_jungle_trap) {
|
||||
world.setBlockToAir(x + 1 + a, y, z + 1 + b);
|
||||
world.setBlock(x + 1 + a, y, z + 1 + b, ModBlocks.brick_jungle_fragile);
|
||||
punched = true;
|
||||
}
|
||||
}
|
||||
|
||||