soyuz launcher stuff, soyuz skins, cyber crab improvements
@ -190,6 +190,7 @@ death.attack.blender=%1$s wurde in kleine, mundgerechte Stücke geschnitten.
|
||||
death.attack.meteorite=%1$s wurde von einem fallenden Stein aus dem Weltall erschlagen.
|
||||
death.attack.boxcar=%1$s wurde von einem fallenden Güterwagon zermatscht. Autsch!
|
||||
death.attack.boat=%1$s wurde von Schiff erschlagen.
|
||||
death.attack.building=%1$s wurde von einem Gebäude zermatscht.
|
||||
death.attack.broadcast=%1$s wurde das Gehirn geschmolzen.
|
||||
death.attack.ams=%1$s wurde in tödlichen Teilchen gebadet, die von der Menschheit erst benannt werden müssen.
|
||||
death.attack.amsCore=%1$s wurde vom Feuer einer Singularität verdampft.
|
||||
@ -1398,6 +1399,7 @@ item.gun_revolver_nightmare2.name=Nightmare-Revolver (Dunkel)
|
||||
item.gun_revolver_pip.name=Lil' Pipsqueak
|
||||
item.gun_revolver_nopip.name=Novac
|
||||
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
|
||||
item.gun_revolver_silver.name=Geliehene Kanone
|
||||
item.gun_revolver_red.name=Roter Schlüssel-Revolver
|
||||
item.gun_deagle.name=Großes Eisen
|
||||
item.gun_calamity.name=Calamity
|
||||
@ -1450,18 +1452,18 @@ item.gun_revolver_schrabidium_ammo.name=Schrabidiumpatrone
|
||||
item.gun_revolver_cursed_ammo.name=Stahlpatrone
|
||||
item.gun_revolver_nightmare_ammo.name=Nightmare-Kugel
|
||||
item.gun_revolver_nightmare2_ammo.name=Laserschrot
|
||||
item.gun_revolver_pip_ammo.name=Verdorbene Patrone
|
||||
item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone
|
||||
item.gun_calamity_ammo.name=.50 BMG Patrone
|
||||
item.gun_lacunae_ammo.name=5mm Patrone
|
||||
item.gun_revolver_pip_ammo.name=Verdorbene Patrone (LEGACY)
|
||||
item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone (LEGACY)
|
||||
item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY)
|
||||
item.gun_lacunae_ammo.name=5mm Patrone (LEGACY)
|
||||
item.gun_fatman_ammo.name=Miniatombombe
|
||||
item.gun_mirv_ammo.name=Achtfaches MIRV
|
||||
item.gun_bf_ammo.name=Mk.V kompaktes AMAT-Artilleriegeschoss - Typ B.F.
|
||||
item.gun_mp40_ammo.name=SMG-Patrone
|
||||
item.gun_uzi_ammo.name=.22 lfB Patrone
|
||||
item.gun_uboinik_ammo.name=12x70 Schrotmunition
|
||||
item.gun_lever_action_ammo.name=12x74 Schrotmunition
|
||||
item.gun_bolt_action_ammo.name=12x74 Brenneke
|
||||
item.gun_mp40_ammo.name=SMG-Patrone (LEGACY)
|
||||
item.gun_uzi_ammo.name=.22 lfB Patrone (LEGACY)
|
||||
item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY)
|
||||
item.gun_lever_action_ammo.name=12x74 Schrotmunition (LEGACY)
|
||||
item.gun_bolt_action_ammo.name=12x74 Brenneke (LEGACY)
|
||||
item.gun_b92_ammo.name=§9B92-Energiezelle§r
|
||||
item.gun_xvl1456_ammo.name=Kiste mit erschöpftem Uran-235
|
||||
item.gun_osipr_ammo.name=Dunkler Energiepuls-Plug
|
||||
@ -1478,10 +1480,13 @@ item.gun_defabricator_ammo.name=Defabrikator-Energiezelle
|
||||
|
||||
item.ammo_12gauge.name=Kaliber 12 Schrot
|
||||
item.ammo_12gauge_incendiary.name=Kaliber 12 Schrot (Brand)
|
||||
item.ammo_12gauge_shrapnel.name=Kaliber 12 Schrot (Schrapnell)
|
||||
item.ammo_12gauge_du.name=Kaliber 12 Schrot (Uranbeschichtung)
|
||||
item.ammo_20gauge.name=Kaliber 20 Schrot
|
||||
item.ammo_20gauge_slug.name=Kaliber 20 Brenneke
|
||||
item.ammo_20gauge_flechette.name=Kaliber 20 Flechet
|
||||
item.ammo_20gauge_incendiary.name=Kaliber 20 Schrot (Brand)
|
||||
item.ammo_20gauge_shrapnel.name=Kaliber 20 Schrot (Schrapnell)
|
||||
item.ammo_20gauge_shock.name=Kaliber 20 Schrot (Schock)
|
||||
item.ammo_20gauge_caustic.name=Kaliber 20 Schrot (Ätzend)
|
||||
item.ammo_20gauge_explosive.name=Kaliber 20 Schrot (Explosiv)
|
||||
@ -1503,8 +1508,8 @@ item.ammo_9mm.name=9mm Patrone
|
||||
item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend)
|
||||
item.ammo_9mm_du.name=9mm Patrone (DU)
|
||||
item.ammo_9mm_rocket.name=9mm Rakete
|
||||
item.ammo_22lr.name=.22 LR Patrone
|
||||
item.ammo_22lr_ap.name=.22 LR Patrone (Panzerbrechend)
|
||||
item.ammo_22lr.name=.22 lfB Patrone
|
||||
item.ammo_22lr_ap.name=.22 lfB Patrone (Panzerbrechend)
|
||||
item.ammo_folly_taint.name=Silbernes Geschoss (Original)
|
||||
item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar)
|
||||
item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv)
|
||||
@ -1515,6 +1520,7 @@ item.ammo_44_du.name=.44 Magnum Patrone (DU)
|
||||
item.ammo_44_star.name=.44 Magnum Patrone (Sternenmetall)
|
||||
item.ammo_44_pip.name=.44 Magnum Patrone (Güterwagon)
|
||||
item.ammo_44_bj.name=.44 Magnum Patrone (Boot)
|
||||
item.ammo_44_silver.name=.44 Magnum Patrone (Gebäude)
|
||||
item.ammo_44_rocket.name=.44 Magnum Rakete
|
||||
item.ammo_rocket.name=84mm Rakete
|
||||
item.ammo_rocket_he.name=84mm Rakete (HE)
|
||||
@ -2313,6 +2319,8 @@ item.weapon_golf_club.name=Schläger des russischen Mafiosos
|
||||
item.weapon_pipe_rusty.name=Der Einstellungskorrigierer
|
||||
item.weapon_pipe_lead.name=Die Handüberbrückung
|
||||
item.reer_graar.name=The Reer Graar
|
||||
item.stopsign.name=Stopschild-Streitaxt
|
||||
item.sopsign.name=Sopschild-Streitaxt
|
||||
|
||||
item.letter.name=Eilbrief
|
||||
item.polaroid.name=Das Polaroid
|
||||
|
||||
@ -190,6 +190,7 @@ death.attack.blender=%1$s was chopped in small, bite-sized pieces.
|
||||
death.attack.meteorite=%1$s was hit by a falling rock from outer space.
|
||||
death.attack.boxcar=%1$s was smushed by a falling boxcar. Oh well.
|
||||
death.attack.boat=%1$s was hit by a boat.
|
||||
death.attack.building=%1$s was hit by a falling building.
|
||||
death.attack.broadcast=%1$s got their brain melted.
|
||||
death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science.
|
||||
death.attack.amsCore=%1$s was vaporized in the fire of a singularity.
|
||||
@ -1198,7 +1199,7 @@ item.rod_quad_waste.name=Nuclear Waste Quad Rod
|
||||
item.gun_rpg.name=Carl Gustav Recoilless Rifle
|
||||
item.gun_karl.name=Karl
|
||||
item.gun_panzerschreck.name=Panzerschreck
|
||||
item.gun_rpg_ammo.name=Rocket
|
||||
item.gun_rpg_ammo.name=Rocket (LEGACY)
|
||||
item.gun_stinger.name=FIM-92 Stinger
|
||||
item.gun_skystinger.name=The One Sky Stinger
|
||||
item.gun_stinger_ammo.name=Stinger Rocket
|
||||
@ -1398,6 +1399,7 @@ item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark)
|
||||
item.gun_revolver_pip.name=Lil' Pipsqueak
|
||||
item.gun_revolver_nopip.name=Novac
|
||||
item.gun_revolver_blackjack.name=Blackjack Five-Shooter
|
||||
item.gun_revolver_silver.name=Lent Gun
|
||||
item.gun_revolver_red.name=Red Key Revolver
|
||||
item.gun_deagle.name=Big Iron
|
||||
item.gun_calamity.name=Calamity
|
||||
@ -1450,18 +1452,18 @@ item.gun_revolver_schrabidium_ammo.name=Schrabidium Bullet
|
||||
item.gun_revolver_cursed_ammo.name=Steel Bullet
|
||||
item.gun_revolver_nightmare_ammo.name=Nightmare Bullet
|
||||
item.gun_revolver_nightmare2_ammo.name=Laser Buckshot
|
||||
item.gun_revolver_pip_ammo.name=Tainted Bullet
|
||||
item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet
|
||||
item.gun_calamity_ammo.name=.50 BMG Round
|
||||
item.gun_lacunae_ammo.name=5mm Round
|
||||
item.gun_revolver_pip_ammo.name=Tainted Bullet (LEGACY)
|
||||
item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet (LEGACY)
|
||||
item.gun_calamity_ammo.name=.50 BMG Round (LEGACY)
|
||||
item.gun_lacunae_ammo.name=5mm Round (LEGACY)
|
||||
item.gun_fatman_ammo.name=Mini Nuke
|
||||
item.gun_mirv_ammo.name=Eightfold MIRV
|
||||
item.gun_bf_ammo.name=Mk.V Compact AMAT-Artillery Shell - Type B.F.
|
||||
item.gun_mp40_ammo.name=Submachine Gun Round
|
||||
item.gun_uzi_ammo.name=.22 LR Round
|
||||
item.gun_uboinik_ammo.name=12x70 Buckshot
|
||||
item.gun_lever_action_ammo.name=12x74 Buckshot
|
||||
item.gun_bolt_action_ammo.name=12x74 Slug
|
||||
item.gun_mp40_ammo.name=Submachine Gun Round (LEGACY)
|
||||
item.gun_uzi_ammo.name=.22 LR Round (LEGACY)
|
||||
item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY)
|
||||
item.gun_lever_action_ammo.name=12x74 Buckshot (LEGACY)
|
||||
item.gun_bolt_action_ammo.name=12x74 Slug (LEGACY)
|
||||
item.gun_b92_ammo.name=§9B92 Energy Cell§r
|
||||
item.gun_xvl1456_ammo.name=Depleted Uranium-235 Box
|
||||
item.gun_osipr_ammo.name=Dark Energy Pulse Plug
|
||||
@ -1478,10 +1480,13 @@ item.gun_defabricator_ammo.name=Defabricator Energy Cell
|
||||
|
||||
item.ammo_12gauge.name=12 Gauge Buckshot
|
||||
item.ammo_12gauge_incendiary.name=12 Gauge Buckshot (Incendiary)
|
||||
item.ammo_12gauge_shrapnel.name=12 Gauge Buckshot (Shrapnel)
|
||||
item.ammo_12gauge_du.name=12 Gauge Buckshot (Uranium Coated)
|
||||
item.ammo_20gauge.name=20 Gauge Buckshot
|
||||
item.ammo_20gauge_slug.name=20 Gauge Brenneke Slug
|
||||
item.ammo_20gauge_flechette.name=20 Gauge Flechette Shell
|
||||
item.ammo_20gauge_incendiary.name=20 Gauge Buckshot (Incendiary)
|
||||
item.ammo_20gauge_shrapnel.name=20 Gauge Buckshot (Shrapnel)
|
||||
item.ammo_20gauge_shock.name=20 Gauge Buckshot (Shock)
|
||||
item.ammo_20gauge_caustic.name=20 Gauge Buckshot (Caustic)
|
||||
item.ammo_20gauge_explosive.name=20 Gauge Buckshot (Explosive)
|
||||
@ -1515,6 +1520,7 @@ item.ammo_44_du.name=.44 Magnum Bullet (DU)
|
||||
item.ammo_44_star.name=.44 Magnum Bullet (Starmetal)
|
||||
item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar)
|
||||
item.ammo_44_bj.name=.44 Magnum Bullet (Boat)
|
||||
item.ammo_44_silver.name=.44 Magnum Bullet (Building)
|
||||
item.ammo_44_rocket.name=.44 Magnum Rocket
|
||||
item.ammo_rocket.name=84mm Rocket
|
||||
item.ammo_rocket_he.name=84mm Rocket (HE)
|
||||
@ -2313,6 +2319,8 @@ item.weapon_golf_club.name=Russian Mobster's Club
|
||||
item.weapon_pipe_rusty.name=The Attitude Adjuster
|
||||
item.weapon_pipe_lead.name=The Manual Override
|
||||
item.reer_graar.name=The Reer Graar
|
||||
item.stopsign.name=Stop Sign Battle Axe
|
||||
item.sopsign.name=Sop Sign Battle Axe
|
||||
|
||||
item.letter.name=Express Mail
|
||||
item.polaroid.name=The Polaroid
|
||||
|
||||
1948
assets/hbm/models/weapons/building.obj
Normal file
220
assets/hbm/models/weapons/stopsign.obj
Normal file
@ -0,0 +1,220 @@
|
||||
# Blender v2.81 (sub 16) OBJ File: ''
|
||||
# www.blender.org
|
||||
mtllib stopsign.mtl
|
||||
o Cube
|
||||
v 0.125000 6.000000 -0.500000
|
||||
v 0.125000 4.000000 0.500000
|
||||
v 0.000000 6.000000 -0.500000
|
||||
v 0.062500 5.500000 -1.000000
|
||||
v 0.000000 4.000000 0.500000
|
||||
v 0.062500 4.500000 1.000000
|
||||
v 0.125000 4.000000 -0.500000
|
||||
v 0.125000 6.000000 0.500000
|
||||
v 0.062500 4.500000 -1.000000
|
||||
v 0.000000 4.000000 -0.500000
|
||||
v 0.062500 5.500000 1.000000
|
||||
v 0.000000 6.000000 0.500000
|
||||
v 0.125000 5.875000 -0.375000
|
||||
v 0.125000 5.750000 0.125000
|
||||
v 0.125000 5.875000 0.375000
|
||||
v 0.000000 5.875000 -0.375000
|
||||
v 0.000000 5.750000 0.125000
|
||||
v 0.000000 5.875000 0.375000
|
||||
v 0.125000 4.125000 -0.375000
|
||||
v 0.125000 4.125000 0.375000
|
||||
v 0.000000 4.125000 -0.375000
|
||||
v 0.000000 4.125000 0.375000
|
||||
v 0.125000 4.250000 -0.125000
|
||||
v 0.000000 4.250000 -0.125000
|
||||
v 0.125000 4.250000 0.125000
|
||||
v 0.000000 4.250000 0.125000
|
||||
v 0.125000 5.750000 -0.125000
|
||||
v 0.000000 5.750000 -0.125000
|
||||
v 0.125000 6.000000 0.062500
|
||||
v 0.125000 6.000000 -0.062500
|
||||
v 0.250000 6.000000 -0.062500
|
||||
v 0.250000 6.000000 0.062500
|
||||
v 0.125000 0.000000 0.062500
|
||||
v 0.125000 0.000000 -0.062500
|
||||
v 0.250000 0.000000 -0.062500
|
||||
v 0.250000 0.000000 0.062500
|
||||
vt 0.104167 0.312500
|
||||
vt 0.083333 0.333333
|
||||
vt 0.083333 0.312500
|
||||
vt 0.416667 0.333333
|
||||
vt 0.333333 0.083333
|
||||
vt 0.416667 0.000000
|
||||
vt 0.333333 0.250000
|
||||
vt 0.250000 0.000000
|
||||
vt 0.020833 0.270833
|
||||
vt -0.000000 0.270833
|
||||
vt 0.020833 0.187500
|
||||
vt 0.000000 0.062500
|
||||
vt 0.020833 0.145833
|
||||
vt -0.000000 0.145833
|
||||
vt 0.333333 0.145833
|
||||
vt 0.312500 0.145833
|
||||
vt 0.333333 0.062500
|
||||
vt 0.312500 0.270833
|
||||
vt 0.312500 0.187500
|
||||
vt 0.333333 0.270833
|
||||
vt -0.000000 0.083333
|
||||
vt 0.083333 0.333333
|
||||
vt -0.000000 0.250000
|
||||
vt 0.583333 0.333333
|
||||
vt 0.666667 0.083333
|
||||
vt 0.666667 0.250000
|
||||
vt 0.250000 0.312500
|
||||
vt 0.229167 0.333333
|
||||
vt 0.229167 0.312500
|
||||
vt 0.229167 0.312500
|
||||
vt 0.187500 0.333333
|
||||
vt 0.145833 0.312500
|
||||
vt 0.104167 0.333333
|
||||
vt 0.145833 0.333333
|
||||
vt 0.187500 0.020833
|
||||
vt 0.229167 -0.000000
|
||||
vt 0.229167 0.020833
|
||||
vt 0.229167 -0.000000
|
||||
vt 0.250000 0.020833
|
||||
vt 0.229167 0.020833
|
||||
vt 0.104167 0.020833
|
||||
vt 0.083333 -0.000000
|
||||
vt 0.104167 -0.000000
|
||||
vt 0.104167 -0.000000
|
||||
vt 0.145833 0.020833
|
||||
vt 0.104167 0.020833
|
||||
vt 0.145833 -0.000000
|
||||
vt 0.104167 0.312500
|
||||
vt 0.104167 0.020833
|
||||
vt 0.145833 0.041667
|
||||
vt 0.520833 0.041667
|
||||
vt 0.562500 0.020833
|
||||
vt 0.562500 0.312500
|
||||
vt 0.270833 0.958333
|
||||
vt 0.291667 0.937500
|
||||
vt 0.291667 0.958333
|
||||
vt 0.333333 0.916667
|
||||
vt 0.354167 0.937500
|
||||
vt 0.333333 0.937500
|
||||
vt 0.000000 0.979167
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.958333
|
||||
vt 0.000000 0.958333
|
||||
vt 0.000000 0.916667
|
||||
vt 1.000000 0.937500
|
||||
vt 0.000000 0.937500
|
||||
vt -0.000000 0.958333
|
||||
vt 1.000000 0.979167
|
||||
vt -0.000000 0.979167
|
||||
vt 0.104167 0.333333
|
||||
vt 0.250000 0.333333
|
||||
vt 0.083333 0.000000
|
||||
vt 0.583333 0.000000
|
||||
vt 0.250000 0.333333
|
||||
vt 0.187500 0.312500
|
||||
vt 0.187500 -0.000000
|
||||
vt 0.250000 -0.000000
|
||||
vt 0.083333 0.020833
|
||||
vt 0.229167 0.312500
|
||||
vt 0.229167 0.020833
|
||||
vt 0.187500 0.291667
|
||||
vt 0.187500 0.041667
|
||||
vt 0.145833 0.291667
|
||||
vt 0.437500 0.312500
|
||||
vt 0.437500 0.020833
|
||||
vt 0.479167 0.291667
|
||||
vt 0.479167 0.041667
|
||||
vt 0.520833 0.291667
|
||||
vt 0.270833 0.937500
|
||||
vt 0.354167 0.916667
|
||||
vt 1.000000 0.979167
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.916667
|
||||
vt 1.000000 0.958333
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn 0.9923 0.0000 0.1240
|
||||
vn -0.9923 0.0000 0.1240
|
||||
vn 0.0000 0.7071 0.7071
|
||||
vn 0.0000 -0.7071 0.7071
|
||||
vn 0.0000 -0.7071 -0.7071
|
||||
vn -0.9923 0.0000 -0.1240
|
||||
vn 0.9923 0.0000 -0.1240
|
||||
vn 0.0000 0.8944 0.4472
|
||||
vn 0.0000 0.8944 -0.4472
|
||||
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 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
usemtl Material
|
||||
s off
|
||||
f 18/1/1 8/2/1 15/3/1
|
||||
f 8/4/2 6/5/2 2/6/2
|
||||
f 11/7/3 5/8/3 6/5/3
|
||||
f 3/9/1 1/10/1 4/11/1
|
||||
f 11/12/4 8/13/4 12/14/4
|
||||
f 5/15/5 2/16/5 6/17/5
|
||||
f 10/18/6 9/19/6 7/20/6
|
||||
f 9/21/7 3/22/7 4/23/7
|
||||
f 1/24/8 9/25/8 4/26/8
|
||||
f 3/27/4 13/28/4 1/29/4
|
||||
f 16/30/9 27/31/9 13/28/9
|
||||
f 17/32/10 15/33/10 14/34/10
|
||||
f 23/35/11 21/36/11 19/37/11
|
||||
f 19/38/5 10/39/5 7/40/5
|
||||
f 5/41/6 20/42/6 2/43/6
|
||||
f 22/44/12 25/45/12 20/46/12
|
||||
f 26/47/13 23/35/13 25/45/13
|
||||
f 27/31/14 17/32/14 14/34/14
|
||||
f 16/48/15 21/49/15 24/50/15
|
||||
f 23/51/16 19/52/16 13/53/16
|
||||
f 29/54/14 31/55/14 30/56/14
|
||||
f 35/57/13 33/58/13 34/59/13
|
||||
f 32/60/16 35/61/16 31/62/16
|
||||
f 29/63/17 36/64/17 32/65/17
|
||||
f 31/66/18 34/67/18 30/68/18
|
||||
f 30/69/15 33/70/15 29/71/15
|
||||
f 18/1/1 12/72/1 8/2/1
|
||||
f 8/4/2 11/7/2 6/5/2
|
||||
f 11/7/3 12/73/3 5/8/3
|
||||
f 9/21/7 10/74/7 3/22/7
|
||||
f 1/24/8 7/75/8 9/25/8
|
||||
f 3/27/4 16/76/4 13/28/4
|
||||
f 16/30/9 28/77/9 27/31/9
|
||||
f 17/32/10 18/1/10 15/33/10
|
||||
f 23/35/11 24/78/11 21/36/11
|
||||
f 19/38/5 21/79/5 10/39/5
|
||||
f 5/41/6 22/80/6 20/42/6
|
||||
f 22/44/12 26/47/12 25/45/12
|
||||
f 26/47/13 24/78/13 23/35/13
|
||||
f 27/31/14 28/77/14 17/32/14
|
||||
f 5/8/15 12/73/15 18/81/15
|
||||
f 5/8/15 18/81/15 22/82/15
|
||||
f 18/81/15 17/83/15 22/82/15
|
||||
f 22/82/15 17/83/15 26/84/15
|
||||
f 17/83/15 28/85/15 26/84/15
|
||||
f 16/48/15 3/22/15 10/74/15
|
||||
f 26/84/15 28/85/15 24/50/15
|
||||
f 28/85/15 16/48/15 24/50/15
|
||||
f 16/48/15 10/74/15 21/49/15
|
||||
f 15/86/16 8/4/16 2/6/16
|
||||
f 15/86/16 2/6/16 20/87/16
|
||||
f 14/88/16 15/86/16 20/87/16
|
||||
f 14/88/16 20/87/16 25/89/16
|
||||
f 27/90/16 14/88/16 25/89/16
|
||||
f 27/90/16 25/89/16 23/51/16
|
||||
f 7/75/16 1/24/16 13/53/16
|
||||
f 13/53/16 27/90/16 23/51/16
|
||||
f 19/52/16 7/75/16 13/53/16
|
||||
f 29/54/14 32/91/14 31/55/14
|
||||
f 35/57/13 36/92/13 33/58/13
|
||||
f 32/60/16 36/93/16 35/61/16
|
||||
f 29/63/17 33/94/17 36/64/17
|
||||
f 31/66/18 35/95/18 34/67/18
|
||||
f 30/69/15 34/96/15 33/70/15
|
||||
38800
assets/hbm/models/weapons/supershotty.obj
Normal file
@ -61,6 +61,7 @@
|
||||
"weapon.revolverShootAlt": {"category": "player", "sounds": [{"name": "weapon/revolverShootAlt", "stream": false}]},
|
||||
"weapon.heavyShoot": {"category": "player", "sounds": [{"name": "weapon/heavyShoot", "stream": false}]},
|
||||
"weapon.shotgunShoot": {"category": "player", "sounds": [{"name": "weapon/shotgunShoot", "stream": false}]},
|
||||
"weapon.shottyShoot": {"category": "player", "sounds": [{"name": "weapon/shottyShoot", "stream": false}]},
|
||||
"weapon.schrabidiumShoot": {"category": "player", "sounds": [{"name": "weapon/schrabidiumShoot", "stream": false}]},
|
||||
"weapon.osiprShoot": {"category": "player", "sounds": [{"name": "weapon/osiprShoot", "stream": false}]},
|
||||
"weapon.osiprAltFire": {"category": "player", "sounds": [{"name": "weapon/osiprAltFire", "stream": false}]},
|
||||
@ -134,8 +135,9 @@
|
||||
"entity.bombWhistle": {"category": "player", "sounds": [{"name": "entity/bombWhistle", "stream": false}]},
|
||||
"entity.bomberLoop": {"category": "player", "sounds": [{"name": "entity/bomber1", "stream": false}]},
|
||||
"entity.bomberSmallLoop": {"category": "player", "sounds": [{"name": "entity/bomber2", "stream": false}]},
|
||||
"entity.planeCrash": {"category": "player", "sounds": [{"name": "entity/planeCrash", "stream": false}]},
|
||||
"entity.planeShotDown": {"category": "player", "sounds": [{"name": "entity/planeShotDown", "stream": false}]},
|
||||
"entity.planeCrash": {"category": "hostile", "sounds": [{"name": "entity/planeCrash", "stream": false}]},
|
||||
"entity.planeShotDown": {"category": "hostile", "sounds": [{"name": "entity/planeShotDown", "stream": false}]},
|
||||
"entity.cybercrab": {"category": "hostile", "sounds": ["entity/radio_random1", "entity/radio_random2", "entity/radio_random3", "entity/radio_random4", "entity/radio_random5", "entity/radio_random6", "entity/radio_random7", "entity/radio_random8", "entity/radio_random9", "entity/radio_random10", "entity/radio_random11", "entity/radio_random12", "entity/radio_random13", "entity/radio_random14", "entity/radio_random15"]},
|
||||
|
||||
"potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]},
|
||||
|
||||
|
||||
BIN
assets/hbm/sounds/entity/radio_random1.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random10.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random11.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random12.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random13.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random14.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random15.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random2.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random3.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random4.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random5.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random6.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random7.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random8.ogg
Normal file
BIN
assets/hbm/sounds/entity/radio_random9.ogg
Normal file
BIN
assets/hbm/sounds/weapon/shottyShoot.ogg
Normal file
BIN
assets/hbm/textures/items/ammo_12gauge_du.png
Normal file
|
After Width: | Height: | Size: 350 B |
BIN
assets/hbm/textures/items/ammo_44_silver.png
Normal file
|
After Width: | Height: | Size: 242 B |
BIN
assets/hbm/textures/items/gun_revolver_silver.png
Normal file
|
After Width: | Height: | Size: 292 B |
BIN
assets/hbm/textures/items/sopsign.png
Normal file
|
After Width: | Height: | Size: 198 B |
BIN
assets/hbm/textures/items/soyuz_lander.png
Normal file
|
After Width: | Height: | Size: 336 B |
BIN
assets/hbm/textures/items/stopsign.png
Normal file
|
After Width: | Height: | Size: 191 B |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 6.1 KiB |
BIN
assets/hbm/textures/models/ModelPipSilver.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 921 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 6.0 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/booster.png
Normal file
|
After Width: | Height: | Size: 93 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/boosterside.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/bottomstage.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/engineblock.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/les.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/lesthrusters.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/mainengines.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/payload.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/payloadblocks.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/sideengines.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
assets/hbm/textures/models/soyuz_authentic/topstage.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 921 B |
|
Before Width: | Height: | Size: 805 B |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
BIN
assets/hbm/textures/models/weapons/building.png
Normal file
|
After Width: | Height: | Size: 7.9 KiB |
BIN
assets/hbm/textures/models/weapons/sopsign.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
assets/hbm/textures/models/weapons/stopsign.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
@ -903,14 +903,14 @@ public class ModBlocks {
|
||||
mush_block = new BlockMushHuge(Material.plants).setBlockName("mush_block").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_skin");
|
||||
mush_block_stem = new BlockMushHuge(Material.plants).setBlockName("mush_block_stem").setLightLevel(1.0F).setStepSound(Block.soundTypeGrass).setHardness(0.2F).setBlockTextureName(RefStrings.MODID + ":mush_block_stem");
|
||||
|
||||
waste_earth = new WasteEarth(Material.ground, 0.25F, 7.5F).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":waste_earth");
|
||||
waste_mycelium = new WasteEarth(Material.ground, 1F, 25F).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side");
|
||||
waste_earth = new WasteEarth(Material.ground, true).setBlockName("waste_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":waste_earth");
|
||||
waste_mycelium = new WasteEarth(Material.ground, true).setBlockName("waste_mycelium").setStepSound(Block.soundTypeGrass).setLightLevel(1F).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(1.0F).setBlockTextureName(RefStrings.MODID + ":waste_mycelium_side");
|
||||
waste_trinitite = new BlockOre(Material.sand).setBlockName("waste_trinitite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite");
|
||||
waste_trinitite_red = new BlockOre(Material.sand).setBlockName("waste_trinitite_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_trinitite_red");
|
||||
waste_log = new WasteLog(Material.wood).setBlockName("waste_log").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(2.5F);
|
||||
waste_planks = new BlockOre(Material.wood).setBlockName("waste_planks").setStepSound(Block.soundTypeWood).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":waste_planks");
|
||||
frozen_dirt = new BlockOre(Material.ground).setBlockName("frozen_dirt").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_dirt");
|
||||
frozen_grass = new WasteEarth(Material.ground).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F);
|
||||
frozen_grass = new WasteEarth(Material.ground, false).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F);
|
||||
frozen_log = new WasteLog(Material.wood).setBlockName("frozen_log").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F);
|
||||
frozen_planks = new BlockOre(Material.wood).setBlockName("frozen_planks").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_planks");
|
||||
|
||||
|
||||
@ -6,7 +6,6 @@ import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.potion.HbmPotion;
|
||||
import com.hbm.saveddata.RadiationSavedData;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@ -25,24 +24,15 @@ import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class WasteEarth extends Block {
|
||||
|
||||
private float radIn = 0.0F;
|
||||
private float radMax = 0.0F;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconTop;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private IIcon iconBottom;
|
||||
|
||||
public WasteEarth(Material mat) {
|
||||
public WasteEarth(Material mat, boolean tick) {
|
||||
super(mat);
|
||||
}
|
||||
|
||||
public WasteEarth(Material mat, float rad, float max) {
|
||||
super(mat);
|
||||
//this.setTickRandomly(true);
|
||||
radIn = rad;
|
||||
radMax = max;
|
||||
this.setTickRandomly(tick);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -116,14 +106,7 @@ public class WasteEarth extends Block {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random rand)
|
||||
{
|
||||
if(this.radIn > 0) {
|
||||
|
||||
RadiationSavedData.incrementRad(world, x, z, radIn, radMax);
|
||||
|
||||
world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world));
|
||||
}
|
||||
public void updateTick(World world, int x, int y, int z, Random rand) {
|
||||
|
||||
if((this == ModBlocks.waste_earth || this == ModBlocks.waste_mycelium) && world.getBlock(x, y + 1, z) == Blocks.air && rand.nextInt(10) == 0)
|
||||
{
|
||||
|
||||
@ -1,7 +1,12 @@
|
||||
package com.hbm.entity.mob;
|
||||
|
||||
import com.hbm.entity.projectile.EntityBullet;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import net.minecraft.command.IEntitySelector;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.IRangedAttackMob;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
@ -19,6 +24,12 @@ import net.minecraft.world.World;
|
||||
public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
|
||||
private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.5D, 60, 80, 15.0F);
|
||||
|
||||
private static final IEntitySelector selector = new IEntitySelector() {
|
||||
public boolean isEntityApplicable(Entity p_82704_1_) {
|
||||
return !(p_82704_1_ instanceof EntityCyberCrab);
|
||||
}
|
||||
};
|
||||
|
||||
public EntityCyberCrab(World p_i1733_1_)
|
||||
{
|
||||
@ -29,7 +40,8 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
this.tasks.addTask(1, new EntityAIWander(this, 0.5F));
|
||||
//this.tasks.addTask(2, new EntityAIAvoidEntity(this, EntityPlayer.class, 3, 0.75D, 1.0D));
|
||||
this.tasks.addTask(4, this.aiArrowAttack);
|
||||
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 3, true));
|
||||
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
|
||||
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityLiving.class, 0, true, true, selector));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -43,6 +55,9 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
@Override
|
||||
public boolean attackEntityFrom(DamageSource source, float amount) {
|
||||
|
||||
if(ModDamageSource.getIsTau(source))
|
||||
return false;
|
||||
|
||||
return super.attackEntityFrom(source, amount);
|
||||
}
|
||||
|
||||
@ -111,7 +126,7 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
@Override
|
||||
protected String getHurtSound()
|
||||
{
|
||||
return "mob.creeper.say";
|
||||
return "hbm:entity.cybercrab";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -120,7 +135,7 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
@Override
|
||||
protected String getDeathSound()
|
||||
{
|
||||
return "mob.creeper.death";
|
||||
return "hbm:entity.cybercrab";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -141,7 +156,7 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
@Override
|
||||
protected Item getDropItem()
|
||||
{
|
||||
return null;
|
||||
return ModItems.wire_gold;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -149,7 +164,8 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob {
|
||||
EntityBullet bullet = new EntityBullet(worldObj, this, entity, 1.6F, 2);
|
||||
bullet.setIsCritical(true);
|
||||
bullet.setTau(true);
|
||||
bullet.damage = 2;
|
||||
bullet.damage = 3;
|
||||
this.worldObj.spawnEntityInWorld(bullet);
|
||||
this.playSound("hbm:weapon.sawShoot", 1.0F, 2.0F);
|
||||
}
|
||||
}
|
||||
|
||||
84
com/hbm/entity/projectile/EntityBuilding.java
Normal file
@ -0,0 +1,84 @@
|
||||
package com.hbm.entity.projectile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
import com.hbm.lib.ModDamageSource;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.projectile.EntityThrowable;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityBuilding extends EntityThrowable {
|
||||
|
||||
public EntityBuilding(World p_i1582_1_) {
|
||||
super(p_i1582_1_);
|
||||
this.ignoreFrustumCheck = true;
|
||||
this.isImmuneToFire = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate() {
|
||||
|
||||
|
||||
this.lastTickPosX = this.prevPosX = posX;
|
||||
this.lastTickPosY = this.prevPosY = posY;
|
||||
this.lastTickPosZ = this.prevPosZ = posZ;
|
||||
this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ);
|
||||
|
||||
this.motionY -= 0.03;
|
||||
if(motionY < -1.5)
|
||||
motionY = -1.5;
|
||||
|
||||
if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air)
|
||||
{
|
||||
this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F);
|
||||
this.setDead();
|
||||
ExplosionLarge.spawnParticles(worldObj, posX, posY + 3, posZ, 150);
|
||||
ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 6);
|
||||
ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 5);
|
||||
ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 4);
|
||||
ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3);
|
||||
ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3);
|
||||
|
||||
List<Entity> list = (List<Entity>)worldObj.getEntitiesWithinAABBExcludingEntity(null,
|
||||
AxisAlignedBB.getBoundingBox(posX - 8, posY - 8, posZ - 8, posX + 8, posY + 8, posZ + 8));
|
||||
|
||||
for(Entity e : list) {
|
||||
e.attackEntityFrom(ModDamageSource.building, 1000);
|
||||
}
|
||||
|
||||
for(int i = 0; i < 250; i++) {
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(1, 0, 0);
|
||||
vec.rotateAroundZ((float) (-rand.nextFloat() * Math.PI / 2));
|
||||
vec.rotateAroundY((float) (rand.nextFloat() * Math.PI * 2));
|
||||
|
||||
EntityRubble rubble = new EntityRubble(worldObj, posX, posY + 3, posZ);
|
||||
rubble.setMetaBasedOnBlock(Blocks.brick_block, 0);
|
||||
rubble.motionX = vec.xCoord;
|
||||
rubble.motionY = vec.yCoord;
|
||||
rubble.motionZ = vec.zCoord;
|
||||
worldObj.spawnEntityInWorld(rubble);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onImpact(MovingObjectPosition p_70184_1_) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isInRangeToRenderDist(double distance)
|
||||
{
|
||||
return distance < 25000;
|
||||
}
|
||||
}
|
||||
@ -109,7 +109,7 @@ public class EntityBullet extends Entity implements IProjectile {
|
||||
double d5 = d2 / d3;
|
||||
this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3);
|
||||
this.yOffset = 0.0F;
|
||||
float f4 = (float) d3 * 0.2F;
|
||||
float f4 = 0;//(float) d3 * 0.2F;
|
||||
this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_);
|
||||
}
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ import com.hbm.entity.effect.EntityCloudFleijaRainbow;
|
||||
import com.hbm.entity.effect.EntityEMPBlast;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK3;
|
||||
import com.hbm.entity.logic.EntityNukeExplosionMK4;
|
||||
import com.hbm.entity.particle.EntityBSmokeFX;
|
||||
import com.hbm.entity.particle.EntityTSmokeFX;
|
||||
import com.hbm.explosion.ExplosionChaos;
|
||||
import com.hbm.explosion.ExplosionLarge;
|
||||
@ -477,40 +476,6 @@ public class EntityBulletBase extends Entity implements IProjectile {
|
||||
|
||||
if(config.bHit != null)
|
||||
config.bHit.behaveEntityHit(this, e);
|
||||
|
||||
if(config.boxcar && !worldObj.isRemote) {
|
||||
EntityBoxcar pippo = new EntityBoxcar(worldObj);
|
||||
pippo.posX = e.posX;
|
||||
pippo.posY = e.posY + 50;
|
||||
pippo.posZ = e.posZ;
|
||||
|
||||
for(int j = 0; j < 50; j++) {
|
||||
EntityBSmokeFX fx = new EntityBSmokeFX(worldObj, pippo.posX + (rand.nextDouble() - 0.5) * 4, pippo.posY + (rand.nextDouble() - 0.5) * 12, pippo.posZ + (rand.nextDouble() - 0.5) * 4, 0, 0, 0);
|
||||
worldObj.spawnEntityInWorld(fx);
|
||||
}
|
||||
worldObj.spawnEntityInWorld(pippo);
|
||||
|
||||
worldObj.playSoundEffect(pippo.posX,
|
||||
pippo.posY + 50,
|
||||
pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F);
|
||||
}
|
||||
|
||||
if(config.boat && !worldObj.isRemote) {
|
||||
EntityDuchessGambit pippo = new EntityDuchessGambit(worldObj);
|
||||
pippo.posX = e.posX;
|
||||
pippo.posY = e.posY + 50;
|
||||
pippo.posZ = e.posZ;
|
||||
|
||||
for(int j = 0; j < 150; j++) {
|
||||
EntityBSmokeFX fx = new EntityBSmokeFX(worldObj, pippo.posX + (rand.nextDouble() - 0.5) * 7, pippo.posY + (rand.nextDouble() - 0.5) * 8, pippo.posZ + (rand.nextDouble() - 0.5) * 18, 0, 0, 0);
|
||||
worldObj.spawnEntityInWorld(fx);
|
||||
}
|
||||
worldObj.spawnEntityInWorld(pippo);
|
||||
|
||||
worldObj.playSoundEffect(pippo.posX,
|
||||
pippo.posY + 50,
|
||||
pippo.posZ, "hbm:weapon.boat", 100F, 1F);
|
||||
}
|
||||
}
|
||||
|
||||
//for when a bullet hurts an entity, not necessarily dying
|
||||
|
||||
@ -4,6 +4,7 @@ import com.hbm.lib.ModDamageSource;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.ParticleBurstPacket;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.projectile.EntityThrowable;
|
||||
@ -50,7 +51,7 @@ public class EntityRubble extends EntityThrowable {
|
||||
//worldObj.playAuxSFX(2001, (int)posX, (int)posY, (int)posZ, this.dataWatcher.getWatchableObjectInt(16) + (this.dataWatcher.getWatchableObjectInt(17) << 12));
|
||||
|
||||
if(!worldObj.isRemote)
|
||||
PacketDispatcher.wrapper.sendToAll(new ParticleBurstPacket((int)posX - 1, (int)posY, (int)posZ - 1, this.dataWatcher.getWatchableObjectInt(16), this.dataWatcher.getWatchableObjectInt(17)));
|
||||
PacketDispatcher.wrapper.sendToAllAround(new ParticleBurstPacket((int)posX - 1, (int)posY, (int)posZ - 1, this.dataWatcher.getWatchableObjectInt(16), this.dataWatcher.getWatchableObjectInt(17)), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 50));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1223,9 +1223,9 @@ public class ExplosionChaos {
|
||||
for (int j = z - radius; j <= z + radius; j++) {
|
||||
|
||||
Block b = world.getBlock(i, y, j);
|
||||
float k = b.getBlockHardness(world, i, y, j);
|
||||
float k = b.getExplosionResistance(null);
|
||||
|
||||
if(k < 60 && b != Blocks.air) {
|
||||
if(k < 6000 && b != Blocks.air) {
|
||||
|
||||
EntityRubble rubble = new EntityRubble(world);
|
||||
rubble.posX = i + 0.5F;
|
||||
|
||||
@ -3,16 +3,19 @@ package com.hbm.explosion;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.entity.particle.EntityDSmokeFX;
|
||||
import com.hbm.entity.particle.EntityGasFlameFX;
|
||||
import com.hbm.entity.projectile.EntityOilSpill;
|
||||
import com.hbm.entity.projectile.EntityRubble;
|
||||
import com.hbm.entity.projectile.EntityShrapnel;
|
||||
import com.hbm.packet.AuxParticlePacketNT;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@ -22,43 +25,30 @@ public class ExplosionLarge {
|
||||
|
||||
public static void spawnParticles(World world, double x, double y, double z, int count) {
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
EntityDSmokeFX fx = new EntityDSmokeFX(world, x, y, z, 0.0, 0.0, 0.0);
|
||||
//fx.posX = x;
|
||||
//fx.posY = y;
|
||||
//fx.posZ = z;
|
||||
fx.motionY = rand.nextGaussian() * (1 + (count / 50));
|
||||
fx.motionX = rand.nextGaussian() * (1 + (count / 150));
|
||||
fx.motionZ = rand.nextGaussian() * (1 + (count / 150));
|
||||
world.spawnEntityInWorld(fx);
|
||||
}
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "smoke");
|
||||
data.setString("mode", "cloud");
|
||||
data.setInteger("count", count);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250));
|
||||
}
|
||||
|
||||
public static void spawnParticlesRadial(World world, double x, double y, double z, int count) {
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
EntityDSmokeFX fx = new EntityDSmokeFX(world, x, y, z, 0.0, 0.0, 0.0);
|
||||
fx.motionY = rand.nextGaussian() * (1 + (count / 50));
|
||||
fx.motionX = rand.nextGaussian() * (1 + (count / 50));
|
||||
fx.motionZ = rand.nextGaussian() * (1 + (count / 50));
|
||||
world.spawnEntityInWorld(fx);
|
||||
}
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "smoke");
|
||||
data.setString("mode", "radial");
|
||||
data.setInteger("count", count);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250));
|
||||
}
|
||||
|
||||
public static void spawnShock(World world, double x, double y, double z, int count, double strength) {
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(strength, 0, 0);
|
||||
vec.rotateAroundY(rand.nextInt(360));
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
EntityDSmokeFX fx = new EntityDSmokeFX(world, x, y, z, 0.0, 0.0, 0.0);
|
||||
fx.motionY = 0;
|
||||
fx.motionX = vec.xCoord;
|
||||
fx.motionZ = vec.zCoord;
|
||||
world.spawnEntityInWorld(fx);
|
||||
|
||||
vec.rotateAroundY(360 / count);
|
||||
}
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setString("type", "smoke");
|
||||
data.setString("mode", "shock");
|
||||
data.setInteger("count", count);
|
||||
data.setDouble("strength", strength);
|
||||
PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y + 0.5, z), new TargetPoint(world.provider.dimensionId, x, y, z, 250));
|
||||
}
|
||||
|
||||
public static void spawnBurst(World world, double x, double y, double z, int count, double strength) {
|
||||
@ -265,7 +255,7 @@ public class ExplosionLarge {
|
||||
|
||||
public static int cloudFunction(int i) {
|
||||
//return (int)(345 * (1 - Math.pow(Math.E, -i/15)) + 15);
|
||||
return (int)(545 * (1 - Math.pow(Math.E, -i/15)) + 15);
|
||||
return (int)(850 * (1 - Math.pow(Math.E, -i/15)) + 15);
|
||||
}
|
||||
|
||||
public static int rubbleFunction(int i) {
|
||||
|
||||
@ -70,6 +70,7 @@ public class BulletConfigSyncingUtil {
|
||||
public static int G12_NORMAL = i++;
|
||||
public static int G12_INCENDIARY = i++;
|
||||
public static int G12_SHRAPNEL = i++;
|
||||
public static int G12_DU = i++;
|
||||
|
||||
public static int LR22_NORMAL = i++;
|
||||
public static int LR22_AP = i++;
|
||||
@ -82,6 +83,7 @@ public class BulletConfigSyncingUtil {
|
||||
public static int M44_STAR = i++;
|
||||
public static int M44_PIP = i++;
|
||||
public static int M44_BJ = i++;
|
||||
public static int M44_SILVER = i++;
|
||||
public static int M44_ROCKET = i++;
|
||||
|
||||
public static int P9_NORMAL = i++;
|
||||
@ -175,6 +177,7 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeConfig(), G12_NORMAL));
|
||||
configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeFireConfig(), G12_INCENDIARY));
|
||||
configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeShrapnelConfig(), G12_SHRAPNEL));
|
||||
configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeDUConfig(), G12_DU));
|
||||
|
||||
configSet.add(new ConfigKeyPair(Gun22LRFactory.get22LRConfig(), LR22_NORMAL));
|
||||
configSet.add(new ConfigKeyPair(Gun22LRFactory.get22LRAPConfig(), LR22_AP));
|
||||
@ -187,6 +190,7 @@ public class BulletConfigSyncingUtil {
|
||||
configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getNoPipStarConfig(), M44_STAR));
|
||||
configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getPipConfig(), M44_PIP));
|
||||
configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getBJConfig(), M44_BJ));
|
||||
configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getSilverStormConfig(), M44_SILVER));
|
||||
configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getRocketConfig(), M44_ROCKET));
|
||||
|
||||
configSet.add(new ConfigKeyPair(Gun9mmFactory.get9mmConfig(), P9_NORMAL));
|
||||
|
||||
@ -65,8 +65,6 @@ public class BulletConfiguration {
|
||||
public int chlorine;
|
||||
public int leadChance;
|
||||
public int caustic;
|
||||
public boolean boxcar;
|
||||
public boolean boat;
|
||||
public boolean destroysBlocks;
|
||||
public boolean instakill;
|
||||
public IBulletHurtBehavior bHurt;
|
||||
|
||||
@ -39,6 +39,43 @@ public class Gun12GaugeFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.G12_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_DU);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getShottyConfig() {
|
||||
|
||||
GunConfiguration config = new GunConfiguration();
|
||||
|
||||
config.rateOfFire = 20;
|
||||
config.roundsPerCycle = 2;
|
||||
config.gunMode = GunConfiguration.MODE_NORMAL;
|
||||
config.firingMode = GunConfiguration.FIRE_MANUAL;
|
||||
config.hasReloadAnim = false;
|
||||
config.hasFiringAnim = false;
|
||||
config.hasSpinup = false;
|
||||
config.hasSpindown = false;
|
||||
config.reloadDuration = 10;
|
||||
config.firingDuration = 0;
|
||||
config.ammoCap = 0;
|
||||
config.durability = 3000;
|
||||
config.reloadType = GunConfiguration.RELOAD_NONE;
|
||||
config.allowsInfinity = true;
|
||||
config.crosshair = Crosshair.L_CIRCLE;
|
||||
config.reloadSound = GunConfiguration.RSOUND_REVOLVER;
|
||||
config.firingSound = "hbm:weapon.shottyShoot";
|
||||
|
||||
config.name = "???";
|
||||
config.manufacturer = "???";
|
||||
config.comment.add("but bOB WhY iS TExtURE no woRk");
|
||||
config.comment.add("hoW do I cRAFT PleasE HElp");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.G12_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_INCENDIARY);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_SHRAPNEL);
|
||||
config.config.add(BulletConfigSyncingUtil.G12_DU);
|
||||
|
||||
return config;
|
||||
}
|
||||
@ -81,5 +118,19 @@ public class Gun12GaugeFactory {
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration get12GaugeDUConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_12gauge_du;
|
||||
bullet.wear = 20;
|
||||
bullet.dmgMin = 3;
|
||||
bullet.dmgMax = 8;
|
||||
bullet.doesPenetrate = true;
|
||||
bullet.leadChance = 50;
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -35,6 +35,7 @@ public class Gun22LRFactory {
|
||||
|
||||
config.name = "IMI Uzi";
|
||||
config.manufacturer = "Israel Military Industries";
|
||||
config.comment.add("Mom, where are my mittens?");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.LR22_NORMAL);
|
||||
|
||||
@ -2,12 +2,20 @@ package com.hbm.handler.guncfg;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.hbm.entity.particle.EntityBSmokeFX;
|
||||
import com.hbm.entity.projectile.EntityBoxcar;
|
||||
import com.hbm.entity.projectile.EntityBuilding;
|
||||
import com.hbm.entity.projectile.EntityBulletBase;
|
||||
import com.hbm.entity.projectile.EntityDuchessGambit;
|
||||
import com.hbm.handler.BulletConfigSyncingUtil;
|
||||
import com.hbm.handler.BulletConfiguration;
|
||||
import com.hbm.handler.GunConfiguration;
|
||||
import com.hbm.interfaces.IBulletHitBehavior;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.render.util.RenderScreenOverlay.Crosshair;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
public class Gun44MagnumFactory {
|
||||
|
||||
public static GunConfiguration getBaseConfig() {
|
||||
@ -62,6 +70,7 @@ public class Gun44MagnumFactory {
|
||||
|
||||
config.name = "IF-18 Horseshoe Scoped";
|
||||
config.manufacturer = "Ironshod Firearms";
|
||||
config.comment.add("Poppin' mentats like tic tacs");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PIP);
|
||||
@ -83,6 +92,7 @@ public class Gun44MagnumFactory {
|
||||
|
||||
config.name = "IF-18 Horseshoe Vanity";
|
||||
config.manufacturer = "Ironshod Firearms";
|
||||
config.comment.add("Alcoholism is cool!");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.M44_BJ);
|
||||
@ -95,6 +105,29 @@ public class Gun44MagnumFactory {
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getSilverConfig() {
|
||||
|
||||
GunConfiguration config = getBaseConfig();
|
||||
|
||||
config.durability = 4000;
|
||||
config.ammoCap = 6;
|
||||
|
||||
config.name = "IF-18 Horseshoe Silver Storm";
|
||||
config.manufacturer = "Ironshod Firearms";
|
||||
config.comment.add("Our friendship is based on abusive behaviour");
|
||||
config.comment.add("and mutual hate. It's not that complicated.");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.M44_SILVER);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_NORMAL);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_AP);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_DU);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
public static GunConfiguration getRedConfig() {
|
||||
|
||||
GunConfiguration config = getBaseConfig();
|
||||
@ -104,6 +137,8 @@ public class Gun44MagnumFactory {
|
||||
|
||||
config.name = "IF-18 Horseshoe Bottomless Pit";
|
||||
config.manufacturer = "Ironshod Firearms R&D";
|
||||
config.comment.add("Explore the other side");
|
||||
config.comment.add("...from afar!");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.M44_NORMAL);
|
||||
@ -112,6 +147,7 @@ public class Gun44MagnumFactory {
|
||||
config.config.add(BulletConfigSyncingUtil.M44_STAR);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_PIP);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_BJ);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_SILVER);
|
||||
config.config.add(BulletConfigSyncingUtil.M44_ROCKET);
|
||||
|
||||
return config;
|
||||
@ -174,10 +210,33 @@ public class Gun44MagnumFactory {
|
||||
bullet.ammo = ModItems.ammo_44_pip;
|
||||
bullet.dmgMin = 4;
|
||||
bullet.dmgMax = 5;
|
||||
bullet.boxcar = true;
|
||||
bullet.wear = 25;
|
||||
bullet.doesPenetrate = false;
|
||||
|
||||
bullet.bHit = new IBulletHitBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveEntityHit(EntityBulletBase bullet, Entity hit) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
EntityBoxcar pippo = new EntityBoxcar(bullet.worldObj);
|
||||
pippo.posX = hit.posX;
|
||||
pippo.posY = hit.posY + 50;
|
||||
pippo.posZ = hit.posZ;
|
||||
|
||||
for(int j = 0; j < 50; j++) {
|
||||
EntityBSmokeFX fx = new EntityBSmokeFX(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 4, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 12, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 4, 0, 0, 0);
|
||||
bullet.worldObj.spawnEntityInWorld(fx);
|
||||
}
|
||||
bullet.worldObj.spawnEntityInWorld(pippo);
|
||||
|
||||
bullet.worldObj.playSoundEffect(pippo.posX,
|
||||
pippo.posY + 50,
|
||||
pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
@ -188,10 +247,72 @@ public class Gun44MagnumFactory {
|
||||
bullet.ammo = ModItems.ammo_44_bj;
|
||||
bullet.dmgMin = 4;
|
||||
bullet.dmgMax = 5;
|
||||
bullet.boat = true;
|
||||
bullet.wear = 25;
|
||||
bullet.doesPenetrate = false;
|
||||
|
||||
bullet.bHit = new IBulletHitBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveEntityHit(EntityBulletBase bullet, Entity hit) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
EntityDuchessGambit pippo = new EntityDuchessGambit(bullet.worldObj);
|
||||
pippo.posX = hit.posX;
|
||||
pippo.posY = hit.posY + 50;
|
||||
pippo.posZ = hit.posZ;
|
||||
|
||||
for(int j = 0; j < 150; j++) {
|
||||
EntityBSmokeFX fx = new EntityBSmokeFX(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 7, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 8, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 18, 0, 0, 0);
|
||||
bullet.worldObj.spawnEntityInWorld(fx);
|
||||
}
|
||||
bullet.worldObj.spawnEntityInWorld(pippo);
|
||||
|
||||
bullet.worldObj.playSoundEffect(pippo.posX,
|
||||
pippo.posY + 50,
|
||||
pippo.posZ, "hbm:weapon.boat", 100F, 1F);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
public static BulletConfiguration getSilverStormConfig() {
|
||||
|
||||
BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig();
|
||||
|
||||
bullet.ammo = ModItems.ammo_44_silver;
|
||||
bullet.dmgMin = 4;
|
||||
bullet.dmgMax = 5;
|
||||
bullet.wear = 25;
|
||||
bullet.doesPenetrate = false;
|
||||
|
||||
bullet.bHit = new IBulletHitBehavior() {
|
||||
|
||||
@Override
|
||||
public void behaveEntityHit(EntityBulletBase bullet, Entity hit) {
|
||||
|
||||
if(!bullet.worldObj.isRemote) {
|
||||
EntityBuilding pippo = new EntityBuilding(bullet.worldObj);
|
||||
pippo.posX = hit.posX;
|
||||
pippo.posY = hit.posY + 50;
|
||||
pippo.posZ = hit.posZ;
|
||||
|
||||
for(int j = 0; j < 150; j++) {
|
||||
EntityBSmokeFX fx = new EntityBSmokeFX(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, 0, 0, 0);
|
||||
bullet.worldObj.spawnEntityInWorld(fx);
|
||||
}
|
||||
bullet.worldObj.spawnEntityInWorld(pippo);
|
||||
|
||||
bullet.worldObj.playSoundEffect(pippo.posX,
|
||||
pippo.posY + 50,
|
||||
pippo.posZ, "hbm:block.debris", 100F, 1F);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
return bullet;
|
||||
}
|
||||
|
||||
|
||||
@ -39,6 +39,8 @@ public class GunRocketFactory {
|
||||
|
||||
config.name = "Carl Gustav Recoilless Rifle M1";
|
||||
config.manufacturer = "Saab Bofors Dynamics";
|
||||
config.comment.add("Fun fact of the day: Recoilless");
|
||||
config.comment.add("rifles don't actually fire rockets.");
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_NORMAL);
|
||||
@ -64,6 +66,7 @@ public class GunRocketFactory {
|
||||
|
||||
config.name = "M1 Karl-Gerät";
|
||||
config.manufacturer = "???";
|
||||
config.comment.clear();
|
||||
|
||||
config.config = new ArrayList<Integer>();
|
||||
config.config.add(BulletConfigSyncingUtil.ROCKET_HE);
|
||||
@ -86,6 +89,8 @@ public class GunRocketFactory {
|
||||
|
||||
config.name = "Raketenpanzerbüchse 54";
|
||||
config.manufacturer = "Enzinger Union";
|
||||
config.comment.clear();
|
||||
config.comment.add("Panzer-Shrek");
|
||||
|
||||
config.durability = 260;
|
||||
|
||||
|
||||
@ -54,6 +54,12 @@ public class GUISoyuzLauncher extends GuiInfoContainer {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(launcher.xCoord, launcher.yCoord, launcher.zCoord, 1, 0));
|
||||
}
|
||||
|
||||
if(guiLeft + 151 <= x && guiLeft + 151 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) {
|
||||
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(launcher.xCoord, launcher.yCoord, launcher.zCoord, 0, 1));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,6 +68,18 @@ public class GUISoyuzLauncher extends GuiInfoContainer {
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
|
||||
String secs = "" + launcher.countdown / 20;
|
||||
String cents = "" + (launcher.countdown % 20) * 5;
|
||||
if(secs.length() == 1)
|
||||
secs = "0" + secs;
|
||||
if(cents.length() == 1)
|
||||
cents += "0";
|
||||
|
||||
float scale = 0.5F;
|
||||
GL11.glScalef(scale, scale, 1);
|
||||
this.fontRendererObj.drawString(secs + ":" + cents, (int)(153.5F / scale), (int)(37.5F / scale), 0xff0000);
|
||||
GL11.glScalef(1/scale, 1/scale, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -77,7 +95,28 @@ public class GUISoyuzLauncher extends GuiInfoContainer {
|
||||
int j = launcher.designator();
|
||||
|
||||
if(j > 0)
|
||||
drawTexturedModalRect(guiLeft + 61, guiTop + 35, 192 + (j - 1), 0, 18, 18);
|
||||
drawTexturedModalRect(guiLeft + 61, guiTop + 35, 176 + (j - 1) * 18, 0, 18, 18);
|
||||
|
||||
int k = launcher.mode;
|
||||
drawTexturedModalRect(guiLeft + 88, guiTop + 17 + k * 18, 176, 18 + k * 18, 18, 18);
|
||||
|
||||
if(launcher.starting)
|
||||
drawTexturedModalRect(guiLeft + 151, guiTop + 17, 176, 54, 18, 18);
|
||||
|
||||
if(launcher.hasFuel())
|
||||
drawTexturedModalRect(guiLeft + 13, guiTop + 23, 212, 0, 6, 8);
|
||||
else
|
||||
drawTexturedModalRect(guiLeft + 13, guiTop + 23, 218, 0, 6, 8);
|
||||
|
||||
if(launcher.hasOxy())
|
||||
drawTexturedModalRect(guiLeft + 31, guiTop + 23, 212, 0, 6, 8);
|
||||
else
|
||||
drawTexturedModalRect(guiLeft + 31, guiTop + 23, 218, 0, 6, 8);
|
||||
|
||||
if(launcher.hasPower())
|
||||
drawTexturedModalRect(guiLeft + 49, guiTop + 59, 212, 0, 6, 8);
|
||||
else
|
||||
drawTexturedModalRect(guiLeft + 49, guiTop + 59, 218, 0, 6, 8);
|
||||
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(launcher.tanks[0].getSheet());
|
||||
launcher.tanks[0].renderTank(this, guiLeft + 8, guiTop + 88, launcher.tanks[0].getTankType().textureX() * FluidTank.x, launcher.tanks[0].getTankType().textureY() * FluidTank.y, 16, 52);
|
||||
|
||||
@ -1039,6 +1039,7 @@ public class ModItems {
|
||||
public static Item ammo_12gauge;
|
||||
public static Item ammo_12gauge_incendiary;
|
||||
public static Item ammo_12gauge_shrapnel;
|
||||
public static Item ammo_12gauge_du;
|
||||
public static Item ammo_20gauge;
|
||||
public static Item ammo_20gauge_slug;
|
||||
public static Item ammo_20gauge_flechette;
|
||||
@ -1055,6 +1056,7 @@ public class ModItems {
|
||||
public static Item ammo_44_star;
|
||||
public static Item ammo_44_pip;
|
||||
public static Item ammo_44_bj;
|
||||
public static Item ammo_44_silver;
|
||||
public static Item ammo_44_rocket;
|
||||
public static Item ammo_5mm;
|
||||
public static Item ammo_5mm_explosive;
|
||||
@ -1126,6 +1128,7 @@ public class ModItems {
|
||||
public static Item gun_revolver_pip_ammo;
|
||||
public static Item gun_revolver_nopip;
|
||||
public static Item gun_revolver_blackjack;
|
||||
public static Item gun_revolver_silver;
|
||||
public static Item gun_revolver_red;
|
||||
public static Item gun_revolver_nopip_ammo;
|
||||
public static Item gun_deagle;
|
||||
@ -1153,6 +1156,7 @@ public class ModItems {
|
||||
public static Item gun_uzi_ammo;
|
||||
public static Item gun_uboinik;
|
||||
public static Item gun_uboinik_ammo;
|
||||
public static Item gun_supershotgun;
|
||||
public static Item gun_lever_action;
|
||||
public static Item gun_lever_action_dark;
|
||||
public static Item gun_lever_action_sonata;
|
||||
@ -1529,6 +1533,8 @@ public class ModItems {
|
||||
public static Item pipe_rusty;
|
||||
public static Item pipe_lead;
|
||||
public static Item reer_graar;
|
||||
public static Item stopsign;
|
||||
public static Item sopsign;
|
||||
|
||||
public static Item crystal_horn;
|
||||
public static Item crystal_charred;
|
||||
@ -2736,6 +2742,7 @@ public class ModItems {
|
||||
ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge");
|
||||
ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_incendiary");
|
||||
ammo_12gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_12gauge_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_shrapnel");
|
||||
ammo_12gauge_du = new ItemAmmo().setUnlocalizedName("ammo_12gauge_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_du");
|
||||
ammo_20gauge = new ItemAmmo().setUnlocalizedName("ammo_20gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge");
|
||||
ammo_20gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_20gauge_slug").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_slug");
|
||||
ammo_20gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_20gauge_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_flechette");
|
||||
@ -2769,6 +2776,7 @@ public class ModItems {
|
||||
ammo_44_star = new ItemAmmo().setUnlocalizedName("ammo_44_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_star");
|
||||
ammo_44_pip = new ItemAmmo().setUnlocalizedName("ammo_44_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_pip");
|
||||
ammo_44_bj = new ItemAmmo().setUnlocalizedName("ammo_44_bj").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_bj");
|
||||
ammo_44_silver = new ItemAmmo().setUnlocalizedName("ammo_44_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_silver");
|
||||
ammo_44_rocket = new ItemAmmo().setUnlocalizedName("ammo_44_rocket").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_rocket");
|
||||
ammo_22lr = new ItemAmmo().setUnlocalizedName("ammo_22lr").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_22lr");
|
||||
ammo_22lr_ap = new ItemAmmo().setUnlocalizedName("ammo_22lr_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_22lr_ap");
|
||||
@ -2825,6 +2833,7 @@ public class ModItems {
|
||||
gun_revolver_nopip_ammo = new Item().setUnlocalizedName("gun_revolver_nopip_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_revolver_nopip_ammo");
|
||||
gun_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip");
|
||||
gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack");
|
||||
gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver");
|
||||
gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_red").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_red");
|
||||
gun_deagle = new ItemGunBase(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_deagle").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_deagle");
|
||||
gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_calamity_ammo");
|
||||
@ -2851,6 +2860,7 @@ public class ModItems {
|
||||
gun_uzi_saturnite_silencer = new ItemGunBase(Gun22LRFactory.getSaturniteConfig().silenced()).setUnlocalizedName("gun_uzi_saturnite_silencer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uzi_saturnite_silencer");
|
||||
gun_uboinik_ammo = new Item().setUnlocalizedName("gun_uboinik_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uboinik_ammo");
|
||||
gun_uboinik = new ItemGunBase(Gun12GaugeFactory.getUboinikConfig()).setUnlocalizedName("gun_uboinik").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
|
||||
gun_supershotgun = new ItemGunBase(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik");
|
||||
gun_lever_action_ammo = new Item().setUnlocalizedName("gun_lever_action_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_lever_action_ammo");
|
||||
gun_lever_action = new ItemGunBase(Gun20GaugeFactory.getMareConfig()).setUnlocalizedName("gun_lever_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action");
|
||||
gun_lever_action_dark = new ItemGunBase(Gun20GaugeFactory.getMareDarkConfig()).setUnlocalizedName("gun_lever_action_dark").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lever_action_dark");
|
||||
@ -3384,6 +3394,8 @@ public class ModItems {
|
||||
pipe_rusty = new ModSword(MainRegistry.enumToolMaterialPipeRusty).setUnlocalizedName("weapon_pipe_rusty").setFull3D().setTextureName(RefStrings.MODID + ":pipe_rusty");
|
||||
pipe_lead = new ModSword(MainRegistry.enumToolMaterialPipeLead).setUnlocalizedName("weapon_pipe_lead").setFull3D().setTextureName(RefStrings.MODID + ":pipe_lead");
|
||||
reer_graar = new ModSword(MainRegistry.enumToolMaterialTitanium).setUnlocalizedName("reer_graar").setFull3D().setTextureName(RefStrings.MODID + ":reer_graar_hd");
|
||||
stopsign = new WeaponSpecial(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("stopsign").setTextureName(RefStrings.MODID + ":stopsign");
|
||||
sopsign = new WeaponSpecial(MainRegistry.enumToolMaterialAlloy).setUnlocalizedName("sopsign").setTextureName(RefStrings.MODID + ":sopsign");
|
||||
|
||||
crystal_horn = new ItemCustomLore().setUnlocalizedName("crystal_horn").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_horn");
|
||||
crystal_charred = new ItemCustomLore().setUnlocalizedName("crystal_charred").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_charred");
|
||||
@ -4601,6 +4613,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(gun_revolver_pip, gun_revolver_pip.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_revolver_nopip, gun_revolver_nopip.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_revolver_blackjack, gun_revolver_blackjack.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_revolver_silver, gun_revolver_silver.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_deagle, gun_deagle.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_calamity, gun_calamity.getUnlocalizedName());
|
||||
@ -4626,6 +4639,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(gun_uzi_saturnite, gun_uzi_saturnite.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_uzi_saturnite_silencer,gun_uzi_saturnite_silencer.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_uboinik, gun_uboinik.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_supershotgun, gun_supershotgun.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_lever_action, gun_lever_action.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_lever_action_dark, gun_lever_action_dark.getUnlocalizedName());
|
||||
GameRegistry.registerItem(gun_lever_action_sonata, gun_lever_action_sonata.getUnlocalizedName());
|
||||
@ -4694,6 +4708,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_12gauge_incendiary, ammo_12gauge_incendiary.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_12gauge_shrapnel, ammo_12gauge_shrapnel.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_12gauge_du, ammo_12gauge_du.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_20gauge_slug, ammo_20gauge_slug.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_20gauge_flechette, ammo_20gauge_flechette.getUnlocalizedName());
|
||||
@ -4709,6 +4724,7 @@ public class ModItems {
|
||||
GameRegistry.registerItem(ammo_44_star, ammo_44_star.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_44_pip, ammo_44_pip.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_44_bj, ammo_44_bj.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_44_silver, ammo_44_silver.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_44_rocket, ammo_44_rocket.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName());
|
||||
GameRegistry.registerItem(ammo_5mm_explosive, ammo_5mm_explosive.getUnlocalizedName());
|
||||
@ -4905,6 +4921,8 @@ public class ModItems {
|
||||
GameRegistry.registerItem(pipe_rusty, pipe_rusty.getUnlocalizedName());
|
||||
GameRegistry.registerItem(pipe_lead, pipe_lead.getUnlocalizedName());
|
||||
GameRegistry.registerItem(reer_graar, reer_graar.getUnlocalizedName());
|
||||
GameRegistry.registerItem(stopsign, stopsign.getUnlocalizedName());
|
||||
GameRegistry.registerItem(sopsign, sopsign.getUnlocalizedName());
|
||||
|
||||
//Multitool
|
||||
GameRegistry.registerItem(multitool_hit, multitool_hit.getUnlocalizedName());
|
||||
|
||||
@ -152,7 +152,7 @@ public class WeaponSpecial extends ItemSword {
|
||||
{
|
||||
|
||||
if(this == ModItems.shimmer_sledge) {
|
||||
if(world.getBlock(x, y, z) != Blocks.air) {
|
||||
if(world.getBlock(x, y, z) != Blocks.air && world.getBlock(x, y, z).getExplosionResistance(null) < 6000) {
|
||||
|
||||
EntityRubble rubble = new EntityRubble(world);
|
||||
rubble.posX = x + 0.5F;
|
||||
@ -185,13 +185,13 @@ public class WeaponSpecial extends ItemSword {
|
||||
world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:weapon.kapeng", 3.0F, 1.0F);
|
||||
|
||||
if(!world.isRemote) {
|
||||
if(world.getBlock(x, y, z) != Blocks.air) {
|
||||
if(world.getBlock(x, y, z) != Blocks.air && world.getBlock(x, y, z).getExplosionResistance(null) < 6000) {
|
||||
world.func_147480_a(x, y, z, false);
|
||||
}
|
||||
if(world.getBlock(x, y + 1, z) != Blocks.air) {
|
||||
if(world.getBlock(x, y + 1, z) != Blocks.air && world.getBlock(x, y + 1, z).getExplosionResistance(null) < 6000) {
|
||||
world.func_147480_a(x, y + 1, z, false);
|
||||
}
|
||||
if(world.getBlock(x, y - 1, z) != Blocks.air) {
|
||||
if(world.getBlock(x, y - 1, z) != Blocks.air && world.getBlock(x, y - 1, z).getExplosionResistance(null) < 6000) {
|
||||
world.func_147480_a(x, y - 1, z, false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -175,9 +175,9 @@ public class ItemMultitoolPassive extends Item {
|
||||
int w1 = list.get(j)[3];
|
||||
|
||||
Block b = world.getBlock(x1, y1, z1);
|
||||
float k = b.getBlockHardness(world, x1, y1, z1);
|
||||
float k = b.getExplosionResistance(null);
|
||||
|
||||
if(k < 60 && b != Blocks.air) {
|
||||
if(k < 6000 && b != Blocks.air) {
|
||||
|
||||
EntityRubble rubble = new EntityRubble(world);
|
||||
rubble.posX = x1 + 0.5F;
|
||||
|
||||
@ -24,6 +24,12 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.YELLOW + "* Extra bouncy");
|
||||
list.add(EnumChatFormatting.RED + "- Increased wear");
|
||||
}
|
||||
if(this == ModItems.ammo_12gauge_du) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
|
||||
list.add(EnumChatFormatting.BLUE + "+ Penetrating");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Heavy Metal");
|
||||
list.add(EnumChatFormatting.RED + "- Highly increased wear");
|
||||
}
|
||||
|
||||
//20 GAUGE
|
||||
if(this == ModItems.ammo_20gauge_flechette) {
|
||||
@ -93,6 +99,10 @@ public class ItemAmmo extends Item {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Boat");
|
||||
list.add(EnumChatFormatting.RED + "- Highly decreased damage");
|
||||
}
|
||||
if(this == ModItems.ammo_44_silver) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Building");
|
||||
list.add(EnumChatFormatting.RED + "- Highly decreased damage");
|
||||
}
|
||||
if(this == ModItems.ammo_44_rocket) {
|
||||
list.add(EnumChatFormatting.BLUE + "+ Rocket");
|
||||
list.add(EnumChatFormatting.YELLOW + "* Uhhhh");
|
||||
|
||||
@ -482,7 +482,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon {
|
||||
list.add("");
|
||||
for(String s : mainConfig.comment)
|
||||
list.add(EnumChatFormatting.ITALIC + s);
|
||||
list.add("");
|
||||
}
|
||||
|
||||
if(MainRegistry.enableExtendedLogging) {
|
||||
|
||||
@ -24,9 +24,11 @@ import com.hbm.world.feature.GeyserLarge;
|
||||
import com.hbm.world.feature.OilBubble;
|
||||
import com.hbm.world.feature.OilSandBubble;
|
||||
import com.hbm.world.feature.Sellafield;
|
||||
import com.hbm.world.generator.CellularDungeonFactory;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.tileentity.TileEntityChest;
|
||||
import net.minecraft.tileentity.TileEntitySkull;
|
||||
import net.minecraft.util.WeightedRandomChestContent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
@ -445,6 +447,16 @@ public class HbmWorldGen implements IWorldGenerator {
|
||||
world.setBlock(x, y - 1, z, ModBlocks.geysir_vapor);
|
||||
}
|
||||
|
||||
if (rand.nextInt(1000) == 0) {
|
||||
int x = i + rand.nextInt(16);
|
||||
int z = j + rand.nextInt(16);
|
||||
|
||||
for(int k = 0; k < 256; k++) {
|
||||
if(world.getBlock(x, k, z) == Blocks.log && world.getBlockMetadata(x, k, z) == 0)
|
||||
world.setBlock(x, k, z, ModBlocks.pink_log);
|
||||
}
|
||||
}
|
||||
|
||||
if (MainRegistry.enableVaults && rand.nextInt(MainRegistry.vaultfreq) == 0) {
|
||||
int x = i + rand.nextInt(16);
|
||||
int z = j + rand.nextInt(16);
|
||||
@ -491,6 +503,37 @@ public class HbmWorldGen implements IWorldGenerator {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (rand.nextInt(MainRegistry.meteorStructure) == 0) {
|
||||
int x = i + rand.nextInt(16);
|
||||
int z = j + rand.nextInt(16);
|
||||
|
||||
CellularDungeonFactory.test.generate(world, x, 10, z, rand);
|
||||
|
||||
if(MainRegistry.enableDebugMode)
|
||||
MainRegistry.logger.info("[Debug] Successfully spawned meteor dungeon at " + x + " 10 " + z);
|
||||
|
||||
int y = world.getHeightValue(x, z);
|
||||
|
||||
for(int f = 1; f < 4; f++)
|
||||
world.setBlock(x, y + f, z, ModBlocks.meteor_pillar);
|
||||
world.setBlock(x, y + 4, z, ModBlocks.meteor_brick_chiseled);
|
||||
|
||||
for(int f = 0; f < 10; f++) {
|
||||
|
||||
x = i + rand.nextInt(65) - 32;
|
||||
z = j + rand.nextInt(65) - 32;
|
||||
y = world.getHeightValue(x, z);
|
||||
|
||||
if(world.getBlock(x, y, z).canPlaceTorchOnTop(world, x, y, z)) {
|
||||
world.setBlock(x, y + 1, z, Blocks.skull, 1, 2);
|
||||
TileEntitySkull skull = (TileEntitySkull)world.getTileEntity(x, y + 1, z);
|
||||
|
||||
if(skull != null)
|
||||
skull.func_145903_a(rand.nextInt(16));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rand.nextInt(25) == 0) {
|
||||
|
||||
@ -34,6 +34,7 @@ public class ModDamageSource extends DamageSource {
|
||||
public static DamageSource meteorite = (new DamageSource("meteorite")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource boxcar = (new DamageSource("boxcar")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource boat = (new DamageSource("boat")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource building = (new DamageSource("building")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource taint = (new DamageSource("taint")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource ams = (new DamageSource("ams")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
public static DamageSource amsCore = (new DamageSource("amsCore")).setDamageIsAbsolute().setDamageBypassesArmor();
|
||||
|
||||
@ -5,7 +5,9 @@ import net.minecraft.client.particle.EntityCloudFX;
|
||||
import net.minecraft.client.renderer.entity.RenderSnowball;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.client.MinecraftForgeClient;
|
||||
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||
@ -13,6 +15,7 @@ import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.machine.*;
|
||||
@ -26,6 +29,7 @@ import com.hbm.entity.particle.*;
|
||||
import com.hbm.entity.projectile.*;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.particle.ParticleContrail;
|
||||
import com.hbm.particle.ParticleExSmoke;
|
||||
import com.hbm.particle.ParticleRadiationFog;
|
||||
import com.hbm.particle.ParticleSmokePlume;
|
||||
import com.hbm.render.block.*;
|
||||
@ -146,6 +150,7 @@ public class ClientProxy extends ServerProxy
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_skystinger, new ItemRenderStinger());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponObj());
|
||||
//MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket());
|
||||
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti());
|
||||
@ -261,6 +266,7 @@ public class ClientProxy extends ServerProxy
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_pip, new ItemRenderOverkill());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_nopip, new ItemRenderOverkill());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_blackjack, new ItemRenderOverkill());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_silver, new ItemRenderOverkill());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderOverkill());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderGunAnim());
|
||||
@ -295,6 +301,8 @@ public class ClientProxy extends ServerProxy
|
||||
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_sledge, new ItemRenderShim());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.shimmer_axe, new ItemRenderShim());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.stopsign, new ItemRenderShim());
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.sopsign, new ItemRenderShim());
|
||||
|
||||
MinecraftForgeClient.registerItemRenderer(ModItems.gun_brimstone, new ItemRenderObj());
|
||||
|
||||
@ -379,6 +387,7 @@ public class ClientProxy extends ServerProxy
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBuilding.class, new RenderBoxcar());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityCarrier.class, new RenderCarrierMissile());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBooster.class, new RenderBoosterMissile());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber());
|
||||
@ -475,7 +484,8 @@ public class ClientProxy extends ServerProxy
|
||||
public void registerTileEntitySpecialRenderer() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public void particleControl(double x, double y, double z, int type) {
|
||||
|
||||
@ -513,6 +523,7 @@ public class ClientProxy extends ServerProxy
|
||||
}
|
||||
|
||||
//version 2, now with strings!
|
||||
@Deprecated
|
||||
@Override
|
||||
public void spawnParticle(double x, double y, double z, String type, float args[]) {
|
||||
|
||||
@ -520,8 +531,11 @@ public class ClientProxy extends ServerProxy
|
||||
World world = Minecraft.getMinecraft().theWorld;
|
||||
TextureManager man = Minecraft.getMinecraft().renderEngine;
|
||||
|
||||
if("launchsmoke".equals(type)) {
|
||||
if("launchsmoke".equals(type) && args.length == 3) {
|
||||
ParticleSmokePlume contrail = new ParticleSmokePlume(man, world, x, y, z);
|
||||
contrail.motionX = args[0];
|
||||
contrail.motionY = args[1];
|
||||
contrail.motionZ = args[2];
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(contrail);
|
||||
}
|
||||
if("exKerosene".equals(type)) {
|
||||
@ -546,6 +560,66 @@ public class ClientProxy extends ServerProxy
|
||||
}
|
||||
}
|
||||
|
||||
//mk3, only use this one
|
||||
public void effectNT(NBTTagCompound data) {
|
||||
|
||||
World world = Minecraft.getMinecraft().theWorld;
|
||||
TextureManager man = Minecraft.getMinecraft().renderEngine;
|
||||
Random rand = world.rand;
|
||||
String type = data.getString("type");
|
||||
double x = data.getDouble("posX");
|
||||
double y = data.getDouble("posY");
|
||||
double z = data.getDouble("posZ");
|
||||
|
||||
if("smoke".equals(type)) {
|
||||
|
||||
String mode = data.getString("mode");
|
||||
int count = Math.max(1, data.getInteger("count"));
|
||||
|
||||
if("cloud".equals(mode)) {
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z);
|
||||
fx.motionY = rand.nextGaussian() * (1 + (count / 100));
|
||||
fx.motionX = rand.nextGaussian() * (1 + (count / 150));
|
||||
fx.motionZ = rand.nextGaussian() * (1 + (count / 150));
|
||||
if(rand.nextBoolean()) fx.motionY = Math.abs(fx.motionY);
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
|
||||
if("radial".equals(mode)) {
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z);
|
||||
fx.motionY = rand.nextGaussian() * (1 + (count / 50));
|
||||
fx.motionX = rand.nextGaussian() * (1 + (count / 50));
|
||||
fx.motionZ = rand.nextGaussian() * (1 + (count / 50));
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
|
||||
}
|
||||
}
|
||||
|
||||
if("shock".equals(mode)) {
|
||||
|
||||
double strength = data.getDouble("strength");
|
||||
|
||||
Vec3 vec = Vec3.createVectorHelper(strength, 0, 0);
|
||||
vec.rotateAroundY(rand.nextInt(360));
|
||||
|
||||
for(int i = 0; i < count; i++) {
|
||||
ParticleExSmoke fx = new ParticleExSmoke(man, world, x, y, z);
|
||||
fx.motionY = 0;
|
||||
fx.motionX = vec.xCoord;
|
||||
fx.motionZ = vec.zCoord;
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(fx);
|
||||
|
||||
vec.rotateAroundY(360 / count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) {
|
||||
|
||||
|
||||
@ -733,6 +733,11 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete_cracked), 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.brick_concrete });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_concrete_broken), 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.brick_concrete_cracked });
|
||||
GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_obsidian), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.obsidian });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_polished, 4), new Object[] { "CC", "CC", 'C', ModBlocks.block_meteor_broken });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_pillar, 2), new Object[] { "C", "C", 'C', ModBlocks.meteor_polished });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_brick, 4), new Object[] { "CC", "CC", 'C', ModBlocks.meteor_polished });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_brick_mossy, 8), new Object[] { "CCC", "CVC", "CCC", 'C', ModBlocks.meteor_brick, 'V', Blocks.vine });
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.meteor_brick_cracked, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.meteor_brick });
|
||||
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick), 4), new Object[] { "PPP", "PIP", "PPP", 'P', ModItems.plate_combine_steel, 'I', ModItems.ingot_combine_steel });
|
||||
//GameRegistry.addRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.cmb_brick_reinforced), 8), new Object[] { "TBT", "BCB", "TBT", 'T', ModBlocks.block_magnetized_tungsten, 'B', ModBlocks.brick_concrete, 'C', ModBlocks.cmb_brick });
|
||||
|
||||
@ -905,7 +910,10 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_actionexpress, 8), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }));
|
||||
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_12gauge, 'A', ModItems.powder_fire });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge_shrapnel, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_12gauge, 'A', ModBlocks.gravel_obsidian });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_12gauge, 'A', ModItems.ingot_u238 });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_20gauge_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', ModItems.powder_fire });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_20gauge_shrapnel, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', ModBlocks.gravel_obsidian });
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.ammo_20gauge_caustic, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', ModItems.powder_poison });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_shock, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_20gauge, 'A', "dustDiamond" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_wither, 4), new Object[] { "BCB", "CAC", "BCB", 'B', ModItems.ammo_20gauge, 'A', Blocks.soul_sand, 'C', "dustCoal" }));
|
||||
@ -1472,6 +1480,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_pip, 1), new Object[] { " G ", "SSP", " TI", 'G', "paneGlass", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "ingotPolymer" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_nopip, 1), new Object[] { "SSP", " TI", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "ingotPolymer" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_blackjack, 1), new Object[] { "SSP", " TI", 'S', "plateSteel", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "plankWood" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_silver, 1), new Object[] { "SSP", " TI", 'S', "plateAluminum", 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', "plankWood" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_red, 1), new Object[] { "R ", " B", 'R', ModItems.key_red, 'B', ModItems.gun_revolver_blackjack });
|
||||
//GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_revolver_pip_ammo, 1), new Object[] { "S", "G", "C", 'S', "plateSteel", 'G', Items.gunpowder, 'C', "plateCopper" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_dineutronium, 4), new Object[] { "PIP", "IDI", "PIP", 'P', ModItems.powder_spark_mix, 'I', "ingotDineutronium", 'D', "ingotDesh" }));
|
||||
@ -1714,6 +1723,7 @@ public class CraftingManager {
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_iron, 1), new Object[] { "IPI", "I I", "IPI", 'I', "plateIron", 'P', "ingotIron" }));
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.barrel_steel, 1), new Object[] { "IPI", "I I", "IPI", 'I', "plateSteel", 'P', "ingotSteel" }));
|
||||
GameRegistry.addRecipe(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IPI", "IPI", 'I', ModItems.plate_saturnite, 'P', ModItems.coil_advanced_torus });
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", " I ", "PTP", 'C', ModItems.coil_copper, 'I', "ingotIron", 'P', "ingotPolymer", 'T', ModBlocks.machine_transformer }));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -235,6 +235,7 @@ public class MainRegistry
|
||||
public static boolean enableHardcoreTaint = false;
|
||||
public static boolean enableGuns = true;
|
||||
public static boolean enableVirus = true;
|
||||
public static boolean enableCrosshairs = true;
|
||||
|
||||
public static int uraniumSpawn = 6;
|
||||
public static int thoriumSpawn = 7;
|
||||
@ -285,6 +286,7 @@ public class MainRegistry
|
||||
public static int geyserWater = 3000;
|
||||
public static int geyserChlorine = 3000;
|
||||
public static int geyserVapor = 500;
|
||||
public static int meteorStructure = 15000;
|
||||
|
||||
public static int broadcaster = 5000;
|
||||
public static int minefreq = 64;
|
||||
@ -683,6 +685,7 @@ public class MainRegistry
|
||||
EntityRegistry.registerModEntity(EntityBalefire.class, "entity_balefire", 140, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityTom.class, "entity_tom_the_moonstone", 141, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityTomBlast.class, "entity_tom_bust", 142, this, 1000, 1, true);
|
||||
EntityRegistry.registerModEntity(EntityBuilding.class, "entity_falling_building", 143, this, 1000, 1, true);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
|
||||
@ -1376,8 +1379,8 @@ public class MainRegistry
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), FluidType.DEUTERIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), FluidType.TRITIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_tritium), new ItemStack(ModItems.rod_empty), FluidType.TRITIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_dual_tritium), new ItemStack(ModItems.rod_dual_empty), FluidType.TRITIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_quad_tritium), new ItemStack(ModItems.rod_quad_empty), FluidType.TRITIUM, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_dual_tritium), new ItemStack(ModItems.rod_dual_empty), FluidType.TRITIUM, 2000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.rod_quad_tritium), new ItemStack(ModItems.rod_quad_empty), FluidType.TRITIUM, 4000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_uf6), new ItemStack(ModItems.cell_empty), FluidType.UF6, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_puf6), new ItemStack(ModItems.cell_empty), FluidType.PUF6, 1000));
|
||||
FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_antimatter), new ItemStack(ModItems.cell_empty), FluidType.AMAT, 1000));
|
||||
@ -1549,6 +1552,7 @@ public class MainRegistry
|
||||
enableHardcoreTaint = config.get(CATEGORY_GENERAL, "1.19_enableHardcoreTaint", false).getBoolean(false);
|
||||
enableGuns = config.get(CATEGORY_GENERAL, "1.20_enableGuns", true).getBoolean(true);
|
||||
enableVirus = config.get(CATEGORY_GENERAL, "1.21_enableVirus", false).getBoolean(false);
|
||||
enableCrosshairs = config.get(CATEGORY_GENERAL, "1.22_enableCrosshairs", true).getBoolean(true);
|
||||
|
||||
final String CATEGORY_OREGEN = "02_ores";
|
||||
Property PuraniumSpawn = config.get(CATEGORY_OREGEN, "2.00_uraniumSpawnrate", 6);
|
||||
@ -1693,6 +1697,7 @@ public class MainRegistry
|
||||
Property pGV = config.get(CATEGORY_DUNGEON, "4.19_geyserVaporSpawn", 500);
|
||||
pGV.comment = "Spawn vapor geyser on every nTH chunk";
|
||||
geyserVapor = pGV.getInt();
|
||||
meteorStructure = createConfigInt(config, CATEGORY_DUNGEON, "meteorStructure", "Spawn meteor dungeon on every nTH chunk", 15000);
|
||||
|
||||
final String CATEGORY_METEOR = "05_meteors";
|
||||
Property propMeteorStrikeChance = config.get(CATEGORY_METEOR, "5.00_meteorStrikeChance", 20 * 60 * 60 * 5);
|
||||
|
||||
@ -23,6 +23,7 @@ import com.hbm.saveddata.RadiationSavedData;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import cpw.mods.fml.common.gameevent.PlayerEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent;
|
||||
import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
@ -122,6 +123,10 @@ public class ModEventHandler
|
||||
entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.geiger_counter, 1));
|
||||
if(rand.nextInt(128) == 0)
|
||||
entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.steel_pickaxe, 1, world.rand.nextInt(300)));
|
||||
if(rand.nextInt(512) == 0)
|
||||
entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.stopsign));
|
||||
if(rand.nextInt(512) == 0)
|
||||
entity.setCurrentItemOrArmor(0, new ItemStack(ModItems.sopsign));
|
||||
}
|
||||
if(entity instanceof EntitySkeleton) {
|
||||
if(rand.nextInt(16) == 0) {
|
||||
@ -336,6 +341,13 @@ public class ModEventHandler
|
||||
//////////////////////
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
|
||||
|
||||
if(!event.player.worldObj.isRemote && event.player.getUniqueID().toString().equals("c874fd4e-5841-42e4-8f77-70efd5881bc1"))
|
||||
event.player.getEntityData().setFloat("hfr_radiation", event.player.getEntityData().getFloat("hfr_radiation" + 0.05F));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void enteringChunk(EnteringChunk evt)
|
||||
{
|
||||
|
||||
@ -76,7 +76,7 @@ public class ModEventHandlerClient {
|
||||
}
|
||||
}
|
||||
|
||||
if(event.type == ElementType.CROSSHAIRS && player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IHoldableWeapon) {
|
||||
if(event.type == ElementType.CROSSHAIRS && player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IHoldableWeapon && MainRegistry.enableCrosshairs) {
|
||||
event.setCanceled(true);
|
||||
|
||||
if(!(player.getHeldItem().getItem() instanceof ItemGunBase && ((ItemGunBase)player.getHeldItem().getItem()).mainConfig.hasSights && player.isSneaking()))
|
||||
|
||||
@ -287,16 +287,20 @@ public class ResourceManager {
|
||||
//Shimmer Sledge
|
||||
public static final IModelCustom shimmer_sledge = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_sledge.obj"));
|
||||
public static final IModelCustom shimmer_axe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_axe.obj"));
|
||||
public static final IModelCustom stopsign = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/stopsign.obj"));
|
||||
|
||||
public static final IModelCustom brimstone = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/brimstone.obj"));
|
||||
public static final IModelCustom hk69 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/hk69.obj"));
|
||||
public static final IModelCustom deagle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/deagle.obj"));
|
||||
public static final IModelCustom shotty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/supershotty.obj"));
|
||||
|
||||
////Texture Items
|
||||
|
||||
//Shimmer Sledge
|
||||
public static final ResourceLocation shimmer_sledge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/shimmer_sledge.png");
|
||||
public static final ResourceLocation shimmer_axe_tex = new ResourceLocation(RefStrings.MODID, "textures/models/shimmer_axe.png");
|
||||
public static final ResourceLocation stopsign_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/stopsign.png");
|
||||
public static final ResourceLocation sopsign_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/sopsign.png");
|
||||
|
||||
public static final ResourceLocation brimstone_tex = new ResourceLocation(RefStrings.MODID, "textures/models/brimstone.png");
|
||||
public static final ResourceLocation hk69_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hk69.png");
|
||||
@ -309,6 +313,7 @@ public class ResourceManager {
|
||||
//Boxcar
|
||||
public static final IModelCustom boxcar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/boxcar.obj"));
|
||||
public static final IModelCustom duchessgambit = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/duchessgambit.obj"));
|
||||
public static final IModelCustom building = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/building.obj"));
|
||||
public static final IModelCustom rpc = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/rpc.obj"));
|
||||
public static final IModelCustom tom_main = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/tom_main.obj"));
|
||||
public static final IModelCustom tom_flame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/tom_flame.hmf"));
|
||||
@ -409,6 +414,7 @@ public class ResourceManager {
|
||||
//Boxcar
|
||||
public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png");
|
||||
public static final ResourceLocation duchessgambit_tex = new ResourceLocation(RefStrings.MODID, "textures/models/duchessgambit.png");
|
||||
public static final ResourceLocation building_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/building.png");
|
||||
public static final ResourceLocation rpc_tex = new ResourceLocation(RefStrings.MODID, "textures/models/rpc.png");
|
||||
public static final ResourceLocation tom_main_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tom_main.png");
|
||||
public static final ResourceLocation tom_flame_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/tom_flame.png");
|
||||
@ -465,6 +471,28 @@ public class ResourceManager {
|
||||
public static final ResourceLocation soyuz_sideengines = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/sideengines.png");
|
||||
public static final ResourceLocation soyuz_booster = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/booster.png");
|
||||
public static final ResourceLocation soyuz_boosterside = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/boosterside.png");
|
||||
public static final ResourceLocation soyuz_luna_engineblock = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/engineblock.png");
|
||||
public static final ResourceLocation soyuz_luna_bottomstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/bottomstage.png");
|
||||
public static final ResourceLocation soyuz_luna_topstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/topstage.png");
|
||||
public static final ResourceLocation soyuz_luna_payload = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/payload.png");
|
||||
public static final ResourceLocation soyuz_luna_payloadblocks = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/payloadblocks.png");
|
||||
public static final ResourceLocation soyuz_luna_les = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/les.png");
|
||||
public static final ResourceLocation soyuz_luna_lesthrusters = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/lesthrusters.png");
|
||||
public static final ResourceLocation soyuz_luna_mainengines = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/mainengines.png");
|
||||
public static final ResourceLocation soyuz_luna_sideengines = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/sideengines.png");
|
||||
public static final ResourceLocation soyuz_luna_booster = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/booster.png");
|
||||
public static final ResourceLocation soyuz_luna_boosterside = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_luna/boosterside.png");
|
||||
public static final ResourceLocation soyuz_authentic_engineblock = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/engineblock.png");
|
||||
public static final ResourceLocation soyuz_authentic_bottomstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/bottomstage.png");
|
||||
public static final ResourceLocation soyuz_authentic_topstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/topstage.png");
|
||||
public static final ResourceLocation soyuz_authentic_payload = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/payload.png");
|
||||
public static final ResourceLocation soyuz_authentic_payloadblocks = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/payloadblocks.png");
|
||||
public static final ResourceLocation soyuz_authentic_les = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/les.png");
|
||||
public static final ResourceLocation soyuz_authentic_lesthrusters = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/lesthrusters.png");
|
||||
public static final ResourceLocation soyuz_authentic_mainengines = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/mainengines.png");
|
||||
public static final ResourceLocation soyuz_authentic_sideengines = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/sideengines.png");
|
||||
public static final ResourceLocation soyuz_authentic_booster = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/booster.png");
|
||||
public static final ResourceLocation soyuz_authentic_boosterside = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_authentic/boosterside.png");
|
||||
public static final ResourceLocation soyuz_memento = new ResourceLocation(RefStrings.MODID, "textures/items/polaroid_memento.png");
|
||||
|
||||
public static final ResourceLocation soyuz_launcher_legs_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_leg.png");
|
||||
|
||||
@ -2,6 +2,8 @@ package com.hbm.main;
|
||||
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class ServerProxy
|
||||
{
|
||||
public void registerRenderInfo()
|
||||
@ -14,6 +16,8 @@ public class ServerProxy
|
||||
public void particleControl(double x, double y, double z, int type) { }
|
||||
|
||||
public void spawnParticle(double x, double y, double z, String type, float[] args) { }
|
||||
|
||||
public void effectNT(NBTTagCompound data) { }
|
||||
|
||||
public void registerMissileItems() { }
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ import com.hbm.tileentity.machine.TileEntityMachineReactorLarge;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineReactorSmall;
|
||||
import com.hbm.tileentity.machine.TileEntityRadioRec;
|
||||
import com.hbm.tileentity.machine.TileEntityReactorControl;
|
||||
import com.hbm.tileentity.machine.TileEntitySoyuzLauncher;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@ -234,6 +235,15 @@ public class AuxButtonPacket implements IMessage {
|
||||
barrel.markDirty();
|
||||
}
|
||||
|
||||
if (te instanceof TileEntitySoyuzLauncher) {
|
||||
TileEntitySoyuzLauncher launcher = (TileEntitySoyuzLauncher)te;
|
||||
|
||||
if(m.id == 0)
|
||||
launcher.mode = (byte) m.value;
|
||||
if(m.id == 1)
|
||||
launcher.startCountdown();
|
||||
}
|
||||
|
||||
//} catch (Exception x) { }
|
||||
|
||||
return null;
|
||||
|
||||
79
com/hbm/packet/AuxParticlePacketNT.java
Normal file
@ -0,0 +1,79 @@
|
||||
package com.hbm.packet;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import com.hbm.main.MainRegistry;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.PacketBuffer;
|
||||
|
||||
public class AuxParticlePacketNT implements IMessage {
|
||||
|
||||
PacketBuffer buffer;
|
||||
|
||||
public AuxParticlePacketNT() { }
|
||||
|
||||
public AuxParticlePacketNT(NBTTagCompound nbt, double x, double y, double z) {
|
||||
|
||||
this.buffer = new PacketBuffer(Unpooled.buffer());
|
||||
|
||||
nbt.setDouble("posX", x);
|
||||
nbt.setDouble("posY", y);
|
||||
nbt.setDouble("posZ", z);
|
||||
|
||||
try {
|
||||
buffer.writeNBTTagCompoundToBuffer(nbt);
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
|
||||
if (buffer == null) {
|
||||
buffer = new PacketBuffer(Unpooled.buffer());
|
||||
}
|
||||
buffer.writeBytes(buf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
|
||||
if (buffer == null) {
|
||||
buffer = new PacketBuffer(Unpooled.buffer());
|
||||
}
|
||||
buf.writeBytes(buffer);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<AuxParticlePacketNT, IMessage> {
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(AuxParticlePacketNT m, MessageContext ctx) {
|
||||
|
||||
if(Minecraft.getMinecraft().theWorld == null)
|
||||
return null;
|
||||
|
||||
try {
|
||||
|
||||
NBTTagCompound nbt = m.buffer.readNBTTagCompoundFromBuffer();
|
||||
|
||||
if(nbt != null)
|
||||
MainRegistry.proxy.effectNT(nbt);
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -89,6 +89,8 @@ public class PacketDispatcher {
|
||||
wrapper.registerMessage(TEMissileMultipartPacket.Handler.class, TEMissileMultipartPacket.class, i++, Side.CLIENT);
|
||||
//Packet to send NBT data to tile entities
|
||||
wrapper.registerMessage(NBTPacket.Handler.class, NBTPacket.class, i++, Side.CLIENT);
|
||||
//Aux Particle Packet, New Technology: like the APP but with NBT
|
||||
wrapper.registerMessage(AuxParticlePacketNT.Handler.class, AuxParticlePacketNT.class, i++, Side.CLIENT);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
95
com/hbm/particle/ParticleExSmoke.java
Normal file
@ -0,0 +1,95 @@
|
||||
package com.hbm.particle;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.particle.EntityFX;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
import net.minecraft.client.renderer.RenderHelper;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.texture.TextureManager;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class ParticleExSmoke extends EntityFX {
|
||||
|
||||
private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/contrail.png");
|
||||
private TextureManager theRenderEngine;
|
||||
private int age;
|
||||
private int maxAge;
|
||||
|
||||
public ParticleExSmoke(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) {
|
||||
super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_);
|
||||
theRenderEngine = p_i1213_1_;
|
||||
maxAge = 100 + rand.nextInt(40);
|
||||
}
|
||||
|
||||
public void onUpdate() {
|
||||
this.prevPosX = this.posX;
|
||||
this.prevPosY = this.posY;
|
||||
this.prevPosZ = this.posZ;
|
||||
|
||||
particleAlpha = 1 - ((float) age / (float) maxAge);
|
||||
|
||||
++this.age;
|
||||
|
||||
if (this.age == this.maxAge) {
|
||||
this.setDead();
|
||||
}
|
||||
|
||||
this.motionX *= 0.7599999785423279D;
|
||||
this.motionY *= 0.7599999785423279D;
|
||||
this.motionZ *= 0.7599999785423279D;
|
||||
|
||||
this.moveEntity(this.motionX, this.motionY, this.motionZ);
|
||||
}
|
||||
|
||||
public int getFXLayer() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) {
|
||||
|
||||
this.theRenderEngine.bindTexture(texture);
|
||||
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
GL11.glEnable(GL11.GL_BLEND);
|
||||
GL11.glDepthMask(false);
|
||||
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
|
||||
RenderHelper.disableStandardItemLighting();
|
||||
|
||||
Random urandom = new Random(this.getEntityId());
|
||||
|
||||
for(int i = 0; i < 6; i++) {
|
||||
|
||||
p_70539_1_.startDrawingQuads();
|
||||
|
||||
this.particleRed = this.particleGreen = this.particleBlue = urandom.nextFloat() * 0.5F + 0.4F;
|
||||
|
||||
p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha);
|
||||
p_70539_1_.setNormal(0.0F, 1.0F, 0.0F);
|
||||
p_70539_1_.setBrightness(240);
|
||||
|
||||
float scale = urandom.nextFloat() + 0.5F;
|
||||
float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.75F);
|
||||
float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.75F);
|
||||
float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.75F);
|
||||
|
||||
p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1);
|
||||
p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0);
|
||||
p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0);
|
||||
p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1);
|
||||
p_70539_1_.draw();
|
||||
}
|
||||
|
||||
GL11.glPolygonOffset(0.0F, 0.0F);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
}
|
||||
}
|
||||