From dc7f5ef785ef1b18dc6ff857691e506c945a1fa3 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sun, 10 May 2020 01:45:49 +0200 Subject: [PATCH] press redstone toggle, KS23, isotope blocks --- assets/hbm/lang/de_DE.lang | 22 +- assets/hbm/lang/en_US.lang | 22 +- assets/hbm/models/weapons/hk69.obj | 294 +++---- assets/hbm/models/weapons/ks23.obj | 828 ++++++++++++++++++ assets/hbm/textures/blocks/block_euphemium | Bin 297 -> 0 bytes .../textures/blocks/block_insulator_side.png | Bin 0 -> 300 bytes .../textures/blocks/block_insulator_top.png | Bin 0 -> 482 bytes .../hbm/textures/blocks/block_neptunium.png | Bin 0 -> 587 bytes .../hbm/textures/blocks/block_plutonium.png | Bin 0 -> 615 bytes .../textures/blocks/block_plutonium_fuel.png | Bin 0 -> 642 bytes assets/hbm/textures/blocks/block_pu238.png | Bin 0 -> 638 bytes assets/hbm/textures/blocks/block_pu239.png | Bin 0 -> 623 bytes assets/hbm/textures/blocks/block_pu240.png | Bin 0 -> 622 bytes .../hbm/textures/blocks/block_schrabidium.png | Bin 373 -> 602 bytes .../blocks/block_schrabidium_fuel.png | Bin 0 -> 608 bytes assets/hbm/textures/blocks/block_solinium.png | Bin 0 -> 627 bytes assets/hbm/textures/blocks/block_thorium.png | Bin 388 -> 297 bytes .../textures/blocks/block_thorium_fuel.png | Bin 0 -> 814 bytes assets/hbm/textures/blocks/block_u233.png | Bin 0 -> 649 bytes assets/hbm/textures/blocks/block_u235.png | Bin 0 -> 652 bytes assets/hbm/textures/blocks/block_u238.png | Bin 0 -> 642 bytes assets/hbm/textures/blocks/block_uranium.png | Bin 398 -> 297 bytes .../textures/blocks/block_uranium_fuel.png | Bin 0 -> 645 bytes assets/hbm/textures/blocks/muffler.png | Bin 0 -> 808 bytes assets/hbm/textures/items/ammo_4gauge.png | Bin 0 -> 297 bytes .../textures/items/ammo_4gauge_explosive.png | Bin 0 -> 378 bytes .../hbm/textures/items/ammo_4gauge_slug.png | Bin 0 -> 367 bytes assets/hbm/textures/items/cladding_desh.png | Bin 0 -> 376 bytes assets/hbm/textures/items/cladding_lead.png | Bin 0 -> 424 bytes assets/hbm/textures/items/cladding_paint.png | Bin 0 -> 347 bytes assets/hbm/textures/items/cladding_rubber.png | Bin 0 -> 341 bytes assets/hbm/textures/models/weapons/ks23.png | Bin 0 -> 35338 bytes com/hbm/blocks/ModBlocks.java | 41 +- com/hbm/entity/missile/EntitySoyuz.java | 10 +- com/hbm/handler/BulletConfigSyncingUtil.java | 8 + com/hbm/handler/HazmatRegistry.java | 38 +- com/hbm/handler/guncfg/Gun12GaugeFactory.java | 1 + com/hbm/handler/guncfg/Gun4GaugeFactory.java | 95 ++ com/hbm/inventory/FluidTank.java | 5 +- com/hbm/inventory/MachineRecipes.java | 12 +- com/hbm/items/ModItems.java | 52 +- com/hbm/items/block/ItemBlockLore.java | 8 +- com/hbm/items/gear/ArmorModel.java | 33 +- com/hbm/items/special/ItemCladding.java | 56 ++ com/hbm/items/special/ItemRadioactive.java | 3 +- com/hbm/items/weapon/ItemAmmo.java | 15 + com/hbm/lib/Library.java | 1 + com/hbm/main/ClientProxy.java | 1 + com/hbm/main/MainRegistry.java | 73 +- com/hbm/main/ModEventHandler.java | 66 +- com/hbm/main/ModEventHandlerClient.java | 20 + com/hbm/main/ResourceManager.java | 2 + com/hbm/render/item/ItemRenderWeaponObj.java | 59 ++ .../tileentity/machine/TileEntityBarrel.java | 2 + .../machine/TileEntityMachineEPress.java | 88 +- .../machine/TileEntityMachinePress.java | 104 +-- .../machine/TileEntitySoyuzLauncher.java | 2 +- 57 files changed, 1612 insertions(+), 349 deletions(-) create mode 100644 assets/hbm/models/weapons/ks23.obj delete mode 100644 assets/hbm/textures/blocks/block_euphemium create mode 100644 assets/hbm/textures/blocks/block_insulator_side.png create mode 100644 assets/hbm/textures/blocks/block_insulator_top.png create mode 100644 assets/hbm/textures/blocks/block_neptunium.png create mode 100644 assets/hbm/textures/blocks/block_plutonium.png create mode 100644 assets/hbm/textures/blocks/block_plutonium_fuel.png create mode 100644 assets/hbm/textures/blocks/block_pu238.png create mode 100644 assets/hbm/textures/blocks/block_pu239.png create mode 100644 assets/hbm/textures/blocks/block_pu240.png create mode 100644 assets/hbm/textures/blocks/block_schrabidium_fuel.png create mode 100644 assets/hbm/textures/blocks/block_solinium.png create mode 100644 assets/hbm/textures/blocks/block_thorium_fuel.png create mode 100644 assets/hbm/textures/blocks/block_u233.png create mode 100644 assets/hbm/textures/blocks/block_u235.png create mode 100644 assets/hbm/textures/blocks/block_u238.png create mode 100644 assets/hbm/textures/blocks/block_uranium_fuel.png create mode 100644 assets/hbm/textures/blocks/muffler.png create mode 100644 assets/hbm/textures/items/ammo_4gauge.png create mode 100644 assets/hbm/textures/items/ammo_4gauge_explosive.png create mode 100644 assets/hbm/textures/items/ammo_4gauge_slug.png create mode 100644 assets/hbm/textures/items/cladding_desh.png create mode 100644 assets/hbm/textures/items/cladding_lead.png create mode 100644 assets/hbm/textures/items/cladding_paint.png create mode 100644 assets/hbm/textures/items/cladding_rubber.png create mode 100644 assets/hbm/textures/models/weapons/ks23.png create mode 100644 com/hbm/handler/guncfg/Gun4GaugeFactory.java create mode 100644 com/hbm/items/special/ItemCladding.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 98074fae2..58fa00865 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -33,6 +33,12 @@ achievement.fiend=Unhold achievement.fiend.desc=Sei gemein. achievement.fiend2=Unhold 2: Noch unholdiger achievement.fiend2.desc=Sei gemeiner. +achievement.soyuz=Gebackene Kartoffel +achievement.soyuz.desc=Werde knusprig +achievement.radPoison=Yay, Strahlung! +achievement.radPoison.desc=Leide an Strahlenkrankheit. +achievement.radDeath=Au, Strahlung! +achievement.radDeath.desc=Marie Curie entdeckte den Nutzen der radioaktiven Strahlung, sowie den Tod durch radioaktive Strahlung. achievement.metalworks=Metallurgie achievement.metalworks.desc=Bobmazon Level 1 (Hochofen) achievement.assembly=Fertigung @@ -45,12 +51,12 @@ achievement.nuclear=Atomwissenschaft achievement.nuclear.desc=Bobmazon Level 5 (Urankernbrennstoff) achievement.hidden=Versteckter Katalog achievement.hidden.desc=Töte einen Enderman mit einem fallenden Güterwagon wärend du brennst und mehr als 250 RADs hast. -achievement.horizonsStart=The Horizons? +achievement.horizonsStart=Apogäum achievement.horizonsStart.desc=Sende einen netten Typen zum Mond. -achievement.horizonsEnd=The Horizons. +achievement.horizonsEnd=The Horizons achievement.horizonsEnd.desc=Bring Tom nach Hause. -achievement.horizonsBonus=The Horizons! -achievement.horizonsBonus.desc=mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke mist kacke +achievement.horizonsBonus=Slam-Dunk-Durchfall +achievement.horizonsBonus.desc=junge was ist denn mit dir verkehrt potion.hbm_taint=Verdorben potion.hbm_mutation=Verdorbenes Herz @@ -1428,6 +1434,7 @@ item.gun_uzi_silencer.name=IMI Uzi mit Schalldämpfer item.gun_uzi_saturnite.name=Saturnit-Uzi item.gun_uzi_saturnite_silencer.name=Saturnit-Uzi mit Schalldämpfer item.gun_uboinik.name=Ubojnik +item.gun_ks23.name=Samuel die dicke Flinte item.gun_lever_action.name=Mare's Leg (Original) item.gun_bolt_action.name=Dream-Repetiergewehr (Original) item.gun_lever_action_dark.name=Mare's Leg (Dunkel) @@ -1503,6 +1510,9 @@ 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) item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither) +item.ammo_4gauge.name=Kaliber 20 Schrot +item.ammo_4gauge_slug.name=Kaliber 4 Brenneke +item.ammo_4gauge_explosive.name=23mm Granate item.ammo_5mm.name=5mm Patrone item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) item.ammo_5mm_du.name=5mm Patrone (DU) @@ -1634,6 +1644,10 @@ item.med_ipecac.name=Ipecac-Sirup item.med_ptsd.name=PTBS-Medikament item.med_schiziphrenia.name=Schizophrenie-Medikament item.gas_mask_filter.name=Gasmaskenfilter +item.cladding_paint.name=Bleifarbe +item.cladding_rubber.name=Gummibeschlag +item.cladding_lead.name=Bleibeschlag +item.cladding_desh.name=Deshbeschlag item.stealth_boy.name=Mobile Tarnkappe diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 12e1b4990..93a3cb50e 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -33,6 +33,12 @@ achievement.fiend=Delinquent achievement.fiend.desc=Be mean. achievement.fiend2=Delinquent 2: Delinquent Harder achievement.fiend2.desc=Be meaner. +achievement.soyuz=Baked Potato +achievement.soyuz.desc=Become crunchy. +achievement.radPoison=Yay, Radiation! +achievement.radPoison.desc=Suffer the effects of radiation poisoning. +achievement.radDeath=Ouch, Radiation! +achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity. achievement.metalworks=Metalworks achievement.metalworks.desc=Bobmazon Level 1 (Blast Furnace) achievement.assembly=Fabrication @@ -45,12 +51,12 @@ achievement.nuclear=Atomic Science achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel) achievement.hidden=Hidden Catalog achievement.hidden.desc=Kill an enderman with a falling boxcar while being on fire and having more than 250 RADs. -achievement.horizonsStart=The Horizons? +achievement.horizonsStart=Apogee achievement.horizonsStart.desc=Send a lad to the moon. -achievement.horizonsEnd=The Horizons. +achievement.horizonsEnd=The Horizons achievement.horizonsEnd.desc=Send Tom home. -achievement.horizonsBonus=The Horizons! -achievement.horizonsBonus.desc=oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap oh poop oh crap +achievement.horizonsBonus=Slam Dunk Diarrhea +achievement.horizonsBonus.desc=honest to god what the hell is wrong with you potion.hbm_taint=Tainted potion.hbm_mutation=Tainted Heart @@ -1428,6 +1434,7 @@ item.gun_uzi_silencer.name=IMI Uzi with Silencer item.gun_uzi_saturnite.name=Saturnite Uzi item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer item.gun_uboinik.name=Uboinik +item.gun_ks23.name=Samuel the Big Shotgun item.gun_lever_action.name=Mare's Leg (Original) item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) item.gun_lever_action_dark.name=Mare's Leg (Dark) @@ -1503,6 +1510,9 @@ 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) item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) +item.ammo_4gauge.name=4 Gauge Buckshot +item.ammo_4gauge_slug.name=4 Gauge Solid Steel Slug +item.ammo_4gauge_explosive.name=23mm Grenade item.ammo_5mm.name=5mm Round item.ammo_5mm_explosive.name=5mm Round (Explosive) item.ammo_5mm_du.name=5mm Round (DU) @@ -1634,6 +1644,10 @@ item.med_ipecac.name=Ipecac Syrup item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication item.gas_mask_filter.name=Gas Mask Filter +item.cladding_paint.name=Lead Paint +item.cladding_rubber.name=Rubber Cladding +item.cladding_lead.name=Lead Cladding +item.cladding_desh.name=Desh Cladding item.stealth_boy.name=Stealth Device diff --git a/assets/hbm/models/weapons/hk69.obj b/assets/hbm/models/weapons/hk69.obj index 8f464cfcc..ab880e53a 100644 --- a/assets/hbm/models/weapons/hk69.obj +++ b/assets/hbm/models/weapons/hk69.obj @@ -97,9 +97,16 @@ v 0.025000 0.450000 -0.585000 v 0.025000 0.450000 -0.535000 v -0.025000 0.450000 -0.585000 v -0.025000 0.450000 -0.535000 +vt 0.760870 0.130435 +vt 0.456522 0.217391 +vt 0.326087 0.130435 vt 0.108696 0.891304 vt 0.239130 0.891304 vt 0.239130 0.956522 +vt 0.326087 0.391304 +vt 0.456522 0.304348 +vt 0.760870 0.391304 +vt 0.760870 0.043478 vt 0.217391 0.847826 vt 0.130435 0.847826 vt 0.130435 0.782609 @@ -163,6 +170,11 @@ vt 0.043478 0.521739 vt 0.347826 0.978261 vt 0.260870 0.978261 vt 0.369565 0.956522 +vt 0.326087 0.173913 +vt 0.760870 0.217391 +vt 0.760870 0.304348 +vt 0.326087 0.347826 +vt 0.326087 0.043478 vt 0.217391 0.782609 vt 0.100650 0.472674 vt 0.054183 0.499502 @@ -178,18 +190,9 @@ vt 0.760870 0.239130 vt 0.065217 0.717391 vt 0.108696 0.543478 vt 0.000000 0.521739 -vt 0.760870 0.130435 -vt 0.456522 0.217391 -vt 0.326087 0.130435 -vt 0.326087 0.391304 -vt 0.456522 0.304348 -vt 0.760870 0.391304 vt 0.239130 0.217391 vt 0.326087 0.217391 vt 0.326087 0.304348 -vt 0.760870 0.217391 -vt 0.760870 0.304348 -vt 0.760870 0.043478 vt 0.108696 0.586957 vt 0.108696 0.521739 vt 0.760870 0.521739 @@ -227,10 +230,7 @@ vt 0.152174 0.260870 vt -0.000000 0.347826 vt -0.000000 0.391304 vt 0.152174 0.347826 -vt 0.326087 0.173913 -vt 0.326087 0.347826 vt 0.239130 0.304348 -vt 0.326087 0.043478 vt 0.760870 0.782609 vt 0.760870 0.543478 vt 0.760870 0.739130 @@ -240,28 +240,25 @@ vt 0.217391 0.217391 vt 0.217391 -0.000000 vt 0.152174 0.217391 vt 0.152174 0.391304 +vn -1.000000 -0.000000 0.000000 vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn 0.000000 0.000000 -1.000000 vn 0.000000 -0.707100 -0.707100 vn 0.000000 0.707100 0.707100 vn 0.000000 -1.000000 0.000000 vn 0.000000 -0.274700 0.961500 vn 0.000000 0.274700 -0.961500 -vn 0.000000 1.000000 0.000000 vn 0.894400 0.447200 0.000000 vn -0.894400 0.447200 0.000000 -vn -0.707100 0.707100 0.000000 -vn -0.672700 -0.730300 0.118500 vn -0.577300 0.577300 0.577300 -vn 0.577300 0.577300 0.577300 -vn 0.672700 -0.730300 0.118500 -vn 0.707100 0.707100 0.000000 vn -0.596200 -0.469400 0.651300 vn 0.596200 -0.469400 0.651300 vn -0.707100 -0.707100 0.000000 vn 0.707100 -0.707100 0.000000 +vn 0.672700 -0.730300 0.118500 +vn -0.672700 -0.730300 0.118500 vn 0.000000 0.792400 0.610000 vn 0.686200 0.396200 0.610000 vn 0.866000 0.500000 0.000000 @@ -302,6 +299,7 @@ vn -0.630200 0.297100 -0.717300 vn -0.630200 -0.297100 -0.717300 vn 0.630200 -0.297100 -0.717300 vn 0.546900 -0.773400 0.320400 +vn 0.577300 0.577300 0.577300 vn -0.418300 0.676800 0.605700 vn -0.577300 -0.577300 0.577300 vn -0.487100 0.670900 -0.559100 @@ -309,132 +307,132 @@ vn -0.182400 -0.282500 -0.941700 vn -0.546900 0.773400 0.320400 vn -0.546900 -0.773400 0.320400 s off -f 29/1/1 30/2/1 32/3/1 -f 25/4/1 26/5/1 12/6/1 -f 26/5/1 25/4/1 30/2/1 -f 24/7/1 22/8/1 18/9/1 -f 27/10/1 28/11/1 31/12/1 -f 39/13/2 40/2/2 35/14/2 -f 34/15/2 36/16/2 35/14/2 -f 46/17/3 44/18/3 50/19/3 -f 49/20/4 43/21/4 45/22/4 -f 53/23/1 54/24/1 52/25/1 -f 58/26/3 56/27/3 52/25/3 -f 51/28/4 55/29/4 57/30/4 -f 68/31/2 70/32/2 69/33/2 -f 70/32/5 74/34/5 73/35/5 -f 71/36/6 72/37/6 68/31/6 -f 72/38/3 74/39/3 70/32/3 -f 69/33/4 73/40/4 71/41/4 -f 80/42/7 82/43/7 81/44/7 -f 81/45/8 82/43/8 78/46/8 -f 76/47/9 80/42/9 79/48/9 -f 81/49/4 77/50/4 75/51/4 -f 76/47/3 78/46/3 82/43/3 -f 87/52/10 89/53/10 90/54/10 -f 88/55/4 90/54/4 85/56/4 -f 89/53/3 87/52/3 84/57/3 -f 94/58/11 93/59/11 91/60/11 -f 91/60/12 95/61/12 96/62/12 -f 93/63/2 95/60/2 91/59/2 -f 94/63/1 92/61/1 96/60/1 -f 38/64/2 37/65/2 42/3/2 -f 41/66/2 42/3/2 40/2/2 -f 31/12/1 29/1/1 32/3/1 -f 11/67/1 25/4/1 12/6/1 -f 29/1/1 26/5/1 30/2/1 -f 18/9/1 16/68/1 14/69/1 -f 14/69/1 24/7/1 18/9/1 -f 22/8/1 20/70/1 18/9/1 -f 32/3/1 27/10/1 31/12/1 -f 36/16/2 39/13/2 35/14/2 -f 33/71/2 34/15/2 35/14/2 -f 48/72/3 46/17/3 50/19/3 -f 47/73/4 49/20/4 45/22/4 -f 51/74/1 53/23/1 52/25/1 -f 54/24/3 58/26/3 52/25/3 -f 53/75/4 51/28/4 57/30/4 -f 67/76/2 68/31/2 69/33/2 -f 69/33/5 70/32/5 73/35/5 -f 67/76/6 71/36/6 68/31/6 -f 68/31/3 72/38/3 70/32/3 -f 67/76/4 69/33/4 71/41/4 -f 79/77/7 80/42/7 81/44/7 -f 77/78/8 81/45/8 78/46/8 -f 75/51/9 76/47/9 79/48/9 -f 79/48/4 81/49/4 75/51/4 -f 80/42/3 76/47/3 82/43/3 -f 88/55/10 87/52/10 90/54/10 -f 83/79/4 88/55/4 85/56/4 -f 86/80/3 89/53/3 84/57/3 -f 92/81/11 94/58/11 91/60/11 -f 92/81/12 91/60/12 96/62/12 -f 41/66/2 38/64/2 42/3/2 -f 39/13/2 41/66/2 40/2/2 +f 4/1/1 9/2/1 2/3/1 +f 29/4/2 30/5/2 32/6/2 +f 6/7/3 10/8/3 8/9/3 +f 8/10/4 4/1/4 2/3/4 +f 25/11/2 26/12/2 12/13/2 +f 26/12/2 25/11/2 30/5/2 +f 24/14/2 22/15/2 18/16/2 +f 27/17/2 28/18/2 31/19/2 +f 39/20/5 40/5/5 35/21/5 +f 34/22/5 36/23/5 35/21/5 +f 46/24/3 44/25/3 50/26/3 +f 49/27/1 43/28/1 45/29/1 +f 53/30/2 54/31/2 52/32/2 +f 58/33/3 56/34/3 52/32/3 +f 51/35/1 55/36/1 57/37/1 +f 68/38/5 70/39/5 69/40/5 +f 70/39/6 74/41/6 73/42/6 +f 71/43/7 72/44/7 68/38/7 +f 72/45/3 74/46/3 70/39/3 +f 69/40/1 73/47/1 71/48/1 +f 80/49/8 82/50/8 81/51/8 +f 81/52/9 82/50/9 78/53/9 +f 76/54/10 80/49/10 79/55/10 +f 81/56/1 77/57/1 75/58/1 +f 76/54/3 78/53/3 82/50/3 +f 87/59/4 89/60/4 90/61/4 +f 88/62/1 90/61/1 85/63/1 +f 89/60/3 87/59/3 84/64/3 +f 94/65/11 93/66/11 91/67/11 +f 91/67/12 95/68/12 96/69/12 +f 93/70/5 95/67/5 91/66/5 +f 94/70/2 92/68/2 96/67/2 +f 38/71/5 37/72/5 42/6/5 +f 41/73/5 42/6/5 40/5/5 +f 1/74/1 2/3/1 9/2/1 +f 4/1/1 3/75/1 9/2/1 +f 31/19/2 29/4/2 32/6/2 +f 7/76/3 8/9/3 10/8/3 +f 6/7/3 5/77/3 10/8/3 +f 6/78/4 8/10/4 2/3/4 +f 11/79/2 25/11/2 12/13/2 +f 29/4/2 26/12/2 30/5/2 +f 18/16/2 16/80/2 14/81/2 +f 14/81/2 24/14/2 18/16/2 +f 22/15/2 20/82/2 18/16/2 +f 32/6/2 27/17/2 31/19/2 +f 36/23/5 39/20/5 35/21/5 +f 33/83/5 34/22/5 35/21/5 +f 48/84/3 46/24/3 50/26/3 +f 47/85/1 49/27/1 45/29/1 +f 51/86/2 53/30/2 52/32/2 +f 54/31/3 58/33/3 52/32/3 +f 53/87/1 51/35/1 57/37/1 +f 67/88/5 68/38/5 69/40/5 +f 69/40/6 70/39/6 73/42/6 +f 67/88/7 71/43/7 68/38/7 +f 68/38/3 72/45/3 70/39/3 +f 67/88/1 69/40/1 71/48/1 +f 79/89/8 80/49/8 81/51/8 +f 77/90/9 81/52/9 78/53/9 +f 75/58/10 76/54/10 79/55/10 +f 79/55/1 81/56/1 75/58/1 +f 80/49/3 76/54/3 82/50/3 +f 88/62/4 87/59/4 90/61/4 +f 83/91/1 88/62/1 85/63/1 +f 86/92/3 89/60/3 84/64/3 +f 92/93/11 94/65/11 91/67/11 +f 92/93/12 91/67/12 96/69/12 +f 41/73/5 38/71/5 42/6/5 +f 39/20/5 41/73/5 40/5/5 s 1 -f 4/82/13 9/83/14 2/84/15 -f 6/85/16 10/86/17 8/87/18 -f 2/88/15 1/89/19 5/90/20 -f 3/91/21 7/92/22 10/86/17 -f 8/93/18 4/82/13 2/84/15 -f 9/83/14 10/86/17 5/90/20 -f 14/94/23 16/95/24 15/96/25 -f 16/95/24 18/97/26 17/98/27 -f 17/98/27 18/97/26 20/99/28 -f 20/100/28 22/56/29 21/101/30 -f 24/54/31 14/94/23 13/102/10 -f 22/56/29 24/54/31 23/103/32 -f 27/104/33 37/105/34 38/106/35 -f 32/107/36 42/17/37 37/105/34 -f 40/108/38 42/17/37 32/107/36 -f 35/109/39 40/108/38 30/110/40 -f 33/18/41 35/109/39 25/92/42 -f 34/111/43 33/112/41 11/113/44 -f 26/114/45 36/115/46 34/111/43 -f 29/116/47 39/117/48 36/115/46 -f 31/118/49 41/119/50 39/117/48 -f 38/106/35 41/119/50 31/118/49 -f 46/120/51 48/72/52 47/73/53 -f 48/72/52 50/19/54 49/20/55 -f 49/20/55 50/19/54 44/121/56 -f 52/122/57 56/27/58 55/29/59 -f 57/30/60 58/26/61 54/123/62 -f 56/27/58 58/26/61 57/30/60 -f 59/124/10 60/125/10 62/126/3 -f 61/127/3 62/126/3 64/74/7 -f 66/128/4 60/125/10 59/124/10 -f 64/129/7 66/128/4 65/130/4 -f 1/131/19 2/84/15 9/83/14 -f 4/82/13 3/91/21 9/83/14 -f 7/92/22 8/87/18 10/86/17 -f 6/85/16 5/132/20 10/86/17 -f 6/133/16 2/88/15 5/90/20 -f 9/83/14 3/91/21 10/86/17 -f 6/134/16 8/93/18 2/84/15 -f 1/89/19 9/83/14 5/90/20 -f 13/102/10 14/94/23 15/96/25 -f 15/96/25 16/95/24 17/98/27 -f 19/87/7 17/98/27 20/99/28 -f 19/135/7 20/100/28 21/101/30 -f 23/103/32 24/54/31 13/102/10 -f 21/101/30 22/56/29 23/103/32 -f 28/136/63 27/104/33 38/106/35 -f 27/104/33 32/107/36 37/105/34 -f 30/110/40 40/108/38 32/107/36 -f 25/92/42 35/109/39 30/110/40 -f 11/78/44 33/18/41 25/92/42 -f 12/137/64 34/111/43 11/113/44 -f 12/137/64 26/114/45 34/111/43 -f 26/114/45 29/116/47 36/115/46 -f 29/116/47 31/118/49 39/117/48 -f 28/136/63 38/106/35 31/118/49 -f 45/138/65 46/120/51 47/73/53 -f 47/73/53 48/72/52 49/20/55 -f 43/139/66 49/20/55 44/121/56 -f 51/140/67 52/122/57 55/29/59 -f 53/141/68 57/30/60 54/123/62 -f 55/29/59 56/27/58 57/30/60 -f 61/127/3 59/124/10 62/126/3 -f 63/142/7 61/127/3 64/74/7 -f 65/130/4 66/128/4 59/124/10 -f 63/143/7 64/129/7 65/130/4 +f 2/94/13 1/95/14 5/96/15 +f 3/75/16 7/76/17 10/8/18 +f 9/2/19 10/8/18 5/96/15 +f 14/97/20 16/98/21 15/99/22 +f 16/98/21 18/100/23 17/101/24 +f 17/101/24 18/100/23 20/102/25 +f 20/103/25 22/63/26 21/104/27 +f 24/61/28 14/97/20 13/105/4 +f 22/63/26 24/61/28 23/106/29 +f 27/107/30 37/108/31 38/109/32 +f 32/110/33 42/24/34 37/108/31 +f 40/111/35 42/24/34 32/110/33 +f 35/112/36 40/111/35 30/113/37 +f 33/25/38 35/112/36 25/76/39 +f 34/114/40 33/115/38 11/116/41 +f 26/117/42 36/118/43 34/114/40 +f 29/119/44 39/120/45 36/118/43 +f 31/121/46 41/122/47 39/120/45 +f 38/109/32 41/122/47 31/121/46 +f 46/123/48 48/84/49 47/85/50 +f 48/84/49 50/26/51 49/27/52 +f 49/27/52 50/26/51 44/124/53 +f 52/125/54 56/34/55 55/36/56 +f 57/37/57 58/33/58 54/126/59 +f 56/34/55 58/33/58 57/37/57 +f 59/127/4 60/128/4 62/129/3 +f 61/130/3 62/129/3 64/86/8 +f 66/131/1 60/128/4 59/127/4 +f 64/132/8 66/131/1 65/133/1 +f 6/134/60 2/94/13 5/96/15 +f 9/2/19 3/75/16 10/8/18 +f 1/95/14 9/2/19 5/96/15 +f 13/105/4 14/97/20 15/99/22 +f 15/99/22 16/98/21 17/101/24 +f 19/9/8 17/101/24 20/102/25 +f 19/135/8 20/103/25 21/104/27 +f 23/106/29 24/61/28 13/105/4 +f 21/104/27 22/63/26 23/106/29 +f 28/136/61 27/107/30 38/109/32 +f 27/107/30 32/110/33 37/108/31 +f 30/113/37 40/111/35 32/110/33 +f 25/76/39 35/112/36 30/113/37 +f 11/90/41 33/25/38 25/76/39 +f 12/137/62 34/114/40 11/116/41 +f 12/137/62 26/117/42 34/114/40 +f 26/117/42 29/119/44 36/118/43 +f 29/119/44 31/121/46 39/120/45 +f 28/136/61 38/109/32 31/121/46 +f 45/138/63 46/123/48 47/85/50 +f 47/85/50 48/84/49 49/27/52 +f 43/139/64 49/27/52 44/124/53 +f 51/140/65 52/125/54 55/36/56 +f 53/141/66 57/37/57 54/126/59 +f 55/36/56 56/34/55 57/37/57 +f 61/130/3 59/127/4 62/129/3 +f 63/142/8 61/130/3 64/86/8 +f 65/133/1 66/131/1 59/127/4 +f 63/143/8 64/132/8 65/133/1 diff --git a/assets/hbm/models/weapons/ks23.obj b/assets/hbm/models/weapons/ks23.obj new file mode 100644 index 000000000..cb7bf0fb9 --- /dev/null +++ b/assets/hbm/models/weapons/ks23.obj @@ -0,0 +1,828 @@ +# Blender v2.76 (sub 0) OBJ File: 'ks23.blend' +# www.blender.org +o Cube_Cube.001 +v 0.000000 0.051195 -0.995077 +v 0.000000 0.051195 -0.439226 +v 0.035947 0.027480 -0.439226 +v 0.035947 0.027480 -0.995077 +v 0.055074 -0.032570 -0.439226 +v 0.055074 -0.032570 -0.995077 +v 0.048431 -0.100856 -0.439226 +v 0.048431 -0.100856 -0.995077 +v 0.019127 -0.145426 -0.439226 +v 0.019127 -0.145426 -0.995077 +v -0.019127 -0.145426 -0.439226 +v -0.019127 -0.145426 -0.995077 +v -0.048431 -0.100856 -0.439226 +v -0.048431 -0.100856 -0.995077 +v -0.055074 -0.032570 -0.439226 +v -0.055074 -0.032570 -0.995077 +v -0.035947 0.027480 -0.439226 +v -0.035947 0.027480 -0.995077 +v 0.055074 -0.030161 -0.439430 +v 0.055074 -0.030161 0.168751 +v 0.048431 -0.098447 0.168751 +v 0.048431 -0.098447 -0.439430 +v 0.033226 -0.143018 0.168751 +v 0.033226 -0.143018 -0.439430 +v -0.033226 -0.143018 0.168751 +v -0.033226 -0.143018 -0.439430 +v -0.048431 -0.098447 0.168751 +v -0.048431 -0.098447 -0.439430 +v -0.055074 -0.030161 0.168751 +v -0.055074 -0.030161 -0.439430 +v 0.035947 -0.027581 0.168751 +v 0.000000 -0.027206 0.168751 +v -0.035947 -0.028896 0.168751 +v 0.000000 -0.026166 -0.439430 +v 0.035947 -0.029377 -0.439430 +v -0.035947 -0.028599 -0.439430 +v 0.000000 -0.032788 0.169660 +v 0.000000 -0.032788 0.270254 +v 0.024426 -0.041679 0.270254 +v 0.024426 -0.041679 0.169660 +v 0.037423 -0.064190 0.270254 +v 0.037423 -0.064190 0.169660 +v 0.032909 -0.089788 0.270254 +v 0.032909 -0.089788 0.169660 +v 0.012997 -0.106497 0.270254 +v 0.012997 -0.106497 0.169660 +v -0.012997 -0.106497 0.270254 +v -0.012997 -0.106497 0.169660 +v -0.032909 -0.089788 0.270254 +v -0.032909 -0.089788 0.169660 +v -0.037423 -0.064190 0.270254 +v -0.037423 -0.064190 0.169660 +v -0.024426 -0.041679 0.270254 +v -0.024426 -0.041679 0.169660 +v 0.045638 -0.267367 -1.168768 +v 0.045638 -0.185019 -1.159611 +v 0.000000 -0.200900 -1.115964 +v 0.000000 -0.271969 -1.122427 +v -0.045638 -0.185019 -1.159611 +v -0.045638 -0.267367 -1.168768 +v 0.000000 -0.024476 -1.209323 +v 0.045638 -0.057997 -1.178368 +v 0.045638 -0.125040 -1.116457 +v 0.000000 -0.158562 -1.085502 +v -0.045638 -0.125040 -1.116457 +v -0.045638 -0.057997 -1.178368 +v 0.000000 0.039277 -1.082707 +v 0.045638 -0.004206 -1.071536 +v 0.045638 -0.091172 -1.049193 +v 0.000000 -0.134654 -1.038021 +v -0.045638 -0.091172 -1.049193 +v -0.045638 -0.004206 -1.071536 +v 0.000000 0.039277 -0.994713 +v 0.045638 -0.004206 -0.995884 +v 0.045638 -0.091172 -0.994727 +v 0.000000 -0.134654 -0.994398 +v -0.045638 -0.091172 -0.994727 +v -0.045638 -0.004206 -0.995884 +v 0.045638 -0.262584 -1.266073 +v -0.045638 -0.262584 -1.266073 +v 0.000000 -0.263015 -1.265873 +v 0.000000 -0.263015 -1.265873 +v 0.000000 -0.263015 -1.265873 +v 0.000000 0.038000 -0.450000 +v 0.000000 0.038000 0.450000 +v 0.024426 0.029110 0.450000 +v 0.024426 0.029110 -0.450000 +v 0.037423 0.006599 0.450000 +v 0.037423 0.006599 -0.450000 +v 0.032909 -0.019000 0.450000 +v 0.032909 -0.019000 -0.450000 +v 0.012997 -0.035708 0.450000 +v 0.012997 -0.035708 -0.450000 +v -0.012997 -0.035708 0.450000 +v -0.012997 -0.035708 -0.450000 +v -0.032909 -0.019000 0.450000 +v -0.032909 -0.019000 -0.450000 +v -0.037423 0.006599 0.450000 +v -0.037423 0.006599 -0.450000 +v -0.024426 0.029110 0.450000 +v -0.024426 0.029110 -0.450000 +v 0.000000 0.050535 0.186427 +v 0.000000 0.050535 0.240183 +v 0.035947 0.026819 0.240183 +v 0.035947 0.026819 0.186427 +v 0.055074 -0.033230 0.240183 +v 0.055074 -0.033230 0.186427 +v 0.048431 -0.101516 0.240183 +v 0.048431 -0.101516 0.186427 +v 0.019127 -0.146087 0.240183 +v 0.019127 -0.146087 0.186427 +v -0.019127 -0.146087 0.240183 +v -0.019127 -0.146087 0.186427 +v -0.048431 -0.101516 0.240183 +v -0.048431 -0.101516 0.186427 +v -0.055074 -0.033230 0.240183 +v -0.055074 -0.033230 0.186427 +v -0.035947 0.026819 0.240183 +v -0.035947 0.026819 0.186427 +v -0.045638 -0.105627 -1.862637 +v 0.045638 -0.105627 -1.862637 +v 0.047930 -0.403808 -1.849285 +v 0.047930 -0.403160 -1.887097 +v 0.047930 -0.385775 -1.913782 +v 0.045638 -0.105627 -1.212637 +v -0.045638 -0.105627 -1.212637 +v -0.047689 -0.135775 -1.913782 +v 0.047930 -0.135775 -1.913782 +v -0.047689 -0.403771 -1.849295 +v -0.047689 -0.245696 -1.226544 +v -0.047689 -0.385775 -1.913782 +v -0.047689 -0.403147 -1.887080 +v -0.047689 -0.245696 -1.226544 +v 0.000567 -0.173091 -1.013883 +v -0.000423 -0.133554 -1.059987 +v 0.009128 -0.130670 -1.053770 +v 0.010020 -0.166304 -1.012216 +v 0.005563 -0.126223 -1.043488 +v 0.006298 -0.155542 -1.009298 +v -0.006191 -0.126358 -1.043351 +v -0.005457 -0.155677 -1.009161 +v -0.009891 -0.130888 -1.053548 +v -0.008998 -0.166523 -1.011995 +v 0.000000 -0.210000 -1.020000 +v 0.000000 -0.183644 -1.074728 +v 0.009511 -0.179336 -1.069326 +v 0.009511 -0.203090 -1.020000 +v 0.005878 -0.172365 -1.060585 +v 0.005878 -0.191910 -1.020000 +v -0.005878 -0.172365 -1.060585 +v -0.005878 -0.191910 -1.020000 +v -0.009511 -0.179336 -1.069326 +v -0.009511 -0.203090 -1.020000 +v 0.000000 -0.124424 -1.088245 +v 0.009511 -0.125961 -1.081508 +v 0.005878 -0.128449 -1.070608 +v -0.005878 -0.128449 -1.070608 +v -0.009511 -0.125961 -1.081508 +v 0.000000 -0.124424 -0.951755 +v 0.009511 -0.125961 -0.958492 +v 0.005878 -0.128449 -0.969392 +v -0.005878 -0.128449 -0.969392 +v -0.009511 -0.125961 -0.958492 +v 0.000000 -0.183644 -0.965272 +v 0.009511 -0.179336 -0.970674 +v 0.005878 -0.172365 -0.979415 +v -0.005878 -0.172365 -0.979415 +v -0.009511 -0.179336 -0.970674 +v 0.000000 -0.105627 -1.272637 +vt 0.842220 0.216357 +vt 0.813955 0.216356 +vt 0.819355 0.199742 +vt 0.836824 0.199742 +vt 0.828089 0.226624 +vt 0.151673 0.278323 +vt 0.175796 0.304446 +vt 0.225136 0.241205 +vt 0.103426 0.226077 +vt 0.178379 0.241205 +vt 0.137056 0.179336 +vt 0.220021 0.118890 +vt 0.143189 0.149122 +vt 0.143189 0.077827 +vt 0.106992 0.113475 +vt 0.674740 0.150724 +vt 0.674732 0.076037 +vt 0.219192 0.077827 +vt 0.685161 0.077827 +vt 0.725110 0.076037 +vt 0.725110 0.150724 +vt 0.724582 0.217412 +vt 0.650353 0.217412 +vt 0.650353 0.023338 +vt 0.704253 0.150724 +vt 0.704266 0.076037 +vt 0.813562 0.227656 +vt 0.815131 0.221705 +vt 0.843795 0.221706 +vt 0.817671 0.216099 +vt 0.841256 0.216099 +vt 0.817672 0.209944 +vt 0.815131 0.204338 +vt 0.843795 0.204337 +vt 0.813562 0.198386 +vt 0.764961 0.227865 +vt 0.766573 0.221755 +vt 0.796000 0.221754 +vt 0.769180 0.215999 +vt 0.793392 0.215999 +vt 0.769180 0.209680 +vt 0.793392 0.209680 +vt 0.766573 0.203924 +vt 0.796000 0.203925 +vt 0.764961 0.197814 +vt 0.740750 0.227865 +vt 0.742361 0.221755 +vt 0.771788 0.221755 +vt 0.744968 0.215999 +vt 0.744968 0.209680 +vt 0.742361 0.203924 +vt 0.771788 0.203924 +vt 0.740750 0.197814 +vt 0.846035 0.227865 +vt 0.813386 0.227864 +vt 0.814997 0.221755 +vt 0.844424 0.221755 +vt 0.817605 0.215999 +vt 0.817605 0.209680 +vt 0.841817 0.209680 +vt 0.814997 0.203924 +vt 0.844424 0.203924 +vt 0.813386 0.197815 +vt 0.846035 0.197814 +vt 0.821823 0.227865 +vt 0.789174 0.227864 +vt 0.790785 0.221754 +vt 0.820212 0.221755 +vt 0.790785 0.203925 +vt 0.820212 0.203924 +vt 0.789174 0.197815 +vt 0.821823 0.197814 +vt 0.685161 0.149122 +vt 0.177454 0.149122 +vt 0.224319 0.113475 +vt 0.177454 0.077827 +vt 0.684917 0.241205 +vt 0.724774 0.217711 +vt 0.674520 0.008864 +vt 0.674512 0.008836 +vt 0.144192 0.115163 +vt 0.219192 0.149122 +vt 0.724582 0.023338 +vt 0.845365 0.227657 +vt 0.841256 0.209944 +vt 0.845365 0.198386 +vt 0.797611 0.227864 +vt 0.797611 0.197815 +vt 0.773399 0.227864 +vt 0.773399 0.197815 +vt 0.841817 0.215999 +vt 0.724774 0.022889 +vt 0.703966 0.009351 +vt 0.703979 0.009341 +vt 0.578109 0.464875 +vt 0.526515 0.386402 +vt 0.407568 0.464875 +vt 0.589806 0.585103 +vt 0.763013 0.649950 +vt 0.780066 0.599960 +vt 0.871651 0.649950 +vt 0.763013 0.649367 +vt 0.871651 0.649367 +vt 0.817332 0.730436 +vt 0.601446 0.495440 +vt 0.601442 0.476263 +vt 0.929745 0.495432 +vt 0.755631 0.075624 +vt 0.793355 0.043970 +vt 0.880324 0.075624 +vt 0.669891 0.731779 +vt 0.694513 0.592137 +vt 0.732237 0.623791 +vt 0.753695 0.280227 +vt 0.778707 0.242184 +vt 0.836370 0.280227 +vt 0.842040 0.338511 +vt 0.395872 0.585104 +vt 0.429548 0.690831 +vt 0.492839 0.732585 +vt 0.556129 0.690831 +vt 0.459163 0.386402 +vt 0.879102 0.726538 +vt 0.857649 0.729432 +vt 0.817332 0.729852 +vt 0.777014 0.727957 +vt 0.755562 0.726538 +vt 0.854597 0.599960 +vt 0.857649 0.727707 +vt 0.777014 0.726834 +vt 0.755562 0.725955 +vt 0.780066 0.599377 +vt 0.854597 0.599377 +vt 0.879102 0.725955 +vt 0.929742 0.524889 +vt 0.601444 0.524863 +vt 0.929743 0.514652 +vt 0.601445 0.514637 +vt 0.601455 0.465968 +vt 0.929742 0.465968 +vt 0.929742 0.476180 +vt 0.888876 0.124121 +vt 0.864253 0.166769 +vt 0.817978 0.183612 +vt 0.771702 0.166769 +vt 0.747080 0.124121 +vt 0.842600 0.043970 +vt 0.740789 0.672288 +vt 0.716166 0.714936 +vt 0.623615 0.714936 +vt 0.598993 0.672288 +vt 0.607544 0.623791 +vt 0.645268 0.592137 +vt 0.825715 0.389765 +vt 0.748025 0.338511 +vt 0.795033 0.410007 +vt 0.764351 0.389765 +vt 0.811358 0.242184 +vt 0.384948 0.389328 +vt 0.384948 0.418753 +vt 0.005160 0.418753 +vt 0.384948 0.461813 +vt 0.005160 0.461813 +vt 0.384948 0.508690 +vt 0.005160 0.508690 +vt 0.384948 0.545135 +vt 0.005160 0.545135 +vt 0.384948 0.571273 +vt 0.005160 0.571273 +vt 0.384948 0.607718 +vt 0.005160 0.607718 +vt 0.384948 0.654595 +vt 0.005160 0.654595 +vt 0.384948 0.697655 +vt 0.005160 0.697655 +vt 0.384948 0.727080 +vt 0.005160 0.727080 +vt 0.601502 0.576619 +vt 0.601502 0.539583 +vt 0.929802 0.539583 +vt 0.601502 0.514162 +vt 0.929802 0.514162 +vt 0.601502 0.478291 +vt 0.929802 0.478291 +vt 0.601502 0.452870 +vt 0.929802 0.452869 +vt 0.601502 0.415834 +vt 0.929802 0.415834 +vt -0.000061 0.740000 +vt 0.111694 0.740000 +vt 0.111695 0.768878 +vt 0.111695 0.797756 +vt -0.000061 0.797756 +vt 0.111695 0.826633 +vt -0.000061 0.826633 +vt 0.111695 0.855511 +vt -0.000061 0.855511 +vt 0.111695 0.884389 +vt -0.000061 0.884389 +vt 0.111694 0.913267 +vt -0.000061 0.913267 +vt 0.111694 0.942145 +vt -0.000061 0.942145 +vt 0.111694 0.971022 +vt 0.111694 0.999900 +vt -0.000061 0.999900 +vt 0.103042 0.166960 +vt 0.079303 0.199954 +vt 0.077125 0.354128 +vt 0.068420 0.320242 +vt 0.051008 0.252470 +vt 0.042302 0.218585 +vt 0.008552 0.354128 +vt 0.009465 0.320242 +vt 0.008563 0.252470 +vt 0.008307 0.218585 +vt 0.999874 0.740093 +vt 0.999874 0.768971 +vt 0.000010 0.768971 +vt 0.999874 0.797849 +vt 0.000010 0.797849 +vt 0.999874 0.826727 +vt 0.000010 0.826727 +vt 0.999874 0.855605 +vt 0.000010 0.855605 +vt 0.999874 0.884483 +vt 0.000010 0.884482 +vt 0.999874 0.913360 +vt 0.000010 0.913360 +vt 0.999874 0.942239 +vt 0.000010 0.942238 +vt 0.999874 0.971116 +vt 0.000010 0.971116 +vt 0.999874 0.999994 +vt 0.000010 0.999993 +vt 0.999203 0.741143 +vt 0.999203 0.763560 +vt 0.971220 0.763560 +vt 0.999203 0.796367 +vt 0.971220 0.796367 +vt 0.999203 0.832081 +vt 0.971220 0.832081 +vt 0.999203 0.859849 +vt 0.971220 0.859849 +vt 0.999203 0.879762 +vt 0.971220 0.879762 +vt 0.999203 0.907530 +vt 0.971220 0.907530 +vt 0.999203 0.943244 +vt 0.971220 0.943244 +vt 0.999203 0.976051 +vt 0.971220 0.976051 +vt 0.999203 0.998469 +vt 0.005160 0.389328 +vt 0.929802 0.576619 +vt -0.000061 0.768878 +vt -0.000061 0.971022 +vt 0.108079 0.111577 +vt 0.000010 0.740093 +vt 0.971220 0.741142 +vt 0.971220 0.998469 +vn 0.014200 -0.257100 0.966300 +vn -0.904200 0.330100 -0.271100 +vn 0.000000 0.769700 -0.638400 +vn 0.000000 0.601800 -0.798700 +vn -0.943700 -0.250800 0.215700 +vn -0.969800 0.142400 -0.197900 +vn -0.946300 -0.115600 0.302000 +vn -1.000000 0.001000 0.000300 +vn 0.000000 -0.997800 -0.065800 +vn 0.000000 -0.995100 -0.098800 +vn -0.000400 -0.993900 0.110200 +vn -0.000300 -0.993900 0.109900 +vn -0.000000 -0.995500 0.094200 +vn 0.000000 0.963900 -0.266400 +vn 0.000000 0.489900 -0.871800 +vn 0.000000 0.490600 -0.871400 +vn 0.904200 0.330100 -0.271100 +vn 0.000000 -0.476500 -0.879200 +vn -0.000300 -0.956300 -0.292400 +vn -0.000100 -0.476700 -0.879000 +vn -0.000100 -0.956100 -0.292900 +vn 0.001100 -0.759100 -0.651000 +vn 0.877000 -0.355300 -0.323500 +vn 0.877000 -0.355200 -0.323500 +vn 0.640100 0.589900 0.492200 +vn 0.640200 0.589900 0.492100 +vn -0.641900 0.575200 0.507100 +vn -0.875900 -0.375400 -0.303100 +vn 0.000000 -0.623500 -0.781800 +vn 0.896300 -0.276400 -0.346700 +vn 0.896300 -0.443400 -0.000000 +vn 0.679900 0.457200 0.573300 +vn 0.679900 0.733300 -0.000000 +vn -0.679900 0.457200 0.573300 +vn -0.679900 0.733300 -0.000000 +vn -0.896300 -0.276400 -0.346700 +vn -0.896300 -0.443400 -0.000000 +vn -0.000000 -0.222500 -0.974900 +vn 0.876600 -0.107100 -0.469200 +vn 0.641100 0.170800 0.748200 +vn -0.641100 0.170800 0.748200 +vn -0.876600 -0.107100 -0.469200 +vn 0.000000 -0.222500 0.974900 +vn 0.000000 -0.623500 0.781800 +vn 0.896300 -0.276400 0.346700 +vn 0.876600 -0.107100 0.469200 +vn 0.679900 0.457200 -0.573300 +vn -0.679900 0.457200 -0.573300 +vn -0.641100 0.170800 -0.748200 +vn -0.896300 -0.276400 0.346700 +vn -0.876600 -0.107100 0.469200 +vn -0.000000 -1.000000 -0.000000 +vn 0.969800 0.142400 -0.197900 +vn 0.000000 0.964000 -0.266000 +vn 0.000000 1.000000 0.000000 +vn -0.999900 0.006900 0.015500 +vn -0.999500 0.007500 0.031200 +vn -1.000000 0.003900 0.003200 +vn 0.943700 -0.250800 0.215700 +vn 0.946300 -0.115600 0.302000 +vn 1.000000 0.001100 0.000300 +vn 1.000000 0.004300 0.003600 +vn 0.999800 0.007700 0.017300 +vn -0.927800 -0.037300 0.371100 +vn 0.000000 -0.995600 0.094200 +vn 0.001200 -0.759100 -0.651000 +vn -0.641900 0.575200 0.507000 +vn 0.641100 0.170800 -0.748200 +vn -1.000000 -0.000000 0.000000 +vn 0.927800 -0.037300 0.371100 +vn 0.999400 0.008400 0.034800 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 0.000000 -1.000000 +vn 0.010400 0.999900 0.001700 +vn -0.081400 0.996700 0.000000 +vn -0.047000 0.998900 0.001700 +vn 0.133700 0.991000 0.000000 +vn 0.041000 0.999200 -0.003000 +vn -0.066000 0.997800 0.000500 +vn 0.089000 0.996000 -0.002900 +vn -0.067500 0.997700 0.000500 +vn 0.797300 0.603600 0.000000 +vn 0.994400 0.105500 0.000000 +vn 0.943000 -0.332800 -0.000000 +vn 0.474700 -0.880200 -0.000000 +vn -0.474700 -0.880200 -0.000000 +vn -0.943000 -0.332800 -0.000000 +vn -0.994400 0.105500 0.000000 +vn -0.797300 0.603600 0.000000 +vn 0.995300 -0.096800 -0.000000 +vn 0.977400 -0.211300 -0.000000 +vn 0.581900 -0.813300 -0.000000 +vn -0.581900 -0.813300 -0.000000 +vn -0.977400 -0.211300 -0.000000 +vn -0.995300 -0.096800 -0.000000 +vn 0.642800 0.766000 0.000000 +vn 0.984800 0.173600 0.000000 +vn 0.866000 -0.500000 -0.000000 +vn 0.342000 -0.939700 -0.000000 +vn -0.342000 -0.939700 -0.000000 +vn -0.866000 -0.500000 -0.000000 +vn -0.984800 0.173600 0.000000 +vn -0.642800 0.766000 0.000000 +vn 0.000000 -0.357300 0.934000 +vn -0.000000 -0.763700 0.645600 +vn 0.000000 0.972500 -0.232700 +vn 0.901300 0.421600 -0.099200 +vn 0.942000 -0.326400 0.078100 +vn 0.000000 -0.973400 0.229000 +vn -0.942000 -0.326400 0.078100 +vn -0.901300 0.421600 -0.099200 +vn 0.918900 0.394500 0.000000 +vn 0.918200 -0.396200 0.000000 +vn -0.918200 -0.396200 0.000000 +vn -0.918900 0.394500 0.000000 +vn 0.642800 0.766100 0.000000 +vn -0.642800 0.766100 0.000000 +vn 0.000000 -0.090600 0.995900 +s off +f 137/1/1 141/2/1 143/3/1 +f 143/3/1 134/4/1 137/1/1 +f 137/1/1 139/5/1 141/2/1 +s 1 +f 66/6/2 61/7/3 169/8/4 +f 65/9/5 66/6/2 126/10/6 +f 59/11/7 126/10/6 80/12/8 +f 60/13/9 55/14/9 58/15/10 +f 129/16/11 122/17/12 79/18/13 +f 121/19/14 128/20/15 127/21/16 +f 62/6/17 169/8/4 61/7/3 +f 127/22/16 128/23/15 124/24/18 +f 122/17/12 129/16/11 132/25/19 +f 131/21/20 124/20/18 123/26/21 +f 135/27/22 136/28/23 137/29/24 +f 137/29/24 136/28/23 138/30/25 +f 139/31/26 138/30/25 140/32/27 +f 140/32/27 142/33/28 143/34/28 +f 143/34/28 142/33/28 135/35/22 +f 145/36/29 146/37/30 147/38/31 +f 146/37/30 148/39/32 149/40/33 +f 148/39/32 150/41/34 151/42/35 +f 151/42/35 150/41/34 152/43/36 +f 153/44/37 152/43/36 145/45/29 +f 154/46/38 155/47/39 146/48/30 +f 155/47/39 156/49/40 148/39/32 +f 156/49/40 157/50/41 150/41/34 +f 150/41/34 157/50/41 158/51/42 +f 152/52/36 158/51/42 154/53/38 +f 159/54/43 164/55/44 165/56/45 +f 160/57/46 165/56/45 166/58/47 +f 166/58/47 167/59/48 162/60/49 +f 167/59/48 168/61/50 163/62/51 +f 168/61/50 164/63/44 159/64/43 +f 164/65/44 144/66/52 147/67/31 +f 165/68/45 147/67/31 149/40/33 +f 149/40/33 151/42/35 167/59/48 +f 151/42/35 153/69/37 168/70/50 +f 153/69/37 144/71/52 164/72/44 +f 169/8/4 62/6/17 125/10/53 +f 66/6/2 169/8/4 126/10/6 +f 120/73/54 126/74/55 169/75/55 +f 125/76/55 121/19/14 169/75/55 +f 121/19/14 120/73/54 169/75/55 +f 79/18/13 55/14/9 60/13/9 +f 120/77/56 127/78/57 129/79/58 +f 63/9/59 56/11/60 125/10/53 +f 79/12/61 125/10/53 56/11/60 +f 79/12/61 122/80/62 121/77/63 +f 59/11/7 65/9/5 126/10/6 +f 60/81/64 59/11/7 80/12/8 +f 80/82/65 129/16/11 79/18/13 +f 120/73/54 121/19/14 127/21/16 +f 131/83/20 127/22/16 124/24/18 +f 123/26/21 122/17/12 132/25/19 +f 132/25/19 131/21/20 123/26/21 +f 134/84/66 135/27/22 137/29/24 +f 139/31/26 137/29/24 138/30/25 +f 141/85/67 139/31/26 140/32/27 +f 141/85/67 140/32/27 143/34/28 +f 134/86/66 143/34/28 135/35/22 +f 144/87/52 145/36/29 147/38/31 +f 147/38/31 146/37/30 149/40/33 +f 149/40/33 148/39/32 151/42/35 +f 153/44/37 151/42/35 152/43/36 +f 144/88/52 153/44/37 145/45/29 +f 145/89/29 154/46/38 146/48/30 +f 146/48/30 155/47/39 148/39/32 +f 148/39/32 156/49/40 150/41/34 +f 152/52/36 150/41/34 158/51/42 +f 145/90/29 152/52/36 154/53/38 +f 160/57/46 159/54/43 165/56/45 +f 161/91/68 160/57/46 166/58/47 +f 161/91/68 166/58/47 162/60/49 +f 162/60/49 167/59/48 163/62/51 +f 163/62/51 168/61/50 159/64/43 +f 165/68/45 164/65/44 147/67/31 +f 166/58/47 165/68/45 149/40/33 +f 166/58/47 149/40/33 167/59/48 +f 167/59/48 151/42/35 168/70/50 +f 168/70/50 153/69/37 164/72/44 +f 80/82/65 79/18/13 60/13/9 +f 129/79/58 80/12/8 120/77/56 +f 126/10/6 120/77/56 80/12/8 +f 127/78/57 131/92/69 129/79/58 +f 132/93/69 129/79/58 131/92/69 +f 62/6/17 63/9/59 125/10/53 +f 55/81/70 79/12/61 56/11/60 +f 128/78/71 121/77/63 122/80/62 +f 125/10/53 79/12/61 121/77/63 +f 122/80/62 123/94/72 124/92/72 +f 124/92/72 128/78/71 122/80/62 +s off +f 13/95/73 11/96/73 7/97/73 +f 8/97/74 14/95/74 16/98/74 +f 27/99/73 25/100/73 21/101/73 +f 22/102/74 28/103/74 34/104/74 +f 32/105/75 31/106/75 34/107/75 +f 49/108/73 47/109/73 43/110/73 +f 85/111/73 92/112/73 90/113/73 +f 114/114/73 112/115/73 108/116/73 +f 109/114/74 115/116/74 117/117/74 +f 5/118/73 3/119/73 15/98/73 +f 2/120/73 17/121/73 3/119/73 +f 15/98/73 13/95/73 7/97/73 +f 11/96/73 9/122/73 7/97/73 +f 7/97/73 5/118/73 15/98/73 +f 17/121/73 15/98/73 3/119/73 +f 18/121/74 1/120/74 4/119/74 +f 4/119/74 6/118/74 16/98/74 +f 8/97/74 10/122/74 12/96/74 +f 12/96/74 14/95/74 8/97/74 +f 16/98/74 18/121/74 4/119/74 +f 6/118/74 8/97/74 16/98/74 +f 20/123/73 31/124/73 21/101/73 +f 32/125/73 33/126/73 27/99/73 +f 29/127/73 27/99/73 33/126/73 +f 25/100/73 23/128/73 21/101/73 +f 21/101/73 31/124/73 32/125/73 +f 32/125/73 27/99/73 21/101/73 +f 36/129/74 34/104/74 28/103/74 +f 35/130/74 19/131/74 22/102/74 +f 22/102/74 24/132/74 26/133/74 +f 26/133/74 28/103/74 22/102/74 +f 30/134/74 36/129/74 28/103/74 +f 35/130/74 22/102/74 34/104/74 +f 30/135/76 29/136/76 36/137/76 +f 33/138/77 32/105/77 34/107/77 +f 31/106/78 20/139/78 19/140/78 +f 19/140/79 35/141/79 31/106/79 +f 36/137/80 29/136/80 33/138/80 +f 31/106/81 35/141/81 34/107/81 +f 34/107/82 36/137/82 33/138/82 +f 41/142/73 39/143/73 43/110/73 +f 38/144/73 53/145/73 39/143/73 +f 51/146/73 49/108/73 53/145/73 +f 47/109/73 45/147/73 43/110/73 +f 43/110/73 39/143/73 53/145/73 +f 53/145/73 49/108/73 43/110/73 +f 88/148/73 86/149/73 90/113/73 +f 85/111/73 100/150/73 98/151/73 +f 98/151/73 96/152/73 85/111/73 +f 94/153/73 92/112/73 85/111/73 +f 90/113/73 86/149/73 85/111/73 +f 85/111/73 96/152/73 94/153/73 +f 106/117/73 104/154/73 116/155/73 +f 103/156/73 118/157/73 104/154/73 +f 116/155/73 114/114/73 108/116/73 +f 112/115/73 110/158/73 108/116/73 +f 108/116/73 106/117/73 116/155/73 +f 118/157/73 116/155/73 104/154/73 +f 119/154/74 102/156/74 105/157/74 +f 105/157/74 107/155/74 117/117/74 +f 109/114/74 111/115/74 113/158/74 +f 113/158/74 115/116/74 109/114/74 +f 117/117/74 119/154/74 105/157/74 +f 107/155/74 109/114/74 117/117/74 +s 1 +f 2/159/55 3/160/83 4/161/83 +f 3/160/83 5/162/84 6/163/84 +f 5/162/84 7/164/85 8/165/85 +f 7/164/85 9/166/86 10/167/86 +f 9/166/86 11/168/87 12/169/87 +f 11/168/87 13/170/88 14/171/88 +f 13/170/88 15/172/89 16/173/89 +f 15/172/89 17/174/90 18/175/90 +f 17/174/90 2/176/55 1/177/55 +f 20/178/91 21/179/92 22/180/92 +f 21/179/92 23/181/93 24/182/93 +f 23/181/93 25/183/94 26/184/94 +f 25/183/94 27/185/95 28/186/95 +f 27/185/95 29/187/96 30/188/96 +f 37/189/55 38/190/55 39/191/97 +f 39/191/97 41/192/98 42/193/98 +f 41/192/98 43/194/99 44/195/99 +f 43/194/99 45/196/100 46/197/100 +f 45/196/100 47/198/101 48/199/101 +f 48/199/101 47/198/101 49/200/102 +f 50/201/102 49/200/102 51/202/103 +f 52/203/103 51/202/103 53/204/104 +f 53/204/104 38/205/55 37/206/55 +f 55/81/70 56/11/60 57/207/105 +f 57/207/105 59/11/7 60/81/64 +f 63/9/59 64/208/106 57/207/105 +f 57/207/105 64/208/106 65/9/5 +f 67/209/107 68/210/108 62/6/17 +f 68/210/108 69/211/109 63/9/59 +f 69/211/109 70/212/110 64/208/106 +f 64/208/106 70/212/110 71/211/111 +f 65/9/5 71/211/111 72/210/112 +f 66/6/2 72/210/112 67/209/107 +f 73/213/55 74/214/113 68/210/108 +f 74/214/113 75/215/114 69/211/109 +f 75/215/114 76/216/52 70/212/110 +f 70/212/110 76/216/52 77/215/115 +f 71/211/111 77/215/115 78/214/116 +f 72/210/112 78/214/116 73/213/55 +f 85/217/55 86/218/117 87/219/117 +f 86/218/117 88/220/98 89/221/98 +f 88/220/98 90/222/99 91/223/99 +f 90/222/99 92/224/100 93/225/100 +f 92/224/100 94/226/101 95/227/101 +f 94/226/101 96/228/102 97/229/102 +f 96/228/102 98/230/103 99/231/103 +f 98/230/103 100/232/118 101/233/118 +f 100/232/118 85/234/55 84/235/55 +f 103/236/55 104/237/83 105/238/83 +f 104/237/83 106/239/84 107/240/84 +f 106/239/84 108/241/85 109/242/85 +f 108/241/85 110/243/86 111/244/86 +f 110/243/86 112/245/87 113/246/87 +f 112/245/87 114/247/88 115/248/88 +f 114/247/88 116/249/89 117/250/89 +f 117/250/89 116/249/89 118/251/90 +f 119/252/90 118/251/90 103/253/55 +f 1/254/55 2/159/55 4/161/83 +f 4/161/83 3/160/83 6/163/84 +f 6/163/84 5/162/84 8/165/85 +f 8/165/85 7/164/85 10/167/86 +f 10/167/86 9/166/86 12/169/87 +f 12/169/87 11/168/87 14/171/88 +f 14/171/88 13/170/88 16/173/89 +f 16/173/89 15/172/89 18/175/90 +f 18/175/90 17/174/90 1/177/55 +f 19/255/91 20/178/91 22/180/92 +f 22/180/92 21/179/92 24/182/93 +f 24/182/93 23/181/93 26/184/94 +f 26/184/94 25/183/94 28/186/95 +f 28/186/95 27/185/95 30/188/96 +f 40/256/97 37/189/55 39/191/97 +f 40/256/97 39/191/97 42/193/98 +f 42/193/98 41/192/98 44/195/99 +f 44/195/99 43/194/99 46/197/100 +f 46/197/100 45/196/100 48/199/101 +f 50/201/102 48/199/101 49/200/102 +f 52/203/103 50/201/102 51/202/103 +f 54/257/104 52/203/103 53/204/104 +f 54/257/104 53/204/104 37/206/55 +f 58/258/119 55/81/70 57/207/105 +f 58/258/119 57/207/105 60/81/64 +f 56/11/60 63/9/59 57/207/105 +f 59/11/7 57/207/105 65/9/5 +f 61/7/3 67/209/107 62/6/17 +f 62/6/17 68/210/108 63/9/59 +f 63/9/59 69/211/109 64/208/106 +f 65/9/5 64/208/106 71/211/111 +f 66/6/2 65/9/5 72/210/112 +f 61/7/3 66/6/2 67/209/107 +f 67/209/107 73/213/55 68/210/108 +f 68/210/108 74/214/113 69/211/109 +f 69/211/109 75/215/114 70/212/110 +f 71/211/111 70/212/110 77/215/115 +f 72/210/112 71/211/111 78/214/116 +f 67/209/107 72/210/112 73/213/55 +f 84/259/55 85/217/55 87/219/117 +f 87/219/117 86/218/117 89/221/98 +f 89/221/98 88/220/98 91/223/99 +f 91/223/99 90/222/99 93/225/100 +f 93/225/100 92/224/100 95/227/101 +f 95/227/101 94/226/101 97/229/102 +f 97/229/102 96/228/102 99/231/103 +f 99/231/103 98/230/103 101/233/118 +f 101/233/118 100/232/118 84/235/55 +f 102/260/55 103/236/55 105/238/83 +f 105/238/83 104/237/83 107/240/84 +f 107/240/84 106/239/84 109/242/85 +f 109/242/85 108/241/85 111/244/86 +f 111/244/86 110/243/86 113/246/87 +f 113/246/87 112/245/87 115/248/88 +f 115/248/88 114/247/88 117/250/89 +f 119/252/90 117/250/89 118/251/90 +f 102/261/55 119/252/90 103/253/55 +l 81 82 +l 81 83 +l 130 133 diff --git a/assets/hbm/textures/blocks/block_euphemium b/assets/hbm/textures/blocks/block_euphemium deleted file mode 100644 index 804a764ed803e30dce6a7375a0d3c48e1ea99ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFeuT2x%7L=3vVdvDE`75dy&VSr^>--dxmp7)jUf;3mr`NL`3(My1 zm$>qVc_;f{4*idl)zY5F-UuivT({O_smQKtavHxaN_#I}+|q0KUUmdKI;Vst0K#rCMG5>E-oPe1YTgaiPa$UYp*9yjZM%H%hI?iC_71An(l-W=C-^r<(_^^R2$0 z&>OwuhUnWgv3r_{DU)<=9(K|D^n0IS`;OUPN?us#>|0mhsnYoJKPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0e4A6K~y+TJ<{2Z z>Oc$x(3=kXWfMFhArSxnWk?{ggngUS@eF>jobGZ}*_~p!TpkXGe{~dflx2CnUgi7! z-fFd+H=E7J-GBi zeBN$17ZlLPr;Of7r_(`QcDr2&24p%;*=V=h^0y%9R;@YpdcE+CMy3{lY`@>jyWI{Z zLu*%wDC=Be3cLU7pgbCl6pcm$+T38WwiF66pHH2LBOtH}Xq|H6L_>%Og>iKbheI`P zTv%M4&u2NAGKgK{3q{_ Y0p!zJB$tE&LjV8(07*qoM6N<$f)H@l%K!iX literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_neptunium.png b/assets/hbm/textures/blocks/block_neptunium.png new file mode 100644 index 0000000000000000000000000000000000000000..0baae0b3b30d05cbef6231221d75d0a10e43553e GIT binary patch literal 587 zcmV-R0<`^!P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940pLkQK~y+Tb&|VF zBT*E_ZzdrbGbB+ILr4N|LZPGG zs2B(7NmnwNT>Y?`N~P3)U|Ciokq{%B$$E5Mhn>siB9REuKp-%psY<013N7nI9o60x}$ z+B85j+@?OI3tJw});G=5>-8KTFg?!^gTKAs8z914Qa|?1nGudN_Gy~t`v@+OlpV>; ZyaJg*4hux_mN)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940sKisK~y+Tb&}0% z6JZd>-)urYARjHQO(hn>5>tAyP!NkCc<@xvlj1?};ve88ZU2E@nzpoFjKzbL3SPv! zMK4P5qf!iw2w@K6Q>m2t4=l@~Se(6Q&wasQ5OzMFmuMssacRml&1f`Q zuh;P#jRuy~U@*`&SDbVx6vBQycn{AxD+L<{trk8XQieRi%~j>4xvSR~TdmfIx9>b2 zPpeklWdOguYn@{={A;3tPb>)-8wVO9a z`vItmGq*4=yK1-F?23-O+|KE65pB}+&Ganl!o_Jmc7QyfhIlv}eza8da?SeeWzj2@ zO5{*tq?6y~_|zoAwry9de{8!yGjnNu`*9_ z50Sr}-y0ypTT*X!^`wi}Imha{em=qxNXm)il4mum86mq%$9ez&002ovPDHLkV1mJS B8BqWL literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_plutonium_fuel.png b/assets/hbm/textures/blocks/block_plutonium_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..d19588b355f809b151991a8b3b2b57da65443bad GIT binary patch literal 642 zcmV-|0)737P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0vAa{K~y+TbyCl3 z6G0SyI~zk{^FtclZAk-ViSb}tFeh(4^dhCSmli#EkzRTb?4h)OK)tj?)KG{bMT|lZ z5xw+O=rMw&r6^Tu2vR61E}9jxZnI0aNx#{Nu?T(44sYK3-Z$U8xAMlDp^tmfcs&04 zk@~5u!v1rj(dgRKxNu%B$D~v$HGX?CnM~3-rt3P2h4bp!3tu1*0J>N#ifA|-_Fz=0 zR3ec`tyY6?nkIInn$0H5%=2_G7{qR`jswTfL_h-pss6%Ulz|?>%mT5w<#yU$9fi|V zSQItls*@)(ExP0{+_7y3_slI3<8UHywCFOCYtXj~h5Lv=A<%GQ#H9*jjLB%l@7B#~ zc37fggj&?C%)W7#qMKDQ-#^yJb{!3Sh-#5s{bT48Vw+z8%pr#=JhQsNs=7TP=k0V6q+90 zlQCxP+Eq?XR4SE_LpRVC`Rl-OatFk&>sG6V>z*VMeM^tG83rdt24Zv_JGz9&V4+M9 z!F2tHaM;5KHXc_lmjyS_omaxT*2ge`4jO}#clKjL=^KV&;9keEozw?ksZS=C5kUHv z!MtVt0aR6c6h+BocYToPo!isly_)5X!fo(JXhg(eh~QtMch9wc&)(+vu4&rY2#zq3 c;*nhcDOY0)K0eYD#Q*>R07*qoM6N<$f+1@owEzGB literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_pu238.png b/assets/hbm/textures/blocks/block_pu238.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0c76b6abaa330262d45f0eee683b28c04e13aa GIT binary patch literal 638 zcmV-^0)hRBP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0uxC@K~y+Tb&|_# z6Hye#XC{F>m?UB$5o06_F)q|X1)+4?jks`CEV#6|5kZ8i|9}V$5g&+ET==NyMk+3Z zBDhf^DvD?eO2{_ifK5YYCX+Pt@OS5yB7z^o<=pf5?sv|a*sI6mAJ%fkVsYte;cKe^ z{xNd7+|wIHY22@ksnu%r`0PxjQc?Z`(=;iT#=|@J;>l!^>_(#@y_rlVN>keHb~c;s z^?KNrWpNS;f&0K-08o z-CWt&Np>QUAmilkCt(;KbiTda+zaXT+pAhcr@)a;r+we=cDrYT6+9>;8$&)W0ppgW zQ}%Md-^YOXd1(#<4X+QJcO$@c#(Rmgb|KK_YoY)bCo#zfH=ooki2yClFDP+&d9>q1 zrnEI5K&3QpX-BiW#jIT2Em#(cVr*w4oE(itgwaj+4C?y~w zNi7t1<@5Ra%`b5zMt7kKFuOO3SPidXPfKqEJp4<_@?E1G;n|`%4a4}`!xhMo@GO@9 Y00^-ngNAivzyJUM07*qoM6N<$f;ej){{R30 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_pu239.png b/assets/hbm/textures/blocks/block_pu239.png new file mode 100644 index 0000000000000000000000000000000000000000..6a87f96a34f56f5b7525e1a35e253500366884dd GIT binary patch literal 623 zcmV-#0+9WQP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0t87!K~y+Tb&|_# z6Hye#PbR@k0!aiHBTXw|nnqWGi-1(rg{vY8V!@SvfeT&K>L1`HvA!04hzpSvbWz>7 z({+3yhcxAj?F3Ub}U6;q&c{cYXWtt}JX0xfIxm+%$NxR+7=kwie z7vJ+dEU74pjHyYL&SWy!_ot`fsk;bl7?iqlzQHr(2~ORTB*j%nPxgAf=BepKLjG1) z<=qk3>2w;#r?dAZ(QlU)vtNc0eK@mZ#Bzd0HY-sizyEB1yWAi`g^Dd=rVqpv1q0}k zmc|;Jo60dwIrHH*4mDg@tp!`#9JHKEuL;&~M#e;4@d$yy-_b*xqwCf}fR-j|lG2wG zZ?EmlXH6MY)sM*V%d2`;1HSKB9u*~6-1q(sEk@lqdk3Y*ibI_2=-`VaYqpP$Xhy5m zBFEHesWY;8aOIfq`(YSvZ2Stt{?O21?ZIb*#p#tH%+#?=iDo!F(?Y;?e`?3Lb3Nd5 zj^k);*t=bV<*|hz*xF^YID^JD*4KaVa$tTO?S3R(PdXjR%~dtqvJPV>?;0sejPI%{ zz^uw^Y7cx(&F!2HD-hwoB(EOZr5Fpd%G$QQH^LR@l#0xj{sHZ51_002ov JPDHLkV1mTGAMF4D literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_pu240.png b/assets/hbm/textures/blocks/block_pu240.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e6cc07466128f805b0a844827dde73f8eaf565 GIT binary patch literal 622 zcmV-!0+IcRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0s~1zK~y+Tb&}0% z6Hye!@4N&v(R?5-VvU73jnP$I1&X+JflCZ60gq<vbJXr_&Kl+U<5Glj-$( z`2Bt#ODYHgwY(UnlgT7@{p%{c@Gb%y2Bp@%S9yj!!R0#=qqy?fImdCk+F2UvguTbP+`dC<7UK&pnxu^wp;ZE zp<^cHYUwTxHQXq#xSnv(+H`6JE4Kr+P>FcRi@3wTdT4WW-C79H(!!F&_2tsk^~rny zsv74HUCB&^vvQTotf(l)cDm!a(P%`Py6K)l%^WzxF$`lEff*1_rBc@}Y{gi!b?T(n zYc`wYP@<*gpizjQc3s!^{Z8kH@Bf~jKEAZ_L9sZ!GK85rmMPH;hi6&{*!DN=sCzd( znrpRMS{wGHOHk`ID9761SM literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_schrabidium.png b/assets/hbm/textures/blocks/block_schrabidium.png index 84d245d489bce1bbd9823dd42bcf8cf959939f8a..8f66666041b07d42fbcb9e77acee7620e46bc378 100644 GIT binary patch delta 554 zcmV+_0@eNX0@?(SBnkm@Qb$4nuFf3kks%v@!T#F$}{{8?hDzfs1~Ezrj@?v@ye0F4|-n7(uj(KA;xWqGi~oA^KRP zlhHyX3aJQ8T_|a$(|Pl3ilD>e&VBcud*4rkjU^I|MgtDg zXDcgkGMP*{mHIFNt&y!Q1miPp8jiC9gkYP^Cf9>D4r<_YApj$V7f3h1Xt9{J9{{S{ z(L$lluHN5Csr1tlXQOXeEDAiFcB#a2V4G_N*p~2_@BDs#e?C3MevG#_j3l0apFg1< z!k?ey@sZT)ba?n8v_~Bdhb4@y!(vMq20$4XV#w$Dlg>}qFPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940rg2lK~y+Tby7iV z6G0SynT@as$i_BtB_U9jnx%&dEk(~l|A57VUV4`Zf(emcgvLTiO%FYk(q4K{@FIz4 zFSZ^Oy@XI9w8}y#u8ob2iKQ&K+4P%zAqJt3Vfg0F_uhQ-%_whQ-uU!IOC%C6R`u#P z9q}K~H0{+|g2DF6XdsnJ%@h`HnG(U8;qo3#4=MTa~cgKi%&>oSNhu{>FWSy z<{sDZQQv9TZp>mxuY7S;2jJs6ptpA=nTI@^m+mlPj+z-7mU<+`7nv&s*grp!ZTI(Nu(cv@t zjO8zqR}2v~SKs+w?fq@HJGTB$5;ubefMKK9RsgsJ-|zl>CLZP;W+OgSD-2)@2H0qf zaaOOxB}jO@>0^2?XHfh{X%fR{g uOH|r4#{77_A!oxdhBH_qcuQtB#?Ao~vGHoOb%nkF0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940tiV&K~y+Tb&|_# z6Hye#CzFr|B$I_m5|cm^aRh}~v=!axUm!w7S8iR2C_-#OaZz;Bm{MEN(v1aeQBf3J zNmjZPgrd$ag%AxUf|0z(G|9x@8bd zhr`cS)54dz)KfQR{Fbw5CC>D#UR7#w;*D@Zz-w!*V&qt$CqM=Y|OjF9`GLnr( z1HaX3VY#wxTg}Zo*MUF)Yd&}c&p9g!Y#50|;``<{Y1L|#U~WNiQ{420IYM7o9=cpE zd$-t69?~?;=kviJi2eO($DZmCS2{1;ZQM=v#x&4v|bqm|;^^PeHR3IgN zd%V@_^>DbJS-62ii|5vIdt;zgd+~-~_NJ|7vQB~&(C_y}4{bhj@I?sFQf5i<$U(ny zc`_e>syLBL7iCtOWicx%avaYdG>-Ez1LOfY^cD;Tub%keX3Ymr z&WfICn#`x!Y|>I==ZpW?QOmLhgF&rU8xDubWODV^JC()BA`xclSf)fXfHV;Tl}be% z_1^VAG*>7T_%Bt$o^%O*JbBJ>!e((QjSEVp66@5?pGBJjI-L&v?43C!>{u*@oxiVo zC=pK{5@1$G?%u)SZ~Ny4i13z_*Bj}nFy z@Y*!7Z9zGyA9hZynZKfX;rz#qx6V&7d3j@c>-8P0etJFIv9N63eu*n@n0K=O<b OcYC_}xvXq0)zvQ7=H)`0000V^Z#K0000DYLP=Bz2nYy#2xN!=00BEmL_t(Ijir-8 zPQyS9MW3fms7h1VfCNI~25h(t=SG~OD@2>nCNnmRq-oMn3DLh9jqUmJ_xH%#>$C5o z0YW|#G&lhv2$<6&2y7b&;)9r=%M4!bR{)5BN?;~|Yj_y@#5Fpv%?&wnC?z+I;5DEP`MA__H!fZ^qs7iEL@E>Ruoo&4v z11~FB!0Z4|Eq?O_pk|oeQ7)@euzGZzY_%0FZ~QtMN%U$sh#S zMOq0@#Vt)Y?JOKcBzKY-RcwBBVZOOgg1Mu$8Sm?|4;+&M0xA%o|0#7E?uqaN(m1Kd TTmGTd00000NkvXXu0mjf7*M2t diff --git a/assets/hbm/textures/blocks/block_thorium_fuel.png b/assets/hbm/textures/blocks/block_thorium_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..490c1fde520a263c0851897f33eb88ecde419396 GIT binary patch literal 814 zcmV+}1JV46P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940>eo}K~y+TT~bL* zQ&AMX|NURuQpzu#2P&mVp&(6NNFcf*XkuIt5*J1nCc4oWqalcKqj6XWl!b{2afOK_ zE-)rWjk7T-sby{jfig(-)6%&VI{NwFS1`tSa&vRvefQmW?mLfsJ!o@H(*}d#L7&FG zsKNLzplSNy9m7sA(4!zM7R#|}LCf*eAlCy)K|II@mS7_eJO>zv{2ENy4z__vGCS?* zy*o&WM52~c=LUwJ>^7BiA%@Pz`CJxPd%a$z!I%)1A#Fu+e3ILUDYbfzyfQz9f3)w*X2TDiQ_V$&K`gWBVYGNhaH%L^1El5 z6{0e=sPz@Sp@>V=&LY>V|xFk5L!sy@+=e zpuwJ?WqdY`5F+tYki_1(7uN_#7Y>8GrtK0J53T+5HMf5oAF*X11yC#wSxPELPPDHU zC=q7cc6(qUjQerx(YW(Hwy9B9p*KXZ$0&n5rbHFOTt*tj-~|nH>J9~K;#=8%Q36gTGNf8EW*Os z?RG*aUd|U;_chHrKXGpzco=Nt+EYZ!`Sd0i2`xrApo%b0bn8NP%IzNWMbtI*5yr>9 z>HRw;hIshwCbPQ8q)4$yP}Q(49M+;#f%Tu7@XUYy7^CV6y@4gc&x6}ranrXF6_gZL zH(E)xv8xwREXz{HYKvLQ1%Ld?F>-waz;&e3C*?+!uH4Er@CWKig$~h*@X{RqOYr!f s*|d#E{RM9}oBz$=CC1KHA=7XA4X0;AQR|UxkN^Mx07*qoM6N<$f+#a{!vFvP literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_u233.png b/assets/hbm/textures/blocks/block_u233.png new file mode 100644 index 0000000000000000000000000000000000000000..fd260ba7166942106c7d4638dbf62df423fa5eaa GIT binary patch literal 649 zcmV;40(Sk0P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0v<_3K~y+Tb&^YH z6Hyd~=Ml-Hq*HNGnjx`CHCkw0yD*A^prA{sb|F5%t(#gG?xdTht>6Qy8w*x&V@r3M z(zT!qLp6|%0h>S|!AI_-o#~L5-^?vV1b;4f{(H{3|2>b<*I%FbSTIb}TwWO5{5A;w zA%6*V)FNzC9G<-igEtFqLbX2a~WZY zi=`z^(@uwK8{#0*yiCO9t>s>?cT9Zw&^9BH$lQ~!nlGoI!MW4vG#ZUt&U-B6O*AAN z4*MYU_@+mK)|xN-argc3JTJ#c)Wb=%2d%--v2Q(5lub(gIjQQy3h}0_-3cN$tul`&ebBdq!ksW)d)oRu2^>(|ROeP=Be$r^4 z9Au?ji6`RhbjdH(p%YRFFhNPQnY+6bS1cC$jefLm+VA$O1e3qkxVazA;4})CD3wZ# z^Jy> literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_u235.png b/assets/hbm/textures/blocks/block_u235.png new file mode 100644 index 0000000000000000000000000000000000000000..990a10318ca66eff7fbd850cb86e7c5fcc9ddd00 GIT binary patch literal 652 zcmV;70(1R|P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940wGC6K~y+Tby7`8 z8$lF)y9pXL#1%>jBxake7%DWD7Ee+sjr63aLJvJCdKbJ{d+4q7VxkAzK4U5 zLP=`AlarXAHF4=TnNUihACK8LZ@&HJ{fsNOGq!K2!C)}6?$00l zfqxuTRd+Xn!r4mPkfPD(v-zj7J2CnX%(AJ4G~uMy-?=>=57^mUHV_CP3YjjA%u`bx zRM`cSB#AL5jvU94*H-wkSMg%~Je~rN?{Pc`f~wup4yLxNtXip55L|mfE+qFbKFO*q zcRwXb)VO!#{uTloH-qtIJW0~^$xz;x4=ak2d{dCSas&-UA;+N$c2$_kAcDL(o5<7O z*QIdCfJo{4qwPk6JJ6jjyo7@i7tY_d>?;_we$ISCF!9`xmlK?a5YTG&^q>vHKk$VR zfRdJ1$t^YyzApCq!)qg`@()q$<1Fey!k6_+7GTK8h3VM+leTT+7S literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_u238.png b/assets/hbm/textures/blocks/block_u238.png new file mode 100644 index 0000000000000000000000000000000000000000..e4532cbbf354b4fb622c54bc7a0f608c3de25cd2 GIT binary patch literal 642 zcmV-|0)737P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940vAa{K~y+Tb&^kO z6Hye!Zzh3GQqn0}C?q5%BMmKBi(4TGqHYDjg$s)xKyg#+LU2)Z(X?GCf!ZPnjbKG7 z3WBuXKv%X-$;K>9O2j~ICTTMn5)yxt7fKO4Tpst`d*;0RXZ%~Q&wsIuXf&Ez8r}Xe z3jT2n!+7&7s+?Du)4o(Hb?eT}$#awP9~4W)cr31*?9z*XuIsQjw>Be@2vKBuG%5Zp z8pDQNwS7LHZQCl<>2$QkSuZ^p8suEv&BF8Uq=z9G@iX!Dy|tQME0@az7axkB;x1iI z+ckUD%8F0Qft`^?0yZzhc$t4n@Z0`&OcJ3`XyN&HttTgF=pm7=9305UKRF`Q?Xg9I z-iLi?K$Wy!T5C2uM-R%q3y*MUaqilR(-aJ?Pu0%^GY>l2Os2;}Uc_{inH3fJ*^WDqc3qb=b<;hA8V^okwCgrqj2YDH z^>8>mebw@_=CO&hO3$(^-a+Z@UT(LxGd3`O)HrIjT9rzr-EJq7$+`Kj8sk%oEEP+! zc#M-N(G12Uln`Kp%F&+OZ_->opC2-Y(EhOBAD6 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/block_uranium.png b/assets/hbm/textures/blocks/block_uranium.png index a3b3f680cfa612ddf6a14918f4a014168f55bd1f..6e1b82cb1664aa0aea854e0b45f94a0a92b8a862 100644 GIT binary patch delta 253 zcmeBUUdc2;f|G@rfq~)e-A6$a6&30Y0(?STwT;w`E%kkaJ;P#y5;J1+OS6kA^4fZv zW-Xj{@c3S!YBbO`i~Sc+h_k>WvY3H^?+^$xifVW@00o;oT^vIsF7tL7@--U>u$bE` z#AYq$*t&8Bqa%M`eS?Oh(Wj{wW}M|elV2RXHZ4@UdKp00i_>zopr0Gje)>i_@% delta 355 zcmV-p0i6D+0*(Wa7zqdh0001xk!UuNAs~MVa7bBm000id000id0mpBsWB>pF7<5Hg zbW?9;ba!ELWdLwtX>N2bZe?^JG%heMHD!e|WdHyG|4BqaR5(wSlFN>RFbqZWg-AqD zo(moeKA-~8L3C5Ks66}0b7Om|FzSMyh2=_BAlkMS6#_mCtPn+MT~}_-!$NBAF^?{aLRJU(-zD+r`yT=c z`*4e}!6@N|ZQEW166R?k#fd12R9R1!vN}K*hDM2f-dqWGLvt7?NtbW~9QeQ32XNn{ ztc4lAueyX!Qy6KS12n$|%riXkJ~R;#VE!4c^)IzhXw!d=Lu3E|002ovPDHLkV1j`G Bl-2+M diff --git a/assets/hbm/textures/blocks/block_uranium_fuel.png b/assets/hbm/textures/blocks/block_uranium_fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..03485a43e052bd6dd02ca52554809dbf814a22c3 GIT binary patch literal 645 zcmV;00($+4P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T{Yi-(PP zksiFY7rk1F(6SIjb8v$JqmfS1G~Mnt@tb{BMDQ{D_~y+w-@KpIH_8+5Z6ldXTFde6 z&vDp4z%YzgPm>H@EDmeAT<-eqsr-1J{$ozfF;gak((8!g$Y*Xsx_-6t`-czoO} zT>^-fAMzc3YWMM-KE*uiTDRN9JF`U+icSQLK8+ChKk1`aE+B%u!3G$nctBAmgwW8X zR&@T|%qb4xT6W~1W6*L5N}2b z7AH;g315@G!N-VB+$^CyB)r$zlQMynbWFz`m~>qi4CEkN5=HA1n^+Kc4_qwVX}8;v zNaWT|ICNZe#i5?Mx){Temb3gP}~$491pVQ)KX>& z9$i8)Sm-7T!7xDv;?cbW6j!NKqDBq7jHz0!Vw{Ipi_q4| z*Qws8?XTxonT;~w=bnfVk^|x&38s3rpc;kOfU|Ug<1j?eeH2BZP$&Qp z$1%^(&&ay2GoR0?)oRGHOb`SlNkSNg2qB1~i2Z&~xm-rmG+fukG)+v?WVu`-eSLii z-}jl#X2`Nkv)TL`*zI;yDiw5HXSdq{P^nZ<6ou7lMW@q2J|2%uCKGD48k(jt8jVQP z6kXS;*Xy{hOQBG}aU1||!cSk0Z;e0-mrYXf@5g`PF!2nfNsn_c`j>Bv=LkK~sRH9fcB6*%CX0sWt>ryI} zxW2w7j$;;!1)8S)ksOal!Z76O>Wb6p#CpBv_4O5bx7)GVY^YYNIF3WR-9}Lq8jS{p zLV@LSiDg;b-rfS>x-R8%nO3XC`Fuw5eP8&#|L57Z?Z0@^G{rCsetv%NJP%#hk!6|V z@yKem`fX>uUNamHv27cGUayBFNz`gJgb=*Fy^+mkk!2afFzEOD2q9=R8Yqf_tSAbq zs?zKAP!xrShX*uGqucEgMG-eQHk|bf<_AhN1hQjxKJkKLZ5*)`N2m)kTMpacV zFE0s#fXQTnBuSX2iK?pjzE7vqL3(<65~I0000yUu}>x1Ru6Q-5L3$WNWn@@;4z@hjw!tpE2o# z_3xbS5Zm}t#bi^8#HCvg#Ft$C!J1k7sHpeiPpNxnp9=1Aj%1QZ{vr0GE$16sYNVZ_ z{_1rH4x7z+%qJo^Y039_=Pb(v-JWv_3a-)$ovM=Av#_{N=}wvp{S6>#Vv0j9*Vnjsc(?Q z#m&u&lU-Z{k?IrF>y%y4t#r6`_#H~FNg87X4}=3Z_k8>(0sgz9ewRTKvgrEL0Kj}|0pMrk zeFz*57QMQ{=XCxn(z-ya)Qc#?$ zwY3Nf&k`acG{(>vLy|6uh_Dd=01=_qnp$fbV<;lD)|Q4Ffg+M8sSdAHMdZ)JMWlN6 Y1(&hS)CJs&7ytkO07*qoM6N<$f|rM*n*aa+ literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_4gauge_slug.png b/assets/hbm/textures/items/ammo_4gauge_slug.png new file mode 100644 index 0000000000000000000000000000000000000000..77523c49897a2065bd9190029ec1226ef5d6c9bd GIT binary patch literal 367 zcmV-#0g(QQP)1hT5}P{$h1C-ESJmvYy=pk z_%NL!i6Y#E;Yp+mcXK!lFX9-hvcywWT}1Lc54v^Gh3_X50KjWq<6}NY5=8)jZPQ@a zws@?nz=!${Ug|pdaSj0RrWBs{du*HL&rU{9IEB2=W&i*=9L^%6PxKK0Sd}F{weCAH z#_%lQBfGZk{{aBLHyfm%f38KszM%}i^4B?(1@Bu8&z6cDFt`k3eRSl7Uhlhy2_X}|7!>bY2{r>;} N002ovPDHLkV1f?ZmBau5 literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/cladding_desh.png b/assets/hbm/textures/items/cladding_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..a07d2387a96ff72c003f4402a71327e254c3ab11 GIT binary patch literal 376 zcmV-;0f+vHP)%Kh$66UT7VDI4nuWN;5&}A>UD@BW?BP~gG`CJ4+2~$m9$nMQ_?pK>1wUaG`ws5 zSg)CBO(h1>lE)wbpsV%w3EE+(`i3EQwc1xx45cN5AV|Q>9mJ16B%`>sV_BSm+(IHT zc84Lz5ae;myDmLQzEkbs8_(l?vEXgFWW8GPRIMhh zFOv!RVv&dW9Dw`O1W9@z;(4-hU3o2+<=Hf4As=7>1wp3YkRFIZoo7A-849>!=8=yniX1t*;xPAwizk?WMuP%E}W-|6oAc;Dx{kAweE7`AK}w(Pau<2~kXw~JB= zz%CZ=&Rqc+(f56nQb;MYRv|>(qPnh&)|xa;IUEj1DREtw%SAkIHtUyf6J*q8vss{S zw_AWh%@|{s%Y`GZQPVU<#A>x-xm-8^g@yQjX#4#>N-4C~oX=-G z&qGRyQi|zxnj13}E$74=iuh*1HC1$f30GG>$QwRVMqHM?G zaUrD9Xb?paaU3%o4hzPsJGd4ypU=NhZ%T-=eSLkioz9c}`qp1bi1Odfzttx>I>)E$ S)4l`%00008(ZUeR}5G=IITm?N|K}kh~v1jF;l;{{jS;{ z9G)zW3zf3E^h6Xz8gJa-b9igx5mXAm`Blq!ie~V2cxU$>RZ3JTk^Oh0iIzg1=b$9u z;kBE{;*AF2wVODu2aJ9`LA^e+fAoOkj!gi`?I)U$h4xhldQ6W%ag{Uw_+pLY_ zJV;pBA5>^Y|6@k*A27ybV@!V5JAOzer38?NVK{swusBv#MM?<~p=p{2k*5M%*AT*5 zeyM=6{FQ=|+M1+(Q z-h19I@wb_cF>5V^z&y_YD5U`M)>v)$8OY8#hG9TN5E15i=6b!NltOEbwRU-Xmms%o z%Q%jVt& nm&k3~W@~NU&iXC>ME(jt=x38GX!{U500000NkvXXu0mjf6JU;f literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/weapons/ks23.png b/assets/hbm/textures/models/weapons/ks23.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1d9ef7b1b64604f7cbc80f1c822c0b936677fb GIT binary patch literal 35338 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 z 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 KMNUMnLSTaR7k%ac literal 0 HcmV?d00001 diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 320324368..6620490cd 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -92,7 +92,18 @@ public class ModBlocks { public static Block ore_tikite; public static Block block_thorium; + public static Block block_thorium_fuel; public static Block block_uranium; + public static Block block_u233; + public static Block block_u235; + public static Block block_u238; + public static Block block_uranium_fuel; + public static Block block_neptunium; + public static Block block_plutonium; + public static Block block_pu238; + public static Block block_pu239; + public static Block block_pu240; + public static Block block_plutonium_fuel; public static Block block_titanium; public static Block block_sulfur; public static Block block_niter; @@ -109,6 +120,8 @@ public class ModBlocks { public static Block block_electrical_scrap; public static Block block_beryllium; public static Block block_schrabidium; + public static Block block_solinium; + public static Block block_schrabidium_fuel; public static Block block_euphemium; public static Block block_schrabidium_cluster; public static Block block_euphemium_cluster; @@ -811,7 +824,18 @@ public class ModBlocks { ore_tikite = new BlockGeneric(Material.rock).setBlockName("ore_tikite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_tikite_alt"); block_uranium = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_uranium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium"); + block_u233 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_u233").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_u233"); + block_u235 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_u235").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_u235"); + block_u238 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_u238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_u238"); + block_uranium_fuel = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_uranium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_uranium_fuel"); block_thorium = new BlockGeneric(Material.iron).setBlockName("block_thorium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium"); + block_thorium_fuel = new BlockGeneric(Material.iron).setBlockName("block_thorium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_thorium_fuel"); + block_neptunium = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_neptunium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_neptunium"); + block_plutonium = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_plutonium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium"); + block_pu238 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu238").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu238"); + block_pu239 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu239").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu239"); + block_pu240 = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_pu240").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_pu240"); + block_plutonium_fuel = new BlockOre(Material.iron, 0.1F, 1.5F).setBlockName("block_plutonium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_plutonium_fuel"); block_titanium = new BlockGeneric(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); block_sulfur = new BlockGeneric(Material.iron).setBlockName("block_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_sulfur"); block_niter = new BlockGeneric(Material.iron).setBlockName("block_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_niter"); @@ -828,6 +852,8 @@ public class ModBlocks { block_electrical_scrap = new BlockFalling(Material.iron).setBlockName("block_electrical_scrap").setCreativeTab(MainRegistry.blockTab).setHardness(2.5F).setResistance(5.0F).setStepSound(Block.soundTypeMetal).setBlockTextureName(RefStrings.MODID + ":electrical_scrap_alt2"); block_beryllium = new BlockGeneric(Material.iron).setBlockName("block_beryllium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_beryllium"); block_schrabidium = new BlockGeneric(Material.iron).setBlockName("block_schrabidium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium"); + block_solinium = new BlockGeneric(Material.iron).setBlockName("block_solinium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_solinium"); + block_schrabidium_fuel = new BlockGeneric(Material.iron).setBlockName("block_schrabidium_fuel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_schrabidium_fuel"); block_euphemium = new BlockGeneric(Material.iron).setBlockName("block_euphemium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(60000.0F).setBlockTextureName(RefStrings.MODID + ":block_euphemium"); block_schrabidium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_schrabidium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F); block_euphemium_cluster = new BlockGenericPillar(Material.rock).setBlockName("block_euphemium_cluster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(60000.0F); @@ -1356,7 +1382,7 @@ public class ModBlocks { GameRegistry.registerBlock(ore_fluorite, ore_fluorite.getUnlocalizedName()); GameRegistry.registerBlock(ore_beryllium, ore_beryllium.getUnlocalizedName()); GameRegistry.registerBlock(ore_lead, ore_lead.getUnlocalizedName()); - GameRegistry.registerBlock(ore_oil, ore_oil.getUnlocalizedName()); + GameRegistry.registerBlock(ore_oil, ItemBlockLore.class, ore_oil.getUnlocalizedName()); GameRegistry.registerBlock(ore_oil_empty, ore_oil_empty.getUnlocalizedName()); GameRegistry.registerBlock(ore_oil_sand, ore_oil_sand.getUnlocalizedName()); GameRegistry.registerBlock(ore_lignite, ore_lignite.getUnlocalizedName()); @@ -1397,7 +1423,18 @@ public class ModBlocks { //Blocks GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(block_u233, block_u233.getUnlocalizedName()); + GameRegistry.registerBlock(block_u235, block_u235.getUnlocalizedName()); + GameRegistry.registerBlock(block_u238, block_u238.getUnlocalizedName()); + GameRegistry.registerBlock(block_uranium_fuel, block_uranium_fuel.getUnlocalizedName()); + GameRegistry.registerBlock(block_neptunium, block_neptunium.getUnlocalizedName()); + GameRegistry.registerBlock(block_plutonium, block_plutonium.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu238, block_pu238.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu239, block_pu239.getUnlocalizedName()); + GameRegistry.registerBlock(block_pu240, block_pu240.getUnlocalizedName()); + GameRegistry.registerBlock(block_plutonium_fuel, block_plutonium_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_thorium, block_thorium.getUnlocalizedName()); + GameRegistry.registerBlock(block_thorium_fuel, block_thorium_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); GameRegistry.registerBlock(block_sulfur, block_sulfur.getUnlocalizedName()); GameRegistry.registerBlock(block_niter, block_niter.getUnlocalizedName()); @@ -1418,6 +1455,8 @@ public class ModBlocks { GameRegistry.registerBlock(block_trinitite, block_trinitite.getUnlocalizedName()); GameRegistry.registerBlock(block_waste, block_waste.getUnlocalizedName()); GameRegistry.registerBlock(block_schrabidium, ItemBlockLore.class, block_schrabidium.getUnlocalizedName()); + GameRegistry.registerBlock(block_solinium, ItemBlockLore.class, block_solinium.getUnlocalizedName()); + GameRegistry.registerBlock(block_schrabidium_fuel, ItemBlockLore.class, block_schrabidium_fuel.getUnlocalizedName()); GameRegistry.registerBlock(block_euphemium, ItemBlockLore.class, block_euphemium.getUnlocalizedName()); GameRegistry.registerBlock(block_schrabidium_cluster, ItemBlockLore.class, block_schrabidium_cluster.getUnlocalizedName()); GameRegistry.registerBlock(block_euphemium_cluster, ItemBlockLore.class, block_euphemium_cluster.getUnlocalizedName()); diff --git a/com/hbm/entity/missile/EntitySoyuz.java b/com/hbm/entity/missile/EntitySoyuz.java index 7edf072db..b5feb8f6a 100644 --- a/com/hbm/entity/missile/EntitySoyuz.java +++ b/com/hbm/entity/missile/EntitySoyuz.java @@ -55,9 +55,13 @@ public class EntitySoyuz extends Entity { e.setFire(15); e.attackEntityFrom(ModDamageSource.exhaust, 100.0F); - if(!memed && e instanceof EntityPlayer) { - memed = true; - worldObj.playSoundEffect(posX, posY, posZ, "hbm:alarm.soyuzed", 100, 1.0F); + if(e instanceof EntityPlayer) { + if(!memed) { + memed = true; + worldObj.playSoundEffect(posX, posY, posZ, "hbm:alarm.soyuzed", 100, 1.0F); + } + + ((EntityPlayer)e).triggerAchievement(MainRegistry.achSoyuz); } } } diff --git a/com/hbm/handler/BulletConfigSyncingUtil.java b/com/hbm/handler/BulletConfigSyncingUtil.java index fefac2807..ed5cf14db 100644 --- a/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/com/hbm/handler/BulletConfigSyncingUtil.java @@ -112,6 +112,10 @@ public class BulletConfigSyncingUtil { public static int AE50_DU = i++; public static int AE50_STAR = i++; + public static int G4_NORMAL = i++; + public static int G4_SLUG = i++; + public static int G4_EXPLOSIVE = i++; + public static int SPECIAL_OSIPR = i++; public static int SPECIAL_GAUSS = i++; public static int SPECIAL_GAUSS_CHARGED = i++; @@ -220,6 +224,10 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(Gun50AEFactory.get50DUConfig(), AE50_DU)); configSet.add(new ConfigKeyPair(Gun50AEFactory.get50StarConfig(), AE50_STAR)); + configSet.add(new ConfigKeyPair(Gun4GaugeFactory.get4GaugeConfig(), G4_NORMAL)); + configSet.add(new ConfigKeyPair(Gun4GaugeFactory.get4GaugeSlugConfig(), G4_SLUG)); + configSet.add(new ConfigKeyPair(Gun4GaugeFactory.get4GaugeExplosiveConfig(), G4_EXPLOSIVE)); + configSet.add(new ConfigKeyPair(GunOSIPRFactory.getPulseConfig(), SPECIAL_OSIPR)); configSet.add(new ConfigKeyPair(GunGaussFactory.getGaussConfig(), SPECIAL_GAUSS)); configSet.add(new ConfigKeyPair(GunGaussFactory.getAltConfig(), SPECIAL_GAUSS_CHARGED)); diff --git a/com/hbm/handler/HazmatRegistry.java b/com/hbm/handler/HazmatRegistry.java index c1b99e149..74e619c90 100644 --- a/com/hbm/handler/HazmatRegistry.java +++ b/com/hbm/handler/HazmatRegistry.java @@ -1,17 +1,17 @@ package com.hbm.handler; -import java.util.ArrayList; -import java.util.List; +import java.util.HashMap; import com.hbm.potion.HbmPotion; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; public class HazmatRegistry { public static final HazmatRegistry instance = new HazmatRegistry(); - private static List entries = new ArrayList(); + private static HashMap entries = new HashMap(); private class HazmatEntry { @@ -26,18 +26,30 @@ public class HazmatRegistry { public void registerHazmat(Item item, float resistance) { - entries.add(new HazmatEntry(item, resistance)); + entries.put(item, resistance); } - public float getResistance(Item item) { + public float getResistance(ItemStack stack) { - for(HazmatEntry entry : entries) { - - if(entry.item == item) - return entry.resistance; - } + if(stack == null) + return 0; - return 0.0F; + float cladding = getCladding(stack); + + Float f = entries.get(stack.getItem()); + + if(f != null) + return f + cladding; + + return cladding; + } + + public float getCladding(ItemStack stack) { + + if(stack.hasTagCompound() && stack.stackTagCompound.getFloat("hfr_cladding") > 0) + return stack.stackTagCompound.getFloat("hfr_cladding"); + + return 0; } public float getResistance(EntityPlayer player) { @@ -45,9 +57,7 @@ public class HazmatRegistry { float res = 0.0F; for(int i = 0; i < 4; i++) { - if(player.inventory.armorInventory[i] != null) { - res += getResistance(player.inventory.armorInventory[i].getItem()); - } + res += getResistance(player.inventory.armorInventory[i]); } if(player.isPotionActive(HbmPotion.radx)) diff --git a/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 6690f26fb..f63db0489 100644 --- a/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -70,6 +70,7 @@ public class Gun12GaugeFactory { config.durability = 3000; config.reloadType = GunConfiguration.RELOAD_NONE; config.allowsInfinity = true; + config.hasSights = true; config.crosshair = Crosshair.L_CIRCLE; config.reloadSound = GunConfiguration.RSOUND_REVOLVER; config.firingSound = "hbm:weapon.shottyShoot"; diff --git a/com/hbm/handler/guncfg/Gun4GaugeFactory.java b/com/hbm/handler/guncfg/Gun4GaugeFactory.java new file mode 100644 index 000000000..576d34a41 --- /dev/null +++ b/com/hbm/handler/guncfg/Gun4GaugeFactory.java @@ -0,0 +1,95 @@ +package com.hbm.handler.guncfg; + +import java.util.ArrayList; + +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.handler.GunConfiguration; +import com.hbm.items.ModItems; +import com.hbm.render.util.RenderScreenOverlay.Crosshair; + +public class Gun4GaugeFactory { + + private static GunConfiguration getShotgunConfig() { + + GunConfiguration config = new GunConfiguration(); + + config.rateOfFire = 15; + config.roundsPerCycle = 1; + 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 = 4; + config.reloadType = GunConfiguration.RELOAD_SINGLE; + config.allowsInfinity = true; + config.hasSights = true; + config.crosshair = Crosshair.L_CIRCLE; + config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; + + return config; + } + + public static GunConfiguration getKS23Config() { + + GunConfiguration config = getShotgunConfig(); + + config.durability = 3000; + config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; + config.firingSound = "hbm:weapon.revolverShootAlt"; + config.firingPitch = 0.65F; + + config.name = "KS-23"; + config.manufacturer = "Tulsky Oruzheiny Zavod"; + + config.config = new ArrayList(); + config.config.add(BulletConfigSyncingUtil.G4_NORMAL); + config.config.add(BulletConfigSyncingUtil.G4_SLUG); + config.config.add(BulletConfigSyncingUtil.G4_EXPLOSIVE); + + return config; + } + + public static BulletConfiguration get4GaugeConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); + + bullet.ammo = ModItems.ammo_4gauge; + bullet.dmgMin = 3; + bullet.dmgMax = 6; + + return bullet; + } + + public static BulletConfiguration get4GaugeSlugConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = ModItems.ammo_4gauge_slug; + bullet.dmgMin = 15; + bullet.dmgMax = 20; + bullet.wear = 7; + bullet.style = BulletConfiguration.STYLE_NORMAL; + + return bullet; + } + + public static BulletConfiguration get4GaugeExplosiveConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); + + bullet.ammo = ModItems.ammo_4gauge_explosive; + bullet.velocity *= 2; + bullet.gravity *= 2; + bullet.dmgMin = 10; + bullet.dmgMax = 15; + bullet.wear = 25; + bullet.trail = 1; + + return bullet; + } +} diff --git a/com/hbm/inventory/FluidTank.java b/com/hbm/inventory/FluidTank.java index 76595f40e..96f73d439 100644 --- a/com/hbm/inventory/FluidTank.java +++ b/com/hbm/inventory/FluidTank.java @@ -232,13 +232,16 @@ public class FluidTank { //Called by TE to save fillstate public void writeToNBT(NBTTagCompound nbt, String s) { nbt.setInteger(s, fluid); - //nbt.setInteger(s + "_type", Arrays.asList(FluidType.values()).indexOf(type)); + nbt.setInteger(s + "_max", maxFluid); nbt.setString(s + "_type", type.getName()); } //Called by TE to load fillstate public void readFromNBT(NBTTagCompound nbt, String s) { fluid = nbt.getInteger(s); + int max = nbt.getInteger(s + "_max"); + if(max > 0) + maxFluid = nbt.getInteger(s + "_max"); type = FluidType.getEnum(nbt.getInteger(s + "_type")); if(type.name().equals(FluidType.NONE.name())) type = FluidType.getEnumFromName(nbt.getString(s + "_type")); diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index c3ca2cb40..e85a8b849 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -811,7 +811,7 @@ public class MachineRecipes { } if (item == ModItems.rod_plutonium) { - return new ItemStack(ModItems.rod_lead, 1); + return new ItemStack(ModItems.rod_waste, 1); } if (item == ModItems.rod_pu238) { @@ -823,7 +823,7 @@ public class MachineRecipes { } if (item == ModItems.rod_pu240) { - return new ItemStack(ModItems.rod_lead, 1); + return new ItemStack(ModItems.rod_waste, 1); } if (item == ModItems.rod_schrabidium) { @@ -855,7 +855,7 @@ public class MachineRecipes { } if (item == ModItems.rod_dual_plutonium) { - return new ItemStack(ModItems.rod_dual_lead, 1); + return new ItemStack(ModItems.rod_dual_waste, 1); } if (item == ModItems.rod_dual_pu238) { @@ -867,7 +867,7 @@ public class MachineRecipes { } if (item == ModItems.rod_dual_pu240) { - return new ItemStack(ModItems.rod_dual_lead, 1); + return new ItemStack(ModItems.rod_dual_waste, 1); } if (item == ModItems.rod_dual_schrabidium) { @@ -899,7 +899,7 @@ public class MachineRecipes { } if (item == ModItems.rod_quad_plutonium) { - return new ItemStack(ModItems.rod_quad_lead, 1); + return new ItemStack(ModItems.rod_quad_waste, 1); } if (item == ModItems.rod_quad_pu238) { @@ -911,7 +911,7 @@ public class MachineRecipes { } if (item == ModItems.rod_quad_pu240) { - return new ItemStack(ModItems.rod_quad_lead, 1); + return new ItemStack(ModItems.rod_quad_waste, 1); } if (item == ModItems.rod_quad_schrabidium) { diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index 250255706..0bb13237c 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -7,6 +7,7 @@ import com.hbm.handler.guncfg.Gun20GaugeFactory; import com.hbm.handler.guncfg.Gun22LRFactory; import com.hbm.handler.guncfg.Gun357MagnumFactory; import com.hbm.handler.guncfg.Gun44MagnumFactory; +import com.hbm.handler.guncfg.Gun4GaugeFactory; import com.hbm.handler.guncfg.Gun50AEFactory; import com.hbm.handler.guncfg.Gun50BMGFactory; import com.hbm.handler.guncfg.Gun5mmFactory; @@ -1053,6 +1054,9 @@ public class ModItems { public static Item ammo_20gauge_caustic; public static Item ammo_20gauge_shock; public static Item ammo_20gauge_wither; + public static Item ammo_4gauge; + public static Item ammo_4gauge_slug; + public static Item ammo_4gauge_explosive; public static Item ammo_357_desh; public static Item ammo_44; public static Item ammo_44_ap; @@ -1161,6 +1165,7 @@ public class ModItems { public static Item gun_uboinik; public static Item gun_uboinik_ammo; public static Item gun_supershotgun; + public static Item gun_ks23; public static Item gun_lever_action; public static Item gun_lever_action_dark; public static Item gun_lever_action_sonata; @@ -1543,6 +1548,11 @@ public class ModItems { public static Item crystal_horn; public static Item crystal_charred; + public static Item cladding_paint; + public static Item cladding_rubber; + public static Item cladding_lead; + public static Item cladding_desh; + public static Item hazmat_helmet; public static Item hazmat_plate; public static Item hazmat_legs; @@ -2341,6 +2351,10 @@ public class ModItems { jetpack_tank = new ItemSyringe().setUnlocalizedName("jetpack_tank").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":jetpack_tank"); gun_kit_1 = new ItemSyringe().setUnlocalizedName("gun_kit_1").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_1"); gun_kit_2 = new ItemSyringe().setUnlocalizedName("gun_kit_2").setMaxStackSize(16).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":gun_kit_2"); + cladding_paint = new ItemCladding(0.025F).setUnlocalizedName("cladding_paint").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_paint"); + cladding_rubber = new ItemCladding(0.075F).setUnlocalizedName("cladding_rubber").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_rubber"); + cladding_lead = new ItemCladding(0.2F).setUnlocalizedName("cladding_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_lead"); + cladding_desh = new ItemCladding(0.4F).setUnlocalizedName("cladding_desh").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cladding_desh"); can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty"); can_smart = new ItemEnergy().setUnlocalizedName("can_smart").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_smart"); @@ -2761,6 +2775,9 @@ public class ModItems { ammo_20gauge_caustic = new ItemAmmo().setUnlocalizedName("ammo_20gauge_caustic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_caustic"); ammo_20gauge_shock = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shock").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_shock"); ammo_20gauge_wither = new ItemAmmo().setUnlocalizedName("ammo_20gauge_wither").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_wither"); + ammo_4gauge = new ItemAmmo().setUnlocalizedName("ammo_4gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge"); + ammo_4gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_4gauge_slug").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_slug"); + ammo_4gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_4gauge_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_explosive"); ammo_5mm = new ItemAmmo().setUnlocalizedName("ammo_5mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm"); ammo_5mm_explosive = new ItemAmmo().setUnlocalizedName("ammo_5mm_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_explosive"); ammo_5mm_du = new ItemAmmo().setUnlocalizedName("ammo_5mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_du"); @@ -2824,26 +2841,26 @@ public class ModItems { gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite"); gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo"); - gun_revolver_iron = new ItemGunBase(Gun357MagnumFactory.getRevolverIronConfig()).setMaxDamage(100).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron"); + gun_revolver_iron = new ItemGunBase(Gun357MagnumFactory.getRevolverIronConfig()).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron"); gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo"); - gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold"); + gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold"); gun_revolver_lead_ammo = new Item().setUnlocalizedName("gun_revolver_lead_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead_ammo"); - gun_revolver_lead = new ItemGunBase(Gun357MagnumFactory.getRevolverLeadConfig()).setMaxDamage(250).setUnlocalizedName("gun_revolver_lead").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead"); + gun_revolver_lead = new ItemGunBase(Gun357MagnumFactory.getRevolverLeadConfig()).setUnlocalizedName("gun_revolver_lead").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead"); gun_revolver_schrabidium_ammo = new ItemRadioactive().setUnlocalizedName("gun_revolver_schrabidium_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium_ammo"); - gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setMaxDamage(100000).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium"); + gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium"); gun_revolver_cursed_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_cursed_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed_ammo"); - gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setMaxDamage(5000).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); + gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); gun_revolver_nightmare_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare_ammo"); - gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setMaxDamage(6).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare"); + gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare"); gun_revolver_nightmare2_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare2_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2_ammo"); - gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setMaxDamage(6).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2"); + gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2"); gun_revolver_pip_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_pip_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_revolver_pip_ammo"); - gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setMaxDamage(1000).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); + gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); 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_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip"); + gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack"); + gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); + gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).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"); gun_calamity = new ItemGunBase(Gun50BMGFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); @@ -2870,6 +2887,7 @@ public class ModItems { 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 ItemGunShotty(Gun12GaugeFactory.getShottyConfig()).setUnlocalizedName("gun_supershotgun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_uboinik"); + gun_ks23 = new ItemGunBase(Gun4GaugeFactory.getKS23Config()).setUnlocalizedName("gun_ks23").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"); @@ -4652,6 +4670,7 @@ public class ModItems { 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_ks23, gun_ks23.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()); @@ -4731,6 +4750,9 @@ public class ModItems { GameRegistry.registerItem(ammo_20gauge_caustic, ammo_20gauge_caustic.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_shock, ammo_20gauge_shock.getUnlocalizedName()); GameRegistry.registerItem(ammo_20gauge_wither, ammo_20gauge_wither.getUnlocalizedName()); + GameRegistry.registerItem(ammo_4gauge, ammo_4gauge.getUnlocalizedName()); + GameRegistry.registerItem(ammo_4gauge_slug, ammo_4gauge_slug.getUnlocalizedName()); + GameRegistry.registerItem(ammo_4gauge_explosive, ammo_4gauge_explosive.getUnlocalizedName()); GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_ap, ammo_44_ap.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_du, ammo_44_du.getUnlocalizedName()); @@ -5064,6 +5086,12 @@ public class ModItems { //Chaos GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); + + //Cladding + GameRegistry.registerItem(cladding_paint, cladding_paint.getUnlocalizedName()); + GameRegistry.registerItem(cladding_rubber, cladding_rubber.getUnlocalizedName()); + GameRegistry.registerItem(cladding_lead, cladding_lead.getUnlocalizedName()); + GameRegistry.registerItem(cladding_desh, cladding_desh.getUnlocalizedName()); //The Gadget GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); diff --git a/com/hbm/items/block/ItemBlockLore.java b/com/hbm/items/block/ItemBlockLore.java index ef702e1e6..05f5773b9 100644 --- a/com/hbm/items/block/ItemBlockLore.java +++ b/com/hbm/items/block/ItemBlockLore.java @@ -51,13 +51,19 @@ public class ItemBlockLore extends ItemBlock { if(this.field_150939_a == ModBlocks.meteor_battery) { list.add("Provides infinite charge to tesla coils"); } + + if(this.field_150939_a == ModBlocks.ore_oil) { + list.add("You weren't supposed to mine that."); + list.add("Come on, get a derrick you doofus."); + } } @Override public EnumRarity getRarity(ItemStack stack) { if(this.field_150939_a == ModBlocks.ore_schrabidium || this.field_150939_a == ModBlocks.ore_nether_schrabidium || - this.field_150939_a == ModBlocks.block_schrabidium || this.field_150939_a == ModBlocks.block_schrabidium_cluster) + this.field_150939_a == ModBlocks.block_schrabidium || this.field_150939_a == ModBlocks.block_schrabidium_cluster || + this.field_150939_a == ModBlocks.block_schrabidium_fuel || this.field_150939_a == ModBlocks.block_solinium) return EnumRarity.rare; if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster || diff --git a/com/hbm/items/gear/ArmorModel.java b/com/hbm/items/gear/ArmorModel.java index 7606970ba..005548d16 100644 --- a/com/hbm/items/gear/ArmorModel.java +++ b/com/hbm/items/gear/ArmorModel.java @@ -184,39 +184,16 @@ public class ArmorModel extends ItemArmor { return "hbm:textures/models/TestCape.png"; } if (stack.getItem() == ModItems.cape_radiation) { - return "hbm:textures/models/CapeRadiation.png"; + return "hbm:textures/models/capes/CapeRadiation.png"; } if (stack.getItem() == ModItems.cape_gasmask) { - return "hbm:textures/models/CapeGasMask.png"; + return "hbm:textures/models/capes/CapeGasMask.png"; } if (stack.getItem() == ModItems.cape_schrabidium) { - return "hbm:textures/models/CapeSchrabidium.png"; + return "hbm:textures/models/capes/CapeSchrabidium.png"; } - /*if (stack.getItem() == ModItems.cape_hbm && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.HbMinecraft)) { - if(MainRegistry.polaroidID == 11) - return "hbm:textures/models/CapeHbm.png"; - else - return "hbm:textures/models/CapeHbm2.png"; - } - if (stack.getItem() == ModItems.cape_dafnik && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.Dafnik)) { - return "hbm:textures/models/CapeDafnik.png"; - } - if (stack.getItem() == ModItems.cape_lpkukin && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.LPkukin)) { - return "hbm:textures/models/CapeShield.png"; - } - if (stack.getItem() == ModItems.cape_vertice && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.LordVertice)) { - return "hbm:textures/models/CapeVertice_2.png"; - } - if (stack.getItem() == ModItems.cape_codered_ && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.CodeRed_)) { - return "hbm:textures/models/CapeRed.png"; - } - if (stack.getItem() == ModItems.cape_ayy && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.dxmaster769)) { - return "hbm:textures/models/CapeAyy.png"; - } - if (stack.getItem() == ModItems.cape_nostalgia && entity instanceof EntityPlayer && ((EntityPlayer)entity).getUniqueID().toString().equals(Library.nostalgia)) { - return "hbm:textures/models/CapeNostalgia.png"; - }*/ - return "hbm:textures/models/CapeUnknown.png"; + + return "hbm:textures/models/capes/CapeUnknown.png"; } @SideOnly(Side.CLIENT) diff --git a/com/hbm/items/special/ItemCladding.java b/com/hbm/items/special/ItemCladding.java new file mode 100644 index 000000000..7b1d74615 --- /dev/null +++ b/com/hbm/items/special/ItemCladding.java @@ -0,0 +1,56 @@ +package com.hbm.items.special; + +import java.util.List; + +import com.hbm.handler.HazmatRegistry; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class ItemCladding extends Item { + + float rad; + + public ItemCladding(float rad) { + this.rad = rad; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!world.isRemote) { + + boolean used = false; + + for(ItemStack armor : player.inventory.armorInventory) { + + if(armor != null && HazmatRegistry.instance.getCladding(armor) == 0) { + + if(!armor.hasTagCompound()) + armor.stackTagCompound = new NBTTagCompound(); + + armor.stackTagCompound.setFloat("hfr_cladding", rad); + + used = true; + } + } + + if(used) { + world.playSoundAtEntity(player, "hbm:item.repair", 1.0F, 1.0F); + stack.stackSize--; + } + } + + return stack; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + list.add(EnumChatFormatting.YELLOW + "Adds " + rad + " rad-resistance to all armor pieces."); + } +} diff --git a/com/hbm/items/special/ItemRadioactive.java b/com/hbm/items/special/ItemRadioactive.java index 9cc352b0b..2659c6f1c 100644 --- a/com/hbm/items/special/ItemRadioactive.java +++ b/com/hbm/items/special/ItemRadioactive.java @@ -119,7 +119,8 @@ public class ItemRadioactive extends ItemCustomLore { this == ModItems.rod_uranium_fuel_depleted || this == ModItems.rod_plutonium_fuel_depleted || this == ModItems.rod_mox_fuel_depleted || - this == ModItems.ingot_thorium_fuel) { + this == ModItems.ingot_thorium_fuel || + this == ModItems.nuclear_waste_tiny) { //Library.applyRadiation(living, 45, 19, 30, 14); Library.applyRadData(living, 3.5F/20F * mod); } diff --git a/com/hbm/items/weapon/ItemAmmo.java b/com/hbm/items/weapon/ItemAmmo.java index d09ce32fe..bea3149ad 100644 --- a/com/hbm/items/weapon/ItemAmmo.java +++ b/com/hbm/items/weapon/ItemAmmo.java @@ -79,6 +79,21 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.BLUE + "+ Withering"); } + //23mm + if(this == ModItems.ammo_4gauge_slug) { + list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy"); + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.BLUE + "+ Decreased wear"); + list.add(EnumChatFormatting.RED + "- Single projectile"); + } + if(this == ModItems.ammo_4gauge_explosive) { + list.add(EnumChatFormatting.BLUE + "+ Explosive"); + list.add(EnumChatFormatting.BLUE + "+ Increased damage"); + list.add(EnumChatFormatting.YELLOW + "* It's a 40mm grenade that we squeezed to fit the barrel!"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + list.add(EnumChatFormatting.RED + "- Single projectile"); + } + //.357 MAGNUM if(this == ModItems.ammo_357_desh) { list.add(EnumChatFormatting.BLUE + "+ Fits every .357 model"); diff --git a/com/hbm/lib/Library.java b/com/hbm/lib/Library.java index 2cb1708a0..50540f8b5 100644 --- a/com/hbm/lib/Library.java +++ b/com/hbm/lib/Library.java @@ -260,6 +260,7 @@ public class Library { "schrabidium", "euphemium", "steel", + "cmb", "titanium", "alloy", "copper", diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 73bcdcbb2..51ec49f3b 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -223,6 +223,7 @@ public class ClientProxy extends ServerProxy 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_ks23, new ItemRenderWeaponObj()); //MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index a49ecabb2..0071eff35 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -112,7 +112,7 @@ public class MainRegistry //Armor Materials public static ArmorMaterial enumArmorMaterialEmerald = EnumHelper.addArmorMaterial("TEST", 2500, new int[] {3, 8, 6, 3}, 30); public static ArmorMaterial enumArmorMaterialSchrabidium = EnumHelper.addArmorMaterial("SCHRABIDIUM", 100, new int[] {3, 8, 6, 3}, 50); - public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 150000000, new int[] {3, 8, 6, 3}, 100); + public static ArmorMaterial enumArmorMaterialEuphemium = EnumHelper.addArmorMaterial("EUPHEMIUM", 15000000, new int[] {3, 8, 6, 3}, 100); public static ArmorMaterial enumArmorMaterialHazmat = EnumHelper.addArmorMaterial("HAZMAT", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialHazmat2 = EnumHelper.addArmorMaterial("HAZMAT2", 60, new int[] {2, 5, 4, 1}, 5); public static ArmorMaterial enumArmorMaterialHazmat3 = EnumHelper.addArmorMaterial("HAZMAT3", 60, new int[] {2, 5, 4, 1}, 5); @@ -206,6 +206,9 @@ public class MainRegistry public static Achievement achFOEQ; public static Achievement achFiend; public static Achievement achFiend2; + public static Achievement achSoyuz; + public static Achievement achRadPoison; + public static Achievement achRadDeath; public static Achievement bobMetalworks; public static Achievement bobAssembly; public static Achievement bobChemistry; @@ -1018,29 +1021,33 @@ public class MainRegistry achievementCraftBreedingReactor, achievementCraftCentrifuge }));*/ - achSacrifice = new Achievement("achievement.sacrifice", "sacrifice", 0, 0, ModItems.burnt_bark, null).initIndependentStat().setSpecial().registerStat(); - achImpossible = new Achievement("achievement.impossible", "impossible", 2, 0, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat(); - achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 0, 2, new ItemStack(ModItems.fluid_icon, 1, FluidType.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat(); - achFreytag = new Achievement("achievement.freytag", "freytag", 0, -2, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat(); - achSelenium = new Achievement("achievement.selenium", "selenium", -2, -2, ModItems.ingot_starmetal, null).initIndependentStat().setSpecial().registerStat(); - achPotato = new Achievement("achievement.potato", "potato", -2, 0, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat(); - achC44 = new Achievement("achievement.c44", "c44", 2, -2, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat(); - achC20_5 = new Achievement("achievement.c20_5", "c20_5", 4, -2, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat(); - achSpace = new Achievement("achievement.space", "space", 4, 0, ModItems.missile_carrier, null).initIndependentStat().setSpecial().registerStat(); - achFOEQ = new Achievement("achievement.FOEQ", "FOEQ", 4, 2, ModItems.sat_foeq, null).initIndependentStat().setSpecial().registerStat(); - achFiend = new Achievement("achievement.fiend", "fiend", 6, 0, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat(); - achFiend2 = new Achievement("achievement.fiend2", "fiend2", 6, 2, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat(); + achSacrifice = new Achievement("achievement.sacrifice", "sacrifice", 0, -2, ModItems.burnt_bark, null).initIndependentStat().setSpecial().registerStat(); + achImpossible = new Achievement("achievement.impossible", "impossible", 2, -2, ModItems.nothing, null).initIndependentStat().setSpecial().registerStat(); + achTOB = new Achievement("achievement.tasteofblood", "tasteofblood", 0, 0, new ItemStack(ModItems.fluid_icon, 1, FluidType.ASCHRAB.getID()), null).initIndependentStat().setSpecial().registerStat(); + achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat(); + achSelenium = new Achievement("achievement.selenium", "selenium", -2, -4, ModItems.ingot_starmetal, null).initIndependentStat().setSpecial().registerStat(); + achPotato = new Achievement("achievement.potato", "potato", -2, -2, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat(); + achC44 = new Achievement("achievement.c44", "c44", 2, -4, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat(); + achC20_5 = new Achievement("achievement.c20_5", "c20_5", 4, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat(); + achSpace = new Achievement("achievement.space", "space", 4, -2, ModItems.missile_carrier, null).initIndependentStat().setSpecial().registerStat(); + achFOEQ = new Achievement("achievement.FOEQ", "FOEQ", 4, 0, ModItems.sat_foeq, null).initIndependentStat().setSpecial().registerStat(); + achFiend = new Achievement("achievement.fiend", "fiend", 6, -2, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat(); + achFiend2 = new Achievement("achievement.fiend2", "fiend2", 6, 0, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat(); + achSoyuz = new Achievement("achievement.soyuz", "soyuz", -2, 0, Items.baked_potato, null).initIndependentStat().setSpecial().registerStat(); - bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 4, ModItems.bob_metalworks, null).initIndependentStat().registerStat(); - bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 4, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat(); - bobChemistry = new Achievement("achievement.chemistry", "chemistry", 2, 4, ModItems.bob_chemistry, bobAssembly).initIndependentStat().registerStat(); - bobOil = new Achievement("achievement.oil", "oil", 4, 4, ModItems.bob_oil, bobChemistry).initIndependentStat().registerStat(); - bobNuclear = new Achievement("achievement.nuclear", "nuclear", 6, 4, ModItems.bob_nuclear, bobOil).initIndependentStat().registerStat(); - bobHidden = new Achievement("achievement.hidden", "hidden", 8, 4, ModItems.gun_dampfmaschine, bobNuclear).initIndependentStat().registerStat(); + bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat(); + bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat(); + bobChemistry = new Achievement("achievement.chemistry", "chemistry", 2, 2, ModItems.bob_chemistry, bobAssembly).initIndependentStat().registerStat(); + bobOil = new Achievement("achievement.oil", "oil", 4, 2, ModItems.bob_oil, bobChemistry).initIndependentStat().registerStat(); + bobNuclear = new Achievement("achievement.nuclear", "nuclear", 6, 2, ModItems.bob_nuclear, bobOil).initIndependentStat().registerStat(); + bobHidden = new Achievement("achievement.hidden", "hidden", 8, 2, ModItems.gun_dampfmaschine, bobNuclear).initIndependentStat().registerStat(); - horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -2, 6, ModItems.sat_gerald, null).initIndependentStat().registerStat(); - horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", 0, 6, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat(); - horizonsBonus = new Achievement("achievement.horizonsBonus", "horizonsBonus", 2, 6, ModItems.sat_gerald, horizonsEnd).initIndependentStat().registerStat().setSpecial(); + horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -2, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat(); + horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", 0, 4, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat(); + horizonsBonus = new Achievement("achievement.horizonsBonus", "horizonsBonus", 2, 4, ModItems.sat_gerald, horizonsEnd).initIndependentStat().registerStat().setSpecial(); + + achRadPoison = new Achievement("achievement.radPoison", "radPoison", -2, 6, ModItems.geiger_counter, null).initIndependentStat().registerStat(); + achRadDeath = new Achievement("achievement.radDeath", "radDeath", 0, 6, Items.skull, achRadPoison).initIndependentStat().registerStat().setSpecial(); AchievementPage.registerAchievementPage(new AchievementPage("Nuclear Tech", new Achievement[]{ achSacrifice, @@ -1055,6 +1062,7 @@ public class MainRegistry achFOEQ, achFiend, achFiend2, + achSoyuz, bobMetalworks, bobAssembly, bobChemistry, @@ -1063,7 +1071,9 @@ public class MainRegistry bobHidden, horizonsStart, horizonsEnd, - horizonsBonus + horizonsBonus, + achRadPoison, + achRadDeath })); //MUST be initialized AFTER achievements!! @@ -1397,7 +1407,7 @@ public class MainRegistry FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_anti_schrabidium), new ItemStack(ModItems.cell_empty), FluidType.ASCHRAB, 1000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_sas3), new ItemStack(ModItems.cell_empty), FluidType.SAS3, 1000)); - FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_oil), new ItemStack(ModBlocks.ore_oil_empty), FluidType.OIL, 250)); + //FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_oil), new ItemStack(ModBlocks.ore_oil_empty), FluidType.OIL, 250)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 1), new ItemStack(ModItems.tank_waste, 1, 0), FluidType.WATZ, 8000)); FluidContainerRegistry.instance.registerContainer(new FluidContainer(new ItemStack(ModItems.tank_waste, 1, 2), new ItemStack(ModItems.tank_waste, 1, 1), FluidType.WATZ, 8000)); @@ -1449,6 +1459,11 @@ public class MainRegistry HazmatRegistry.instance.registerHazmat(ModItems.steel_legs, 0.06F); HazmatRegistry.instance.registerHazmat(ModItems.steel_boots, 0.02F); + HazmatRegistry.instance.registerHazmat(ModItems.titanium_helmet, 0.06F); + HazmatRegistry.instance.registerHazmat(ModItems.titanium_plate, 0.12F); + HazmatRegistry.instance.registerHazmat(ModItems.titanium_legs, 0.1F); + HazmatRegistry.instance.registerHazmat(ModItems.titanium_boots, 0.03F); + HazmatRegistry.instance.registerHazmat(Items.iron_helmet, 0.04F); HazmatRegistry.instance.registerHazmat(Items.iron_chestplate, 0.08F); HazmatRegistry.instance.registerHazmat(Items.iron_leggings, 0.06F); @@ -1459,11 +1474,21 @@ public class MainRegistry HazmatRegistry.instance.registerHazmat(Items.golden_leggings, 0.06F); HazmatRegistry.instance.registerHazmat(Items.golden_boots, 0.02F); + HazmatRegistry.instance.registerHazmat(Items.diamond_helmet, 0.05F); + HazmatRegistry.instance.registerHazmat(Items.diamond_chestplate, 0.09F); + HazmatRegistry.instance.registerHazmat(Items.diamond_leggings, 0.07F); + HazmatRegistry.instance.registerHazmat(Items.diamond_boots, 0.03F); + HazmatRegistry.instance.registerHazmat(ModItems.alloy_helmet, 0.08F); HazmatRegistry.instance.registerHazmat(ModItems.alloy_plate, 0.16F); HazmatRegistry.instance.registerHazmat(ModItems.alloy_legs, 0.12F); HazmatRegistry.instance.registerHazmat(ModItems.alloy_boots, 0.04F); + HazmatRegistry.instance.registerHazmat(ModItems.cmb_helmet, 1F); + HazmatRegistry.instance.registerHazmat(ModItems.cmb_plate, 2.2F); + HazmatRegistry.instance.registerHazmat(ModItems.cmb_legs, 1.6F); + HazmatRegistry.instance.registerHazmat(ModItems.cmb_boots, 0.5F); + HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_helmet, 1.2F); HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_plate, 2.4F); HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_legs, 1.8F); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 2e7f43eee..b829cb480 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -46,6 +46,7 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; +import net.minecraftforge.event.ServerChatEvent; import net.minecraftforge.event.entity.EntityEvent.EnteringChunk; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; @@ -55,18 +56,14 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; public class ModEventHandler { - public static boolean showMessage = true; public static int meteorShower = 0; static Random rand = new Random(); @SubscribeEvent public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { - if(showMessage) - { + + if(event.player.worldObj.isRemote) event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!")); - } - - showMessage = !showMessage; } @SubscribeEvent @@ -288,8 +285,13 @@ public class ModEventHandler entity.getEntityData().setFloat("hfr_radiation", 2500); if(eRad >= 1000) { - if(entity.attackEntityFrom(ModDamageSource.radiation, entity.getMaxHealth() * 100)) + if(entity.attackEntityFrom(ModDamageSource.radiation, entity.getMaxHealth() * 100)) { entity.getEntityData().setFloat("hfr_radiation", 0); + + if(entity instanceof EntityPlayer) + ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadDeath); + } + } else if(eRad >= 800) { if(event.world.rand.nextInt(300) == 0) entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 5 * 30, 0)); @@ -333,6 +335,9 @@ public class ModEventHandler entity.addPotionEffect(new PotionEffect(Potion.weakness.id, 5 * 20, 0)); if(event.world.rand.nextInt(700) == 0) entity.addPotionEffect(new PotionEffect(Potion.hunger.id, 3 * 20, 2)); + + if(entity instanceof EntityPlayer) + ((EntityPlayer)entity).triggerAchievement(MainRegistry.achRadPoison); } } } @@ -496,4 +501,51 @@ public class ModEventHandler return ""; } + + @SubscribeEvent + public void chatEvent(ServerChatEvent event) { + + EntityPlayerMP player = event.player; + String message = event.message; + + if(!player.getUniqueID().toString().equals(Library.Dr_Nostalgia) && message.startsWith("!")) { + + String m = message.substring(1, message.length()).toLowerCase(); + + if("dagoth".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_kit)); + } + + if("pow".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.grenade_kit)); + } + + if("ascend".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.jetpack_vector)); + for(int i = 0 ; i < 10; i++) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.jetpack_tank)); + } + + if("animalcrossing".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_supershotgun)); + for(int i = 0 ; i < 5; i++) + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_12gauge_du, 64)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_kit_2, 16)); + } + + if("tom".equals(m)) { + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.soyuz_launcher)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_satlinker)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_soyuz, 1, 2)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.sat_gerald)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_soyuz_lander)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.sat_coord)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.fluid_barrel_infinite)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_creative)); + } + + player.inventoryContainer.detectAndSendChanges(); + event.setCanceled(true); + } + } } diff --git a/com/hbm/main/ModEventHandlerClient.java b/com/hbm/main/ModEventHandlerClient.java index 7640c33e4..c0dab6ad1 100644 --- a/com/hbm/main/ModEventHandlerClient.java +++ b/com/hbm/main/ModEventHandlerClient.java @@ -1,10 +1,13 @@ package com.hbm.main; +import java.util.List; + import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.handler.HazmatRegistry; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; @@ -29,12 +32,15 @@ import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.MouseEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; +import net.minecraftforge.event.entity.player.ItemTooltipEvent; public class ModEventHandlerClient { @@ -193,4 +199,18 @@ public class ModEventHandlerClient { } } } + + @SubscribeEvent + public void drawTooltip(ItemTooltipEvent event) { + + ItemStack stack = event.itemStack; + List list = event.toolTip; + + float rad = HazmatRegistry.instance.getResistance(stack); + + rad = ((int)(rad * 100)) / 100F; + + if(rad > 0) + list.add(EnumChatFormatting.YELLOW + "Radiation resistance: " + rad); + } } diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index db946bf5c..ceeb6c02e 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -297,6 +297,7 @@ public class ResourceManager { 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")); + public static final IModelCustom ks23 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/ks23.obj")); ////Texture Items @@ -309,6 +310,7 @@ public class ResourceManager { 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"); public static final ResourceLocation deagle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/deagle.png"); + public static final ResourceLocation ks23_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ks23.png"); diff --git a/com/hbm/render/item/ItemRenderWeaponObj.java b/com/hbm/render/item/ItemRenderWeaponObj.java index 746566537..627456e88 100644 --- a/com/hbm/render/item/ItemRenderWeaponObj.java +++ b/com/hbm/render/item/ItemRenderWeaponObj.java @@ -20,6 +20,8 @@ public class ItemRenderWeaponObj implements IItemRenderer { case EQUIPPED_FIRST_PERSON: case ENTITY: return true; + case INVENTORY: + return item.getItem() == ModItems.gun_ks23 || item.getItem() == ModItems.gun_hk69; default: return false; } } @@ -46,6 +48,9 @@ public class ItemRenderWeaponObj implements IItemRenderer { if(item.getItem() == ModItems.gun_supershotgun) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.turbofan_blades_tex); + + if(item.getItem() == ModItems.gun_ks23) + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ks23_tex); switch(type) { @@ -88,6 +93,19 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glRotatef(-5F, 0.0F, 1.0F, 0.0F); } } + + if(item.getItem() == ModItems.gun_ks23) { + GL11.glTranslatef(1.0F, 0.85F, -0.25F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(1.25, 1.25, 1.25); + + if(player.isSneaking()) { + GL11.glRotatef(4.5F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.51F, 0.2F, 0.3F); + } + } break; @@ -113,6 +131,13 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glTranslatef(-0.5F, -0.3F, -0.5F); GL11.glScaled(1.5, 1.5, 1.5); } + + if(item.getItem() == ModItems.gun_ks23) { + GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); + GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.4F, 0.2F, 1.2F); + GL11.glScaled(1.25, 1.25, 1.25); + } break; @@ -133,6 +158,34 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glTranslatef(-1.0F, -0.2F, 0.0F); } + if(item.getItem() == ModItems.gun_ks23) { + GL11.glTranslatef(0.5F, 0.2F, 0.0F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.75, 0.75, 0.75); + } + + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + if(item.getItem() == ModItems.gun_hk69) { + GL11.glScaled(7.5, 7.5, -7.5); + GL11.glTranslatef(0.85F, 1.2F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); + } + + if(item.getItem() == ModItems.gun_ks23) { + GL11.glScaled(7.5, 7.5, -7.5); + GL11.glTranslatef(0.65F, 0.4F, 0.0F); + GL11.glRotatef(180F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); + } + break; default: break; @@ -155,6 +208,12 @@ public class ItemRenderWeaponObj implements IItemRenderer { ResourceManager.shotty.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); } + + if(item.getItem() == ModItems.gun_ks23) { + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.ks23.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/com/hbm/tileentity/machine/TileEntityBarrel.java b/com/hbm/tileentity/machine/TileEntityBarrel.java index e00c473f9..d0fc01480 100644 --- a/com/hbm/tileentity/machine/TileEntityBarrel.java +++ b/com/hbm/tileentity/machine/TileEntityBarrel.java @@ -47,6 +47,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc tank.loadTank(2, 3, slots); tank.unloadTank(4, 5, slots); tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + + System.out.println(tank.getMaxFill()); age++; if(age >= 20) diff --git a/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 63133eeb2..4b460506f 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -203,58 +203,60 @@ public class TileEntityMachineEPress extends TileEntity implements ISidedInvento { power = Library.chargeTEFromItems(slots, 0, power, maxPower); - if(power >= 100) { - - int speed = 25; - - if(slots[1] != null && slots[2] != null) { - ItemStack stack = MachineRecipes.getPressResult(slots[2].copy(), slots[1].copy()); - if(stack != null && - (slots[3] == null || - (slots[3].getItem() == stack.getItem() && - slots[3].stackSize + stack.stackSize <= slots[3].getMaxStackSize()))) { - - power -= 100; - - if(progress >= maxProgress) { + if(!worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { + if(power >= 100) { + + int speed = 25; + + if(slots[1] != null && slots[2] != null) { + ItemStack stack = MachineRecipes.getPressResult(slots[2].copy(), slots[1].copy()); + if(stack != null && + (slots[3] == null || + (slots[3].getItem() == stack.getItem() && + slots[3].stackSize + stack.stackSize <= slots[3].getMaxStackSize()))) { + power -= 100; + + if(progress >= maxProgress) { + + isRetracting = true; + + if(slots[3] == null) + slots[3] = stack.copy(); + else + slots[3].stackSize += stack.stackSize; + + slots[2].stackSize--; + if(slots[2].stackSize <= 0) + slots[2] = null; + + slots[1].setItemDamage(slots[1].getItemDamage() + 1); + if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) + slots[1] = null; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + } + + if(!isRetracting) + progress += speed; + + } else { isRetracting = true; - - if(slots[3] == null) - slots[3] = stack.copy(); - else - slots[3].stackSize += stack.stackSize; - - slots[2].stackSize--; - if(slots[2].stackSize <= 0) - slots[2] = null; - - slots[1].setItemDamage(slots[1].getItemDamage() + 1); - if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) - slots[1] = null; - - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); } - - if(!isRetracting) - progress += speed; - } else { isRetracting = true; } + + if(isRetracting) + progress -= speed; } else { isRetracting = true; } - - if(isRetracting) - progress -= speed; - } else { - isRetracting = true; - } - - if(progress <= 0) { - isRetracting = false; - progress = 0; + + if(progress <= 0) { + isRetracting = false; + progress = 0; + } } PacketDispatcher.wrapper.sendToAllAround(new TEPressPacket(xCoord, yCoord, zCoord, slots[2], progress), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); diff --git a/com/hbm/tileentity/machine/TileEntityMachinePress.java b/com/hbm/tileentity/machine/TileEntityMachinePress.java index df72ff06f..8085f4cad 100644 --- a/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -214,68 +214,70 @@ public class TileEntityMachinePress extends TileEntity implements ISidedInventor power--; } - if(slots[0] != null && this.burnTime == 0 && TileEntityFurnace.getItemBurnTime(slots[0]) > 0) { - this.maxBurn = this.burnTime = TileEntityFurnace.getItemBurnTime(slots[0]) / 8; - slots[0].stackSize--; - if(slots[0].stackSize <= 0) { - - if(slots[0].getItem().getContainerItem() != null) - slots[0] = new ItemStack(slots[0].getItem().getContainerItem()); - else - slots[0] = null; + if(!worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { + if(slots[0] != null && this.burnTime == 0 && TileEntityFurnace.getItemBurnTime(slots[0]) > 0) { + this.maxBurn = this.burnTime = TileEntityFurnace.getItemBurnTime(slots[0]) / 8; + slots[0].stackSize--; + if(slots[0].stackSize <= 0) { + + if(slots[0].getItem().getContainerItem() != null) + slots[0] = new ItemStack(slots[0].getItem().getContainerItem()); + else + slots[0] = null; + } } - } - - if(power >= maxPower / 3) { - - int speed = power * 25 / maxPower; - if(slots[1] != null && slots[2] != null) { - ItemStack stack = MachineRecipes.getPressResult(slots[2].copy(), slots[1].copy()); - if(stack != null && - (slots[3] == null || - (slots[3].getItem() == stack.getItem() && - slots[3].stackSize + stack.stackSize <= slots[3].getMaxStackSize()))) { - - if(progress >= maxProgress) { + if(power >= maxPower / 3) { + + int speed = power * 25 / maxPower; + + if(slots[1] != null && slots[2] != null) { + ItemStack stack = MachineRecipes.getPressResult(slots[2].copy(), slots[1].copy()); + if(stack != null && + (slots[3] == null || + (slots[3].getItem() == stack.getItem() && + slots[3].stackSize + stack.stackSize <= slots[3].getMaxStackSize()))) { + if(progress >= maxProgress) { + + isRetracting = true; + + if(slots[3] == null) + slots[3] = stack.copy(); + else + slots[3].stackSize += stack.stackSize; + + slots[2].stackSize--; + if(slots[2].stackSize <= 0) + slots[2] = null; + + slots[1].setItemDamage(slots[1].getItemDamage() + 1); + if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) + slots[1] = null; + + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + } + + if(!isRetracting) + progress += speed; + + } else { isRetracting = true; - - if(slots[3] == null) - slots[3] = stack.copy(); - else - slots[3].stackSize += stack.stackSize; - - slots[2].stackSize--; - if(slots[2].stackSize <= 0) - slots[2] = null; - - slots[1].setItemDamage(slots[1].getItemDamage() + 1); - if(slots[1].getItemDamage() >= slots[1].getMaxDamage()) - slots[1] = null; - - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); } - - if(!isRetracting) - progress += speed; - } else { isRetracting = true; } + + if(isRetracting) + progress -= speed; } else { isRetracting = true; } - - if(isRetracting) - progress -= speed; - } else { - isRetracting = true; - } - - if(progress <= 0) { - isRetracting = false; - progress = 0; + + if(progress <= 0) { + isRetracting = false; + progress = 0; + } } PacketDispatcher.wrapper.sendToAllAround(new TEPressPacket(xCoord, yCoord, zCoord, slots[2], progress), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); diff --git a/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 7cafc82ab..88aaa8575 100644 --- a/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -75,7 +75,7 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS countdown = maxCount; starting = false; } else if(countdown > 0) { - countdown-=30; //TODO: remove speedy countdown + countdown--; if(countdown % 100 == 0 && countdown > 0) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:alarm.hatch", 100F, 1.1F);