alas, even more trash

This commit is contained in:
Bob 2021-01-31 02:03:14 +01:00
parent 565133eefb
commit 24a787c4bb
43 changed files with 1312 additions and 116 deletions

View File

@ -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

View File

@ -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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 739 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 461 B

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

View File

@ -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());

View File

@ -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));

View File

@ -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);
}
}
}

View 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);
}
}

View File

@ -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 });

View File

@ -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);

View File

@ -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;
}

View File

@ -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;

View File

@ -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());

View File

@ -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

View File

@ -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;
}
}

View 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();*/
}
}

View 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);
}
}
}

View File

@ -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

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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) }));

View File

@ -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");

View File

@ -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);
}
}
}
}

View File

@ -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);
}
}
}

View File

@ -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");

View File

@ -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

View File

@ -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) {

View 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();
}
}

View File

@ -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);

View File

@ -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;

View File

@ -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;
}
}