diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index 9766051de..d242e357e 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -135,7 +135,7 @@ chem.SF_BIOFUEL=Biodieselverfestigung chem.POLYMER=Polymersynthese chem.DEUTERIUM=Deuteriumextrahierung chem.STEAM=Wasser kochen -chem.YELLOWCAKE=Yellowcakeproduction +chem.YELLOWCAKE=Yellowcakeproduktion chem.UF6=Uranhexafluoritproduktion chem.PUF6=Plutoniumhexafluoritproduktion chem.BP_BIOGAS=Biogasherstellung @@ -147,6 +147,9 @@ chem.DYN_EUPH=Euphemium-Dynosynthese chem.DYN_DNT=Dineutronium-Dynosynthese chem.CORDITE=Korditherstellung chem.KEVLAR=Kevlarverbundherstellung +chem.SOLID_FUEL=Festbrennstoffherstellung +chem.ELECTROLYSIS=Kryo-Elektrolyse +chem.XENON=Lindeverfahren (Xenon) item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -454,7 +457,7 @@ container.reactorControl=Reaktorfernsteuerung tile.broadcaster_pc.name=Korrupter Sender -tile.radiobox.name=Rosenberg Ungeziefervernichter [WIP] +tile.radiobox.name=Rosenberg Ungeziefervernichter tile.radiorec.name=Kaputtes UKW Radio container.radiobox=UKW-Sender container.radiorec=UKW Radio @@ -552,6 +555,7 @@ item.bobmazon_materials.name=Bobmazon: Ressourcen item.bobmazon_machines.name=Bobmazon: Blöcke und Maschinen item.bobmazon_weapons.name=Bobmazon: Waffen und Sprengstoffe item.bobmazon_tools.name=Bobmazon: Werkzeuge +item.bobmazon_hidden.name=Versteckter Katalog item.fuse.name=Sicherung item.arc_electrode.name=Graphitelektrode @@ -767,6 +771,17 @@ tile.ore_nether_sulfur.name=Nether-Schwefelerz tile.ore_nether_fire.name=Feuererz tile.ore_nether_schrabidium.name=Nether-Schrabidiumerz +tile.ore_meteor_aluminium.name=Meteoriten-Aluminiumerz +tile.ore_meteor_copper.name=Meteoriten-Kupfererz +tile.ore_meteor_sulfur.name=Meteoriten-Schwefelerz +tile.ore_meteor_titanium.name=Meteoriten-Titanerz +tile.ore_meteor_tungsten.name=Meteoriten-Wolframerz +tile.ore_meteor_uranium.name=Meteoriten-Uranerz +tile.ore_meteor_thorium.name=Meteoriten-Thoriumerz +tile.ore_meteor_lead.name=Meteoriten-Bleierz +tile.ore_meteor_lithium.name=Meteoriten-Lithiumerz +tile.ore_meteor_starmetal.name=Sternenmetallerz + tile.ore_tikite.name=Trixit tile.ore_australium.name=Australisches Erz @@ -1454,6 +1469,7 @@ item.ammo_rocket_incendiary.name=84mm Rakete (Brand) item.ammo_rocket_shrapnel.name=84mm Rakete (Schrapnell) item.ammo_rocket_emp.name=84mm Rakete (Impuls) item.ammo_rocket_glare.name=84mm Rakete (Roter Schein) +item.ammo_rocket_toxic.name=84mm Rakete (Chemisch) item.ammo_rocket_sleek.name=84mm Rakete (IF-R&D) item.ammo_rocket_nuclear.name=84mm Rakete (Привет) item.ammo_rocket_rpc.name=84mm Raketengetriebene Kettensäge @@ -1461,6 +1477,9 @@ item.ammo_grenade.name=40mm Granate item.ammo_grenade_he.name=40mm Granate (HE) item.ammo_grenade_incendiary.name=40mm Granate (Brand) item.ammo_grenade_toxic.name=40mm Granate (Chemisch) +item.ammo_grenade_concussion.name=40mm Granate (Erschütterung) +item.ammo_grenade_finned.name=40mm Granate (Geflügelt) +item.ammo_grenade_nuclear.name=40mm Granate (Привет) item.ammo_grenade_sleek.name=40mm Granate (IF-F&E) item.folly_shell.name=Silberne Kanonenhülse @@ -1469,6 +1488,7 @@ item.folly_bullet_nuclear.name=12,8cm Atomares Geschoss item.folly_bullet_du.name=12,8cm DU-Geschoss item.cordite.name=Kordit +item.ballistite.name=Ballistit item.plate_kevlar.name=Kevlar-Keramik-Verbund item.weaponized_starblaster_cell.name=§cManipulierte Sternenblaster-Energiezelle§r @@ -1660,6 +1680,10 @@ item.missile_bhole.name=Schwarzes-Loch-Rakete item.missile_schrabidium.name=Schrabidiumrakete item.missile_emp.name=EMP-Rakete +item.seg_10.name=Größe 10 Bindeglied +item.seg_15.name=Größe 15 Bindeglied +item.seg_20.name=Größe 20 Bindeglied + item.mp_c_1.name=Stufe 1 Zielsucher-Schaltkreis item.mp_c_2.name=Stufe 2 Zielsucher-Schaltkreis item.mp_c_3.name=Stufe 3 Zielsucher-Schaltkreis @@ -1672,6 +1696,7 @@ item.mp_warhead_10_buster.name=Größe 10 Bunkerbrechender Sprengkopf item.mp_warhead_10_nuclear.name=Größe 10 Mikro-Atomsprengkopf "Kleine Krokette" item.mp_warhead_10_nuclear_large.name=Größe 10 Atomsprengkopf "Chernobyl Boris" item.mp_warhead_10_taint.name=Größe 10 Verseuchter Gefechtskopf +item.mp_warhead_10_cloud.name=Größe 10 Rosa Wolken-Gefechtskopf item.mp_warhead_15_he.name=Größe 15 HE-Sprengkopf item.mp_warhead_15_incendiary.name=Größe 15 Brandsprengkopf item.mp_warhead_15_nuclear.name=Größe 15 Atomsprengkopf "Tantchen Bertha" @@ -1754,6 +1779,8 @@ item.mp_fuselage_15_hydrogen_cathedral.name=Größe 15 Wasserstofftank item.mp_fuselage_15_balefire.name=Größe 15 BF-Kraftstofftank item.mp_fuselage_15_20_kerosene.name=Größe 15/20 Kerosintank +item.mp_fuselage_15_20_kerosene_magnusson.name=Größe 15/20 Kerosintank +item.mp_fuselage_15_20_solid.name=Größe 15/20 Festbrennstofftank item.mp_stability_10_flat.name=Größe 10 Flache Flügel item.mp_stability_10_cruise.name=Größe 10 Cruise-Flügel @@ -1776,6 +1803,12 @@ item.mp_thruster_15_balefire_short.name=Größe 15 BF-Triebwerk mit nuklearem Vo item.mp_thruster_15_balefire.name=Größe 15 BF-Triebwerk mit nuklearem Vorwärmer item.mp_thruster_15_balefire_large.name=Größe 15 BF-Triebwerk mit nuklearem Vorwärmer (Schwerlastdüse) item.mp_thruster_15_balefire_large_rad.name=Größe 15 BF-Triebwerk mit nuklearem Vorwärmer (Schwerlastdüse) +item.mp_thruster_20_kerosene.name=Größe 20 Flüssigtriebwerk +item.mp_thruster_20_kerosene_dual.name=Größe 20 Flüssigtriebwerk-Zwilling +item.mp_thruster_20_kerosene_triple.name=Größe 20 Flüssigtriebwerk-Drilling +item.mp_thruster_20_solid.name=Größe 20 Festbrennstofftriebwerk +item.mp_thruster_20_solid_multi.name=Größe 20 30-Faches Festbrennstofftriebwerk +item.mp_thruster_20_solid_multier.name=Größe 20 47-Faches Festbrennstofftriebwerk item.missile_skin_camo.name=Raketenskin: Camouflage item.missile_skin_desert.name=Raketenskin: Wüstencamouflage @@ -2190,6 +2223,10 @@ item.book_secret.name=3-596-50802-9 item.book_of_.name=Das Buch der item.burnt_bark.name=Verbrannte Rinde +item.loot_10.name=Größe 10 Raketen-Lootbox +item.loot_15.name=Größe 15 Raketen-Lootbox +item.loot_misc.name=Generelle Raketen-Lootbox + item.crystal_horn.name=Kristallhorn item.crystal_charred.name=Verkohlter Kristall item.ingot_lanthanium.name=Semistabiler Lanthanbarren diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index aaa7f5f42..26ae8f1fe 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -147,6 +147,9 @@ chem.DYN_EUPH=Euphemium Dynosynthesis chem.DYN_DNT=Dineutronium Dynosynthesis chem.CORDITE=Cordite Production chem.KEVLAR=Kevlar Compound Production +chem.SOLID_FUEL=Solid Rocket Fuel Production +chem.ELECTROLYSIS=Cryo-Electrolysis +chem.XENON=Linde Xenon Cycle item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -454,7 +457,7 @@ container.reactorControl=Reactor Remote Control Block tile.broadcaster_pc.name=Corrupted Broadcaster -tile.radiobox.name=Rosenberg Pest Control Box [WIP] +tile.radiobox.name=Rosenberg Pest Control Box tile.radiorec.name=Broken FM Radio container.radiobox=FM Transmitter container.radiorec=FM Radio @@ -552,6 +555,7 @@ item.bobmazon_materials.name=Bobmazon: Materials item.bobmazon_machines.name=Bobmazon: Blocks and Machines item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives item.bobmazon_tools.name=Bobmazon: Tools +item.bobmazon_hidden.name=Hidden Catalog item.fuse.name=Fuse item.arc_electrode.name=Graphite Electrode @@ -767,6 +771,17 @@ tile.ore_nether_sulfur.name=Nether Sulfur Ore tile.ore_nether_fire.name=Fire Ore tile.ore_nether_schrabidium.name=Nether Schrabidium Ore +tile.ore_meteor_aluminium.name=Meteor Aluminium Ore +tile.ore_meteor_copper.name=Meteor Copper Ore +tile.ore_meteor_sulfur.name=Meteor Sulfur Ore +tile.ore_meteor_titanium.name=Meteor Titanium Ore +tile.ore_meteor_tungsten.name=Meteor Tungsten Ore +tile.ore_meteor_uranium.name=Meteor Uranium Ore +tile.ore_meteor_thorium.name=Meteor Thorium Ore +tile.ore_meteor_lead.name=Meteor Lead Ore +tile.ore_meteor_lithium.name=Meteor Lithium Ore +tile.ore_meteor_starmetal.name=Starmetal Ore + tile.ore_tikite.name=Trixite tile.ore_australium.name=Australian Ore @@ -1454,6 +1469,7 @@ item.ammo_rocket_incendiary.name=84mm Rocket (Incendiary) item.ammo_rocket_shrapnel.name=84mm Rocket (Shrapnel) item.ammo_rocket_emp.name=84mm Rocket (Pulse) item.ammo_rocket_glare.name=84mm Rocket (Red Glare) +item.ammo_rocket_toxic.name=84mm Rocket (Chemical) item.ammo_rocket_sleek.name=84mm Rocket (IF-R&D) item.ammo_rocket_nuclear.name=84mm Rocket (Привет) item.ammo_rocket_rpc.name=84mm Rocket Propelled Chainsaw @@ -1461,6 +1477,9 @@ item.ammo_grenade.name=40mm Grenade item.ammo_grenade_he.name=40mm Grenade (HE) item.ammo_grenade_incendiary.name=40mm Grenade (Incendiary) item.ammo_grenade_toxic.name=40mm Grenade (Chemical) +item.ammo_grenade_concussion.name=40mm Grenade (Concussion) +item.ammo_grenade_finned.name=40mm Grenade (Finned) +item.ammo_grenade_nuclear.name=40mm Grenade (Привет) item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D) item.folly_shell.name=Silver Bullet Casing @@ -1469,6 +1488,7 @@ item.folly_bullet_nuclear.name=12.8cm Nuclear Shell item.folly_bullet_du.name=12.8cm DU-Shell item.cordite.name=Cordite +item.ballistite.name=Ballistite item.plate_kevlar.name=Kevlar-Ceramic Compound item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r @@ -1660,6 +1680,10 @@ item.missile_bhole.name=Black Hole Missile item.missile_schrabidium.name=Schrabidium Missile item.missile_emp.name=EMP Missile +item.seg_10.name=Size 10 Connector +item.seg_15.name=Size 15 Connector +item.seg_20.name=Size 20 Connector + item.mp_c_1.name=Tier 1 Missile Targeting Circuit item.mp_c_2.name=Tier 2 Missile Targeting Circuit item.mp_c_3.name=Tier 3 Missile Targeting Circuit @@ -1671,6 +1695,7 @@ item.mp_warhead_10_incendiary.name=Size 10 Incendiary Warhead item.mp_warhead_10_buster.name=Size 10 Bunker Buster Warhead item.mp_warhead_10_nuclear.name=Size 10 Micro Nuclear Warhead item.mp_warhead_10_taint.name=Size 10 Tainted Warhead +item.mp_warhead_10_cloud.name=Size 10 Pink Cloud Warhead item.mp_warhead_15_he.name=Size 15 HE Warhead item.mp_warhead_15_incendiary.name=Size 15 Incendiary Warhead item.mp_warhead_10_nuclear_large.name=Size 10 Nuclear Warhead @@ -1754,6 +1779,8 @@ item.mp_fuselage_15_hydrogen_cathedral.name=Size 15 Hydrogen Fuselage item.mp_fuselage_15_balefire.name=Size 15 BF Fuselage item.mp_fuselage_15_20_kerosene.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_kerosene_magnusson.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_solid.name=Size 15/20 Solid Fuel Fuselage item.mp_stability_10_flat.name=Size 10 Flat Fins item.mp_stability_10_cruise.name=Size 10 Cruise Fins @@ -1776,6 +1803,12 @@ item.mp_thruster_15_balefire_short.name=Size 15 BF Thruster with Nuclear Preheat item.mp_thruster_15_balefire.name=Size 15 BF Thruster with Nuclear Preheater item.mp_thruster_15_balefire_large.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) item.mp_thruster_15_balefire_large_rad.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) +item.mp_thruster_20_kerosene.name=Size 20 Liquid Fuel Thruster +item.mp_thruster_20_kerosene_dual.name=Size 20 Liquid Fuel Twin Thrusters +item.mp_thruster_20_kerosene_triple.name=Size 20 Liquid Fuel Triple Thrusters +item.mp_thruster_20_solid.name=Size 20 Solid Fuel Thruster +item.mp_thruster_20_solid_multi.name=Size 20 Solid Fuel Hexdecuple 30-Fold Thrusters +item.mp_thruster_20_solid_multier.name=Size 20 Solid Fuel Hexdecuple 47-Fold Thrusters item.missile_skin_camo.name=Missile Skin: Camo item.missile_skin_desert.name=Missile Skin: Desert Camo @@ -2190,6 +2223,10 @@ item.book_secret.name=3-596-50802-9 item.book_of_.name=The Book of item.burnt_bark.name=Burnt Bark +item.loot_10.name=Size 10 Missile Loot Crate +item.loot_15.name=Size 15 Missile Loot Crate +item.loot_misc.name=General Missile Loot Crate + item.crystal_horn.name=Crystal Horn item.crystal_charred.name=Charred Crystal item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot diff --git a/assets/hbm/models/beam.obj b/assets/hbm/models/beam.obj new file mode 100644 index 000000000..c45657100 --- /dev/null +++ b/assets/hbm/models/beam.obj @@ -0,0 +1,37 @@ +# Blender v2.76 (sub 0) OBJ File: 'beam.blend' +# www.blender.org +o Cube_Cube.001 +v -0.062500 0.000000 0.062500 +v -0.062500 1.000000 0.062500 +v -0.062500 0.000000 -0.062500 +v -0.062500 1.000000 -0.062500 +v 0.062500 0.000000 0.062500 +v 0.062500 1.000000 0.062500 +v 0.062500 0.000000 -0.062500 +v 0.062500 1.000000 -0.062500 +vt 0.000035 0.999965 +vt 0.000035 0.000035 +vt 0.125027 0.000035 +vt 0.250000 0.000000 +vt 0.250000 0.125000 +vt 0.125000 0.125000 +vt 0.125027 0.999965 +vn -1.000000 0.000000 0.000000 +vn 0.000000 0.000000 -1.000000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 0.000000 1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +s off +f 4/1/1 3/2/1 1/3/1 +f 8/1/2 7/2/2 3/3/2 +f 6/1/3 5/2/3 7/3/3 +f 2/1/4 1/2/4 5/3/4 +f 3/4/5 7/5/5 5/6/5 +f 8/4/6 4/5/6 2/6/6 +f 2/7/1 4/1/1 1/3/1 +f 4/7/2 8/1/2 3/3/2 +f 8/7/3 6/1/3 7/3/3 +f 6/7/4 2/1/4 5/3/4 +f 1/3/5 3/4/5 5/6/5 +f 6/3/6 8/4/6 2/6/6 diff --git a/assets/hbm/models/missile_parts/mp_t_20_solid_multi.obj b/assets/hbm/models/missile_parts/mp_t_20_solid_multi.obj new file mode 100644 index 000000000..36bb71ea5 --- /dev/null +++ b/assets/hbm/models/missile_parts/mp_t_20_solid_multi.obj @@ -0,0 +1,2263 @@ +# Blender v2.76 (sub 0) OBJ File: 'mp_t_20_solid_multi.blend' +# www.blender.org +o Cylinder.001 +v 0.000000 0.000000 -0.475000 +v -0.000000 0.250000 -0.456250 +v 0.088388 0.000000 -0.438388 +v 0.075130 0.250000 -0.425130 +v 0.125000 0.000000 -0.350000 +v 0.106250 0.250000 -0.350000 +v 0.088388 0.000000 -0.261612 +v 0.075130 0.250000 -0.274870 +v -0.000000 0.000000 -0.225000 +v -0.000000 0.250000 -0.243750 +v -0.088388 0.000000 -0.261612 +v -0.075130 0.250000 -0.274870 +v -0.125000 0.000000 -0.350000 +v -0.106250 0.250000 -0.350000 +v -0.088388 0.000000 -0.438388 +v -0.075130 0.250000 -0.425130 +v -0.000000 0.250000 -0.350000 +v 0.000000 0.062500 -0.950000 +v -0.000000 0.250000 -0.935000 +v 0.070711 0.062500 -0.920711 +v 0.060104 0.250000 -0.910104 +v 0.100000 0.062500 -0.850000 +v 0.085000 0.250000 -0.850000 +v 0.070711 0.062500 -0.779289 +v 0.060104 0.250000 -0.789896 +v -0.000000 0.062500 -0.750000 +v -0.000000 0.250000 -0.765000 +v -0.070711 0.062500 -0.779289 +v -0.060104 0.250000 -0.789896 +v -0.100000 0.062500 -0.850000 +v -0.085000 0.250000 -0.850000 +v -0.070711 0.062500 -0.920711 +v -0.060104 0.250000 -0.910104 +v -0.000000 0.250000 -0.850000 +v 0.000000 0.250000 -1.000000 +v 0.000000 0.500000 -1.000000 +v 0.500000 0.250000 -0.866025 +v 0.500000 0.500000 -0.866025 +v 0.866025 0.250000 -0.500000 +v 0.866025 0.500000 -0.500000 +v 1.000000 0.250000 0.000000 +v 1.000000 0.500000 0.000000 +v 0.866025 0.250000 0.500000 +v 0.866025 0.500000 0.500000 +v 0.500000 0.250000 0.866025 +v 0.500000 0.500000 0.866025 +v 0.000000 0.250000 1.000000 +v 0.000000 0.500000 1.000000 +v -0.500000 0.250000 0.866026 +v -0.500000 0.500000 0.866026 +v -0.866025 0.250000 0.500000 +v -0.866025 0.500000 0.500000 +v -1.000000 0.250000 0.000000 +v -1.000000 0.500000 0.000000 +v -0.866026 0.250000 -0.499999 +v -0.866026 0.500000 -0.499999 +v -0.500001 0.250000 -0.866025 +v -0.500001 0.500000 -0.866025 +v -0.000000 0.000000 0.475000 +v -0.000000 0.250000 0.456250 +v -0.088388 0.000000 0.438388 +v -0.075130 0.250000 0.425130 +v -0.125000 0.000000 0.350000 +v -0.106250 0.250000 0.350000 +v -0.088388 0.000000 0.261612 +v -0.075130 0.250000 0.274870 +v -0.000000 0.000000 0.225000 +v -0.000000 0.250000 0.243750 +v 0.088388 0.000000 0.261612 +v 0.075130 0.250000 0.274870 +v 0.125000 0.000000 0.350000 +v 0.106250 0.250000 0.350000 +v 0.088388 0.000000 0.438388 +v 0.075130 0.250000 0.425130 +v -0.000000 0.250000 0.350000 +v -0.411362 0.000000 -0.237500 +v -0.395124 0.250000 -0.228125 +v -0.335461 0.000000 -0.295741 +v -0.330608 0.250000 -0.277630 +v -0.240609 0.000000 -0.283253 +v -0.249984 0.250000 -0.267015 +v -0.182368 0.000000 -0.207352 +v -0.200479 0.250000 -0.202500 +v -0.194856 0.000000 -0.112500 +v -0.211094 0.250000 -0.121875 +v -0.270757 0.000000 -0.054259 +v -0.275609 0.250000 -0.072370 +v -0.365609 0.000000 -0.066747 +v -0.356234 0.250000 -0.082985 +v -0.423850 0.000000 -0.142648 +v -0.405739 0.250000 -0.147500 +v -0.303109 0.250000 -0.175000 +v 0.411362 0.000000 0.237500 +v 0.395124 0.250000 0.228125 +v 0.335461 0.000000 0.295741 +v 0.330608 0.250000 0.277630 +v 0.240609 0.000000 0.283253 +v 0.249984 0.250000 0.267015 +v 0.182368 0.000000 0.207352 +v 0.200479 0.250000 0.202500 +v 0.194856 0.000000 0.112500 +v 0.211094 0.250000 0.121875 +v 0.270757 0.000000 0.054259 +v 0.275609 0.250000 0.072370 +v 0.365609 0.000000 0.066747 +v 0.356234 0.250000 0.082985 +v 0.423850 0.000000 0.142648 +v 0.405738 0.250000 0.147500 +v 0.303109 0.250000 0.175000 +v -0.411362 0.000000 0.237500 +v -0.395124 0.250000 0.228125 +v -0.423850 0.000000 0.142648 +v -0.405739 0.250000 0.147501 +v -0.365609 0.000000 0.066747 +v -0.356234 0.250000 0.082985 +v -0.270757 0.000000 0.054259 +v -0.275609 0.250000 0.072370 +v -0.194856 0.000000 0.112500 +v -0.211094 0.250000 0.121875 +v -0.182368 0.000000 0.207352 +v -0.200479 0.250000 0.202500 +v -0.240609 0.000000 0.283253 +v -0.249984 0.250000 0.267015 +v -0.335461 0.000000 0.295741 +v -0.330608 0.250000 0.277630 +v -0.303109 0.250000 0.175000 +v 0.411362 0.000000 -0.237500 +v 0.395124 0.250000 -0.228125 +v 0.423850 0.000000 -0.142648 +v 0.405739 0.250000 -0.147501 +v 0.365609 0.000000 -0.066747 +v 0.356234 0.250000 -0.082985 +v 0.270757 0.000000 -0.054259 +v 0.275609 0.250000 -0.072370 +v 0.194856 0.000000 -0.112500 +v 0.211094 0.250000 -0.121875 +v 0.182368 0.000000 -0.207352 +v 0.200479 0.250000 -0.202500 +v 0.240609 0.000000 -0.283253 +v 0.249984 0.250000 -0.267015 +v 0.335461 0.000000 -0.295741 +v 0.330608 0.250000 -0.277630 +v 0.303109 0.250000 -0.175000 +v -0.000000 0.062500 0.950000 +v -0.000000 0.250000 0.935000 +v -0.070711 0.062500 0.920711 +v -0.060104 0.250000 0.910104 +v -0.100000 0.062500 0.850000 +v -0.085000 0.250000 0.850000 +v -0.070711 0.062500 0.779289 +v -0.060104 0.250000 0.789896 +v -0.000000 0.062500 0.750000 +v -0.000000 0.250000 0.765000 +v 0.070711 0.062500 0.779289 +v 0.060104 0.250000 0.789896 +v 0.100000 0.062500 0.850000 +v 0.085000 0.250000 0.850000 +v 0.070711 0.062500 0.920711 +v 0.060104 0.250000 0.910104 +v -0.000000 0.250000 0.850000 +v -0.245878 0.062500 -0.917630 +v -0.241996 0.250000 -0.903141 +v -0.169996 0.062500 -0.907639 +v -0.177496 0.250000 -0.894649 +v -0.123404 0.062500 -0.846919 +v -0.137892 0.250000 -0.843037 +v -0.133394 0.062500 -0.771037 +v -0.146384 0.250000 -0.778537 +v -0.194114 0.062500 -0.724444 +v -0.197997 0.250000 -0.738933 +v -0.269996 0.062500 -0.734434 +v -0.262496 0.250000 -0.747425 +v -0.316589 0.062500 -0.795155 +v -0.302100 0.250000 -0.799037 +v -0.306599 0.062500 -0.871037 +v -0.293608 0.250000 -0.863537 +v -0.219996 0.250000 -0.821037 +v 0.245878 0.062500 0.917630 +v 0.241996 0.250000 0.903141 +v 0.169996 0.062500 0.907640 +v 0.177496 0.250000 0.894649 +v 0.123403 0.062500 0.846919 +v 0.137892 0.250000 0.843037 +v 0.133394 0.062500 0.771037 +v 0.146384 0.250000 0.778537 +v 0.194114 0.062500 0.724444 +v 0.197996 0.250000 0.738933 +v 0.269996 0.062500 0.734434 +v 0.262496 0.250000 0.747425 +v 0.316589 0.062500 0.795155 +v 0.302100 0.250000 0.799037 +v 0.306599 0.062500 0.871037 +v 0.293608 0.250000 0.863537 +v 0.219996 0.250000 0.821037 +v -0.475000 0.062500 -0.822724 +v -0.467500 0.250000 -0.809734 +v -0.399118 0.062500 -0.832714 +v -0.403000 0.250000 -0.818225 +v -0.338397 0.062500 -0.786122 +v -0.351388 0.250000 -0.778622 +v -0.328407 0.062500 -0.710240 +v -0.342896 0.250000 -0.714122 +v -0.375000 0.062500 -0.649519 +v -0.382500 0.250000 -0.662509 +v -0.450882 0.062500 -0.639529 +v -0.447000 0.250000 -0.654018 +v -0.511602 0.062500 -0.686122 +v -0.498612 0.250000 -0.693622 +v -0.521592 0.062500 -0.762003 +v -0.507104 0.250000 -0.758121 +v -0.425000 0.250000 -0.736122 +v 0.475000 0.062500 0.822724 +v 0.467500 0.250000 0.809734 +v 0.399118 0.062500 0.832714 +v 0.403000 0.250000 0.818225 +v 0.338397 0.062500 0.786122 +v 0.351388 0.250000 0.778622 +v 0.328407 0.062500 0.710240 +v 0.342896 0.250000 0.714122 +v 0.375000 0.062500 0.649519 +v 0.382500 0.250000 0.662509 +v 0.450882 0.062500 0.639529 +v 0.447000 0.250000 0.654018 +v 0.511602 0.062500 0.686122 +v 0.498612 0.250000 0.693622 +v 0.521592 0.062500 0.762004 +v 0.507104 0.250000 0.758121 +v 0.425000 0.250000 0.736122 +v -0.671751 0.062500 -0.671751 +v -0.661145 0.250000 -0.661145 +v -0.601041 0.062500 -0.701041 +v -0.601041 0.250000 -0.686041 +v -0.530330 0.062500 -0.671751 +v -0.540937 0.250000 -0.661145 +v -0.501041 0.062500 -0.601041 +v -0.516041 0.250000 -0.601041 +v -0.530330 0.062500 -0.530330 +v -0.540937 0.250000 -0.540937 +v -0.601041 0.062500 -0.501041 +v -0.601041 0.250000 -0.516041 +v -0.671751 0.062500 -0.530330 +v -0.661145 0.250000 -0.540937 +v -0.701041 0.062500 -0.601041 +v -0.686041 0.250000 -0.601041 +v -0.601041 0.250000 -0.601041 +v 0.671751 0.062500 0.671752 +v 0.661145 0.250000 0.661145 +v 0.601041 0.062500 0.701041 +v 0.601041 0.250000 0.686041 +v 0.530330 0.062500 0.671752 +v 0.540936 0.250000 0.661145 +v 0.501041 0.062500 0.601041 +v 0.516041 0.250000 0.601041 +v 0.530330 0.062500 0.530330 +v 0.540936 0.250000 0.540937 +v 0.601041 0.062500 0.501041 +v 0.601041 0.250000 0.516041 +v 0.671751 0.062500 0.530330 +v 0.661145 0.250000 0.540937 +v 0.701041 0.062500 0.601041 +v 0.686041 0.250000 0.601041 +v 0.601041 0.250000 0.601041 +v -0.822724 0.062500 -0.475000 +v -0.809734 0.250000 -0.467500 +v -0.762003 0.062500 -0.521593 +v -0.758121 0.250000 -0.507104 +v -0.686121 0.062500 -0.511603 +v -0.693621 0.250000 -0.498612 +v -0.639529 0.062500 -0.450882 +v -0.654018 0.250000 -0.447000 +v -0.649519 0.062500 -0.375000 +v -0.662509 0.250000 -0.382500 +v -0.710240 0.062500 -0.328408 +v -0.714122 0.250000 -0.342896 +v -0.786121 0.062500 -0.338398 +v -0.778621 0.250000 -0.351388 +v -0.832714 0.062500 -0.399118 +v -0.818225 0.250000 -0.403001 +v -0.736121 0.250000 -0.425000 +v 0.822724 0.062500 0.475000 +v 0.809734 0.250000 0.467500 +v 0.762003 0.062500 0.521593 +v 0.758121 0.250000 0.507104 +v 0.686121 0.062500 0.511603 +v 0.693621 0.250000 0.498612 +v 0.639529 0.062500 0.450882 +v 0.654018 0.250000 0.447000 +v 0.649519 0.062500 0.375000 +v 0.662509 0.250000 0.382500 +v 0.710240 0.062500 0.328408 +v 0.714122 0.250000 0.342897 +v 0.786121 0.062500 0.338398 +v 0.778621 0.250000 0.351388 +v 0.832714 0.062500 0.399118 +v 0.818225 0.250000 0.403001 +v 0.736121 0.250000 0.425000 +v -0.917629 0.062500 -0.245878 +v -0.903141 0.250000 -0.241996 +v -0.871037 0.062500 -0.306599 +v -0.863537 0.250000 -0.293609 +v -0.795155 0.062500 -0.316589 +v -0.799037 0.250000 -0.302100 +v -0.734434 0.062500 -0.269996 +v -0.747425 0.250000 -0.262496 +v -0.724444 0.062500 -0.194114 +v -0.738933 0.250000 -0.197997 +v -0.771037 0.062500 -0.133394 +v -0.778537 0.250000 -0.146384 +v -0.846919 0.062500 -0.123404 +v -0.843036 0.250000 -0.137893 +v -0.907639 0.062500 -0.169996 +v -0.894649 0.250000 -0.177496 +v -0.821037 0.250000 -0.219996 +v 0.917629 0.062500 0.245878 +v 0.903140 0.250000 0.241996 +v 0.871037 0.062500 0.306599 +v 0.863537 0.250000 0.293609 +v 0.795155 0.062500 0.316589 +v 0.799037 0.250000 0.302100 +v 0.734434 0.062500 0.269996 +v 0.747425 0.250000 0.262496 +v 0.724444 0.062500 0.194114 +v 0.738933 0.250000 0.197997 +v 0.771037 0.062500 0.133394 +v 0.778537 0.250000 0.146384 +v 0.846919 0.062500 0.123404 +v 0.843036 0.250000 0.137893 +v 0.907639 0.062500 0.169996 +v 0.894649 0.250000 0.177497 +v 0.821037 0.250000 0.219996 +v -0.950000 0.062500 -0.000000 +v -0.935000 0.250000 -0.000000 +v -0.920710 0.062500 -0.070711 +v -0.910104 0.250000 -0.060104 +v -0.850000 0.062500 -0.100000 +v -0.850000 0.250000 -0.085000 +v -0.779289 0.062500 -0.070711 +v -0.789896 0.250000 -0.060104 +v -0.750000 0.062500 -0.000000 +v -0.765000 0.250000 -0.000000 +v -0.779289 0.062500 0.070710 +v -0.789896 0.250000 0.060104 +v -0.850000 0.062500 0.100000 +v -0.850000 0.250000 0.085000 +v -0.920711 0.062500 0.070710 +v -0.910104 0.250000 0.060104 +v -0.850000 0.250000 -0.000000 +v 0.950000 0.062500 0.000000 +v 0.935000 0.250000 0.000000 +v 0.920711 0.062500 0.070711 +v 0.910104 0.250000 0.060104 +v 0.850000 0.062500 0.100000 +v 0.850000 0.250000 0.085000 +v 0.779289 0.062500 0.070711 +v 0.789896 0.250000 0.060104 +v 0.750000 0.062500 0.000000 +v 0.765000 0.250000 0.000000 +v 0.779289 0.062500 -0.070710 +v 0.789896 0.250000 -0.060104 +v 0.850000 0.062500 -0.100000 +v 0.850000 0.250000 -0.085000 +v 0.920711 0.062500 -0.070710 +v 0.910104 0.250000 -0.060104 +v 0.850000 0.250000 0.000000 +v -0.917629 0.062500 0.245878 +v -0.903141 0.250000 0.241995 +v -0.907639 0.062500 0.169996 +v -0.894649 0.250000 0.177496 +v -0.846919 0.062500 0.123403 +v -0.843036 0.250000 0.137892 +v -0.771037 0.062500 0.133393 +v -0.778537 0.250000 0.146384 +v -0.724444 0.062500 0.194114 +v -0.738933 0.250000 0.197996 +v -0.734434 0.062500 0.269996 +v -0.747425 0.250000 0.262496 +v -0.795155 0.062500 0.316588 +v -0.799037 0.250000 0.302100 +v -0.871037 0.062500 0.306598 +v -0.863537 0.250000 0.293608 +v -0.821037 0.250000 0.219996 +v 0.917629 0.062500 -0.245878 +v 0.903141 0.250000 -0.241995 +v 0.907639 0.062500 -0.169996 +v 0.894649 0.250000 -0.177496 +v 0.846919 0.062500 -0.123403 +v 0.843036 0.250000 -0.137892 +v 0.771037 0.062500 -0.133393 +v 0.778537 0.250000 -0.146384 +v 0.724444 0.062500 -0.194114 +v 0.738933 0.250000 -0.197996 +v 0.734434 0.062500 -0.269996 +v 0.747425 0.250000 -0.262496 +v 0.795155 0.062500 -0.316588 +v 0.799037 0.250000 -0.302099 +v 0.871037 0.062500 -0.306598 +v 0.863537 0.250000 -0.293608 +v 0.821037 0.250000 -0.219996 +v -0.822724 0.062500 0.475000 +v -0.809734 0.250000 0.467500 +v -0.832714 0.062500 0.399118 +v -0.818225 0.250000 0.403000 +v -0.786122 0.062500 0.338397 +v -0.778621 0.250000 0.351387 +v -0.710240 0.062500 0.328407 +v -0.714122 0.250000 0.342896 +v -0.649519 0.062500 0.375000 +v -0.662509 0.250000 0.382500 +v -0.639529 0.062500 0.450882 +v -0.654018 0.250000 0.446999 +v -0.686122 0.062500 0.511602 +v -0.693622 0.250000 0.498612 +v -0.762003 0.062500 0.521592 +v -0.758121 0.250000 0.507103 +v -0.736122 0.250000 0.425000 +v 0.822724 0.062500 -0.474999 +v 0.809734 0.250000 -0.467500 +v 0.832714 0.062500 -0.399118 +v 0.818225 0.250000 -0.403000 +v 0.786122 0.062500 -0.338397 +v 0.778622 0.250000 -0.351387 +v 0.710240 0.062500 -0.328407 +v 0.714122 0.250000 -0.342896 +v 0.649519 0.062500 -0.375000 +v 0.662510 0.250000 -0.382500 +v 0.639529 0.062500 -0.450882 +v 0.654018 0.250000 -0.446999 +v 0.686122 0.062500 -0.511602 +v 0.693622 0.250000 -0.498612 +v 0.762003 0.062500 -0.521592 +v 0.758121 0.250000 -0.507103 +v 0.736122 0.250000 -0.425000 +v -0.671752 0.062500 0.671751 +v -0.661145 0.250000 0.661144 +v -0.701041 0.062500 0.601040 +v -0.686041 0.250000 0.601040 +v -0.671752 0.062500 0.530330 +v -0.661145 0.250000 0.540936 +v -0.601041 0.062500 0.501040 +v -0.601041 0.250000 0.516040 +v -0.530330 0.062500 0.530330 +v -0.540937 0.250000 0.540936 +v -0.501041 0.062500 0.601040 +v -0.516041 0.250000 0.601040 +v -0.530330 0.062500 0.671751 +v -0.540937 0.250000 0.661144 +v -0.601041 0.062500 0.701040 +v -0.601041 0.250000 0.686040 +v -0.601041 0.250000 0.601040 +v 0.671752 0.062500 -0.671751 +v 0.661145 0.250000 -0.661144 +v 0.701041 0.062500 -0.601040 +v 0.686041 0.250000 -0.601040 +v 0.671752 0.062500 -0.530330 +v 0.661145 0.250000 -0.540936 +v 0.601041 0.062500 -0.501040 +v 0.601041 0.250000 -0.516040 +v 0.530330 0.062500 -0.530330 +v 0.540937 0.250000 -0.540936 +v 0.501041 0.062500 -0.601040 +v 0.516041 0.250000 -0.601040 +v 0.530330 0.062500 -0.671751 +v 0.540937 0.250000 -0.661144 +v 0.601041 0.062500 -0.701040 +v 0.601041 0.250000 -0.686040 +v 0.601041 0.250000 -0.601040 +v -0.475000 0.062500 0.822724 +v -0.467500 0.250000 0.809733 +v -0.521593 0.062500 0.762003 +v -0.507104 0.250000 0.758121 +v -0.511603 0.062500 0.686121 +v -0.498612 0.250000 0.693621 +v -0.450882 0.062500 0.639529 +v -0.447000 0.250000 0.654017 +v -0.375000 0.062500 0.649519 +v -0.382500 0.250000 0.662509 +v -0.328408 0.062500 0.710239 +v -0.342897 0.250000 0.714122 +v -0.338398 0.062500 0.786121 +v -0.351388 0.250000 0.778621 +v -0.399118 0.062500 0.832714 +v -0.403001 0.250000 0.818225 +v -0.425000 0.250000 0.736121 +v 0.475000 0.062500 -0.822724 +v 0.467500 0.250000 -0.809733 +v 0.521593 0.062500 -0.762003 +v 0.507104 0.250000 -0.758121 +v 0.511603 0.062500 -0.686121 +v 0.498612 0.250000 -0.693621 +v 0.450882 0.062500 -0.639529 +v 0.447000 0.250000 -0.654017 +v 0.375000 0.062500 -0.649519 +v 0.382500 0.250000 -0.662509 +v 0.328408 0.062500 -0.710239 +v 0.342897 0.250000 -0.714122 +v 0.338398 0.062500 -0.786121 +v 0.351388 0.250000 -0.778621 +v 0.399118 0.062500 -0.832714 +v 0.403001 0.250000 -0.818225 +v 0.425000 0.250000 -0.736121 +v -0.245879 0.062500 0.917629 +v -0.241996 0.250000 0.903140 +v -0.306599 0.062500 0.871036 +v -0.293609 0.250000 0.863537 +v -0.316589 0.062500 0.795155 +v -0.302100 0.250000 0.799037 +v -0.269996 0.062500 0.734434 +v -0.262497 0.250000 0.747424 +v -0.194115 0.062500 0.724444 +v -0.197997 0.250000 0.738933 +v -0.133394 0.062500 0.771037 +v -0.146385 0.250000 0.778537 +v -0.123404 0.062500 0.846918 +v -0.137893 0.250000 0.843036 +v -0.169997 0.062500 0.907639 +v -0.177497 0.250000 0.894649 +v -0.219997 0.250000 0.821037 +v 0.245879 0.062500 -0.917629 +v 0.241996 0.250000 -0.903140 +v 0.306599 0.062500 -0.871036 +v 0.293609 0.250000 -0.863536 +v 0.316589 0.062500 -0.795155 +v 0.302100 0.250000 -0.799037 +v 0.269997 0.062500 -0.734434 +v 0.262497 0.250000 -0.747424 +v 0.194115 0.062500 -0.724444 +v 0.197997 0.250000 -0.738933 +v 0.133394 0.062500 -0.771037 +v 0.146385 0.250000 -0.778537 +v 0.123404 0.062500 -0.846918 +v 0.137893 0.250000 -0.843036 +v 0.169997 0.062500 -0.907639 +v 0.177497 0.250000 -0.894649 +v 0.219997 0.250000 -0.821037 +v -0.000000 0.062500 0.700000 +v -0.000000 0.250000 0.685000 +v -0.070711 0.062500 0.670711 +v -0.060104 0.250000 0.660104 +v -0.100000 0.062500 0.600000 +v -0.085000 0.250000 0.600000 +v -0.070711 0.062500 0.529289 +v -0.060104 0.250000 0.539896 +v -0.000000 0.062500 0.500000 +v -0.000000 0.250000 0.515000 +v 0.070711 0.062500 0.529289 +v 0.060104 0.250000 0.539896 +v 0.100000 0.062500 0.600000 +v 0.085000 0.250000 0.600000 +v 0.070711 0.062500 0.670711 +v 0.060104 0.250000 0.660104 +v -0.000000 0.250000 0.600000 +v 0.000000 0.062500 -0.700000 +v 0.000000 0.250000 -0.685000 +v 0.070711 0.062500 -0.670711 +v 0.060104 0.250000 -0.660104 +v 0.100000 0.062500 -0.600000 +v 0.085000 0.250000 -0.600000 +v 0.070711 0.062500 -0.529289 +v 0.060104 0.250000 -0.539896 +v 0.000000 0.062500 -0.500000 +v 0.000000 0.250000 -0.515000 +v -0.070711 0.062500 -0.529289 +v -0.060104 0.250000 -0.539896 +v -0.100000 0.062500 -0.600000 +v -0.085000 0.250000 -0.600000 +v -0.070711 0.062500 -0.670711 +v -0.060104 0.250000 -0.660104 +v 0.000000 0.250000 -0.600000 +v 0.267878 0.062500 0.646716 +v 0.262138 0.250000 0.632858 +v 0.191342 0.062500 0.646716 +v 0.197082 0.250000 0.632858 +v 0.137222 0.062500 0.592596 +v 0.151080 0.250000 0.586856 +v 0.137222 0.062500 0.516059 +v 0.151080 0.250000 0.521800 +v 0.191342 0.062500 0.461940 +v 0.197082 0.250000 0.475798 +v 0.267878 0.062500 0.461940 +v 0.262138 0.250000 0.475798 +v 0.321998 0.062500 0.516059 +v 0.308140 0.250000 0.521800 +v 0.321998 0.062500 0.592596 +v 0.308140 0.250000 0.586856 +v 0.229610 0.250000 0.554328 +v -0.267878 0.062500 -0.646716 +v -0.262138 0.250000 -0.632858 +v -0.191342 0.062500 -0.646716 +v -0.197082 0.250000 -0.632858 +v -0.137222 0.062500 -0.592596 +v -0.151080 0.250000 -0.586856 +v -0.137222 0.062500 -0.516059 +v -0.151080 0.250000 -0.521800 +v -0.191342 0.062500 -0.461940 +v -0.197082 0.250000 -0.475798 +v -0.267878 0.062500 -0.461940 +v -0.262138 0.250000 -0.475798 +v -0.321998 0.062500 -0.516060 +v -0.308140 0.250000 -0.521800 +v -0.321998 0.062500 -0.592596 +v -0.308140 0.250000 -0.586856 +v -0.229610 0.250000 -0.554328 +v 0.494975 0.062500 0.494975 +v 0.484368 0.250000 0.484368 +v 0.424264 0.062500 0.524264 +v 0.424264 0.250000 0.509264 +v 0.353553 0.062500 0.494975 +v 0.364160 0.250000 0.484368 +v 0.324264 0.062500 0.424264 +v 0.339264 0.250000 0.424264 +v 0.353553 0.062500 0.353553 +v 0.364160 0.250000 0.364160 +v 0.424264 0.062500 0.324264 +v 0.424264 0.250000 0.339264 +v 0.494975 0.062500 0.353554 +v 0.484368 0.250000 0.364160 +v 0.524264 0.062500 0.424264 +v 0.509264 0.250000 0.424264 +v 0.424264 0.250000 0.424264 +v -0.494975 0.062500 -0.494975 +v -0.484368 0.250000 -0.484368 +v -0.424264 0.062500 -0.524264 +v -0.424264 0.250000 -0.509264 +v -0.353553 0.062500 -0.494975 +v -0.364160 0.250000 -0.484368 +v -0.324264 0.062500 -0.424264 +v -0.339264 0.250000 -0.424264 +v -0.353553 0.062500 -0.353553 +v -0.364160 0.250000 -0.364160 +v -0.424264 0.062500 -0.324264 +v -0.424264 0.250000 -0.339264 +v -0.494975 0.062500 -0.353554 +v -0.484368 0.250000 -0.364160 +v -0.524264 0.062500 -0.424264 +v -0.509264 0.250000 -0.424264 +v -0.424264 0.250000 -0.424264 +v 0.646716 0.062500 0.267879 +v 0.632858 0.250000 0.262138 +v 0.592596 0.062500 0.321998 +v 0.586856 0.250000 0.308140 +v 0.516059 0.062500 0.321998 +v 0.521800 0.250000 0.308140 +v 0.461940 0.062500 0.267879 +v 0.475798 0.250000 0.262138 +v 0.461940 0.062500 0.191342 +v 0.475798 0.250000 0.197082 +v 0.516059 0.062500 0.137222 +v 0.521800 0.250000 0.151081 +v 0.592596 0.062500 0.137222 +v 0.586856 0.250000 0.151081 +v 0.646716 0.062500 0.191342 +v 0.632857 0.250000 0.197082 +v 0.554328 0.250000 0.229610 +v -0.646716 0.062500 -0.267879 +v -0.632857 0.250000 -0.262138 +v -0.592596 0.062500 -0.321998 +v -0.586856 0.250000 -0.308140 +v -0.516059 0.062500 -0.321998 +v -0.521800 0.250000 -0.308140 +v -0.461940 0.062500 -0.267879 +v -0.475798 0.250000 -0.262138 +v -0.461940 0.062500 -0.191342 +v -0.475798 0.250000 -0.197082 +v -0.516059 0.062500 -0.137222 +v -0.521800 0.250000 -0.151081 +v -0.592596 0.062500 -0.137222 +v -0.586856 0.250000 -0.151081 +v -0.646716 0.062500 -0.191342 +v -0.632857 0.250000 -0.197082 +v -0.554328 0.250000 -0.229610 +v 0.700000 0.062500 0.000000 +v 0.685000 0.250000 0.000000 +v 0.670711 0.062500 0.070711 +v 0.660104 0.250000 0.060104 +v 0.600000 0.062500 0.100000 +v 0.600000 0.250000 0.085000 +v 0.529289 0.062500 0.070711 +v 0.539896 0.250000 0.060104 +v 0.500000 0.062500 0.000000 +v 0.515000 0.250000 0.000000 +v 0.529289 0.062500 -0.070710 +v 0.539896 0.250000 -0.060104 +v 0.600000 0.062500 -0.100000 +v 0.600000 0.250000 -0.085000 +v 0.670711 0.062500 -0.070710 +v 0.660104 0.250000 -0.060104 +v 0.600000 0.250000 0.000000 +v -0.700000 0.062500 -0.000000 +v -0.685000 0.250000 -0.000000 +v -0.670711 0.062500 -0.070711 +v -0.660104 0.250000 -0.060104 +v -0.600000 0.062500 -0.100000 +v -0.600000 0.250000 -0.085000 +v -0.529289 0.062500 -0.070711 +v -0.539896 0.250000 -0.060104 +v -0.500000 0.062500 -0.000000 +v -0.515000 0.250000 -0.000000 +v -0.529289 0.062500 0.070710 +v -0.539896 0.250000 0.060104 +v -0.600000 0.062500 0.100000 +v -0.600000 0.250000 0.085000 +v -0.670711 0.062500 0.070710 +v -0.660104 0.250000 0.060104 +v -0.600000 0.250000 -0.000000 +v 0.646716 0.062500 -0.267878 +v 0.632858 0.250000 -0.262138 +v 0.646716 0.062500 -0.191341 +v 0.632858 0.250000 -0.197082 +v 0.592596 0.062500 -0.137222 +v 0.586856 0.250000 -0.151080 +v 0.516060 0.062500 -0.137222 +v 0.521800 0.250000 -0.151080 +v 0.461940 0.062500 -0.191342 +v 0.475798 0.250000 -0.197082 +v 0.461940 0.062500 -0.267878 +v 0.475798 0.250000 -0.262138 +v 0.516060 0.062500 -0.321998 +v 0.521800 0.250000 -0.308140 +v 0.592596 0.062500 -0.321998 +v 0.586856 0.250000 -0.308140 +v 0.554328 0.250000 -0.229610 +v -0.646716 0.062500 0.267878 +v -0.632858 0.250000 0.262138 +v -0.646716 0.062500 0.191341 +v -0.632858 0.250000 0.197082 +v -0.592596 0.062500 0.137222 +v -0.586856 0.250000 0.151080 +v -0.516060 0.062500 0.137222 +v -0.521800 0.250000 0.151080 +v -0.461940 0.062500 0.191341 +v -0.475798 0.250000 0.197082 +v -0.461940 0.062500 0.267878 +v -0.475798 0.250000 0.262138 +v -0.516060 0.062500 0.321998 +v -0.521800 0.250000 0.308140 +v -0.592596 0.062500 0.321998 +v -0.586856 0.250000 0.308139 +v -0.554328 0.250000 0.229610 +v 0.494975 0.062500 -0.494975 +v 0.484368 0.250000 -0.484368 +v 0.524264 0.062500 -0.424264 +v 0.509264 0.250000 -0.424264 +v 0.494975 0.062500 -0.353553 +v 0.484368 0.250000 -0.364160 +v 0.424264 0.062500 -0.324264 +v 0.424264 0.250000 -0.339264 +v 0.353554 0.062500 -0.353553 +v 0.364160 0.250000 -0.364160 +v 0.324264 0.062500 -0.424264 +v 0.339264 0.250000 -0.424264 +v 0.353554 0.062500 -0.494975 +v 0.364160 0.250000 -0.484368 +v 0.424264 0.062500 -0.524264 +v 0.424264 0.250000 -0.509264 +v 0.424264 0.250000 -0.424264 +v -0.494975 0.062500 0.494974 +v -0.484368 0.250000 0.484368 +v -0.524264 0.062500 0.424264 +v -0.509264 0.250000 0.424264 +v -0.494975 0.062500 0.353553 +v -0.484369 0.250000 0.364160 +v -0.424264 0.062500 0.324264 +v -0.424264 0.250000 0.339264 +v -0.353554 0.062500 0.353553 +v -0.364160 0.250000 0.364160 +v -0.324264 0.062500 0.424264 +v -0.339264 0.250000 0.424264 +v -0.353554 0.062500 0.494975 +v -0.364160 0.250000 0.484368 +v -0.424265 0.062500 0.524264 +v -0.424264 0.250000 0.509264 +v -0.424264 0.250000 0.424264 +v 0.267879 0.062500 -0.646716 +v 0.262139 0.250000 -0.632858 +v 0.321998 0.062500 -0.592596 +v 0.308140 0.250000 -0.586856 +v 0.321998 0.062500 -0.516059 +v 0.308140 0.250000 -0.521800 +v 0.267879 0.062500 -0.461940 +v 0.262139 0.250000 -0.475798 +v 0.191342 0.062500 -0.461940 +v 0.197082 0.250000 -0.475798 +v 0.137222 0.062500 -0.516059 +v 0.151081 0.250000 -0.521800 +v 0.137222 0.062500 -0.592596 +v 0.151081 0.250000 -0.586856 +v 0.191342 0.062500 -0.646716 +v 0.197082 0.250000 -0.632857 +v 0.229610 0.250000 -0.554328 +v -0.267879 0.062500 0.646716 +v -0.262139 0.250000 0.632857 +v -0.321998 0.062500 0.592596 +v -0.308140 0.250000 0.586856 +v -0.321999 0.062500 0.516059 +v -0.308140 0.250000 0.521800 +v -0.267879 0.062500 0.461940 +v -0.262139 0.250000 0.475798 +v -0.191342 0.062500 0.461940 +v -0.197082 0.250000 0.475798 +v -0.137222 0.062500 0.516059 +v -0.151081 0.250000 0.521800 +v -0.137223 0.062500 0.592596 +v -0.151081 0.250000 0.586856 +v -0.191342 0.062500 0.646716 +v -0.197082 0.250000 0.632857 +v -0.229610 0.250000 0.554328 +v 0.000000 0.000000 -0.125000 +v -0.000000 0.250000 -0.106250 +v 0.088388 0.000000 -0.088388 +v 0.075130 0.250000 -0.075130 +v 0.125000 0.000000 0.000000 +v 0.106250 0.250000 0.000000 +v 0.088388 0.000000 0.088388 +v 0.075130 0.250000 0.075130 +v -0.000000 0.000000 0.125000 +v -0.000000 0.250000 0.106250 +v -0.088388 0.000000 0.088388 +v -0.075130 0.250000 0.075130 +v -0.125000 0.000000 0.000000 +v -0.106250 0.250000 0.000000 +v -0.088388 0.000000 -0.088388 +v -0.075130 0.250000 -0.075130 +v -0.000000 0.250000 -0.000000 +vt 0.083333 0.416667 +vt 0.062500 0.416667 +vt 0.062500 0.375000 +vt 0.041667 0.416667 +vt 0.041667 0.375000 +vt 0.020833 0.416667 +vt 0.020833 0.375000 +vt 0.000000 0.416667 +vt 0.000000 0.375000 +vt 0.166667 0.375000 +vt 0.166667 0.416667 +vt 0.145833 0.416667 +vt 0.125000 0.416667 +vt 0.125000 0.375000 +vt 0.104167 0.375000 +vt 0.104167 0.416667 +vt 0.208333 0.375000 +vt 0.197917 0.416667 +vt 0.187500 0.375000 +vt 0.302083 0.416667 +vt 0.291667 0.375000 +vt 0.312500 0.375000 +vt 0.229167 0.375000 +vt 0.250000 0.375000 +vt 0.239583 0.416667 +vt 0.270833 0.375000 +vt 0.260417 0.416667 +vt 0.177083 0.416667 +vt 0.281250 0.416667 +vt 0.333333 0.375000 +vt 0.322917 0.416667 +vt 0.218750 0.416667 +vt 0.083333 0.375000 +vt 0.083333 0.406250 +vt 0.062500 0.406250 +vt 0.041667 0.406250 +vt 0.020833 0.406250 +vt 0.000000 0.406250 +vt 0.166667 0.406250 +vt 0.145833 0.406250 +vt 0.145833 0.375000 +vt 0.125000 0.406250 +vt 0.322917 0.406250 +vt 0.104167 0.406250 +vt 0.177083 0.406250 +vt 0.239583 0.406250 +vt 0.302083 0.406250 +vt 0.281250 0.406250 +vt 0.218750 0.406250 +vt 0.260417 0.406250 +vt 0.197917 0.406250 +vt 0.750000 0.375000 +vt 0.666667 0.375000 +vt 0.666667 0.333333 +vt 0.583333 0.375000 +vt 0.583333 0.333333 +vt 0.500000 0.375000 +vt 0.500000 0.333333 +vt 0.416667 0.375000 +vt 0.416667 0.333333 +vt 0.333333 0.333333 +vt 0.250000 0.333333 +vt 0.166667 0.333333 +vt 0.083333 0.333333 +vt 0.000000 0.333333 +vt 1.000000 0.375000 +vt 0.916667 0.375000 +vt 0.916667 0.333333 +vt 0.249590 0.310295 +vt 0.000819 0.166667 +vt 0.249591 0.023038 +vt 0.833333 0.375000 +vt 0.750000 0.333333 +vt 0.833333 0.333333 +vt 0.500000 0.332055 +vt 0.500000 0.001279 +vt 0.643230 0.083972 +vt 0.083333 0.447917 +vt 0.062500 0.447917 +vt 0.041667 0.447917 +vt 0.020833 0.447917 +vt -0.000000 0.447917 +vt 0.166667 0.447917 +vt 0.145833 0.447917 +vt 0.125000 0.447917 +vt 0.322917 0.447917 +vt 0.312500 0.416667 +vt 0.333333 0.416667 +vt 0.104167 0.447917 +vt 0.187500 0.416667 +vt 0.177083 0.447917 +vt 0.229167 0.416667 +vt 0.250000 0.416667 +vt 0.239583 0.447917 +vt 0.302083 0.447917 +vt 0.291667 0.416667 +vt 0.270833 0.416667 +vt 0.281250 0.447917 +vt 0.208333 0.416667 +vt 0.218750 0.447917 +vt 0.260417 0.447917 +vt 0.197917 0.447917 +vt 0.083333 0.458333 +vt 0.062500 0.458333 +vt 0.041667 0.458333 +vt 0.020833 0.458333 +vt 0.000000 0.458333 +vt 0.166667 0.458333 +vt 0.145833 0.458333 +vt 0.125000 0.458333 +vt 0.104167 0.458333 +vt 0.197917 0.458333 +vt 0.302083 0.458333 +vt 0.239583 0.458333 +vt 0.260417 0.458333 +vt 0.177083 0.458333 +vt 0.281250 0.458333 +vt 0.322917 0.458333 +vt 0.218750 0.458333 +vt 1.000000 0.333333 +vt 0.310295 0.083743 +vt 0.332514 0.166667 +vt 0.310295 0.249591 +vt 0.166667 0.332514 +vt 0.083743 0.310295 +vt 0.023038 0.249590 +vt 0.023038 0.083743 +vt 0.083743 0.023038 +vt 0.166667 0.000819 +vt 0.665388 0.166667 +vt 0.643230 0.249361 +vt 0.582694 0.309897 +vt 0.417306 0.309897 +vt 0.356770 0.249361 +vt 0.334612 0.166667 +vt 0.356770 0.083973 +vt 0.417306 0.023436 +vt 0.582694 0.023436 +vn 0.381800 0.069100 -0.921700 +vn 0.921700 0.069100 -0.381800 +vn 0.921700 0.069100 0.381800 +vn 0.381800 0.069100 0.921700 +vn -0.381800 0.069100 0.921700 +vn -0.921700 0.069100 0.381800 +vn -0.381800 0.069100 -0.921700 +vn -0.921700 0.069100 -0.381800 +vn 0.838700 -0.419400 -0.347400 +vn -0.838700 -0.419400 -0.347400 +vn 0.347400 -0.419400 0.838700 +vn -0.347400 -0.419400 0.838700 +vn 0.347400 -0.419400 -0.838700 +vn -0.838700 -0.419400 0.347400 +vn -0.347400 -0.419400 -0.838700 +vn 0.838700 -0.419400 0.347400 +vn 0.381600 0.073700 -0.921400 +vn 0.921400 0.073700 -0.381600 +vn 0.921400 0.073700 0.381600 +vn 0.381600 0.073700 0.921400 +vn -0.381600 0.073700 0.921400 +vn -0.921400 0.073700 0.381600 +vn -0.343300 -0.442000 -0.828700 +vn -0.381600 0.073700 -0.921400 +vn -0.921400 0.073700 -0.381600 +vn 0.343300 -0.442000 -0.828700 +vn 0.343300 -0.442000 0.828700 +vn -0.828700 -0.442000 -0.343300 +vn -0.828700 -0.442000 0.343300 +vn 0.828700 -0.442000 0.343300 +vn -0.343300 -0.442000 0.828700 +vn 0.828700 -0.442000 -0.343300 +vn 0.258800 0.000000 -0.965900 +vn 0.707100 0.000000 -0.707100 +vn 0.965900 0.000000 -0.258800 +vn 0.965900 0.000000 0.258800 +vn 0.707100 0.000000 0.707100 +vn 0.258800 0.000000 0.965900 +vn -0.258800 0.000000 0.965900 +vn -0.707100 0.000000 0.707100 +vn -0.965900 0.000000 0.258800 +vn -0.965900 0.000000 -0.258800 +vn 0.000000 1.000000 0.000000 +vn -0.258800 0.000000 -0.965900 +vn -0.707100 0.000000 -0.707100 +vn 0.000000 -1.000000 0.000000 +vn -0.607300 0.069100 -0.791500 +vn 0.130200 0.069100 -0.989100 +vn 0.791500 0.069100 -0.607300 +vn 0.989100 0.069100 0.130200 +vn 0.607300 0.069100 0.791500 +vn -0.130200 0.069100 0.989100 +vn -0.989100 0.069100 -0.130200 +vn -0.791500 0.069100 0.607300 +vn 0.118500 -0.419400 -0.900100 +vn -0.720200 -0.419400 0.552600 +vn 0.900100 -0.419400 0.118500 +vn 0.552600 -0.419400 0.720200 +vn -0.552600 -0.419400 -0.720200 +vn -0.118500 -0.419400 0.900100 +vn -0.900100 -0.419400 -0.118500 +vn 0.720200 -0.419400 -0.552600 +vn -0.989100 0.069100 0.130200 +vn -0.791500 0.069100 -0.607300 +vn -0.130200 0.069100 -0.989100 +vn 0.607300 0.069100 -0.791500 +vn 0.989100 0.069100 -0.130200 +vn 0.791500 0.069100 0.607300 +vn -0.607300 0.069100 0.791500 +vn 0.130200 0.069100 0.989100 +vn -0.720200 -0.419400 -0.552600 +vn 0.118500 -0.419400 0.900100 +vn 0.552600 -0.419400 -0.720200 +vn 0.900100 -0.419400 -0.118500 +vn -0.900100 -0.419400 0.118500 +vn 0.720200 -0.419400 0.552600 +vn -0.552600 -0.419400 0.720200 +vn -0.118500 -0.419400 -0.900100 +vn 0.130200 0.073700 -0.988700 +vn 0.791200 0.073700 -0.607100 +vn 0.988700 0.073700 0.130200 +vn 0.607100 0.073700 0.791200 +vn -0.130200 0.073700 0.988700 +vn -0.791200 0.073700 0.607100 +vn -0.546100 -0.442000 -0.711700 +vn -0.607100 0.073700 -0.791200 +vn -0.988700 0.073700 -0.130200 +vn 0.117100 -0.442000 -0.889300 +vn 0.546100 -0.442000 0.711700 +vn -0.889300 -0.442000 -0.117100 +vn -0.711700 -0.442000 0.546100 +vn 0.889300 -0.442000 0.117100 +vn -0.117100 -0.442000 0.889300 +vn 0.711700 -0.442000 -0.546100 +vn -0.130200 0.073700 -0.988700 +vn 0.607100 0.073700 -0.791200 +vn 0.988700 0.073700 -0.130200 +vn 0.791200 0.073700 0.607100 +vn 0.130200 0.073700 0.988700 +vn -0.607100 0.073700 0.791200 +vn -0.711700 -0.442000 -0.546100 +vn -0.791200 0.073700 -0.607100 +vn -0.988700 0.073700 0.130200 +vn -0.117100 -0.442000 -0.889300 +vn 0.711700 -0.442000 0.546100 +vn -0.889300 -0.442000 0.117100 +vn -0.546100 -0.442000 0.711700 +vn 0.889300 -0.442000 -0.117100 +vn 0.117100 -0.442000 0.889300 +vn 0.546100 -0.442000 -0.711700 +vn -0.000000 0.073700 0.997300 +vn -0.705200 0.073700 0.705200 +vn -0.997300 0.073700 -0.000000 +vn -0.705200 0.073700 -0.705200 +vn 0.000000 0.073700 -0.997300 +vn 0.705200 0.073700 -0.705200 +vn 0.634300 -0.442000 0.634300 +vn 0.705200 0.073700 0.705200 +vn 0.997300 0.073700 -0.000000 +vn -0.000000 -0.442000 0.897000 +vn -0.634300 -0.442000 -0.634300 +vn 0.897000 -0.442000 0.000000 +vn 0.634300 -0.442000 -0.634300 +vn -0.897000 -0.442000 -0.000000 +vn 0.000000 -0.442000 -0.897000 +vn -0.634300 -0.442000 0.634300 +s off +f 2/1/1 4/2/1 3/3/1 +f 4/2/2 6/4/2 5/5/2 +f 6/4/3 8/6/3 7/7/3 +f 8/6/4 10/8/4 9/9/4 +f 9/10/5 10/11/5 12/12/5 +f 12/12/6 14/13/6 13/14/6 +f 15/15/7 16/16/7 2/1/7 +f 14/13/8 16/16/8 15/15/8 +f 13/17/9 17/18/9 11/19/9 +f 17/20/10 5/21/10 7/22/10 +f 15/23/11 1/24/11 17/25/11 +f 1/24/12 3/26/12 17/27/12 +f 17/28/13 9/10/13 11/19/13 +f 3/26/14 5/21/14 17/29/14 +f 9/30/15 17/31/15 7/22/15 +f 13/17/16 15/23/16 17/32/16 +f 18/33/17 19/34/17 21/35/17 +f 21/35/18 23/36/18 22/5/18 +f 22/5/19 23/36/19 25/37/19 +f 25/37/20 27/38/20 26/9/20 +f 27/39/21 29/40/21 28/41/21 +f 29/40/22 31/42/22 30/14/22 +f 34/43/23 24/22/23 26/30/23 +f 33/44/24 19/34/24 18/33/24 +f 30/14/25 31/42/25 33/44/25 +f 26/10/26 28/19/26 34/45/26 +f 32/23/27 18/24/27 34/46/27 +f 34/47/28 22/21/28 24/22/28 +f 20/26/29 22/21/29 34/48/29 +f 30/17/30 32/23/30 34/49/30 +f 18/24/31 20/26/31 34/50/31 +f 28/19/32 30/17/32 34/51/32 +f 36/52/33 38/53/33 37/54/33 +f 38/53/34 40/55/34 39/56/34 +f 40/55/35 42/57/35 41/58/35 +f 42/57/36 44/59/36 43/60/36 +f 44/59/37 46/30/37 45/61/37 +f 46/30/38 48/24/38 47/62/38 +f 48/24/39 50/10/39 49/63/39 +f 50/10/40 52/33/40 51/64/40 +f 52/33/41 54/9/41 53/65/41 +f 54/66/42 56/67/42 55/68/42 +f 56/69/43 48/70/43 40/71/43 +f 58/72/44 36/52/44 35/73/44 +f 56/67/45 58/72/45 57/74/45 +f 41/75/46 53/76/46 57/77/46 +f 60/1/5 62/2/5 61/3/5 +f 62/2/6 64/4/6 63/5/6 +f 64/4/8 66/6/8 65/7/8 +f 65/7/7 66/6/7 68/8/7 +f 67/10/1 68/11/1 70/12/1 +f 69/41/2 70/12/2 72/13/2 +f 74/16/4 60/1/4 59/33/4 +f 71/14/3 72/13/3 74/16/3 +f 71/17/14 75/18/14 69/19/14 +f 75/20/16 63/21/16 65/22/16 +f 73/23/15 59/24/15 75/25/15 +f 59/24/13 61/26/13 75/27/13 +f 75/28/12 67/10/12 69/19/12 +f 61/26/9 63/21/9 75/29/9 +f 67/30/11 75/31/11 65/22/11 +f 71/17/10 73/23/10 75/32/10 +f 77/1/47 79/2/47 78/3/47 +f 79/2/48 81/4/48 80/5/48 +f 80/5/49 81/4/49 83/6/49 +f 83/6/50 85/8/50 84/9/50 +f 85/11/51 87/12/51 86/41/51 +f 87/12/52 89/13/52 88/14/52 +f 91/16/53 77/1/53 76/33/53 +f 89/13/54 91/16/54 90/15/54 +f 88/17/55 92/18/55 86/19/55 +f 92/20/56 80/21/56 82/22/56 +f 90/23/57 76/24/57 92/25/57 +f 76/24/58 78/26/58 92/27/58 +f 92/28/59 84/10/59 86/19/59 +f 78/26/60 80/21/60 92/29/60 +f 84/30/61 92/31/61 82/22/61 +f 88/17/62 90/23/62 92/32/62 +f 94/1/51 96/2/51 95/3/51 +f 96/2/52 98/4/52 97/5/52 +f 98/4/54 100/6/54 99/7/54 +f 100/6/53 102/8/53 101/9/53 +f 102/11/47 104/12/47 103/41/47 +f 103/41/48 104/12/48 106/13/48 +f 107/15/50 108/16/50 94/1/50 +f 105/14/49 106/13/49 108/16/49 +f 105/17/60 109/18/60 103/19/60 +f 109/20/62 97/21/62 99/22/62 +f 107/23/61 93/24/61 109/25/61 +f 93/24/59 95/26/59 109/27/59 +f 109/28/58 101/10/58 103/19/58 +f 95/26/55 97/21/55 109/29/55 +f 101/30/57 109/31/57 99/22/57 +f 105/17/56 107/23/56 109/32/56 +f 111/1/63 113/2/63 112/3/63 +f 113/2/64 115/4/64 114/5/64 +f 115/4/65 117/6/65 116/7/65 +f 117/6/66 119/8/66 118/9/66 +f 119/11/67 121/12/67 120/41/67 +f 120/41/68 121/12/68 123/13/68 +f 124/15/69 125/16/69 111/1/69 +f 123/13/70 125/16/70 124/15/70 +f 122/17/71 126/18/71 120/19/71 +f 126/20/72 114/21/72 116/22/72 +f 124/23/73 110/24/73 126/25/73 +f 110/24/74 112/26/74 126/27/74 +f 126/28/75 118/10/75 120/19/75 +f 112/26/76 114/21/76 126/29/76 +f 118/30/77 126/31/77 116/22/77 +f 122/17/78 124/23/78 126/32/78 +f 128/1/67 130/2/67 129/3/67 +f 130/2/68 132/4/68 131/5/68 +f 131/5/70 132/4/70 134/6/70 +f 133/7/69 134/6/69 136/8/69 +f 136/11/63 138/12/63 137/41/63 +f 138/12/64 140/13/64 139/14/64 +f 142/16/66 128/1/66 127/33/66 +f 139/14/65 140/13/65 142/16/65 +f 139/17/76 143/18/76 137/19/76 +f 143/20/78 131/21/78 133/22/78 +f 141/23/77 127/24/77 143/25/77 +f 127/24/75 129/26/75 143/27/75 +f 143/28/74 135/10/74 137/19/74 +f 129/26/71 131/21/71 143/29/71 +f 135/30/73 143/31/73 133/22/73 +f 139/17/72 141/23/72 143/32/72 +f 144/33/21 145/34/21 147/35/21 +f 146/3/22 147/35/22 149/36/22 +f 148/5/25 149/36/25 151/37/25 +f 151/37/24 153/38/24 152/9/24 +f 153/39/17 155/40/17 154/41/17 +f 155/40/18 157/42/18 156/14/18 +f 160/43/27 150/22/27 152/30/27 +f 158/15/20 159/44/20 145/34/20 +f 156/14/19 157/42/19 159/44/19 +f 152/10/31 154/19/31 160/45/31 +f 158/23/23 144/24/23 160/46/23 +f 160/47/30 148/21/30 150/22/30 +f 146/26/32 148/21/32 160/48/32 +f 156/17/28 158/23/28 160/49/28 +f 144/24/26 146/26/26 160/50/26 +f 154/19/29 156/17/29 160/51/29 +f 161/33/79 162/34/79 164/35/79 +f 164/35/80 166/36/80 165/5/80 +f 165/5/81 166/36/81 168/37/81 +f 168/37/82 170/38/82 169/9/82 +f 170/39/83 172/40/83 171/41/83 +f 171/41/84 172/40/84 174/42/84 +f 177/43/85 167/22/85 169/30/85 +f 176/44/86 162/34/86 161/33/86 +f 173/14/87 174/42/87 176/44/87 +f 169/10/88 171/19/88 177/45/88 +f 175/23/89 161/24/89 177/46/89 +f 177/47/90 165/21/90 167/22/90 +f 163/26/91 165/21/91 177/48/91 +f 173/17/92 175/23/92 177/49/92 +f 161/24/93 163/26/93 177/50/93 +f 171/19/94 173/17/94 177/51/94 +f 178/33/83 179/34/83 181/35/83 +f 181/35/84 183/36/84 182/5/84 +f 182/5/87 183/36/87 185/37/87 +f 185/37/86 187/38/86 186/9/86 +f 187/39/79 189/40/79 188/41/79 +f 188/41/80 189/40/80 191/42/80 +f 194/43/89 184/22/89 186/30/89 +f 192/15/82 193/44/82 179/34/82 +f 191/42/81 193/44/81 192/15/81 +f 186/10/93 188/19/93 194/45/93 +f 192/23/85 178/24/85 194/46/85 +f 194/47/92 182/21/92 184/22/92 +f 180/26/94 182/21/94 194/48/94 +f 190/17/90 192/23/90 194/49/90 +f 178/24/88 180/26/88 194/50/88 +f 188/19/91 190/17/91 194/51/91 +f 196/34/95 198/35/95 197/3/95 +f 198/35/96 200/36/96 199/5/96 +f 199/5/97 200/36/97 202/37/97 +f 201/7/98 202/37/98 204/38/98 +f 204/39/99 206/40/99 205/41/99 +f 206/40/100 208/42/100 207/14/100 +f 211/43/101 201/22/101 203/30/101 +f 210/44/102 196/34/102 195/33/102 +f 207/14/103 208/42/103 210/44/103 +f 203/10/104 205/19/104 211/45/104 +f 209/23/105 195/24/105 211/46/105 +f 211/47/106 199/21/106 201/22/106 +f 197/26/107 199/21/107 211/48/107 +f 207/17/108 209/23/108 211/49/108 +f 195/24/109 197/26/109 211/50/109 +f 205/19/110 207/17/110 211/51/110 +f 212/33/99 213/34/99 215/35/99 +f 215/35/100 217/36/100 216/5/100 +f 217/36/103 219/37/103 218/7/103 +f 219/37/102 221/38/102 220/9/102 +f 221/39/95 223/40/95 222/41/95 +f 222/41/96 223/40/96 225/42/96 +f 228/43/105 218/22/105 220/30/105 +f 227/44/98 213/34/98 212/33/98 +f 225/42/97 227/44/97 226/15/97 +f 220/10/109 222/19/109 228/45/109 +f 226/23/101 212/24/101 228/46/101 +f 228/47/108 216/21/108 218/22/108 +f 214/26/110 216/21/110 228/48/110 +f 224/17/106 226/23/106 228/49/106 +f 212/24/104 214/26/104 228/50/104 +f 222/19/107 224/17/107 228/51/107 +f 230/34/24 232/35/24 231/3/24 +f 231/3/17 232/35/17 234/36/17 +f 234/36/18 236/37/18 235/7/18 +f 235/7/19 236/37/19 238/38/19 +f 237/10/20 238/39/20 240/40/20 +f 240/40/21 242/42/21 241/14/21 +f 245/43/28 235/22/28 237/30/28 +f 244/44/25 230/34/25 229/33/25 +f 242/42/22 244/44/22 243/15/22 +f 237/10/23 239/19/23 245/45/23 +f 243/23/30 229/24/30 245/46/30 +f 245/47/29 233/21/29 235/22/29 +f 231/26/31 233/21/31 245/48/31 +f 241/17/32 243/23/32 245/49/32 +f 229/24/27 231/26/27 245/50/27 +f 239/19/26 241/17/26 245/51/26 +f 247/34/20 249/35/20 248/3/20 +f 248/3/21 249/35/21 251/36/21 +f 250/5/22 251/36/22 253/37/22 +f 253/37/25 255/38/25 254/9/25 +f 254/10/24 255/39/24 257/40/24 +f 256/41/17 257/40/17 259/42/17 +f 262/43/30 252/22/30 254/30/30 +f 261/44/19 247/34/19 246/33/19 +f 259/42/18 261/44/18 260/15/18 +f 254/10/27 256/19/27 262/45/27 +f 260/23/28 246/24/28 262/46/28 +f 262/47/32 250/21/32 252/22/32 +f 248/26/26 250/21/26 262/48/26 +f 258/17/29 260/23/29 262/49/29 +f 246/24/23 248/26/23 262/50/23 +f 256/19/31 258/17/31 262/51/31 +f 263/33/86 264/34/86 266/35/86 +f 265/3/79 266/35/79 268/36/79 +f 267/5/80 268/36/80 270/37/80 +f 269/7/81 270/37/81 272/38/81 +f 272/39/82 274/40/82 273/41/82 +f 274/40/83 276/42/83 275/14/83 +f 279/43/90 269/22/90 271/30/90 +f 278/44/87 264/34/87 263/33/87 +f 276/42/84 278/44/84 277/15/84 +f 271/10/85 273/19/85 279/45/85 +f 277/23/92 263/24/92 279/46/92 +f 279/47/91 267/21/91 269/22/91 +f 265/26/93 267/21/93 279/48/93 +f 275/17/94 277/23/94 279/49/94 +f 263/24/89 265/26/89 279/50/89 +f 273/19/88 275/17/88 279/51/88 +f 280/33/82 281/34/82 283/35/82 +f 283/35/83 285/36/83 284/5/83 +f 285/36/84 287/37/84 286/7/84 +f 286/7/87 287/37/87 289/38/87 +f 288/10/86 289/39/86 291/40/86 +f 291/40/79 293/42/79 292/14/79 +f 296/43/92 286/22/92 288/30/92 +f 295/44/81 281/34/81 280/33/81 +f 293/42/80 295/44/80 294/15/80 +f 288/10/89 290/19/89 296/45/89 +f 294/23/90 280/24/90 296/46/90 +f 296/47/94 284/21/94 286/22/94 +f 282/26/88 284/21/88 296/48/88 +f 292/17/91 294/23/91 296/49/91 +f 280/24/85 282/26/85 296/50/85 +f 290/19/93 292/17/93 296/51/93 +f 298/34/102 300/35/102 299/3/102 +f 300/35/95 302/36/95 301/5/95 +f 302/36/96 304/37/96 303/7/96 +f 303/7/97 304/37/97 306/38/97 +f 305/10/98 306/39/98 308/40/98 +f 308/40/99 310/42/99 309/14/99 +f 313/43/106 303/22/106 305/30/106 +f 311/15/103 312/44/103 298/34/103 +f 310/42/100 312/44/100 311/15/100 +f 305/10/101 307/19/101 313/45/101 +f 311/23/108 297/24/108 313/46/108 +f 313/47/107 301/21/107 303/22/107 +f 299/26/109 301/21/109 313/48/109 +f 309/17/110 311/23/110 313/49/110 +f 297/24/105 299/26/105 313/50/105 +f 307/19/104 309/17/104 313/51/104 +f 314/33/98 315/34/98 317/35/98 +f 316/3/99 317/35/99 319/36/99 +f 319/36/100 321/37/100 320/7/100 +f 320/7/103 321/37/103 323/38/103 +f 322/10/102 323/39/102 325/40/102 +f 324/41/95 325/40/95 327/42/95 +f 330/43/108 320/22/108 322/30/108 +f 329/44/97 315/34/97 314/33/97 +f 327/42/96 329/44/96 328/15/96 +f 322/10/105 324/19/105 330/45/105 +f 328/23/106 314/24/106 330/46/106 +f 330/47/110 318/21/110 320/22/110 +f 316/26/104 318/21/104 330/48/104 +f 326/17/107 328/23/107 330/49/107 +f 314/24/101 316/26/101 330/50/101 +f 324/19/109 326/17/109 330/51/109 +f 331/33/25 332/34/25 334/35/25 +f 334/35/24 336/36/24 335/5/24 +f 336/36/17 338/37/17 337/7/17 +f 338/37/18 340/38/18 339/9/18 +f 339/10/19 340/39/19 342/40/19 +f 341/41/20 342/40/20 344/42/20 +f 347/43/29 337/22/29 339/30/29 +f 346/44/22 332/34/22 331/33/22 +f 344/42/21 346/44/21 345/15/21 +f 339/10/28 341/19/28 347/45/28 +f 345/23/32 331/24/32 347/46/32 +f 347/47/31 335/21/31 337/22/31 +f 333/26/27 335/21/27 347/48/27 +f 343/17/26 345/23/26 347/49/26 +f 331/24/30 333/26/30 347/50/30 +f 341/19/23 343/17/23 347/51/23 +f 348/33/19 349/34/19 351/35/19 +f 351/35/20 353/36/20 352/5/20 +f 353/36/21 355/37/21 354/7/21 +f 354/7/22 355/37/22 357/38/22 +f 356/10/25 357/39/25 359/40/25 +f 359/40/24 361/42/24 360/14/24 +f 364/43/32 354/22/32 356/30/32 +f 363/44/18 349/34/18 348/33/18 +f 360/14/17 361/42/17 363/44/17 +f 356/10/30 358/19/30 364/45/30 +f 362/23/29 348/24/29 364/46/29 +f 364/47/26 352/21/26 354/22/26 +f 350/26/23 352/21/23 364/48/23 +f 360/17/31 362/23/31 364/49/31 +f 348/24/28 350/26/28 364/50/28 +f 358/19/27 360/17/27 364/51/27 +f 366/34/87 368/35/87 367/3/87 +f 368/35/86 370/36/86 369/5/86 +f 369/5/79 370/36/79 372/37/79 +f 371/7/80 372/37/80 374/38/80 +f 373/10/81 374/39/81 376/40/81 +f 376/40/82 378/42/82 377/14/82 +f 381/43/91 371/22/91 373/30/91 +f 380/44/84 366/34/84 365/33/84 +f 378/42/83 380/44/83 379/15/83 +f 373/10/90 375/19/90 381/45/90 +f 379/23/94 365/24/94 381/46/94 +f 381/47/93 369/21/93 371/22/93 +f 367/26/89 369/21/89 381/48/89 +f 377/17/88 379/23/88 381/49/88 +f 365/24/92 367/26/92 381/50/92 +f 375/19/85 377/17/85 381/51/85 +f 382/33/81 383/34/81 385/35/81 +f 384/3/82 385/35/82 387/36/82 +f 387/36/83 389/37/83 388/7/83 +f 388/7/84 389/37/84 391/38/84 +f 390/10/87 391/39/87 393/40/87 +f 393/40/86 395/42/86 394/14/86 +f 398/43/94 388/22/94 390/30/94 +f 397/44/80 383/34/80 382/33/80 +f 394/14/79 395/42/79 397/44/79 +f 390/10/92 392/19/92 398/45/92 +f 396/23/91 382/24/91 398/46/91 +f 398/47/88 386/21/88 388/22/88 +f 384/26/85 386/21/85 398/48/85 +f 394/17/93 396/23/93 398/49/93 +f 382/24/90 384/26/90 398/50/90 +f 392/19/89 394/17/89 398/51/89 +f 399/33/103 400/34/103 402/35/103 +f 402/35/102 404/36/102 403/5/102 +f 404/36/95 406/37/95 405/7/95 +f 406/37/96 408/38/96 407/9/96 +f 407/10/97 408/39/97 410/40/97 +f 410/40/98 412/42/98 411/14/98 +f 415/43/107 405/22/107 407/30/107 +f 414/44/100 400/34/100 399/33/100 +f 412/42/99 414/44/99 413/15/99 +f 407/10/106 409/19/106 415/45/106 +f 413/23/110 399/24/110 415/46/110 +f 415/47/109 403/21/109 405/22/109 +f 401/26/105 403/21/105 415/48/105 +f 411/17/104 413/23/104 415/49/104 +f 399/24/108 401/26/108 415/50/108 +f 409/19/101 411/17/101 415/51/101 +f 417/34/97 419/35/97 418/3/97 +f 419/35/98 421/36/98 420/5/98 +f 421/36/99 423/37/99 422/7/99 +f 423/37/100 425/38/100 424/9/100 +f 424/10/103 425/39/103 427/40/103 +f 427/40/102 429/42/102 428/14/102 +f 432/43/110 422/22/110 424/30/110 +f 430/15/96 431/44/96 417/34/96 +f 429/42/95 431/44/95 430/15/95 +f 424/10/108 426/19/108 432/45/108 +f 430/23/107 416/24/107 432/46/107 +f 432/47/104 420/21/104 422/22/104 +f 418/26/101 420/21/101 432/48/101 +f 428/17/109 430/23/109 432/49/109 +f 416/24/106 418/26/106 432/50/106 +f 426/19/105 428/17/105 432/51/105 +f 434/34/22 436/35/22 435/3/22 +f 435/3/25 436/35/25 438/36/25 +f 438/36/24 440/37/24 439/7/24 +f 440/37/17 442/38/17 441/9/17 +f 441/10/18 442/39/18 444/40/18 +f 443/41/19 444/40/19 446/42/19 +f 449/43/31 439/22/31 441/30/31 +f 448/44/21 434/34/21 433/33/21 +f 446/42/20 448/44/20 447/15/20 +f 441/10/29 443/19/29 449/45/29 +f 447/23/26 433/24/26 449/46/26 +f 449/47/27 437/21/27 439/22/27 +f 435/26/30 437/21/30 449/48/30 +f 445/17/23 447/23/23 449/49/23 +f 433/24/32 435/26/32 449/50/32 +f 443/19/28 445/17/28 449/51/28 +f 450/33/18 451/34/18 453/35/18 +f 453/35/19 455/36/19 454/5/19 +f 455/36/20 457/37/20 456/7/20 +f 456/7/21 457/37/21 459/38/21 +f 459/39/22 461/40/22 460/41/22 +f 461/40/25 463/42/25 462/14/25 +f 466/43/26 456/22/26 458/30/26 +f 465/44/17 451/34/17 450/33/17 +f 463/42/24 465/44/24 464/15/24 +f 458/10/32 460/19/32 466/45/32 +f 464/23/31 450/24/31 466/46/31 +f 466/47/23 454/21/23 456/22/23 +f 452/26/28 454/21/28 466/48/28 +f 462/17/27 464/23/27 466/49/27 +f 450/24/29 452/26/29 466/50/29 +f 460/19/30 462/17/30 466/51/30 +f 467/33/84 468/34/84 470/35/84 +f 469/3/87 470/35/87 472/36/87 +f 472/36/86 474/37/86 473/7/86 +f 473/7/79 474/37/79 476/38/79 +f 475/10/80 476/39/80 478/40/80 +f 478/40/81 480/42/81 479/14/81 +f 483/43/93 473/22/93 475/30/93 +f 482/44/83 468/34/83 467/33/83 +f 480/42/82 482/44/82 481/15/82 +f 475/10/91 477/19/91 483/45/91 +f 481/23/88 467/24/88 483/46/88 +f 483/47/89 471/21/89 473/22/89 +f 469/26/92 471/21/92 483/48/92 +f 479/17/85 481/23/85 483/49/85 +f 467/24/94 469/26/94 483/50/94 +f 477/19/90 479/17/90 483/51/90 +f 485/34/80 487/35/80 486/3/80 +f 487/35/81 489/36/81 488/5/81 +f 489/36/82 491/37/82 490/7/82 +f 490/7/83 491/37/83 493/38/83 +f 493/39/84 495/40/84 494/41/84 +f 495/40/87 497/42/87 496/14/87 +f 500/43/88 490/22/88 492/30/88 +f 499/44/79 485/34/79 484/33/79 +f 497/42/86 499/44/86 498/15/86 +f 492/10/94 494/19/94 500/45/94 +f 498/23/93 484/24/93 500/46/93 +f 500/47/85 488/21/85 490/22/85 +f 486/26/90 488/21/90 500/48/90 +f 496/17/89 498/23/89 500/49/89 +f 484/24/91 486/26/91 500/50/91 +f 494/19/92 496/17/92 500/51/92 +f 501/33/100 502/34/100 504/35/100 +f 503/3/103 504/35/103 506/36/103 +f 506/36/102 508/37/102 507/7/102 +f 507/7/95 508/37/95 510/38/95 +f 509/10/96 510/39/96 512/40/96 +f 511/41/97 512/40/97 514/42/97 +f 517/43/109 507/22/109 509/30/109 +f 516/44/99 502/34/99 501/33/99 +f 514/42/98 516/44/98 515/15/98 +f 509/10/107 511/19/107 517/45/107 +f 515/23/104 501/24/104 517/46/104 +f 517/47/105 505/21/105 507/22/105 +f 503/26/108 505/21/108 517/48/108 +f 513/17/101 515/23/101 517/49/101 +f 501/24/110 503/26/110 517/50/110 +f 511/19/106 513/17/106 517/51/106 +f 518/33/96 519/34/96 521/35/96 +f 521/35/97 523/36/97 522/5/97 +f 522/5/98 523/36/98 525/37/98 +f 524/7/99 525/37/99 527/38/99 +f 527/39/100 529/40/100 528/41/100 +f 528/41/103 529/40/103 531/42/103 +f 534/43/104 524/22/104 526/30/104 +f 533/44/95 519/34/95 518/33/95 +f 531/42/102 533/44/102 532/15/102 +f 526/10/110 528/19/110 534/45/110 +f 532/23/109 518/24/109 534/46/109 +f 534/47/101 522/21/101 524/22/101 +f 520/26/106 522/21/106 534/48/106 +f 530/17/105 532/23/105 534/49/105 +f 518/24/107 520/26/107 534/50/107 +f 528/19/108 530/17/108 534/51/108 +f 536/78/21 538/79/21 537/2/21 +f 537/2/22 538/79/22 540/80/22 +f 539/4/25 540/80/25 542/81/25 +f 542/81/24 544/82/24 543/8/24 +f 544/83/17 546/84/17 545/12/17 +f 546/84/18 548/85/18 547/13/18 +f 551/86/27 541/87/27 543/88/27 +f 549/16/20 550/89/20 536/78/20 +f 547/13/19 548/85/19 550/89/19 +f 543/11/31 545/90/31 551/91/31 +f 549/92/23 535/93/23 551/94/23 +f 551/95/30 539/96/30 541/87/30 +f 537/97/32 539/96/32 551/98/32 +f 547/99/28 549/92/28 551/100/28 +f 535/93/26 537/97/26 551/101/26 +f 545/90/29 547/99/29 551/102/29 +f 553/78/17 555/79/17 554/2/17 +f 554/2/18 555/79/18 557/80/18 +f 557/80/19 559/81/19 558/6/19 +f 559/81/20 561/82/20 560/8/20 +f 561/83/21 563/84/21 562/12/21 +f 562/12/22 563/84/22 565/85/22 +f 568/86/23 558/87/23 560/88/23 +f 566/16/24 567/89/24 553/78/24 +f 564/13/25 565/85/25 567/89/25 +f 560/11/26 562/90/26 568/91/26 +f 566/92/27 552/93/27 568/94/27 +f 568/95/28 556/96/28 558/87/28 +f 554/97/29 556/96/29 568/98/29 +f 564/99/30 566/92/30 568/100/30 +f 552/93/31 554/97/31 568/101/31 +f 562/90/32 564/99/32 568/102/32 +f 570/78/111 572/79/111 571/2/111 +f 571/2/112 572/79/112 574/80/112 +f 574/80/113 576/81/113 575/6/113 +f 576/81/114 578/82/114 577/8/114 +f 578/83/115 580/84/115 579/12/115 +f 580/84/116 582/85/116 581/13/116 +f 585/86/117 575/87/117 577/88/117 +f 584/89/118 570/78/118 569/1/118 +f 582/85/119 584/89/119 583/16/119 +f 577/11/120 579/90/120 585/91/120 +f 583/92/121 569/93/121 585/94/121 +f 585/95/122 573/96/122 575/87/122 +f 571/97/123 573/96/123 585/98/123 +f 581/99/124 583/92/124 585/100/124 +f 569/93/125 571/97/125 585/101/125 +f 579/90/126 581/99/126 585/102/126 +f 587/78/115 589/79/115 588/2/115 +f 588/2/116 589/79/116 591/80/116 +f 591/80/119 593/81/119 592/6/119 +f 593/81/118 595/82/118 594/8/118 +f 595/83/111 597/84/111 596/12/111 +f 597/84/112 599/85/112 598/13/112 +f 602/86/121 592/87/121 594/88/121 +f 600/16/114 601/89/114 587/78/114 +f 598/13/113 599/85/113 601/89/113 +f 594/11/125 596/90/125 602/91/125 +f 600/92/117 586/93/117 602/94/117 +f 602/95/124 590/96/124 592/87/124 +f 588/97/126 590/96/126 602/98/126 +f 598/99/122 600/92/122 602/100/122 +f 586/93/120 588/97/120 602/101/120 +f 596/90/123 598/99/123 602/102/123 +f 603/1/20 604/78/20 606/79/20 +f 605/2/21 606/79/21 608/80/21 +f 608/80/22 610/81/22 609/6/22 +f 610/81/25 612/82/25 611/8/25 +f 612/83/24 614/84/24 613/12/24 +f 613/12/17 614/84/17 616/85/17 +f 619/86/30 609/87/30 611/88/30 +f 617/16/19 618/89/19 604/78/19 +f 616/85/18 618/89/18 617/16/18 +f 611/11/27 613/90/27 619/91/27 +f 617/92/28 603/93/28 619/94/28 +f 619/95/32 607/96/32 609/87/32 +f 605/97/26 607/96/26 619/98/26 +f 615/99/29 617/92/29 619/100/29 +f 603/93/23 605/97/23 619/101/23 +f 613/90/31 615/99/31 619/102/31 +f 621/78/24 623/79/24 622/2/24 +f 623/79/17 625/80/17 624/4/17 +f 624/4/18 625/80/18 627/81/18 +f 627/81/19 629/82/19 628/8/19 +f 629/83/20 631/84/20 630/12/20 +f 631/84/21 633/85/21 632/13/21 +f 636/86/28 626/87/28 628/88/28 +f 634/16/25 635/89/25 621/78/25 +f 633/85/22 635/89/22 634/16/22 +f 628/11/23 630/90/23 636/91/23 +f 634/92/30 620/93/30 636/94/30 +f 636/95/29 624/96/29 626/87/29 +f 622/97/31 624/96/31 636/98/31 +f 632/99/32 634/92/32 636/100/32 +f 620/93/27 622/97/27 636/101/27 +f 630/90/26 632/99/26 636/102/26 +f 638/78/118 640/79/118 639/2/118 +f 640/79/111 642/80/111 641/4/111 +f 642/80/112 644/81/112 643/6/112 +f 644/81/113 646/82/113 645/8/113 +f 646/83/114 648/84/114 647/12/114 +f 647/12/115 648/84/115 650/85/115 +f 653/86/122 643/87/122 645/88/122 +f 652/89/119 638/78/119 637/1/119 +f 650/85/116 652/89/116 651/16/116 +f 645/11/117 647/90/117 653/91/117 +f 651/92/124 637/93/124 653/94/124 +f 653/95/123 641/96/123 643/87/123 +f 639/97/125 641/96/125 653/98/125 +f 649/99/126 651/92/126 653/100/126 +f 637/93/121 639/97/121 653/101/121 +f 647/90/120 649/99/120 653/102/120 +f 655/78/114 657/79/114 656/2/114 +f 656/2/115 657/79/115 659/80/115 +f 658/4/116 659/80/116 661/81/116 +f 660/6/119 661/81/119 663/82/119 +f 662/11/118 663/83/118 665/84/118 +f 664/12/111 665/84/111 667/85/111 +f 670/86/124 660/87/124 662/88/124 +f 669/89/113 655/78/113 654/1/113 +f 666/13/112 667/85/112 669/89/112 +f 662/11/121 664/90/121 670/91/121 +f 668/92/122 654/93/122 670/94/122 +f 670/95/126 658/96/126 660/87/126 +f 656/97/120 658/96/120 670/98/120 +f 666/99/123 668/92/123 670/100/123 +f 654/93/117 656/97/117 670/101/117 +f 664/90/125 666/99/125 670/102/125 +f 671/1/19 672/78/19 674/79/19 +f 674/79/20 676/80/20 675/4/20 +f 676/80/21 678/81/21 677/6/21 +f 678/81/22 680/82/22 679/8/22 +f 680/83/25 682/84/25 681/12/25 +f 682/84/24 684/85/24 683/13/24 +f 687/86/32 677/87/32 679/88/32 +f 685/16/18 686/89/18 672/78/18 +f 684/85/17 686/89/17 685/16/17 +f 679/11/30 681/90/30 687/91/30 +f 685/92/29 671/93/29 687/94/29 +f 687/95/26 675/96/26 677/87/26 +f 673/97/23 675/96/23 687/98/23 +f 683/99/31 685/92/31 687/100/31 +f 671/93/28 673/97/28 687/101/28 +f 681/90/27 683/99/27 687/102/27 +f 688/1/25 689/78/25 691/79/25 +f 690/2/24 691/79/24 693/80/24 +f 693/80/17 695/81/17 694/6/17 +f 695/81/18 697/82/18 696/8/18 +f 696/11/19 697/83/19 699/84/19 +f 699/84/20 701/85/20 700/13/20 +f 704/86/29 694/87/29 696/88/29 +f 702/16/22 703/89/22 689/78/22 +f 701/85/21 703/89/21 702/16/21 +f 696/11/28 698/90/28 704/91/28 +f 702/92/32 688/93/32 704/94/32 +f 704/95/31 692/96/31 694/87/31 +f 690/97/27 692/96/27 704/98/27 +f 700/99/26 702/92/26 704/100/26 +f 688/93/30 690/97/30 704/101/30 +f 698/90/23 700/99/23 704/102/23 +f 706/78/119 708/79/119 707/2/119 +f 708/79/118 710/80/118 709/4/118 +f 710/80/111 712/81/111 711/6/111 +f 711/6/112 712/81/112 714/82/112 +f 714/83/113 716/84/113 715/12/113 +f 716/84/114 718/85/114 717/13/114 +f 721/86/123 711/87/123 713/88/123 +f 719/16/116 720/89/116 706/78/116 +f 718/85/115 720/89/115 719/16/115 +f 713/11/122 715/90/122 721/91/122 +f 719/92/126 705/93/126 721/94/126 +f 721/95/125 709/96/125 711/87/125 +f 707/97/121 709/96/121 721/98/121 +f 717/99/120 719/92/120 721/100/120 +f 705/93/124 707/97/124 721/101/124 +f 715/90/117 717/99/117 721/102/117 +f 723/78/113 725/79/113 724/2/113 +f 724/2/114 725/79/114 727/80/114 +f 726/4/115 727/80/115 729/81/115 +f 728/6/116 729/81/116 731/82/116 +f 731/83/119 733/84/119 732/12/119 +f 733/84/118 735/85/118 734/13/118 +f 738/86/126 728/87/126 730/88/126 +f 736/16/112 737/89/112 723/78/112 +f 734/13/111 735/85/111 737/89/111 +f 730/11/124 732/90/124 738/91/124 +f 736/92/123 722/93/123 738/94/123 +f 738/95/120 726/96/120 728/87/120 +f 724/97/117 726/96/117 738/98/117 +f 734/99/125 736/92/125 738/100/125 +f 722/93/122 724/97/122 738/101/122 +f 732/90/121 734/99/121 738/102/121 +f 739/1/18 740/78/18 742/79/18 +f 741/2/19 742/79/19 744/80/19 +f 744/80/20 746/81/20 745/6/20 +f 745/6/21 746/81/21 748/82/21 +f 748/83/22 750/84/22 749/12/22 +f 750/84/25 752/85/25 751/13/25 +f 755/86/26 745/87/26 747/88/26 +f 753/16/17 754/89/17 740/78/17 +f 752/85/24 754/89/24 753/16/24 +f 747/11/32 749/90/32 755/91/32 +f 753/92/31 739/93/31 755/94/31 +f 755/95/23 743/96/23 745/87/23 +f 741/97/28 743/96/28 755/98/28 +f 751/99/27 753/92/27 755/100/27 +f 739/93/29 741/97/29 755/101/29 +f 749/90/30 751/99/30 755/102/30 +f 757/78/22 759/79/22 758/2/22 +f 758/2/25 759/79/25 761/80/25 +f 760/4/24 761/80/24 763/81/24 +f 762/6/17 763/81/17 765/82/17 +f 764/11/18 765/83/18 767/84/18 +f 766/12/19 767/84/19 769/85/19 +f 772/86/31 762/87/31 764/88/31 +f 770/16/21 771/89/21 757/78/21 +f 768/13/20 769/85/20 771/89/20 +f 764/11/29 766/90/29 772/91/29 +f 770/92/26 756/93/26 772/94/26 +f 772/95/27 760/96/27 762/87/27 +f 758/97/30 760/96/30 772/98/30 +f 768/99/23 770/92/23 772/100/23 +f 756/93/32 758/97/32 772/101/32 +f 766/90/28 768/99/28 772/102/28 +f 774/78/116 776/79/116 775/2/116 +f 776/79/119 778/80/119 777/4/119 +f 778/80/118 780/81/118 779/6/118 +f 780/81/111 782/82/111 781/8/111 +f 782/83/112 784/84/112 783/12/112 +f 784/84/113 786/85/113 785/13/113 +f 789/86/125 779/87/125 781/88/125 +f 787/16/115 788/89/115 774/78/115 +f 786/85/114 788/89/114 787/16/114 +f 781/11/123 783/90/123 789/91/123 +f 787/92/120 773/93/120 789/94/120 +f 789/95/121 777/96/121 779/87/121 +f 775/97/124 777/96/124 789/98/124 +f 785/99/117 787/92/117 789/100/117 +f 773/93/126 775/97/126 789/101/126 +f 783/90/122 785/99/122 789/102/122 +f 791/78/112 793/79/112 792/2/112 +f 792/2/113 793/79/113 795/80/113 +f 794/4/114 795/80/114 797/81/114 +f 797/81/115 799/82/115 798/8/115 +f 799/83/116 801/84/116 800/12/116 +f 801/84/119 803/85/119 802/13/119 +f 806/86/120 796/87/120 798/88/120 +f 804/16/111 805/89/111 791/78/111 +f 802/13/118 803/85/118 805/89/118 +f 798/11/126 800/90/126 806/91/126 +f 804/92/125 790/93/125 806/94/125 +f 806/95/117 794/96/117 796/87/117 +f 792/97/122 794/96/122 806/98/122 +f 802/99/121 804/92/121 806/100/121 +f 790/93/123 792/97/123 806/101/123 +f 800/90/124 802/99/124 806/102/124 +f 808/103/1 810/104/1 809/2/1 +f 810/104/2 812/105/2 811/4/2 +f 811/4/3 812/105/3 814/106/3 +f 813/6/4 814/106/4 816/107/4 +f 816/108/5 818/109/5 817/12/5 +f 818/109/6 820/110/6 819/13/6 +f 822/111/7 808/103/7 807/1/7 +f 820/110/8 822/111/8 821/16/8 +f 819/99/9 823/112/9 817/90/9 +f 823/113/10 811/96/10 813/87/10 +f 821/92/11 807/93/11 823/114/11 +f 807/93/12 809/97/12 823/115/12 +f 823/116/13 815/11/13 817/90/13 +f 809/97/14 811/96/14 823/117/14 +f 815/88/15 823/118/15 813/87/15 +f 819/99/16 821/92/16 823/119/16 +f 1/33/1 2/1/1 3/3/1 +f 3/3/2 4/2/2 5/5/2 +f 5/5/3 6/4/3 7/7/3 +f 7/7/4 8/6/4 9/9/4 +f 11/41/5 9/10/5 12/12/5 +f 11/41/6 12/12/6 13/14/6 +f 1/33/7 15/15/7 2/1/7 +f 13/14/8 14/13/8 15/15/8 +f 20/3/17 18/33/17 21/35/17 +f 20/3/18 21/35/18 22/5/18 +f 24/7/19 22/5/19 25/37/19 +f 24/7/20 25/37/20 26/9/20 +f 26/10/21 27/39/21 28/41/21 +f 28/41/22 29/40/22 30/14/22 +f 32/15/24 33/44/24 18/33/24 +f 32/15/25 30/14/25 33/44/25 +f 35/73/33 36/52/33 37/54/33 +f 37/54/34 38/53/34 39/56/34 +f 39/56/35 40/55/35 41/58/35 +f 41/58/36 42/57/36 43/60/36 +f 43/60/37 44/59/37 45/61/37 +f 45/61/38 46/30/38 47/62/38 +f 47/62/39 48/24/39 49/63/39 +f 49/63/40 50/10/40 51/64/40 +f 51/64/41 52/33/41 53/65/41 +f 53/120/42 54/66/42 55/68/42 +f 40/71/43 38/121/43 36/122/43 +f 36/122/43 58/123/43 56/69/43 +f 56/69/43 54/124/43 52/125/43 +f 52/125/43 50/126/43 48/70/43 +f 48/70/43 46/127/43 44/128/43 +f 44/128/43 42/129/43 40/71/43 +f 40/71/43 36/122/43 56/69/43 +f 56/69/43 52/125/43 48/70/43 +f 48/70/43 44/128/43 40/71/43 +f 57/74/44 58/72/44 35/73/44 +f 55/68/45 56/67/45 57/74/45 +f 57/77/46 35/130/46 37/131/46 +f 37/131/46 39/132/46 41/75/46 +f 41/75/46 43/133/46 45/134/46 +f 45/134/46 47/135/46 49/136/46 +f 49/136/46 51/137/46 53/76/46 +f 53/76/46 55/138/46 57/77/46 +f 57/77/46 37/131/46 41/75/46 +f 41/75/46 45/134/46 49/136/46 +f 49/136/46 53/76/46 41/75/46 +f 59/33/5 60/1/5 61/3/5 +f 61/3/6 62/2/6 63/5/6 +f 63/5/8 64/4/8 65/7/8 +f 67/9/7 65/7/7 68/8/7 +f 69/41/1 67/10/1 70/12/1 +f 71/14/2 69/41/2 72/13/2 +f 73/15/4 74/16/4 59/33/4 +f 73/15/3 71/14/3 74/16/3 +f 76/33/47 77/1/47 78/3/47 +f 78/3/48 79/2/48 80/5/48 +f 82/7/49 80/5/49 83/6/49 +f 82/7/50 83/6/50 84/9/50 +f 84/10/51 85/11/51 86/41/51 +f 86/41/52 87/12/52 88/14/52 +f 90/15/53 91/16/53 76/33/53 +f 88/14/54 89/13/54 90/15/54 +f 93/33/51 94/1/51 95/3/51 +f 95/3/52 96/2/52 97/5/52 +f 97/5/54 98/4/54 99/7/54 +f 99/7/53 100/6/53 101/9/53 +f 101/10/47 102/11/47 103/41/47 +f 105/14/48 103/41/48 106/13/48 +f 93/33/50 107/15/50 94/1/50 +f 107/15/49 105/14/49 108/16/49 +f 110/33/63 111/1/63 112/3/63 +f 112/3/64 113/2/64 114/5/64 +f 114/5/65 115/4/65 116/7/65 +f 116/7/66 117/6/66 118/9/66 +f 118/10/67 119/11/67 120/41/67 +f 122/14/68 120/41/68 123/13/68 +f 110/33/69 124/15/69 111/1/69 +f 122/14/70 123/13/70 124/15/70 +f 127/33/67 128/1/67 129/3/67 +f 129/3/68 130/2/68 131/5/68 +f 133/7/70 131/5/70 134/6/70 +f 135/9/69 133/7/69 136/8/69 +f 135/10/63 136/11/63 137/41/63 +f 137/41/64 138/12/64 139/14/64 +f 141/15/66 142/16/66 127/33/66 +f 141/15/65 139/14/65 142/16/65 +f 146/3/21 144/33/21 147/35/21 +f 148/5/22 146/3/22 149/36/22 +f 150/7/25 148/5/25 151/37/25 +f 150/7/24 151/37/24 152/9/24 +f 152/10/17 153/39/17 154/41/17 +f 154/41/18 155/40/18 156/14/18 +f 144/33/20 158/15/20 145/34/20 +f 158/15/19 156/14/19 159/44/19 +f 163/3/79 161/33/79 164/35/79 +f 163/3/80 164/35/80 165/5/80 +f 167/7/81 165/5/81 168/37/81 +f 167/7/82 168/37/82 169/9/82 +f 169/10/83 170/39/83 171/41/83 +f 173/14/84 171/41/84 174/42/84 +f 175/15/86 176/44/86 161/33/86 +f 175/15/87 173/14/87 176/44/87 +f 180/3/83 178/33/83 181/35/83 +f 180/3/84 181/35/84 182/5/84 +f 184/7/87 182/5/87 185/37/87 +f 184/7/86 185/37/86 186/9/86 +f 186/10/79 187/39/79 188/41/79 +f 190/14/80 188/41/80 191/42/80 +f 178/33/82 192/15/82 179/34/82 +f 190/14/81 191/42/81 192/15/81 +f 195/33/95 196/34/95 197/3/95 +f 197/3/96 198/35/96 199/5/96 +f 201/7/97 199/5/97 202/37/97 +f 203/9/98 201/7/98 204/38/98 +f 203/10/99 204/39/99 205/41/99 +f 205/41/100 206/40/100 207/14/100 +f 209/15/102 210/44/102 195/33/102 +f 209/15/103 207/14/103 210/44/103 +f 214/3/99 212/33/99 215/35/99 +f 214/3/100 215/35/100 216/5/100 +f 216/5/103 217/36/103 218/7/103 +f 218/7/102 219/37/102 220/9/102 +f 220/10/95 221/39/95 222/41/95 +f 224/14/96 222/41/96 225/42/96 +f 226/15/98 227/44/98 212/33/98 +f 224/14/97 225/42/97 226/15/97 +f 229/33/24 230/34/24 231/3/24 +f 233/5/17 231/3/17 234/36/17 +f 233/5/18 234/36/18 235/7/18 +f 237/9/19 235/7/19 238/38/19 +f 239/41/20 237/10/20 240/40/20 +f 239/41/21 240/40/21 241/14/21 +f 243/15/25 244/44/25 229/33/25 +f 241/14/22 242/42/22 243/15/22 +f 246/33/20 247/34/20 248/3/20 +f 250/5/21 248/3/21 251/36/21 +f 252/7/22 250/5/22 253/37/22 +f 252/7/25 253/37/25 254/9/25 +f 256/41/24 254/10/24 257/40/24 +f 258/14/17 256/41/17 259/42/17 +f 260/15/19 261/44/19 246/33/19 +f 258/14/18 259/42/18 260/15/18 +f 265/3/86 263/33/86 266/35/86 +f 267/5/79 265/3/79 268/36/79 +f 269/7/80 267/5/80 270/37/80 +f 271/9/81 269/7/81 272/38/81 +f 271/10/82 272/39/82 273/41/82 +f 273/41/83 274/40/83 275/14/83 +f 277/15/87 278/44/87 263/33/87 +f 275/14/84 276/42/84 277/15/84 +f 282/3/82 280/33/82 283/35/82 +f 282/3/83 283/35/83 284/5/83 +f 284/5/84 285/36/84 286/7/84 +f 288/9/87 286/7/87 289/38/87 +f 290/41/86 288/10/86 291/40/86 +f 290/41/79 291/40/79 292/14/79 +f 294/15/81 295/44/81 280/33/81 +f 292/14/80 293/42/80 294/15/80 +f 297/33/102 298/34/102 299/3/102 +f 299/3/95 300/35/95 301/5/95 +f 301/5/96 302/36/96 303/7/96 +f 305/9/97 303/7/97 306/38/97 +f 307/41/98 305/10/98 308/40/98 +f 307/41/99 308/40/99 309/14/99 +f 297/33/103 311/15/103 298/34/103 +f 309/14/100 310/42/100 311/15/100 +f 316/3/98 314/33/98 317/35/98 +f 318/5/99 316/3/99 319/36/99 +f 318/5/100 319/36/100 320/7/100 +f 322/9/103 320/7/103 323/38/103 +f 324/41/102 322/10/102 325/40/102 +f 326/14/95 324/41/95 327/42/95 +f 328/15/97 329/44/97 314/33/97 +f 326/14/96 327/42/96 328/15/96 +f 333/3/25 331/33/25 334/35/25 +f 333/3/24 334/35/24 335/5/24 +f 335/5/17 336/36/17 337/7/17 +f 337/7/18 338/37/18 339/9/18 +f 341/41/19 339/10/19 342/40/19 +f 343/14/20 341/41/20 344/42/20 +f 345/15/22 346/44/22 331/33/22 +f 343/14/21 344/42/21 345/15/21 +f 350/3/19 348/33/19 351/35/19 +f 350/3/20 351/35/20 352/5/20 +f 352/5/21 353/36/21 354/7/21 +f 356/9/22 354/7/22 357/38/22 +f 358/41/25 356/10/25 359/40/25 +f 358/41/24 359/40/24 360/14/24 +f 362/15/18 363/44/18 348/33/18 +f 362/15/17 360/14/17 363/44/17 +f 365/33/87 366/34/87 367/3/87 +f 367/3/86 368/35/86 369/5/86 +f 371/7/79 369/5/79 372/37/79 +f 373/9/80 371/7/80 374/38/80 +f 375/41/81 373/10/81 376/40/81 +f 375/41/82 376/40/82 377/14/82 +f 379/15/84 380/44/84 365/33/84 +f 377/14/83 378/42/83 379/15/83 +f 384/3/81 382/33/81 385/35/81 +f 386/5/82 384/3/82 387/36/82 +f 386/5/83 387/36/83 388/7/83 +f 390/9/84 388/7/84 391/38/84 +f 392/41/87 390/10/87 393/40/87 +f 392/41/86 393/40/86 394/14/86 +f 396/15/80 397/44/80 382/33/80 +f 396/15/79 394/14/79 397/44/79 +f 401/3/103 399/33/103 402/35/103 +f 401/3/102 402/35/102 403/5/102 +f 403/5/95 404/36/95 405/7/95 +f 405/7/96 406/37/96 407/9/96 +f 409/41/97 407/10/97 410/40/97 +f 409/41/98 410/40/98 411/14/98 +f 413/15/100 414/44/100 399/33/100 +f 411/14/99 412/42/99 413/15/99 +f 416/33/97 417/34/97 418/3/97 +f 418/3/98 419/35/98 420/5/98 +f 420/5/99 421/36/99 422/7/99 +f 422/7/100 423/37/100 424/9/100 +f 426/41/103 424/10/103 427/40/103 +f 426/41/102 427/40/102 428/14/102 +f 416/33/96 430/15/96 417/34/96 +f 428/14/95 429/42/95 430/15/95 +f 433/33/22 434/34/22 435/3/22 +f 437/5/25 435/3/25 438/36/25 +f 437/5/24 438/36/24 439/7/24 +f 439/7/17 440/37/17 441/9/17 +f 443/41/18 441/10/18 444/40/18 +f 445/14/19 443/41/19 446/42/19 +f 447/15/21 448/44/21 433/33/21 +f 445/14/20 446/42/20 447/15/20 +f 452/3/18 450/33/18 453/35/18 +f 452/3/19 453/35/19 454/5/19 +f 454/5/20 455/36/20 456/7/20 +f 458/9/21 456/7/21 459/38/21 +f 458/10/22 459/39/22 460/41/22 +f 460/41/25 461/40/25 462/14/25 +f 464/15/17 465/44/17 450/33/17 +f 462/14/24 463/42/24 464/15/24 +f 469/3/84 467/33/84 470/35/84 +f 471/5/87 469/3/87 472/36/87 +f 471/5/86 472/36/86 473/7/86 +f 475/9/79 473/7/79 476/38/79 +f 477/41/80 475/10/80 478/40/80 +f 477/41/81 478/40/81 479/14/81 +f 481/15/83 482/44/83 467/33/83 +f 479/14/82 480/42/82 481/15/82 +f 484/33/80 485/34/80 486/3/80 +f 486/3/81 487/35/81 488/5/81 +f 488/5/82 489/36/82 490/7/82 +f 492/9/83 490/7/83 493/38/83 +f 492/10/84 493/39/84 494/41/84 +f 494/41/87 495/40/87 496/14/87 +f 498/15/79 499/44/79 484/33/79 +f 496/14/86 497/42/86 498/15/86 +f 503/3/100 501/33/100 504/35/100 +f 505/5/103 503/3/103 506/36/103 +f 505/5/102 506/36/102 507/7/102 +f 509/9/95 507/7/95 510/38/95 +f 511/41/96 509/10/96 512/40/96 +f 513/14/97 511/41/97 514/42/97 +f 515/15/99 516/44/99 501/33/99 +f 513/14/98 514/42/98 515/15/98 +f 520/3/96 518/33/96 521/35/96 +f 520/3/97 521/35/97 522/5/97 +f 524/7/98 522/5/98 525/37/98 +f 526/9/99 524/7/99 527/38/99 +f 526/10/100 527/39/100 528/41/100 +f 530/14/103 528/41/103 531/42/103 +f 532/15/95 533/44/95 518/33/95 +f 530/14/102 531/42/102 532/15/102 +f 535/1/21 536/78/21 537/2/21 +f 539/4/22 537/2/22 540/80/22 +f 541/6/25 539/4/25 542/81/25 +f 541/6/24 542/81/24 543/8/24 +f 543/11/17 544/83/17 545/12/17 +f 545/12/18 546/84/18 547/13/18 +f 535/1/20 549/16/20 536/78/20 +f 549/16/19 547/13/19 550/89/19 +f 552/1/17 553/78/17 554/2/17 +f 556/4/18 554/2/18 557/80/18 +f 556/4/19 557/80/19 558/6/19 +f 558/6/20 559/81/20 560/8/20 +f 560/11/21 561/83/21 562/12/21 +f 564/13/22 562/12/22 565/85/22 +f 552/1/24 566/16/24 553/78/24 +f 566/16/25 564/13/25 567/89/25 +f 569/1/111 570/78/111 571/2/111 +f 573/4/112 571/2/112 574/80/112 +f 573/4/113 574/80/113 575/6/113 +f 575/6/114 576/81/114 577/8/114 +f 577/11/115 578/83/115 579/12/115 +f 579/12/116 580/84/116 581/13/116 +f 583/16/118 584/89/118 569/1/118 +f 581/13/119 582/85/119 583/16/119 +f 586/1/115 587/78/115 588/2/115 +f 590/4/116 588/2/116 591/80/116 +f 590/4/119 591/80/119 592/6/119 +f 592/6/118 593/81/118 594/8/118 +f 594/11/111 595/83/111 596/12/111 +f 596/12/112 597/84/112 598/13/112 +f 586/1/114 600/16/114 587/78/114 +f 600/16/113 598/13/113 601/89/113 +f 605/2/20 603/1/20 606/79/20 +f 607/4/21 605/2/21 608/80/21 +f 607/4/22 608/80/22 609/6/22 +f 609/6/25 610/81/25 611/8/25 +f 611/11/24 612/83/24 613/12/24 +f 615/13/17 613/12/17 616/85/17 +f 603/1/19 617/16/19 604/78/19 +f 615/13/18 616/85/18 617/16/18 +f 620/1/24 621/78/24 622/2/24 +f 622/2/17 623/79/17 624/4/17 +f 626/6/18 624/4/18 627/81/18 +f 626/6/19 627/81/19 628/8/19 +f 628/11/20 629/83/20 630/12/20 +f 630/12/21 631/84/21 632/13/21 +f 620/1/25 634/16/25 621/78/25 +f 632/13/22 633/85/22 634/16/22 +f 637/1/118 638/78/118 639/2/118 +f 639/2/111 640/79/111 641/4/111 +f 641/4/112 642/80/112 643/6/112 +f 643/6/113 644/81/113 645/8/113 +f 645/11/114 646/83/114 647/12/114 +f 649/13/115 647/12/115 650/85/115 +f 651/16/119 652/89/119 637/1/119 +f 649/13/116 650/85/116 651/16/116 +f 654/1/114 655/78/114 656/2/114 +f 658/4/115 656/2/115 659/80/115 +f 660/6/116 658/4/116 661/81/116 +f 662/8/119 660/6/119 663/82/119 +f 664/12/118 662/11/118 665/84/118 +f 666/13/111 664/12/111 667/85/111 +f 668/16/113 669/89/113 654/1/113 +f 668/16/112 666/13/112 669/89/112 +f 673/2/19 671/1/19 674/79/19 +f 673/2/20 674/79/20 675/4/20 +f 675/4/21 676/80/21 677/6/21 +f 677/6/22 678/81/22 679/8/22 +f 679/11/25 680/83/25 681/12/25 +f 681/12/24 682/84/24 683/13/24 +f 671/1/18 685/16/18 672/78/18 +f 683/13/17 684/85/17 685/16/17 +f 690/2/25 688/1/25 691/79/25 +f 692/4/24 690/2/24 693/80/24 +f 692/4/17 693/80/17 694/6/17 +f 694/6/18 695/81/18 696/8/18 +f 698/12/19 696/11/19 699/84/19 +f 698/12/20 699/84/20 700/13/20 +f 688/1/22 702/16/22 689/78/22 +f 700/13/21 701/85/21 702/16/21 +f 705/1/119 706/78/119 707/2/119 +f 707/2/118 708/79/118 709/4/118 +f 709/4/111 710/80/111 711/6/111 +f 713/8/112 711/6/112 714/82/112 +f 713/11/113 714/83/113 715/12/113 +f 715/12/114 716/84/114 717/13/114 +f 705/1/116 719/16/116 706/78/116 +f 717/13/115 718/85/115 719/16/115 +f 722/1/113 723/78/113 724/2/113 +f 726/4/114 724/2/114 727/80/114 +f 728/6/115 726/4/115 729/81/115 +f 730/8/116 728/6/116 731/82/116 +f 730/11/119 731/83/119 732/12/119 +f 732/12/118 733/84/118 734/13/118 +f 722/1/112 736/16/112 723/78/112 +f 736/16/111 734/13/111 737/89/111 +f 741/2/18 739/1/18 742/79/18 +f 743/4/19 741/2/19 744/80/19 +f 743/4/20 744/80/20 745/6/20 +f 747/8/21 745/6/21 748/82/21 +f 747/11/22 748/83/22 749/12/22 +f 749/12/25 750/84/25 751/13/25 +f 739/1/17 753/16/17 740/78/17 +f 751/13/24 752/85/24 753/16/24 +f 756/1/22 757/78/22 758/2/22 +f 760/4/25 758/2/25 761/80/25 +f 762/6/24 760/4/24 763/81/24 +f 764/8/17 762/6/17 765/82/17 +f 766/12/18 764/11/18 767/84/18 +f 768/13/19 766/12/19 769/85/19 +f 756/1/21 770/16/21 757/78/21 +f 770/16/20 768/13/20 771/89/20 +f 773/1/116 774/78/116 775/2/116 +f 775/2/119 776/79/119 777/4/119 +f 777/4/118 778/80/118 779/6/118 +f 779/6/111 780/81/111 781/8/111 +f 781/11/112 782/83/112 783/12/112 +f 783/12/113 784/84/113 785/13/113 +f 773/1/115 787/16/115 774/78/115 +f 785/13/114 786/85/114 787/16/114 +f 790/1/112 791/78/112 792/2/112 +f 794/4/113 792/2/113 795/80/113 +f 796/6/114 794/4/114 797/81/114 +f 796/6/115 797/81/115 798/8/115 +f 798/11/116 799/83/116 800/12/116 +f 800/12/119 801/84/119 802/13/119 +f 790/1/111 804/16/111 791/78/111 +f 804/16/118 802/13/118 805/89/118 +f 807/1/1 808/103/1 809/2/1 +f 809/2/2 810/104/2 811/4/2 +f 813/6/3 811/4/3 814/106/3 +f 815/8/4 813/6/4 816/107/4 +f 815/11/5 816/108/5 817/12/5 +f 817/12/6 818/109/6 819/13/6 +f 821/16/7 822/111/7 807/1/7 +f 819/13/8 820/110/8 821/16/8 diff --git a/assets/hbm/textures/blocks/balefire.png b/assets/hbm/textures/blocks/balefire.png new file mode 100644 index 000000000..c31465fd9 Binary files /dev/null and b/assets/hbm/textures/blocks/balefire.png differ diff --git a/assets/hbm/textures/blocks/balefire.png.mcmeta b/assets/hbm/textures/blocks/balefire.png.mcmeta new file mode 100644 index 000000000..df9cfce6e --- /dev/null +++ b/assets/hbm/textures/blocks/balefire.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": { } +} diff --git a/assets/hbm/textures/blocks/block_starmetal.png b/assets/hbm/textures/blocks/block_starmetal.png new file mode 100644 index 000000000..80ecbca28 Binary files /dev/null and b/assets/hbm/textures/blocks/block_starmetal.png differ diff --git a/assets/hbm/textures/blocks/chlorine_gas.png b/assets/hbm/textures/blocks/chlorine_gas.png index ee75f37c8..03009bc29 100644 Binary files a/assets/hbm/textures/blocks/chlorine_gas.png and b/assets/hbm/textures/blocks/chlorine_gas.png differ diff --git a/assets/hbm/textures/blocks/cluster_blank.png b/assets/hbm/textures/blocks/cluster_blank.png new file mode 100644 index 000000000..849d53795 Binary files /dev/null and b/assets/hbm/textures/blocks/cluster_blank.png differ diff --git a/assets/hbm/textures/blocks/deco_aluminium_alt.png b/assets/hbm/textures/blocks/deco_aluminium_alt.png deleted file mode 100644 index 4a19c8524..000000000 Binary files a/assets/hbm/textures/blocks/deco_aluminium_alt.png and /dev/null differ diff --git a/assets/hbm/textures/blocks/deco_beryllium_alt.png b/assets/hbm/textures/blocks/deco_beryllium_alt.png deleted file mode 100644 index 79d56d7d7..000000000 Binary files a/assets/hbm/textures/blocks/deco_beryllium_alt.png and /dev/null differ diff --git a/assets/hbm/textures/blocks/deco_blank_alt.png b/assets/hbm/textures/blocks/deco_blank_alt.png deleted file mode 100644 index a53e6d5aa..000000000 Binary files a/assets/hbm/textures/blocks/deco_blank_alt.png and /dev/null differ diff --git a/assets/hbm/textures/blocks/deco_lead_alt.png b/assets/hbm/textures/blocks/deco_lead_alt.png deleted file mode 100644 index 9a66b7d07..000000000 Binary files a/assets/hbm/textures/blocks/deco_lead_alt.png and /dev/null differ diff --git a/assets/hbm/textures/blocks/deco_red_copper_alt.png b/assets/hbm/textures/blocks/deco_red_copper_alt.png deleted file mode 100644 index 55a9996ed..000000000 Binary files a/assets/hbm/textures/blocks/deco_red_copper_alt.png and /dev/null differ diff --git a/assets/hbm/textures/blocks/launch_table.png b/assets/hbm/textures/blocks/launch_table.png new file mode 100644 index 000000000..5ffd15b90 Binary files /dev/null and b/assets/hbm/textures/blocks/launch_table.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_aluminium.png b/assets/hbm/textures/blocks/ore_meteor_aluminium.png new file mode 100644 index 000000000..f1215f2b0 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_aluminium.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_copper.png b/assets/hbm/textures/blocks/ore_meteor_copper.png new file mode 100644 index 000000000..c587921ab Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_copper.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_lead.png b/assets/hbm/textures/blocks/ore_meteor_lead.png new file mode 100644 index 000000000..b7a5c3e14 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_lead.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_lithium.png b/assets/hbm/textures/blocks/ore_meteor_lithium.png new file mode 100644 index 000000000..616aafc8a Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_lithium.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_starmetal.png b/assets/hbm/textures/blocks/ore_meteor_starmetal.png new file mode 100644 index 000000000..27e7e04a0 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_starmetal.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_sulfur.png b/assets/hbm/textures/blocks/ore_meteor_sulfur.png new file mode 100644 index 000000000..8bd146f99 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_sulfur.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_thorium.png b/assets/hbm/textures/blocks/ore_meteor_thorium.png new file mode 100644 index 000000000..887dd2aa6 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_thorium.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_titanium.png b/assets/hbm/textures/blocks/ore_meteor_titanium.png new file mode 100644 index 000000000..f7313c777 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_titanium.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_tungsten.png b/assets/hbm/textures/blocks/ore_meteor_tungsten.png new file mode 100644 index 000000000..b65cfa735 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_tungsten.png differ diff --git a/assets/hbm/textures/blocks/ore_meteor_uranium.png b/assets/hbm/textures/blocks/ore_meteor_uranium.png new file mode 100644 index 000000000..458462f85 Binary files /dev/null and b/assets/hbm/textures/blocks/ore_meteor_uranium.png differ diff --git a/assets/hbm/textures/blocks/radiobox.png b/assets/hbm/textures/blocks/radiobox.png index e9cba8f26..7ee025188 100644 Binary files a/assets/hbm/textures/blocks/radiobox.png and b/assets/hbm/textures/blocks/radiobox.png differ diff --git a/assets/hbm/textures/blocks/reinforced_brick.png b/assets/hbm/textures/blocks/reinforced_brick.png index 40ee714c7..7fa987c6b 100644 Binary files a/assets/hbm/textures/blocks/reinforced_brick.png and b/assets/hbm/textures/blocks/reinforced_brick.png differ diff --git a/assets/hbm/textures/blocks/steel_beam.png b/assets/hbm/textures/blocks/steel_beam.png index 8745553d7..2b6aa158d 100644 Binary files a/assets/hbm/textures/blocks/steel_beam.png and b/assets/hbm/textures/blocks/steel_beam.png differ diff --git a/assets/hbm/textures/items/ammo_rocket_toxic.png b/assets/hbm/textures/items/ammo_rocket_toxic.png new file mode 100644 index 000000000..2e1ea5f1a Binary files /dev/null and b/assets/hbm/textures/items/ammo_rocket_toxic.png differ diff --git a/assets/hbm/textures/items/ballistite.png b/assets/hbm/textures/items/ballistite.png new file mode 100644 index 000000000..f15d0ac8a Binary files /dev/null and b/assets/hbm/textures/items/ballistite.png differ diff --git a/assets/hbm/textures/items/chem_icon_ELECTROLYSIS.png b/assets/hbm/textures/items/chem_icon_ELECTROLYSIS.png new file mode 100644 index 000000000..e0f0ea8fa Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_ELECTROLYSIS.png differ diff --git a/assets/hbm/textures/items/chem_icon_SOLID_FUEL.png b/assets/hbm/textures/items/chem_icon_SOLID_FUEL.png new file mode 100644 index 000000000..728cf986c Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_SOLID_FUEL.png differ diff --git a/assets/hbm/textures/items/chem_icon_XENON.png b/assets/hbm/textures/items/chem_icon_XENON.png new file mode 100644 index 000000000..e1a0df961 Binary files /dev/null and b/assets/hbm/textures/items/chem_icon_XENON.png differ diff --git a/assets/hbm/textures/items/fragment_blank.png b/assets/hbm/textures/items/fragment_blank.png new file mode 100644 index 000000000..cc7e13123 Binary files /dev/null and b/assets/hbm/textures/items/fragment_blank.png differ diff --git a/assets/hbm/textures/models/balefire.png b/assets/hbm/textures/models/balefire.png new file mode 100644 index 000000000..e554239c8 Binary files /dev/null and b/assets/hbm/textures/models/balefire.png differ diff --git a/assets/hbm/textures/models/missile_parts/launch_table.png b/assets/hbm/textures/models/missile_parts/launch_table.png index 182f562e9..fe9c58885 100644 Binary files a/assets/hbm/textures/models/missile_parts/launch_table.png and b/assets/hbm/textures/models/missile_parts/launch_table.png differ diff --git a/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multi.png b/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multi.png new file mode 100644 index 000000000..8b8f772f3 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multi.png differ diff --git a/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multier.png b/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multier.png new file mode 100644 index 000000000..6b0e4c3ca Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/thrusters/mp_t_20_solid_multier.png differ diff --git a/assets/hbm/textures/models/missile_parts/warheads/mp_w_10_cloud.png b/assets/hbm/textures/models/missile_parts/warheads/mp_w_10_cloud.png new file mode 100644 index 000000000..b04fba285 Binary files /dev/null and b/assets/hbm/textures/models/missile_parts/warheads/mp_w_10_cloud.png differ diff --git a/assets/hbm/textures/models/missile_parts/warheads/mp_w_15_balefire.png b/assets/hbm/textures/models/missile_parts/warheads/mp_w_15_balefire.png index 0f61c4e67..1e2ea303e 100644 Binary files a/assets/hbm/textures/models/missile_parts/warheads/mp_w_15_balefire.png and b/assets/hbm/textures/models/missile_parts/warheads/mp_w_15_balefire.png differ diff --git a/assets/hbm/textures/models/soyuz/payload.png b/assets/hbm/textures/models/soyuz/payload.png index 085d85bc4..c6acfde21 100644 Binary files a/assets/hbm/textures/models/soyuz/payload.png and b/assets/hbm/textures/models/soyuz/payload.png differ diff --git a/assets/hbm/textures/models/soyuz/payloadblocks.png b/assets/hbm/textures/models/soyuz/payloadblocks.png index 224879771..0240dbc5f 100644 Binary files a/assets/hbm/textures/models/soyuz/payloadblocks.png and b/assets/hbm/textures/models/soyuz/payloadblocks.png differ diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index c0e25136d..1314cc461 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -67,6 +67,17 @@ public class ModBlocks { public static Block ore_nether_fire; public static Block ore_nether_schrabidium; + public static Block ore_meteor_uranium; + public static Block ore_meteor_thorium; + public static Block ore_meteor_titanium; + public static Block ore_meteor_sulfur; + public static Block ore_meteor_copper; + public static Block ore_meteor_tungsten; + public static Block ore_meteor_aluminium; + public static Block ore_meteor_lead; + public static Block ore_meteor_lithium; + public static Block ore_meteor_starmetal; + public static Block ore_australium; public static Block ore_weidanium; public static Block ore_reiium; @@ -104,6 +115,7 @@ public class ModBlocks { public static Block block_magnetized_tungsten; public static Block block_combine_steel; public static Block block_desh; + public static Block block_starmetal; public static Block block_yellowcake; public static Block block_australium; @@ -429,6 +441,8 @@ public class ModBlocks { public static Block fwatz_plasma; public static final int guiID_fwatz_multiblock = 33; + public static Block balefire; + public static Block ams_base; public static final int guiID_ams_base = 54; public static Block ams_emitter; @@ -610,6 +624,8 @@ public class ModBlocks { public static Block vent_chlorine; public static Block vent_cloud; public static Block vent_pink_cloud; + public static Block vent_chlorine_seal; + public static Block chlorine_gas; public static Block absorber; public static Block absorber_red; @@ -714,6 +730,17 @@ public class ModBlocks { ore_nether_fire = new BlockOre(Material.rock).setBlockName("ore_nether_fire").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_fire"); ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium"); + ore_meteor_uranium = new BlockOre(Material.rock).setBlockName("ore_meteor_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_uranium"); + ore_meteor_thorium = new BlockOre(Material.rock).setBlockName("ore_meteor_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_thorium"); + ore_meteor_titanium = new BlockOre(Material.rock).setBlockName("ore_meteor_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_titanium"); + ore_meteor_sulfur = new BlockOre(Material.rock).setBlockName("ore_meteor_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_sulfur"); + ore_meteor_copper = new BlockOre(Material.rock).setBlockName("ore_meteor_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_copper"); + ore_meteor_tungsten = new BlockOre(Material.rock).setBlockName("ore_meteor_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_tungsten"); + ore_meteor_aluminium = new BlockOre(Material.rock).setBlockName("ore_meteor_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_aluminium"); + ore_meteor_lead = new BlockOre(Material.rock).setBlockName("ore_meteor_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lead"); + ore_meteor_lithium = new BlockOre(Material.rock).setBlockName("ore_meteor_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lithium"); + ore_meteor_starmetal = new BlockOre(Material.rock).setBlockName("ore_meteor_starmetal").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_starmetal"); + ore_australium = new BlockGeneric(Material.rock).setBlockName("ore_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_australium"); ore_weidanium = new BlockGeneric(Material.rock).setBlockName("ore_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_weidanium"); ore_reiium = new BlockGeneric(Material.rock).setBlockName("ore_reiium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_reiium"); @@ -750,6 +777,7 @@ public class ModBlocks { block_magnetized_tungsten = new BlockGeneric(Material.iron).setBlockName("block_magnetized_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(35.0F).setBlockTextureName(RefStrings.MODID + ":block_magnetized_tungsten"); block_combine_steel = new BlockGeneric(Material.iron).setBlockName("block_combine_steel").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_combine_steel"); block_desh = new BlockGeneric(Material.iron).setBlockName("block_desh").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_desh"); + block_starmetal = new BlockGeneric(Material.iron).setBlockName("block_starmetal").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_starmetal"); block_yellowcake = new BlockFallingRad(Material.sand, 0.5F, 3F).setBlockName("block_yellowcake").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeSand).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":block_yellowcake"); block_australium = new BlockGeneric(Material.iron).setBlockName("block_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_australium"); @@ -1002,6 +1030,8 @@ public class ModBlocks { fwatz_computer = new BlockGeneric(Material.iron).setBlockName("fwatz_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); fwatz_core = new FWatzCore(Material.iron).setBlockName("fwatz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_core"); fwatz_plasma = new BlockPlasma(Material.iron).setBlockName("fwatz_plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_plasma"); + + balefire = new Balefire().setBlockName("balefire").setHardness(0.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":balefire"); ams_base = new BlockAMSBase(Material.iron).setBlockName("ams_base").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_base"); ams_emitter = new BlockAMSEmitter(Material.iron).setBlockName("ams_emitter").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_emitter"); @@ -1124,6 +1154,8 @@ public class ModBlocks { vent_chlorine = new BlockVent(Material.iron).setBlockName("vent_chlorine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_chlorine"); vent_cloud = new BlockVent(Material.iron).setBlockName("vent_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_cloud"); vent_pink_cloud = new BlockVent(Material.iron).setBlockName("vent_pink_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_pink_cloud"); + vent_chlorine_seal = new BlockClorineSeal(Material.iron).setBlockName("vent_chlorine_seal").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + chlorine_gas = new BlockClorine(Material.cloth).setBlockName("chlorine_gas").setHardness(0.0F).setResistance(0.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":chlorine_gas"); absorber = new BlockAbsorber(Material.iron, 2.5F).setBlockName("absorber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber"); absorber_red = new BlockAbsorber(Material.iron, 10F).setBlockName("absorber_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":absorber_red"); @@ -1246,6 +1278,18 @@ public class ModBlocks { GameRegistry.registerBlock(ore_nether_fire, ore_nether_fire.getUnlocalizedName()); GameRegistry.registerBlock(ore_nether_schrabidium, ItemSchrabidiumBlock.class, ore_nether_schrabidium.getUnlocalizedName()); + //Meteor Ores + GameRegistry.registerBlock(ore_meteor_uranium, ore_meteor_uranium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_thorium, ore_meteor_thorium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_titanium, ore_meteor_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_sulfur, ore_meteor_sulfur.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_copper, ore_meteor_copper.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_tungsten, ore_meteor_tungsten.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_aluminium, ore_meteor_aluminium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_lead, ore_meteor_lead.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_lithium, ore_meteor_lithium.getUnlocalizedName()); + GameRegistry.registerBlock(ore_meteor_starmetal, ore_meteor_starmetal.getUnlocalizedName()); + //End Ores GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName()); @@ -1273,6 +1317,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_magnetized_tungsten, block_magnetized_tungsten.getUnlocalizedName()); GameRegistry.registerBlock(block_combine_steel, block_combine_steel.getUnlocalizedName()); GameRegistry.registerBlock(block_desh, block_desh.getUnlocalizedName()); + GameRegistry.registerBlock(block_starmetal, block_starmetal.getUnlocalizedName()); GameRegistry.registerBlock(block_australium, ItemOreBlock.class, block_australium.getUnlocalizedName()); GameRegistry.registerBlock(block_weidanium, ItemOreBlock.class, block_weidanium.getUnlocalizedName()); GameRegistry.registerBlock(block_reiium, ItemOreBlock.class, block_reiium.getUnlocalizedName()); @@ -1609,6 +1654,9 @@ public class ModBlocks { GameRegistry.registerBlock(fwatz_tank, fwatz_tank.getUnlocalizedName()); GameRegistry.registerBlock(fwatz_plasma, fwatz_plasma.getUnlocalizedName()); + //E + GameRegistry.registerBlock(balefire, balefire.getUnlocalizedName()); + //AMS GameRegistry.registerBlock(ams_base, ams_base.getUnlocalizedName()); GameRegistry.registerBlock(ams_emitter, ams_emitter.getUnlocalizedName()); @@ -1710,6 +1758,8 @@ public class ModBlocks { GameRegistry.registerBlock(vent_chlorine, vent_chlorine.getUnlocalizedName()); GameRegistry.registerBlock(vent_cloud, vent_cloud.getUnlocalizedName()); GameRegistry.registerBlock(vent_pink_cloud, vent_pink_cloud.getUnlocalizedName()); + GameRegistry.registerBlock(vent_chlorine_seal, vent_chlorine_seal.getUnlocalizedName()); + GameRegistry.registerBlock(chlorine_gas, chlorine_gas.getUnlocalizedName()); //??? GameRegistry.registerBlock(crystal_virus, crystal_virus.getUnlocalizedName()); diff --git a/com/hbm/blocks/bomb/Balefire.java b/com/hbm/blocks/bomb/Balefire.java new file mode 100644 index 000000000..99234e04e --- /dev/null +++ b/com/hbm/blocks/bomb/Balefire.java @@ -0,0 +1,225 @@ +package com.hbm.blocks.bomb; + +import static net.minecraftforge.common.util.ForgeDirection.DOWN; +import static net.minecraftforge.common.util.ForgeDirection.EAST; +import static net.minecraftforge.common.util.ForgeDirection.NORTH; +import static net.minecraftforge.common.util.ForgeDirection.SOUTH; +import static net.minecraftforge.common.util.ForgeDirection.UP; +import static net.minecraftforge.common.util.ForgeDirection.WEST; + +import java.util.Random; + +import com.hbm.potion.HbmPotion; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockFire; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class Balefire extends BlockFire { + + private IIcon field_149850_M; + + public Balefire() + { + super(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + + field_149850_M = p_149651_1_.registerIcon(this.getTextureName()); + } + + @SideOnly(Side.CLIENT) + public IIcon getFireIcon(int p_149840_1_) + { + return field_149850_M; + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int p_149691_1_, int p_149691_2_) + { + return field_149850_M; + } + public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) + { + if (p_149674_1_.getGameRules().getGameRuleBooleanValue("doFireTick")) + { + boolean flag = p_149674_1_.getBlock(p_149674_2_, p_149674_3_ - 1, p_149674_4_).isFireSource(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, UP); + + if (!this.canPlaceBlockAt(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_)) + { + p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); + } + + /*if (!flag && p_149674_1_.isRaining() && (p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_ - 1, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_ + 1, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_ - 1) || p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_ + 1))) + { + p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); + } + else*/ + { + int l = 0; + /*int l = p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_); + + if (l < 15) + { + p_149674_1_.setBlockMetadataWithNotify(p_149674_2_, p_149674_3_, p_149674_4_, l + p_149674_5_.nextInt(3) / 2, 4); + }*/ + + p_149674_1_.scheduleBlockUpdate(p_149674_2_, p_149674_3_, p_149674_4_, this, this.tickRate(p_149674_1_) + p_149674_5_.nextInt(10)); + + if (!flag && !this.canNeighborBurn(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_)) + { + if (!World.doesBlockHaveSolidTopSurface(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_)/* || l > 3*/) + { + p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); + } + } + /*else if (!flag && !this.canCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, UP) && l == 15 && p_149674_5_.nextInt(4) == 0) + { + //p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); + }*/ + else + { + //boolean flag1 = p_149674_1_.isBlockHighHumidity(p_149674_2_, p_149674_3_, p_149674_4_); + byte b0 = 0; + + /*if (flag1) + { + b0 = -50; + }*/ + + this.tryCatchFire(p_149674_1_, p_149674_2_ + 1, p_149674_3_, p_149674_4_, 300 + b0, p_149674_5_, l, WEST ); + this.tryCatchFire(p_149674_1_, p_149674_2_ - 1, p_149674_3_, p_149674_4_, 300 + b0, p_149674_5_, l, EAST ); + this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, 250 + b0, p_149674_5_, l, UP ); + this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ + 1, p_149674_4_, 250 + b0, p_149674_5_, l, DOWN ); + this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_ - 1, 300 + b0, p_149674_5_, l, SOUTH); + this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_ + 1, 300 + b0, p_149674_5_, l, NORTH); + + for (int i1 = p_149674_2_ - 1; i1 <= p_149674_2_ + 1; ++i1) + { + for (int j1 = p_149674_4_ - 1; j1 <= p_149674_4_ + 1; ++j1) + { + for (int k1 = p_149674_3_ - 1; k1 <= p_149674_3_ + 4; ++k1) + { + if (i1 != p_149674_2_ || k1 != p_149674_3_ || j1 != p_149674_4_) + { + int l1 = 100; + + if (k1 > p_149674_3_ + 1) + { + l1 += (k1 - (p_149674_3_ + 1)) * 100; + } + + int i2 = this.getChanceOfNeighborsEncouragingFire(p_149674_1_, i1, k1, j1); + + if (i2 > 0) + { + int j2 = (i2 + 40 + p_149674_1_.difficultySetting.getDifficultyId() * 7) / (l + 30); + + /*if (flag1) + { + j2 /= 2; + }*/ + + if (j2 > 0 && p_149674_5_.nextInt(l1) <= j2) + { + int k2 = l + p_149674_5_.nextInt(5) / 4; + + if (k2 > 15) + { + k2 = 15; + } + + p_149674_1_.setBlock(i1, k1, j1, this, k2, 3); + } + } + } + } + } + } + } + } + } + } + + private void tryCatchFire(World p_149841_1_, int p_149841_2_, int p_149841_3_, int p_149841_4_, int p_149841_5_, Random p_149841_6_, int p_149841_7_, ForgeDirection face) + { + int j1 = p_149841_1_.getBlock(p_149841_2_, p_149841_3_, p_149841_4_).getFlammability(p_149841_1_, p_149841_2_, p_149841_3_, p_149841_4_, face); + + if (p_149841_6_.nextInt(p_149841_5_) < j1) + { + boolean flag = p_149841_1_.getBlock(p_149841_2_, p_149841_3_, p_149841_4_) == Blocks.tnt; + + p_149841_1_.setBlock(p_149841_2_, p_149841_3_, p_149841_4_, this, 15, 3); + + if (flag) + { + Blocks.tnt.onBlockDestroyedByPlayer(p_149841_1_, p_149841_2_, p_149841_3_, p_149841_4_, 1); + } + } + } + + private boolean canNeighborBurn(World p_149847_1_, int p_149847_2_, int p_149847_3_, int p_149847_4_) + { + return this.canCatchFire(p_149847_1_, p_149847_2_ + 1, p_149847_3_, p_149847_4_, WEST ) || + this.canCatchFire(p_149847_1_, p_149847_2_ - 1, p_149847_3_, p_149847_4_, EAST ) || + this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_ - 1, p_149847_4_, UP ) || + this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_ + 1, p_149847_4_, DOWN ) || + this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_, p_149847_4_ - 1, SOUTH) || + this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_, p_149847_4_ + 1, NORTH); + } + + private int getChanceOfNeighborsEncouragingFire(World p_149845_1_, int p_149845_2_, int p_149845_3_, int p_149845_4_) + { + byte b0 = 0; + + if (!p_149845_1_.isAirBlock(p_149845_2_, p_149845_3_, p_149845_4_)) + { + return 0; + } + else + { + int l = b0; + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_ + 1, p_149845_3_, p_149845_4_, l, WEST ); + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_ - 1, p_149845_3_, p_149845_4_, l, EAST ); + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_ - 1, p_149845_4_, l, UP ); + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_ + 1, p_149845_4_, l, DOWN ); + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_, p_149845_4_ - 1, l, SOUTH); + l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_, p_149845_4_ + 1, l, NORTH); + return l; + } + } + + private boolean isFlammable(World p_149817_1_, int p_149817_2_, int p_149817_3_, int p_149817_4_) + { + return p_149817_1_.getBlock(p_149817_2_, p_149817_3_, p_149817_4_).getMaterial().getCanBurn(); + } + + public boolean canCatchFire(IBlockAccess world, int x, int y, int z, ForgeDirection face) + { + return world.getBlock(x, y, z).isFlammable(world, x, y, z, face); + } + + @Override + public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_) + { + p_149670_5_.setFire(10); + + if(p_149670_5_ instanceof EntityLivingBase) + ((EntityLivingBase)p_149670_5_).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 5 * 20, 9)); + } + +} diff --git a/com/hbm/blocks/bomb/BlockCrashedBomb.java b/com/hbm/blocks/bomb/BlockCrashedBomb.java index 214793e22..3137c6b11 100644 --- a/com/hbm/blocks/bomb/BlockCrashedBomb.java +++ b/com/hbm/blocks/bomb/BlockCrashedBomb.java @@ -3,6 +3,7 @@ package com.hbm.blocks.bomb; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.logic.EntityBalefire; import com.hbm.entity.logic.EntityNukeExplosionAdvanced; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.entity.logic.EntityNukeExplosionMK4; @@ -79,7 +80,12 @@ public class BlockCrashedBomb extends BlockContainer implements IBomb { if (!world.isRemote) { world.setBlockToAir(x, y, z); - world.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(world, (int)(MainRegistry.fatmanRadius * 1.25), x + 0.5, y + 0.5, z + 0.5)); + EntityBalefire bf = new EntityBalefire(world); + bf.posX = x; + bf.posY = y; + bf.posZ = z; + bf.destructionRange = (int) (MainRegistry.fatmanRadius * 1.25); + world.spawnEntityInWorld(bf); ExplosionParticleB.spawnMush(world, x, y, z); } } diff --git a/com/hbm/blocks/bomb/LaunchTable.java b/com/hbm/blocks/bomb/LaunchTable.java index b9672c035..4ffc5e7ca 100644 --- a/com/hbm/blocks/bomb/LaunchTable.java +++ b/com/hbm/blocks/bomb/LaunchTable.java @@ -6,13 +6,19 @@ import com.hbm.interfaces.IMultiblock; import com.hbm.main.MainRegistry; import com.hbm.tileentity.bomb.TileEntityCompactLauncher; import com.hbm.tileentity.bomb.TileEntityLaunchTable; +import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class LaunchTable extends BlockContainer implements IMultiblock, IBomb { @@ -59,6 +65,92 @@ public class LaunchTable extends BlockContainer implements IMultiblock, IBomb { } } + @Override + public void onBlockPlacedBy(World worldObj, int xCoord, int yCoord, int zCoord, EntityLivingBase player, ItemStack itemStack) { + int d = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + for(int k = -4; k <= 4; k++) + for(int l = -4; l <= 4; l++) + if(l != 0 && k != 0) + if(!worldObj.getBlock(xCoord + k, yCoord, zCoord + l).isReplaceable(worldObj, xCoord + k, yCoord, zCoord + l)) { + worldObj.func_147480_a(xCoord, yCoord, zCoord, true); + return; + } + + if (d == 0) { + + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 0, 2); + for(int i = 1; i < 12; i++) + worldObj.setBlock(xCoord + 3, yCoord + i, zCoord, Blocks.air); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table); + } + if (d == 1) { + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 2, 2); + for(int i = 1; i < 12; i++) + worldObj.setBlock(xCoord, yCoord + i, zCoord + 3, Blocks.air); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table); + } + if (d == 2) { + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 1, 2); + for(int i = 1; i < 12; i++) + worldObj.setBlock(xCoord - 3, yCoord + i, zCoord, Blocks.air); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table); + } + if (d == 3) { + worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, 3, 2); + for(int i = 1; i < 12; i++) + worldObj.setBlock(xCoord, yCoord + i, zCoord - 3, Blocks.air); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord + i, yCoord, zCoord, xCoord, yCoord, zCoord, ModBlocks.dummy_plate_launch_table); + + for(int i = -4; i <= 4; i++) + if(i != 0) + placeDummy(worldObj, xCoord, yCoord, zCoord + i, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table); + } + + for(int i = -4; i <= 4; i++) + for(int j = -4; j <= 4; j++) + if(i != 0 && j != 0) + placeDummy(worldObj, xCoord + i, yCoord, zCoord + j, xCoord, yCoord, zCoord, ModBlocks.dummy_port_launch_table); + } + + private void placeDummy(World world, int x, int y, int z, int xCoord, int yCoord, int zCoord, Block block) { + + world.setBlock(x, y, z, block); + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityDummy) { + TileEntityDummy dummy = (TileEntityDummy)te; + dummy.targetX = xCoord; + dummy.targetY = yCoord; + dummy.targetZ = zCoord; + } + } + @Override public void explode(World world, int x, int y, int z) { TileEntityLaunchTable entity = (TileEntityLaunchTable) world.getTileEntity(x, y, z); diff --git a/com/hbm/blocks/generic/BlockClorine.java b/com/hbm/blocks/generic/BlockClorine.java new file mode 100644 index 000000000..58cafa17f --- /dev/null +++ b/com/hbm/blocks/generic/BlockClorine.java @@ -0,0 +1,120 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Facing; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockClorine extends Block { + + public BlockClorine(Material p_i45394_1_) { + super(p_i45394_1_); + this.setTickRandomly(true); + } + + @Override + public boolean isOpaqueCube() + { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + + return super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); + + /*Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); + + if (p_149646_1_.getBlockMetadata(p_149646_2_, p_149646_3_, p_149646_4_) != p_149646_1_.getBlockMetadata(p_149646_2_ - Facing.offsetsXForSide[p_149646_5_], p_149646_3_ - Facing.offsetsYForSide[p_149646_5_], p_149646_4_ - Facing.offsetsZForSide[p_149646_5_])) + { + return true; + } + + if (block == this) + { + return false; + } + + return block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_);*/ + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) + { + world.setBlock(x, y, z, Blocks.air); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) + { + return null; + } + + @Override + public void onEntityCollidedWithBlock(World world, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity entity) + { + if (entity instanceof EntityPlayer && Library.checkForGasMask((EntityPlayer) entity)) { + + if(world.rand.nextInt(25) == 0) + Library.damageSuit((EntityPlayer)entity, 3, world.rand.nextInt(2)); + + } else if (entity instanceof EntityLivingBase) { + ((EntityLivingBase) entity) + .addPotionEffect(new PotionEffect(Potion.blindness.getId(), 5 * 20, 0)); + ((EntityLivingBase) entity) + .addPotionEffect(new PotionEffect(Potion.poison.getId(), 20 * 20, 2)); + ((EntityLivingBase) entity) + .addPotionEffect(new PotionEffect(Potion.wither.getId(), 1 * 20, 1)); + ((EntityLivingBase) entity) + .addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 30 * 20, 1)); + ((EntityLivingBase) entity) + .addPotionEffect(new PotionEffect(Potion.digSlowdown.getId(), 30 * 20, 2)); + } + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) + { + return null; + } + + @Override + public boolean renderAsNormalBlock() + { + return false; + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() + { + return 1; + } + + public boolean canCollideCheck(int p_149678_1_, boolean p_149678_2_) + { + return false; + } + + public boolean isReplaceable(IBlockAccess world, int x, int y, int z) + { + return true; + } + +} diff --git a/com/hbm/blocks/generic/BlockClorineSeal.java b/com/hbm/blocks/generic/BlockClorineSeal.java new file mode 100644 index 000000000..041ca97fb --- /dev/null +++ b/com/hbm/blocks/generic/BlockClorineSeal.java @@ -0,0 +1,45 @@ +package com.hbm.blocks.generic; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityChlorineSeal; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockClorineSeal extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconTop; + + public BlockClorineSeal(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":vent_chlorine_seal_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":vent_chlorine_seal_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + return side == 1 ? this.iconTop : this.blockIcon; + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityChlorineSeal(); + } + +} diff --git a/com/hbm/blocks/generic/BlockOre.java b/com/hbm/blocks/generic/BlockOre.java index d79f35467..aadf0243c 100644 --- a/com/hbm/blocks/generic/BlockOre.java +++ b/com/hbm/blocks/generic/BlockOre.java @@ -62,7 +62,7 @@ public class BlockOre extends Block { { return ModItems.niter; } - if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) { return ModItems.sulfur; } @@ -197,7 +197,7 @@ public class BlockOre extends Block { { return 2 + p_149745_1_.nextInt(3); } - if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur) { return 2 + p_149745_1_.nextInt(3); } diff --git a/com/hbm/blocks/generic/DecoBlock.java b/com/hbm/blocks/generic/DecoBlock.java index 9e8ad212d..a9843b353 100644 --- a/com/hbm/blocks/generic/DecoBlock.java +++ b/com/hbm/blocks/generic/DecoBlock.java @@ -39,7 +39,7 @@ public class DecoBlock extends BlockContainer { if(this == ModBlocks.bomber) return new TileEntityBomber(); - if(this == ModBlocks.steel_scaffold) + if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam) return null; return new TileEntityDecoBlock(); @@ -49,6 +49,8 @@ public class DecoBlock extends BlockContainer { public int getRenderType(){ if(this == ModBlocks.steel_scaffold) return 334078; + else if(this == ModBlocks.steel_beam) + return 334080; else return -1; } diff --git a/com/hbm/creativetabs/MissileTab.java b/com/hbm/creativetabs/MissileTab.java index fca384120..abccb4c4d 100644 --- a/com/hbm/creativetabs/MissileTab.java +++ b/com/hbm/creativetabs/MissileTab.java @@ -91,5 +91,12 @@ public class MissileTab extends CreativeTabs { ModItems.mp_fuselage_15_kerosene_blackjack, ModItems.mp_stability_15_thin, ModItems.mp_thruster_15_kerosene).setStackDisplayName(EnumChatFormatting.RED + "Auntie Blackjack")); + + list.add(ItemCustomMissile.buildMissile( + ModItems.mp_chip_4, + ModItems.mp_warhead_15_balefire, + ModItems.mp_fuselage_15_20_kerosene_magnusson, + null, + ModItems.mp_thruster_20_kerosene).setStackDisplayName(EnumChatFormatting.GREEN + "Hightower Missile")); } } diff --git a/com/hbm/entity/effect/EntityNukeCloudSmall.java b/com/hbm/entity/effect/EntityNukeCloudSmall.java index 8ea634974..2e1e3b7af 100644 --- a/com/hbm/entity/effect/EntityNukeCloudSmall.java +++ b/com/hbm/entity/effect/EntityNukeCloudSmall.java @@ -62,6 +62,7 @@ public class EntityNukeCloudSmall extends Entity { this.dataWatcher.addObject(16, (short)maxAge); this.dataWatcher.addObject(17, (short)age); this.dataWatcher.addObject(18, 1.0F); + this.dataWatcher.addObject(19, Byte.valueOf((byte)0)); } @Override @@ -85,6 +86,18 @@ public class EntityNukeCloudSmall extends Entity { cloud.posX = x; cloud.posY = y; cloud.posZ = z; + cloud.dataWatcher.updateObject(19, (byte)0); + + return cloud; + } + + public static EntityNukeCloudSmall statFacBale(World world, double x, double y, double z, float radius, int maxAge) { + + EntityNukeCloudSmall cloud = new EntityNukeCloudSmall(world, (int)radius * 5, radius * 0.005F); + cloud.posX = x; + cloud.posY = y; + cloud.posZ = z; + cloud.dataWatcher.updateObject(19, (byte)1); return cloud; } diff --git a/com/hbm/entity/logic/EntityBalefire.java b/com/hbm/entity/logic/EntityBalefire.java new file mode 100644 index 000000000..5a4ec3588 --- /dev/null +++ b/com/hbm/entity/logic/EntityBalefire.java @@ -0,0 +1,101 @@ +package com.hbm.entity.logic; + +import org.apache.logging.log4j.Level; + +import com.hbm.entity.effect.EntityFalloutRain; +import com.hbm.explosion.ExplosionBalefire; +import com.hbm.explosion.ExplosionFleija; +import com.hbm.explosion.ExplosionNukeAdvanced; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.explosion.ExplosionSolinium; +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityBalefire extends Entity { + + public int age = 0; + public int destructionRange = 0; + public ExplosionBalefire exp; + public int speed = 1; + public boolean did = false; + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + age = nbt.getInteger("age"); + destructionRange = nbt.getInteger("destructionRange"); + speed = nbt.getInteger("speed"); + did = nbt.getBoolean("did"); + + + exp = new ExplosionBalefire((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange); + exp.readFromNbt(nbt, "exp_"); + + this.did = true; + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + nbt.setInteger("age", age); + nbt.setInteger("destructionRange", destructionRange); + nbt.setInteger("speed", speed); + nbt.setBoolean("did", did); + + nbt.setLong("milliTime", System.currentTimeMillis()); + + if(exp != null) + exp.saveToNbt(nbt, "exp_"); + + } + + public EntityBalefire(World p_i1582_1_) { + super(p_i1582_1_); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!this.did) + { + if(MainRegistry.enableExtendedLogging && !worldObj.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized BF explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!"); + + exp = new ExplosionBalefire((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange); + + this.did = true; + } + + speed += 1; //increase speed to keep up with expansion + + boolean flag = false; + boolean flag2 = false; + boolean flag3 = false; + + for(int i = 0; i < this.speed; i++) + { + flag = exp.update(); + + if(flag) { + this.setDead(); + } + } + + if(rand.nextInt(5) == 0) + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); + + if(!flag) + { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); + ExplosionNukeGeneric.dealDamage(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, this.destructionRange * 2); + } + + age++; + } + + @Override + protected void entityInit() { } +} diff --git a/com/hbm/entity/missile/EntityMissileCustom.java b/com/hbm/entity/missile/EntityMissileCustom.java index 013f9c70a..74214f910 100644 --- a/com/hbm/entity/missile/EntityMissileCustom.java +++ b/com/hbm/entity/missile/EntityMissileCustom.java @@ -6,9 +6,11 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.BlockTaint; import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.logic.EntityBalefire; import com.hbm.entity.logic.EntityNukeExplosionMK4; import com.hbm.entity.logic.IChunkLoader; import com.hbm.entity.particle.EntitySmokeFX; +import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.handler.MissileStruct; import com.hbm.items.weapon.ItemMissile; @@ -291,6 +293,7 @@ public class EntityMissileCustom extends Entity implements IChunkLoader { switch(type) { case BALEFIRE: + smoke = "exBalefire"; break; case HYDROGEN: smoke = "exHydrogen"; @@ -350,6 +353,13 @@ public class EntityMissileCustom extends Entity implements IChunkLoader { worldObj.spawnEntityInWorld(nuke); break; case BALEFIRE: + EntityBalefire bf = new EntityBalefire(worldObj); + bf.posX = this.posX; + bf.posY = this.posY; + bf.posZ = this.posZ; + bf.destructionRange = (int) strength; + worldObj.spawnEntityInWorld(bf); + worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFacBale(worldObj, posX, posY + 5, posZ, strength * 1.5F, 1000)); break; case N2: worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFacNoRad(worldObj, (int) strength, posX, posY, posZ)); @@ -371,6 +381,8 @@ public class EntityMissileCustom extends Entity implements IChunkLoader { } break; case CLOUD: + this.worldObj.playAuxSFX(2002, (int)Math.round(this.posX), (int)Math.round(this.posY), (int)Math.round(this.posZ), 0); + ExplosionChaos.spawnChlorine(worldObj, posX - motionX, posY - motionY, posZ - motionZ, 750, 2.5, 2); break; default: break; diff --git a/com/hbm/entity/projectile/EntityBaleflare.java b/com/hbm/entity/projectile/EntityBaleflare.java index 323fad765..1f2db53d1 100644 --- a/com/hbm/entity/projectile/EntityBaleflare.java +++ b/com/hbm/entity/projectile/EntityBaleflare.java @@ -2,6 +2,7 @@ package com.hbm.entity.projectile; import java.util.List; +import com.hbm.entity.logic.EntityBalefire; import com.hbm.entity.logic.EntityNukeExplosionMK4; import com.hbm.entity.particle.EntitySSmokeFX; import com.hbm.explosion.ExplosionParticleB; @@ -243,7 +244,12 @@ public class EntityBaleflare extends Entity implements IProjectile { { if (!this.worldObj.isRemote) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(worldObj, MainRegistry.fatmanRadius, posX, posY, posZ)); + EntityBalefire bf = new EntityBalefire(worldObj); + bf.posX = this.posX; + bf.posY = this.posY; + bf.posZ = this.posZ; + bf.destructionRange = MainRegistry.fatmanRadius; + worldObj.spawnEntityInWorld(bf); ExplosionParticleB.spawnMush(this.worldObj, (int)this.posX, (int)this.posY - 3, (int)this.posZ); } diff --git a/com/hbm/entity/projectile/EntityBulletBase.java b/com/hbm/entity/projectile/EntityBulletBase.java index e49128d02..c761f5432 100644 --- a/com/hbm/entity/projectile/EntityBulletBase.java +++ b/com/hbm/entity/projectile/EntityBulletBase.java @@ -386,7 +386,7 @@ public class EntityBulletBase extends Entity implements IProjectile { ExplosionLarge.jolt(worldObj, posX, posY, posZ, config.jolt, 150, 0.25); if(config.explosive > 0 && !worldObj.isRemote) - worldObj.newExplosion(this, posX, posY, posZ, config.explosive, config.incendiary > 0, true); + worldObj.newExplosion(this, posX, posY, posZ, config.explosive, config.incendiary > 0, config.blockDamage); if(config.shrapnel > 0 && !worldObj.isRemote) ExplosionLarge.spawnShrapnels(worldObj, posX, posY, posZ, config.shrapnel); diff --git a/com/hbm/explosion/ExplosionBalefire.java b/com/hbm/explosion/ExplosionBalefire.java new file mode 100644 index 000000000..ec758800e --- /dev/null +++ b/com/hbm/explosion/ExplosionBalefire.java @@ -0,0 +1,127 @@ +package com.hbm.explosion; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class ExplosionBalefire +{ + public int posX; + public int posY; + public int posZ; + public int lastposX = 0; + public int lastposZ = 0; + public int radius; + public int radius2; + public World worldObj; + private int n = 1; + private int nlimit; + private int shell; + private int leg; + private int element; + + public void saveToNbt(NBTTagCompound nbt, String name) { + nbt.setInteger(name + "posX", posX); + nbt.setInteger(name + "posY", posY); + nbt.setInteger(name + "posZ", posZ); + nbt.setInteger(name + "lastposX", lastposX); + nbt.setInteger(name + "lastposZ", lastposZ); + nbt.setInteger(name + "radius", radius); + nbt.setInteger(name + "radius2", radius2); + nbt.setInteger(name + "n", n); + nbt.setInteger(name + "nlimit", nlimit); + nbt.setInteger(name + "shell", shell); + nbt.setInteger(name + "leg", leg); + nbt.setInteger(name + "element", element); + } + + public void readFromNbt(NBTTagCompound nbt, String name) { + posX = nbt.getInteger(name + "posX"); + posY = nbt.getInteger(name + "posY"); + posZ = nbt.getInteger(name + "posZ"); + lastposX = nbt.getInteger(name + "lastposX"); + lastposZ = nbt.getInteger(name + "lastposZ"); + radius = nbt.getInteger(name + "radius"); + radius2 = nbt.getInteger(name + "radius2"); + n = nbt.getInteger(name + "n"); + nlimit = nbt.getInteger(name + "nlimit"); + shell = nbt.getInteger(name + "shell"); + leg = nbt.getInteger(name + "leg"); + element = nbt.getInteger(name + "element"); + } + + public ExplosionBalefire(int x, int y, int z, World world, int rad) + { + this.posX = x; + this.posY = y; + this.posZ = z; + + this.worldObj = world; + + this.radius = rad; + this.radius2 = this.radius * this.radius; + + this.nlimit = this.radius2 * 4; + } + + public boolean update() + { + breakColumn(this.lastposX, this.lastposZ); + this.shell = (int) Math.floor((Math.sqrt(n) + 1) / 2); + int shell2 = this.shell * 2; + this.leg = (int) Math.floor((this.n - (shell2 - 1) * (shell2 - 1)) / shell2); + this.element = (this.n - (shell2 - 1) * (shell2 - 1)) - shell2 * this.leg - this.shell + 1; + this.lastposX = this.leg == 0 ? this.shell : this.leg == 1 ? -this.element : this.leg == 2 ? -this.shell : this.element; + this.lastposZ = this.leg == 0 ? this.element : this.leg == 1 ? this.shell : this.leg == 2 ? -this.element : -this.shell; + this.n++; + return this.n > this.nlimit; + } + + private void breakColumn(int x, int z) + { + int dist = this.radius2 - (x * x + z * z); + if (dist > 0) + { + int pX = posX + x; + int pZ = posZ + z; + + int y = worldObj.getHeightValue(pX, pZ); + float strength = (float)dist / (float) this.radius; + + while(y > 0) { + + if(strength <= 10) { + if(worldObj.rand.nextInt(10) == 0) + worldObj.setBlock(pX, y + 1, pZ, ModBlocks.balefire); + + if(worldObj.getBlock(pX, y, pZ) == Blocks.stone) + worldObj.setBlock(pX, y, pZ, ModBlocks.sellafield_slaked); + if(worldObj.getBlock(pX, y - 1, pZ) == Blocks.stone) + worldObj.setBlock(pX, y - 1, pZ, ModBlocks.sellafield_slaked); + if(worldObj.getBlock(pX, y - 2, pZ) == Blocks.stone) + worldObj.setBlock(pX, y - 2, pZ, ModBlocks.sellafield_slaked); + if(worldObj.getBlock(pX, y - 3, pZ) == Blocks.stone) + worldObj.setBlock(pX, y - 3, pZ, ModBlocks.sellafield_slaked); + if(worldObj.getBlock(pX, y - 4, pZ) == Blocks.stone) + worldObj.setBlock(pX, y - 4, pZ, ModBlocks.sellafield_slaked); + + return; + } + + float hardness = worldObj.getBlock(pX, y, pZ).getBlockHardness(worldObj, pX, y, pZ); + + if(worldObj.getBlock(pX, y, pZ).getMaterial().isLiquid()) + hardness = Blocks.air.getBlockHardness(worldObj, pX, y + 1, pZ); + + strength -= hardness; + + worldObj.setBlockToAir(pX, y, pZ); + + y--; + } + } + } +} diff --git a/com/hbm/handler/BobmazonOfferFactory.java b/com/hbm/handler/BobmazonOfferFactory.java index aa57cb3ae..4b39912e8 100644 --- a/com/hbm/handler/BobmazonOfferFactory.java +++ b/com/hbm/handler/BobmazonOfferFactory.java @@ -17,6 +17,7 @@ public class BobmazonOfferFactory { public static List machines = new ArrayList(); public static List weapons = new ArrayList(); public static List tools = new ArrayList(); + public static List special = new ArrayList(); public static void init() { @@ -151,6 +152,40 @@ public class BobmazonOfferFactory { tools.add(new Offer(new ItemStack(ModItems.hazmat_kit), Requirement.ASSEMBLY, 40)); tools.add(new Offer(new ItemStack(ModItems.hazmat_red_kit), Requirement.CHEMICS, 100)); tools.add(new Offer(new ItemStack(ModItems.hazmat_grey_kit), Requirement.OIL, 160)); + + special.add(new Offer(new ItemStack(ModItems.nuke_starter_kit), Requirement.STEEL, 200)); + special.add(new Offer(new ItemStack(ModItems.nuke_advanced_kit), Requirement.STEEL, 300)); + special.add(new Offer(new ItemStack(ModItems.boy_kit), Requirement.STEEL, 350)); + special.add(new Offer(new ItemStack(ModItems.gun_lever_action), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge, 24), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModItems.ammo_20gauge_incendiary, 24), Requirement.STEEL, 15)); + special.add(new Offer(new ItemStack(ModItems.gun_uzi_silencer, 1), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr, 64), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModItems.ammo_22lr_ap, 64), Requirement.STEEL, 15)); + special.add(new Offer(new ItemStack(ModItems.gun_hk69, 24), Requirement.STEEL, 30)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade, 6), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ammo_grenade_sleek, 6), Requirement.STEEL, 40)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_1, 10), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModItems.gun_kit_2, 5), Requirement.STEEL, 15)); + special.add(new Offer(new ItemStack(ModBlocks.machine_epress, 2), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModBlocks.machine_assembler, 1), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModBlocks.machine_chemplant, 1), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModBlocks.machine_boiler_off, 1), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModBlocks.machine_well, 1), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModBlocks.machine_refinery, 1), Requirement.STEEL, 25)); + special.add(new Offer(new ItemStack(ModBlocks.machine_fluidtank, 4), Requirement.STEEL, 10)); + special.add(new Offer(new ItemStack(ModItems.ingot_steel, 64), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ingot_copper, 64), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ingot_red_copper, 64), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ingot_titanium, 64), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModItems.ingot_tungsten, 64), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core, 1), Requirement.STEEL, 30)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher_core_large, 1), Requirement.STEEL, 30)); + special.add(new Offer(new ItemStack(ModBlocks.struct_launcher, 40), Requirement.STEEL, 20)); + special.add(new Offer(new ItemStack(ModBlocks.struct_scaffold, 11), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.loot_10, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.loot_15, 1), Requirement.STEEL, 5)); + special.add(new Offer(new ItemStack(ModItems.loot_misc, 1), Requirement.STEEL, 5)); } public static List getOffers(ItemStack stack) { @@ -165,6 +200,8 @@ public class BobmazonOfferFactory { return weapons; if(stack.getItem() == ModItems.bobmazon_tools) return tools; + if(stack.getItem() == ModItems.bobmazon_hidden) + return special; } return null; diff --git a/com/hbm/handler/BulletConfigSyncingUtil.java b/com/hbm/handler/BulletConfigSyncingUtil.java index 5d8120743..d67a560eb 100644 --- a/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/com/hbm/handler/BulletConfigSyncingUtil.java @@ -56,12 +56,16 @@ public class BulletConfigSyncingUtil { public static final int ROCKET_SLEEK = 0x26; public static final int ROCKET_NUKE = 0x27; public static final int ROCKET_CHAINSAW = 0x28; + public static final int ROCKET_TOXIC = 0x29; public static final int GRENADE_NORMAL = 0x30; public static final int GRENADE_HE = 0x31; public static final int GRENADE_INCENDIARY = 0x32; public static final int GRENADE_CHEMICAL = 0x33; public static final int GRENADE_SLEEK = 0x34; + public static final int GRENADE_CONCUSSION = 0x35; + public static final int GRENADE_FINNED = 0x36; + public static final int GRENADE_NUCLEAR = 0x37; public static final int G12_NORMAL = 0x40; public static final int G12_INCENDIARY = 0x41; @@ -130,12 +134,16 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(GunRocketFactory.getRocketSleekConfig(), ROCKET_SLEEK)); configSet.add(new ConfigKeyPair(GunRocketFactory.getRocketNukeConfig(), ROCKET_NUKE)); configSet.add(new ConfigKeyPair(GunRocketFactory.getRocketRPCConfig(), ROCKET_CHAINSAW)); + configSet.add(new ConfigKeyPair(GunRocketFactory.getRocketChlorineConfig(), ROCKET_TOXIC)); configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeConfig(), GRENADE_NORMAL)); configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeHEConfig(), GRENADE_HE)); configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeIncendirayConfig(), GRENADE_INCENDIARY)); configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeChlorineConfig(), GRENADE_CHEMICAL)); configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeSleekConfig(), GRENADE_SLEEK)); + configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeConcussionConfig(), GRENADE_CONCUSSION)); + configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeFinnedConfig(), GRENADE_FINNED)); + configSet.add(new ConfigKeyPair(GunGrenadeFactory.getGrenadeNuclearConfig(), GRENADE_NUCLEAR)); configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeConfig(), G12_NORMAL)); configSet.add(new ConfigKeyPair(Gun12GaugeFactory.get12GaugeFireConfig(), G12_INCENDIARY)); diff --git a/com/hbm/handler/BulletConfiguration.java b/com/hbm/handler/BulletConfiguration.java index 59e3efd48..4c583d3e6 100644 --- a/com/hbm/handler/BulletConfiguration.java +++ b/com/hbm/handler/BulletConfiguration.java @@ -51,6 +51,7 @@ public class BulletConfiguration { public List effects; public int incendiary; public int emp; + public boolean blockDamage = true; public float explosive; public double jolt; public int rainbow; diff --git a/com/hbm/handler/guncfg/BulletConfigFactory.java b/com/hbm/handler/guncfg/BulletConfigFactory.java index 892ea5e53..55a0c9362 100644 --- a/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -127,7 +127,7 @@ public class BulletConfigFactory { bullet.wear = 10; bullet.bulletsMin = 1; bullet.bulletsMax = 1; - bullet.gravity = 0.05D; + bullet.gravity = 0.035D; bullet.maxAge = 300; bullet.doesRicochet = false; bullet.ricochetAngle = 0; diff --git a/com/hbm/handler/guncfg/GunGrenadeFactory.java b/com/hbm/handler/guncfg/GunGrenadeFactory.java index c70982c14..f8dceb46a 100644 --- a/com/hbm/handler/guncfg/GunGrenadeFactory.java +++ b/com/hbm/handler/guncfg/GunGrenadeFactory.java @@ -40,7 +40,10 @@ public class GunGrenadeFactory { config.config.add(BulletConfigSyncingUtil.GRENADE_HE); config.config.add(BulletConfigSyncingUtil.GRENADE_INCENDIARY); config.config.add(BulletConfigSyncingUtil.GRENADE_CHEMICAL); + config.config.add(BulletConfigSyncingUtil.GRENADE_CONCUSSION); + config.config.add(BulletConfigSyncingUtil.GRENADE_FINNED); config.config.add(BulletConfigSyncingUtil.GRENADE_SLEEK); + config.config.add(BulletConfigSyncingUtil.GRENADE_NUCLEAR); config.durability = 140; return config; @@ -121,4 +124,42 @@ public class GunGrenadeFactory { return bullet; } + + public static BulletConfiguration getGrenadeConcussionConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardGrenadeConfig(); + + bullet.ammo = ModItems.ammo_grenade_concussion; + bullet.velocity = 2.0F; + bullet.dmgMin = 20; + bullet.dmgMax = 15; + bullet.blockDamage = false; + bullet.explosive = 10.0F; + bullet.trail = 3; + + return bullet; + } + + public static BulletConfiguration getGrenadeFinnedConfig() { + + BulletConfiguration bullet = getGrenadeConfig(); + + bullet.ammo = ModItems.ammo_grenade_finned; + bullet.gravity = 0.02; + bullet.explosive = 1.5F; + + return bullet; + } + + public static BulletConfiguration getGrenadeNuclearConfig() { + + BulletConfiguration bullet = getGrenadeConfig(); + + bullet.ammo = ModItems.ammo_grenade_nuclear; + bullet.velocity = 4; + bullet.explosive = 0.0F; + bullet.nuke = 15; + + return bullet; + } } diff --git a/com/hbm/handler/guncfg/GunRocketFactory.java b/com/hbm/handler/guncfg/GunRocketFactory.java index 31548e40b..4df2196a1 100644 --- a/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/com/hbm/handler/guncfg/GunRocketFactory.java @@ -41,6 +41,7 @@ public class GunRocketFactory { config.config.add(BulletConfigSyncingUtil.ROCKET_SHRAPNEL); config.config.add(BulletConfigSyncingUtil.ROCKET_EMP); config.config.add(BulletConfigSyncingUtil.ROCKET_GLARE); + config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC); config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK); config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE); config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW); @@ -62,6 +63,7 @@ public class GunRocketFactory { config.config.add(BulletConfigSyncingUtil.ROCKET_HE); config.config.add(BulletConfigSyncingUtil.ROCKET_EMP); config.config.add(BulletConfigSyncingUtil.ROCKET_SLEEK); + config.config.add(BulletConfigSyncingUtil.ROCKET_TOXIC); config.config.add(BulletConfigSyncingUtil.ROCKET_NUKE); config.config.add(BulletConfigSyncingUtil.ROCKET_CHAINSAW); config.durability = 500; @@ -74,6 +76,7 @@ public class GunRocketFactory { GunConfiguration config = getGustavConfig(); config.reloadDuration = 25; + config.hasSights = true; config.name = "Raketenpanzerbüchse 54"; config.manufacturer = "Enzinger Union"; @@ -201,6 +204,22 @@ public class GunRocketFactory { return bullet; } + public static BulletConfiguration getRocketChlorineConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); + + bullet.ammo = ModItems.ammo_rocket_toxic; + bullet.velocity = 1.5F; + bullet.dmgMin = 10; + bullet.dmgMax = 15; + bullet.wear = 10; + bullet.explosive = 0; + bullet.chlorine = 50; + bullet.trail = 7; + + return bullet; + } + public static BulletConfiguration getRocketRPCConfig() { BulletConfiguration bullet = BulletConfigFactory.standardRocketConfig(); diff --git a/com/hbm/inventory/MachineRecipes.java b/com/hbm/inventory/MachineRecipes.java index 0bf9a0f32..ae447bc4d 100644 --- a/com/hbm/inventory/MachineRecipes.java +++ b/com/hbm/inventory/MachineRecipes.java @@ -105,8 +105,8 @@ public class MachineRecipes { return new ItemStack(ModItems.ingot_dura_steel, 2); } - if (mODE(item, new String[] {"ingotSteel", "dustSteel"}) && item2.getItem() == ModItems.powder_meteorite - || item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotSteel", "dustSteel"})) { + if (mODE(item, new String[] {"ingotDuraSteel", "dustDuraSteel"}) && item2.getItem() == ModItems.powder_meteorite + || item.getItem() == ModItems.powder_meteorite && mODE(item2, new String[] {"ingotDuraSteel", "dustDuraSteel"})) { return new ItemStack(ModItems.ingot_starmetal, 2); } @@ -148,10 +148,13 @@ public class MachineRecipes { ItemStack[] cloud = new ItemStack[] { new ItemStack(ModItems.powder_copper, 1), new ItemStack(ModItems.sulfur, 1), new ItemStack(ModItems.dust, 1), new ItemStack(ModItems.dust, 1) }; - + ItemStack[] coal = new ItemStack[] { new ItemStack(ModItems.powder_coal, 2), new ItemStack(ModItems.powder_coal, 2), new ItemStack(ModItems.powder_coal, 2), new ItemStack(Blocks.gravel, 1) }; + ItemStack[] lignite = new ItemStack[] { new ItemStack(ModItems.powder_lignite, 2), + new ItemStack(ModItems.powder_lignite, 2), new ItemStack(ModItems.powder_lignite, 2), + new ItemStack(Blocks.gravel, 1) }; ItemStack[] iron = new ItemStack[] { new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }; @@ -209,6 +212,9 @@ public class MachineRecipes { ItemStack[] lapis = new ItemStack[] { new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_cobalt, 1), new ItemStack(Blocks.gravel, 1) }; + ItemStack[] starmetal = new ItemStack[] { new ItemStack(ModItems.powder_dura_steel, 3), + new ItemStack(ModItems.powder_astatine, 1), new ItemStack(ModItems.powder_cobalt, 2), + new ItemStack(Blocks.gravel, 1) }; if (MainRegistry.enableDebugMode) { if (item.getItem() == Item.getItemFromBlock(ModBlocks.test_render)) { @@ -276,6 +282,10 @@ public class MachineRecipes { return coal; } + if (mODE(item, "oreLignite")) { + return lignite; + } + if (mODE(item, "oreIron")) { return iron; } @@ -352,6 +362,10 @@ public class MachineRecipes { return lapis; } + if (mODE(item, "oreStarmetal")) { + return starmetal; + } + return null; } @@ -932,6 +946,10 @@ public class MachineRecipes { return new ItemStack(ModBlocks.sellafield_core, 1); } + if (item == ModItems.bobmazon_materials) { + return new ItemStack(ModItems.bobmazon_hidden); + } + return null; } @@ -1185,8 +1203,8 @@ public class MachineRecipes { getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.ingot_tungsten)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt) }, getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_cobalt)).copy()); - recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite) }, - getFurnaceOutput(new ItemStack(ModItems.ingot_steel), new ItemStack(ModItems.powder_meteorite)).copy()); + recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite) }, + getFurnaceOutput(new ItemStack(ModItems.ingot_dura_steel), new ItemStack(ModItems.powder_meteorite)).copy()); recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt) }, getFurnaceOutput(new ItemStack(ModItems.ingot_starmetal), new ItemStack(ModItems.powder_cobalt)).copy()); } catch (Exception x) { @@ -1290,6 +1308,10 @@ public class MachineRecipes { getCentrifugeOutput(new ItemStack(ModItems.waste_mox))); recipes.put(new ItemStack(ModItems.waste_schrabidium), getCentrifugeOutput(new ItemStack(ModItems.waste_schrabidium))); + recipes.put(new ItemStack(ModBlocks.ore_lignite), + getCentrifugeOutput(new ItemStack(ModBlocks.ore_lignite))); + recipes.put(new ItemStack(ModBlocks.ore_meteor_starmetal), + getCentrifugeOutput(new ItemStack(ModBlocks.ore_meteor_starmetal))); return recipes; } @@ -2166,7 +2188,12 @@ public class MachineRecipes { List list = new ArrayList(); - switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) { + EnumAssemblyTemplate template = ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage()); + + if(template.ingredients != null) + return template.ingredients; + + switch(template) { case IRON_PLATE: list.add(new ItemStack(Items.iron_ingot, 3)); break; @@ -3931,9 +3958,14 @@ public class MachineRecipes { if(stack == null || !(stack.getItem() instanceof ItemAssemblyTemplate)) return null; + EnumAssemblyTemplate template = ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage()); + + if(template.output != null) + return template.output; + ItemStack output = null; - switch(ItemAssemblyTemplate.EnumAssemblyTemplate.getEnum(stack.getItemDamage())) { + switch(template) { case IRON_PLATE: output = new ItemStack(ModItems.plate_iron, 2); break; @@ -4997,6 +5029,11 @@ public class MachineRecipes { list.add(new ItemStack(Items.brick, 1)); list.add(new ItemStack(Items.coal, 1)); break; + case SOLID_FUEL: + list.add(new ItemStack(ModItems.solid_fuel, 2)); + list.add(new ItemStack(ModItems.niter, 1)); + list.add(new ItemStack(Items.redstone, 1)); + break; default: break; } @@ -5181,6 +5218,15 @@ public class MachineRecipes { case KEVLAR: input[0] = new FluidStack(100, FluidType.PETROLEUM); break; + case SOLID_FUEL: + input[0] = new FluidStack(200, FluidType.PETROLEUM); + break; + case ELECTROLYSIS: + input[0] = new FluidStack(8000, FluidType.WATER); + break; + case XENON: + input[0] = new FluidStack(0, FluidType.NONE); + break; default: break; } @@ -5298,6 +5344,9 @@ public class MachineRecipes { case KEVLAR: output[0] = new ItemStack(ModItems.plate_kevlar, 4); break; + case SOLID_FUEL: + output[0] = new ItemStack(ModItems.rocket_fuel, 1); + break; default: break; } @@ -5310,112 +5359,119 @@ public class MachineRecipes { if(stack == null || !(stack.getItem() instanceof ItemChemistryTemplate)) return null; - FluidStack[] input = new FluidStack[2]; + FluidStack[] output = new FluidStack[2]; switch(ItemChemistryTemplate.EnumChemistryTemplate.getEnum(stack.getItemDamage())) { case FP_HEAVYOIL: - input[0] = new FluidStack(300, FluidType.BITUMEN); - input[1] = new FluidStack(700, FluidType.SMEAR); + output[0] = new FluidStack(300, FluidType.BITUMEN); + output[1] = new FluidStack(700, FluidType.SMEAR); break; case FP_SMEAR: - input[0] = new FluidStack(600, FluidType.HEATINGOIL); - input[1] = new FluidStack(400, FluidType.LUBRICANT); + output[0] = new FluidStack(600, FluidType.HEATINGOIL); + output[1] = new FluidStack(400, FluidType.LUBRICANT); break; case FP_NAPHTHA: - input[0] = new FluidStack(400, FluidType.HEATINGOIL); - input[1] = new FluidStack(600, FluidType.DIESEL); + output[0] = new FluidStack(400, FluidType.HEATINGOIL); + output[1] = new FluidStack(600, FluidType.DIESEL); break; case FP_LIGHTOIL: - input[0] = new FluidStack(400, FluidType.DIESEL); - input[1] = new FluidStack(600, FluidType.KEROSENE); + output[0] = new FluidStack(400, FluidType.DIESEL); + output[1] = new FluidStack(600, FluidType.KEROSENE); break; case FR_REOIL: - input[0] = new FluidStack(800, FluidType.RECLAIMED); + output[0] = new FluidStack(800, FluidType.RECLAIMED); break; case FR_PETROIL: - input[0] = new FluidStack(1000, FluidType.PETROIL); + output[0] = new FluidStack(1000, FluidType.PETROIL); break; case FC_BITUMEN: - input[0] = new FluidStack(1000, FluidType.OIL); - input[1] = new FluidStack(200, FluidType.PETROLEUM); + output[0] = new FluidStack(1000, FluidType.OIL); + output[1] = new FluidStack(200, FluidType.PETROLEUM); break; case FC_I_NAPHTHA: - input[0] = new FluidStack(800, FluidType.NAPHTHA); + output[0] = new FluidStack(800, FluidType.NAPHTHA); break; case FC_GAS_PETROLEUM: - input[0] = new FluidStack(800, FluidType.PETROLEUM); + output[0] = new FluidStack(800, FluidType.PETROLEUM); break; case FC_DIESEL_KEROSENE: - input[0] = new FluidStack(400, FluidType.KEROSENE); + output[0] = new FluidStack(400, FluidType.KEROSENE); break; case FC_KEROSENE_PETROLEUM: - input[0] = new FluidStack(800, FluidType.PETROLEUM); + output[0] = new FluidStack(800, FluidType.PETROLEUM); break; case CC_OIL: - input[0] = new FluidStack(2000, FluidType.OIL); + output[0] = new FluidStack(2000, FluidType.OIL); break; case CC_I: - input[0] = new FluidStack(1600, FluidType.SMEAR); + output[0] = new FluidStack(1600, FluidType.SMEAR); break; case CC_HEATING: - input[0] = new FluidStack(1800, FluidType.HEATINGOIL); + output[0] = new FluidStack(1800, FluidType.HEATINGOIL); break; case CC_HEAVY: - input[0] = new FluidStack(1800, FluidType.HEAVYOIL); + output[0] = new FluidStack(1800, FluidType.HEAVYOIL); break; case CC_NAPHTHA: - input[0] = new FluidStack(2000, FluidType.NAPHTHA); + output[0] = new FluidStack(2000, FluidType.NAPHTHA); break; case COOLANT: - input[0] = new FluidStack(2000, FluidType.COOLANT); + output[0] = new FluidStack(2000, FluidType.COOLANT); break; case CRYOGEL: - input[0] = new FluidStack(2000, FluidType.CRYOGEL); + output[0] = new FluidStack(2000, FluidType.CRYOGEL); break; case PEROXIDE: - input[0] = new FluidStack(800, FluidType.ACID); + output[0] = new FluidStack(800, FluidType.ACID); break; case DEUTERIUM: - input[0] = new FluidStack(500, FluidType.DEUTERIUM); + output[0] = new FluidStack(500, FluidType.DEUTERIUM); break; case STEAM: - input[0] = new FluidStack(1000, FluidType.STEAM); + output[0] = new FluidStack(1000, FluidType.STEAM); break; case BP_BIOGAS: - input[0] = new FluidStack(4000, FluidType.BIOGAS); + output[0] = new FluidStack(4000, FluidType.BIOGAS); break; case BP_BIOFUEL: - input[0] = new FluidStack(1000, FluidType.BIOFUEL); + output[0] = new FluidStack(1000, FluidType.BIOFUEL); break; case UF6: - input[0] = new FluidStack(1000, FluidType.UF6); + output[0] = new FluidStack(1000, FluidType.UF6); break; case PUF6: - input[0] = new FluidStack(1000, FluidType.PUF6); + output[0] = new FluidStack(1000, FluidType.PUF6); break; case SAS3: - input[0] = new FluidStack(1000, FluidType.SAS3); + output[0] = new FluidStack(1000, FluidType.SAS3); break; case NITAN: - input[0] = new FluidStack(1000, FluidType.NITAN); + output[0] = new FluidStack(1000, FluidType.NITAN); break; case OIL_SAND: - input[0] = new FluidStack(1000, FluidType.BITUMEN); + output[0] = new FluidStack(1000, FluidType.BITUMEN); break; case DYN_SCHRAB: - input[0] = new FluidStack(50, FluidType.WATZ); + output[0] = new FluidStack(50, FluidType.WATZ); break; case DYN_EUPH: - input[0] = new FluidStack(100, FluidType.WATZ); + output[0] = new FluidStack(100, FluidType.WATZ); break; case DYN_DNT: - input[0] = new FluidStack(150, FluidType.WATZ); + output[0] = new FluidStack(150, FluidType.WATZ); + break; + case ELECTROLYSIS: + output[0] = new FluidStack(400, FluidType.HYDROGEN); + output[1] = new FluidStack(400, FluidType.OXYGEN); + break; + case XENON: + output[0] = new FluidStack(50, FluidType.XENON); break; default: break; } - return input; + return output; } public String[] getInfoFromItem(ItemStack stack) { diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index a0ee68709..a6b10bdb8 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -300,6 +300,7 @@ public class ModItems { public static Item cyclotron_tower; public static Item component_limiter; public static Item component_emitter; + public static Item chlorine_pinwheel; public static Item circuit_raw; public static Item circuit_aluminium; @@ -414,6 +415,10 @@ public class ModItems { public static Item sat_head_laser; public static Item sat_head_resonator; + public static Item seg_10; + public static Item seg_15; + public static Item seg_20; + public static Item chopper_head; public static Item chopper_gun; public static Item chopper_torso; @@ -773,6 +778,7 @@ public class ModItems { public static Item powder_poison; public static Item powder_thermite; public static Item cordite; + public static Item ballistite; public static Item pellet_gas; public static Item magnetron; public static Item pellet_buckshot; @@ -800,6 +806,7 @@ public class ModItems { public static Item bobmazon_machines; public static Item bobmazon_weapons; public static Item bobmazon_tools; + public static Item bobmazon_hidden; public static Item missile_assembly; public static Item missile_generic; @@ -847,6 +854,8 @@ public class ModItems { public static Item mp_thruster_20_kerosene_dual; public static Item mp_thruster_20_kerosene_triple; public static Item mp_thruster_20_solid; + public static Item mp_thruster_20_solid_multi; + public static Item mp_thruster_20_solid_multier; public static Item mp_stability_10_flat; public static Item mp_stability_10_cruise; @@ -948,6 +957,7 @@ public class ModItems { public static Item mp_warhead_10_nuclear; public static Item mp_warhead_10_nuclear_large; public static Item mp_warhead_10_taint; + public static Item mp_warhead_10_cloud; public static Item mp_warhead_15_he; public static Item mp_warhead_15_incendiary; public static Item mp_warhead_15_nuclear; @@ -1027,6 +1037,7 @@ public class ModItems { public static Item ammo_rocket_shrapnel; public static Item ammo_rocket_emp; public static Item ammo_rocket_glare; + public static Item ammo_rocket_toxic; public static Item ammo_rocket_sleek; public static Item ammo_rocket_nuclear; public static Item ammo_rocket_rpc; @@ -1034,7 +1045,10 @@ public class ModItems { public static Item ammo_grenade_he; public static Item ammo_grenade_incendiary; public static Item ammo_grenade_toxic; + public static Item ammo_grenade_concussion; + public static Item ammo_grenade_finned; public static Item ammo_grenade_sleek; + public static Item ammo_grenade_nuclear; public static Item gun_rpg; public static Item gun_rpg_ammo; @@ -1528,7 +1542,6 @@ public class ModItems { public static Item hazmat_grey_kit; public static Item loot_10; - public static Item loot_10_long; public static Item loot_15; public static Item loot_misc; @@ -1990,6 +2003,7 @@ public class ModItems { pellet_coal = new Item().setUnlocalizedName("pellet_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_coal"); component_limiter = new Item().setUnlocalizedName("component_limiter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_limiter"); component_emitter = new Item().setUnlocalizedName("component_emitter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_emitter"); + chlorine_pinwheel = new Item().setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel"); cap_aluminium = new Item().setUnlocalizedName("cap_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cap_aluminium"); hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel"); @@ -2049,6 +2063,10 @@ public class ModItems { sat_head_laser = new Item().setUnlocalizedName("sat_head_laser").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_laser"); sat_head_resonator = new Item().setUnlocalizedName("sat_head_resonator").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sat_head_resonator"); + seg_10 = new Item().setUnlocalizedName("seg_10").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_10"); + seg_15 = new Item().setUnlocalizedName("seg_15").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_15"); + seg_20 = new Item().setUnlocalizedName("seg_20").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":seg_20"); + chopper_head = new Item().setUnlocalizedName("chopper_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_head"); chopper_gun = new Item().setUnlocalizedName("chopper_gun").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_gun"); chopper_torso = new Item().setUnlocalizedName("chopper_torso").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chopper_torso"); @@ -2422,6 +2440,7 @@ public class ModItems { powder_poison = new ItemCustomLore().setUnlocalizedName("powder_poison").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_poison"); powder_thermite = new ItemCustomLore().setUnlocalizedName("powder_thermite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_thermite"); cordite = new Item().setUnlocalizedName("cordite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cordite"); + ballistite = new Item().setUnlocalizedName("ballistite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ballistite"); pellet_gas = new ItemCustomLore().setUnlocalizedName("pellet_gas").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellet_gas"); magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt"); pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead"); @@ -2496,7 +2515,9 @@ public class ModItems { mp_thruster_20_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_kerosene"); mp_thruster_20_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); mp_thruster_20_kerosene_triple = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); - mp_thruster_20_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_solid"); + mp_thruster_20_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_solid"); + mp_thruster_20_solid_multi = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_solid_multi"); + mp_thruster_20_solid_multier = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20) .setUnlocalizedName("mp_thruster_20_solid_multier"); mp_stability_10_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat"); mp_stability_10_cruise = new ItemMissile().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise"); @@ -2566,9 +2587,9 @@ public class ModItems { mp_fuselage_15_kerosene_blackjack = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); mp_fuselage_15_kerosene_lambda = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda"); mp_fuselage_15_kerosene_minuteman = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); - mp_fuselage_15_kerosene_pip = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("32!").setUnlocalizedName("mp_fuselage_15_kerosene_pip"); + mp_fuselage_15_kerosene_pip = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setUnlocalizedName("mp_fuselage_15_kerosene_pip"); mp_fuselage_15_kerosene_taint = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint"); - mp_fuselage_15_kerosene_yuck = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); + mp_fuselage_15_kerosene_yuck = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); mp_fuselage_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); mp_fuselage_15_solid_insulation = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); @@ -2598,6 +2619,7 @@ public class ModItems { mp_warhead_10_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); mp_warhead_10_nuclear_large = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); mp_warhead_10_taint = new ItemMissile().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_cloud = new ItemMissile().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); mp_warhead_15_he = new ItemMissile().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); mp_warhead_15_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); mp_warhead_15_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); @@ -2663,6 +2685,7 @@ public class ModItems { ammo_rocket_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_rocket_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_shrapnel"); ammo_rocket_emp = new ItemAmmo().setUnlocalizedName("ammo_rocket_emp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_emp"); ammo_rocket_glare = new ItemAmmo().setUnlocalizedName("ammo_rocket_glare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_glare"); + ammo_rocket_toxic = new ItemAmmo().setUnlocalizedName("ammo_rocket_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_toxic"); ammo_rocket_sleek = new ItemAmmo().setUnlocalizedName("ammo_rocket_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_sleek"); ammo_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_rocket_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_nuclear"); ammo_rocket_rpc = new ItemAmmo().setUnlocalizedName("ammo_rocket_rpc").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_rpc"); @@ -2670,7 +2693,10 @@ public class ModItems { ammo_grenade_he = new ItemAmmo().setUnlocalizedName("ammo_grenade_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_he"); ammo_grenade_incendiary = new ItemAmmo().setUnlocalizedName("ammo_grenade_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_incendiary"); ammo_grenade_toxic = new ItemAmmo().setUnlocalizedName("ammo_grenade_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_toxic"); + ammo_grenade_concussion = new ItemAmmo().setUnlocalizedName("ammo_grenade_concussion").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_concussion"); + ammo_grenade_finned = new ItemAmmo().setUnlocalizedName("ammo_grenade_finned").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_finned"); ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_sleek"); + ammo_grenade_nuclear = new ItemAmmo().setUnlocalizedName("ammo_grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_nuclear"); gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); @@ -3001,7 +3027,6 @@ public class ModItems { hazmat_grey_kit = new ItemStarterKit().setUnlocalizedName("hazmat_grey_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":hazmat_grey_kit"); loot_10 = new ItemLootCrate().setUnlocalizedName("loot_10").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_10"); - loot_10_long = new ItemLootCrate().setUnlocalizedName("loot_10_long").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_10_long"); loot_15 = new ItemLootCrate().setUnlocalizedName("loot_15").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_15"); loot_misc = new ItemLootCrate().setUnlocalizedName("loot_misc").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":loot_misc"); @@ -3073,7 +3098,7 @@ public class ModItems { padlock_rusty = new ItemLock(1).setUnlocalizedName("padlock_rusty").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_rusty"); padlock = new ItemLock(0.1).setUnlocalizedName("padlock").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock"); padlock_reinforced = new ItemLock(0.02).setUnlocalizedName("padlock_reinforced").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_reinforced"); - padlock_unbreakable = new ItemLock(0).setUnlocalizedName("padlock_unbreakable").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":padlock_unbreakable"); + padlock_unbreakable = new ItemLock(0).setUnlocalizedName("padlock_unbreakable").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":padlock_unbreakable"); turret_light_ammo = new ItemTurretAmmo(ModBlocks.turret_light, 100).setUnlocalizedName("turret_light_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_light_ammo"); turret_heavy_ammo = new ItemTurretAmmo(ModBlocks.turret_heavy, 25).setUnlocalizedName("turret_heavy_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_heavy_ammo"); @@ -3102,6 +3127,7 @@ public class ModItems { bobmazon_machines = new ItemCatalog().setUnlocalizedName("bobmazon_machines").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_machines"); bobmazon_weapons = new ItemCatalog().setUnlocalizedName("bobmazon_weapons").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_weapons"); bobmazon_tools = new ItemCatalog().setUnlocalizedName("bobmazon_tools").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_tools"); + bobmazon_hidden = new ItemCatalog().setUnlocalizedName("bobmazon_hidden").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":bobmazon_special"); euphemium_helmet = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 0).setUnlocalizedName("euphemium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_helmet"); euphemium_plate = new ArmorEuphemium(MainRegistry.enumArmorMaterialEuphemium, 6, 1).setUnlocalizedName("euphemium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":euphemium_plate"); @@ -3555,6 +3581,7 @@ public class ModItems { GameRegistry.registerItem(powder_thermite, powder_thermite.getUnlocalizedName()); GameRegistry.registerItem(powder_power, powder_power.getUnlocalizedName()); GameRegistry.registerItem(cordite, cordite.getUnlocalizedName()); + GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName()); //Fragments GameRegistry.registerItem(fragment_neodymium, fragment_neodymium.getUnlocalizedName()); @@ -3673,6 +3700,7 @@ public class ModItems { GameRegistry.registerItem(pipes_steel, pipes_steel.getUnlocalizedName()); GameRegistry.registerItem(drill_titanium, drill_titanium.getUnlocalizedName()); GameRegistry.registerItem(photo_panel, photo_panel.getUnlocalizedName()); + GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName()); //Teleporter Parts GameRegistry.registerItem(telepad, telepad.getUnlocalizedName()); @@ -3738,6 +3766,9 @@ public class ModItems { GameRegistry.registerItem(sat_head_radar, sat_head_radar.getUnlocalizedName()); GameRegistry.registerItem(sat_head_laser, sat_head_laser.getUnlocalizedName()); GameRegistry.registerItem(sat_head_resonator, sat_head_resonator.getUnlocalizedName()); + GameRegistry.registerItem(seg_10, seg_10.getUnlocalizedName()); + GameRegistry.registerItem(seg_15, seg_15.getUnlocalizedName()); + GameRegistry.registerItem(seg_20, seg_20.getUnlocalizedName()); //Chopper parts GameRegistry.registerItem(chopper_head, chopper_head.getUnlocalizedName()); @@ -3960,6 +3991,7 @@ public class ModItems { GameRegistry.registerItem(bobmazon_machines, bobmazon_machines.getUnlocalizedName()); GameRegistry.registerItem(bobmazon_weapons, bobmazon_weapons.getUnlocalizedName()); GameRegistry.registerItem(bobmazon_tools, bobmazon_tools.getUnlocalizedName()); + GameRegistry.registerItem(bobmazon_hidden, bobmazon_hidden.getUnlocalizedName()); //Hydraulic Press Stamps GameRegistry.registerItem(stamp_stone_flat, stamp_stone_flat.getUnlocalizedName()); @@ -4323,6 +4355,8 @@ public class ModItems { GameRegistry.registerItem(mp_thruster_20_kerosene_dual, mp_thruster_20_kerosene_dual.getUnlocalizedName()); GameRegistry.registerItem(mp_thruster_20_kerosene_triple, mp_thruster_20_kerosene_triple.getUnlocalizedName()); GameRegistry.registerItem(mp_thruster_20_solid, mp_thruster_20_solid.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_solid_multi, mp_thruster_20_solid_multi.getUnlocalizedName()); + GameRegistry.registerItem(mp_thruster_20_solid_multier, mp_thruster_20_solid_multier.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_10_flat, mp_stability_10_flat.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_10_cruise, mp_stability_10_cruise.getUnlocalizedName()); GameRegistry.registerItem(mp_stability_10_space, mp_stability_10_space.getUnlocalizedName()); @@ -4410,6 +4444,7 @@ public class ModItems { GameRegistry.registerItem(mp_warhead_10_nuclear, mp_warhead_10_nuclear.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_10_nuclear_large, mp_warhead_10_nuclear_large.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_10_taint, mp_warhead_10_taint.getUnlocalizedName()); + GameRegistry.registerItem(mp_warhead_10_cloud, mp_warhead_10_cloud.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_15_he, mp_warhead_15_he.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_15_incendiary, mp_warhead_15_incendiary.getUnlocalizedName()); GameRegistry.registerItem(mp_warhead_15_nuclear, mp_warhead_15_nuclear.getUnlocalizedName()); @@ -4424,7 +4459,7 @@ public class ModItems { GameRegistry.registerItem(mp_chip_4, mp_chip_4.getUnlocalizedName()); GameRegistry.registerItem(mp_chip_5, mp_chip_5.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_camo, missile_skin_camo.getUnlocalizedName()); + /*GameRegistry.registerItem(missile_skin_camo, missile_skin_camo.getUnlocalizedName()); GameRegistry.registerItem(missile_skin_desert, missile_skin_desert.getUnlocalizedName()); GameRegistry.registerItem(missile_skin_flames, missile_skin_flames.getUnlocalizedName()); GameRegistry.registerItem(missile_skin_manly_pink, missile_skin_manly_pink.getUnlocalizedName()); @@ -4432,7 +4467,7 @@ public class ModItems { GameRegistry.registerItem(missile_skin_sleek, missile_skin_sleek.getUnlocalizedName()); GameRegistry.registerItem(missile_skin_soviet_glory, missile_skin_soviet_glory.getUnlocalizedName()); GameRegistry.registerItem(missile_skin_soviet_stank, missile_skin_soviet_stank.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_metal, missile_skin_metal.getUnlocalizedName()); + GameRegistry.registerItem(missile_skin_metal, missile_skin_metal.getUnlocalizedName());*/ //Satellites GameRegistry.registerItem(sat_mapper, sat_mapper.getUnlocalizedName()); @@ -4585,6 +4620,7 @@ public class ModItems { GameRegistry.registerItem(ammo_rocket_shrapnel, ammo_rocket_shrapnel.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_emp, ammo_rocket_emp.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_glare, ammo_rocket_glare.getUnlocalizedName()); + GameRegistry.registerItem(ammo_rocket_toxic, ammo_rocket_toxic.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_sleek, ammo_rocket_sleek.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_nuclear, ammo_rocket_nuclear.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_rpc, ammo_rocket_rpc.getUnlocalizedName()); @@ -4592,7 +4628,10 @@ public class ModItems { GameRegistry.registerItem(ammo_grenade_he, ammo_grenade_he.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade_incendiary, ammo_grenade_incendiary.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade_toxic, ammo_grenade_toxic.getUnlocalizedName()); + GameRegistry.registerItem(ammo_grenade_concussion, ammo_grenade_concussion.getUnlocalizedName()); + GameRegistry.registerItem(ammo_grenade_finned, ammo_grenade_finned.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade_sleek, ammo_grenade_sleek.getUnlocalizedName()); + GameRegistry.registerItem(ammo_grenade_nuclear, ammo_grenade_nuclear.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly, ammo_folly.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.getUnlocalizedName()); @@ -5027,7 +5066,6 @@ public class ModItems { //Misile Loot Boxes GameRegistry.registerItem(loot_10, loot_10.getUnlocalizedName()); - GameRegistry.registerItem(loot_10_long, loot_10_long.getUnlocalizedName()); GameRegistry.registerItem(loot_15, loot_15.getUnlocalizedName()); GameRegistry.registerItem(loot_misc, loot_misc.getUnlocalizedName()); diff --git a/com/hbm/items/special/ItemSyringe.java b/com/hbm/items/special/ItemSyringe.java index c0afc341e..c4f3ec54a 100644 --- a/com/hbm/items/special/ItemSyringe.java +++ b/com/hbm/items/special/ItemSyringe.java @@ -365,8 +365,6 @@ public class ItemSyringe extends Item { if(nWear < 0) nWear = 0; - System.out.println(wear + " " + nWear); - ItemGunBase.setItemWear(gun, nWear); } } diff --git a/com/hbm/items/tool/ItemAssemblyTemplate.java b/com/hbm/items/tool/ItemAssemblyTemplate.java index 1e14e646e..3619e1240 100644 --- a/com/hbm/items/tool/ItemAssemblyTemplate.java +++ b/com/hbm/items/tool/ItemAssemblyTemplate.java @@ -1,12 +1,16 @@ package com.hbm.items.tool; +import java.util.Arrays; import java.util.List; import java.util.Random; import org.lwjgl.input.Keyboard; +import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.inventory.MachineRecipes; +import com.hbm.items.ModItems; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -15,6 +19,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityList; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -294,16 +299,321 @@ public class ItemAssemblyTemplate extends Item { AMS_LIMITER, AMS_EMITTER, RADAR, - FORCEFIELD; + FORCEFIELD, - //private final int value; - //private EnumAssemblyTemplate(int value) { - // this.value = value; - //} + MP_T_10_KEROSENE(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.pipes_steel, 1), + new ItemStack(ModItems.ingot_tungsten, 4), + new ItemStack(ModItems.plate_steel, 4)), + new ItemStack(ModItems.mp_thruster_10_kerosene)), + MP_T_10_SOLID(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.coil_tungsten, 1), + new ItemStack(ModItems.ingot_dura_steel, 4), + new ItemStack(ModItems.plate_steel, 4)), + new ItemStack(ModItems.mp_thruster_10_solid)), + MP_T_10_XENON(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 4), + new ItemStack(ModItems.pipes_steel, 2), + new ItemStack(ModItems.arc_electrode, 4)), + new ItemStack(ModItems.mp_thruster_10_xenon)), + MP_T_15_KEROSENE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.pipes_steel, 4), + new ItemStack(ModItems.ingot_tungsten, 8), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_desh, 4)), + new ItemStack(ModItems.mp_thruster_15_kerosene)), + MP_T_15_KEROSENE_TWIN(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.pipes_steel, 2), + new ItemStack(ModItems.ingot_tungsten, 4), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_desh, 1)), + new ItemStack(ModItems.mp_thruster_15_kerosene_dual)), + MP_T_15_KEROSENE_TRIPLE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.pipes_steel, 3), + new ItemStack(ModItems.ingot_tungsten, 6), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_desh, 2)), + new ItemStack(ModItems.mp_thruster_15_kerosene_triple)), + MP_T_15_SOLID(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_dura_steel, 6), + new ItemStack(ModItems.coil_tungsten, 3)), + new ItemStack(ModItems.mp_thruster_15_solid)), + MP_T_15_SOLID_HEXDECUPLE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_dura_steel, 12), + new ItemStack(ModItems.coil_tungsten, 6)), + new ItemStack(ModItems.mp_thruster_15_solid_hexdecuple)), + MP_T_15_HYDROGEN(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.pipes_steel, 4), + new ItemStack(ModItems.ingot_tungsten, 8), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.tank_steel, 1), + new ItemStack(ModItems.ingot_desh, 4)), + new ItemStack(ModItems.mp_thruster_15_hydrogen)), + MP_T_15_HYDROGEN_TWIN(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.pipes_steel, 2), + new ItemStack(ModItems.ingot_tungsten, 4), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.tank_steel, 1), + new ItemStack(ModItems.ingot_desh, 1)), + new ItemStack(ModItems.mp_thruster_15_hydrogen)), + MP_T_15_BALEFIRE_SHORT(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_polymer, 8), + new ItemStack(ModBlocks.reactor_element, 1), + new ItemStack(ModItems.ingot_desh, 8), + new ItemStack(ModItems.plate_saturnite, 12), + new ItemStack(ModItems.board_copper, 2), + new ItemStack(ModItems.ingot_uranium_fuel, 4), + new ItemStack(ModItems.pipes_steel, 2)), + new ItemStack(ModItems.mp_thruster_15_balefire_short)), + MP_T_15_BALEFIRE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_polymer, 16), + new ItemStack(ModBlocks.reactor_element, 2), + new ItemStack(ModItems.ingot_desh, 16), + new ItemStack(ModItems.plate_saturnite, 24), + new ItemStack(ModItems.board_copper, 4), + new ItemStack(ModItems.ingot_uranium_fuel, 8), + new ItemStack(ModItems.pipes_steel, 2)), + new ItemStack(ModItems.mp_thruster_15_balefire)), + MP_T_15_BALEFIRE_LARGE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_polymer, 16), + new ItemStack(ModBlocks.reactor_element, 2), + new ItemStack(ModItems.ingot_desh, 24), + new ItemStack(ModItems.plate_saturnite, 32), + new ItemStack(ModItems.board_copper, 4), + new ItemStack(ModItems.ingot_uranium_fuel, 8), + new ItemStack(ModItems.pipes_steel, 2)), + new ItemStack(ModItems.mp_thruster_15_balefire_large)), + MP_T_20_KEROSENE(500, Arrays.asList( + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModItems.pipes_steel, 8), + new ItemStack(ModItems.ingot_tungsten, 16), + new ItemStack(ModItems.plate_steel, 12), + new ItemStack(ModItems.ingot_desh, 8)), + new ItemStack(ModItems.mp_thruster_20_kerosene)), + MP_T_20_KEROSENE_TWIN(500, Arrays.asList( + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModItems.pipes_steel, 4), + new ItemStack(ModItems.ingot_tungsten, 8), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_desh, 4)), + new ItemStack(ModItems.mp_thruster_20_kerosene_dual)), + MP_T_20_KEROSENE_TRIPLE(500, Arrays.asList( + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModItems.pipes_steel, 6), + new ItemStack(ModItems.ingot_tungsten, 12), + new ItemStack(ModItems.plate_steel, 8), + new ItemStack(ModItems.ingot_desh, 6)), + new ItemStack(ModItems.mp_thruster_20_kerosene_triple)), + MP_T_20_SOLID(500, Arrays.asList( + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModItems.coil_tungsten, 8), + new ItemStack(ModItems.ingot_dura_steel, 16), + new ItemStack(ModItems.plate_steel, 12)), + new ItemStack(ModItems.mp_thruster_20_solid)), - //public int getValue() { - // return value; - //} + MP_F_10_KEROSENE(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 2), + new ItemStack(ModBlocks.steel_scaffold, 3), + new ItemStack(ModItems.plate_titanium, 12), + new ItemStack(ModItems.plate_steel, 3)), + new ItemStack(ModItems.mp_fuselage_10_kerosene)), + MP_F_10_SOLID(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 2), + new ItemStack(ModBlocks.steel_scaffold, 3), + new ItemStack(ModItems.plate_titanium, 12), + new ItemStack(ModItems.plate_aluminium, 3)), + new ItemStack(ModItems.mp_fuselage_10_solid)), + MP_F_10_XENON(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 2), + new ItemStack(ModBlocks.steel_scaffold, 3), + new ItemStack(ModItems.plate_titanium, 12), + new ItemStack(ModItems.board_copper, 3)), + new ItemStack(ModItems.mp_fuselage_10_xenon)), + MP_F_10_KEROSENE_LONG(200, Arrays.asList( + new ItemStack(ModItems.seg_10, 2), + new ItemStack(ModBlocks.steel_scaffold, 6), + new ItemStack(ModItems.plate_titanium, 24), + new ItemStack(ModItems.plate_steel, 6)), + new ItemStack(ModItems.mp_fuselage_10_long_kerosene)), + MP_F_10_SOLID_LONG(200, Arrays.asList( + new ItemStack(ModItems.seg_10, 2), + new ItemStack(ModBlocks.steel_scaffold, 6), + new ItemStack(ModItems.plate_titanium, 24), + new ItemStack(ModItems.plate_aluminium, 6)), + new ItemStack(ModItems.mp_fuselage_10_long_kerosene)), + MP_F_10_15_KEROSENE(300, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModBlocks.steel_scaffold, 9), + new ItemStack(ModItems.plate_titanium, 36), + new ItemStack(ModItems.plate_steel, 9)), + new ItemStack(ModItems.mp_fuselage_10_15_kerosene)), + MP_F_10_15_SOLID(300, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModBlocks.steel_scaffold, 9), + new ItemStack(ModItems.plate_titanium, 36), + new ItemStack(ModItems.plate_aluminium, 9)), + new ItemStack(ModItems.mp_fuselage_10_15_solid)), + MP_F_10_15_HYDROGEN(300, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModBlocks.steel_scaffold, 9), + new ItemStack(ModItems.plate_titanium, 36), + new ItemStack(ModItems.plate_iron, 9)), + new ItemStack(ModItems.mp_fuselage_10_15_hydrogen)), + MP_F_10_15_BALEFIRE(300, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModBlocks.steel_scaffold, 9), + new ItemStack(ModItems.plate_titanium, 36), + new ItemStack(ModItems.plate_saturnite, 9)), + new ItemStack(ModItems.mp_fuselage_10_15_balefire)), + MP_F_15_KEROSENE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 2), + new ItemStack(ModBlocks.steel_scaffold, 12), + new ItemStack(ModItems.plate_titanium, 48), + new ItemStack(ModItems.plate_steel, 12)), + new ItemStack(ModItems.mp_fuselage_15_kerosene)), + MP_F_15_SOLID(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 2), + new ItemStack(ModBlocks.steel_scaffold, 12), + new ItemStack(ModItems.plate_titanium, 48), + new ItemStack(ModItems.plate_aluminium, 12)), + new ItemStack(ModItems.mp_fuselage_15_solid)), + MP_F_15_HYDROGEN(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 2), + new ItemStack(ModBlocks.steel_scaffold, 12), + new ItemStack(ModItems.plate_titanium, 48), + new ItemStack(ModItems.plate_iron, 12)), + new ItemStack(ModItems.mp_fuselage_15_hydrogen)), + MP_F_15_BALEFIRE(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 2), + new ItemStack(ModBlocks.steel_scaffold, 12), + new ItemStack(ModItems.plate_titanium, 48), + new ItemStack(ModItems.plate_saturnite, 12)), + new ItemStack(ModItems.mp_fuselage_15_balefire)), + MP_F_15_20_KEROSENE(600, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModBlocks.steel_scaffold, 16), + new ItemStack(ModItems.plate_titanium, 64), + new ItemStack(ModItems.plate_steel, 16)), + new ItemStack(ModItems.mp_fuselage_15_20_kerosene)), + MP_F_15_20_SOLID(600, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.seg_20, 1), + new ItemStack(ModBlocks.steel_scaffold, 16), + new ItemStack(ModItems.plate_titanium, 64), + new ItemStack(ModItems.plate_aluminium, 16)), + new ItemStack(ModItems.mp_fuselage_15_20_solid)), + + MP_W_10_HE(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(Blocks.tnt, 3), + new ItemStack(ModItems.circuit_targeting_tier2, 1)), + new ItemStack(ModItems.mp_warhead_10_he)), + MP_W_10_INC(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_titanium, 4), + new ItemStack(ModItems.powder_fire, 3), + new ItemStack(Blocks.tnt, 2), + new ItemStack(ModItems.circuit_targeting_tier2, 1)), + new ItemStack(ModItems.mp_warhead_10_incendiary)), + MP_W_10_BUSTER(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_titanium, 4), + new ItemStack(ModBlocks.det_charge, 1), + new ItemStack(ModBlocks.det_cord, 4), + new ItemStack(ModItems.board_copper, 4), + new ItemStack(ModItems.circuit_targeting_tier3, 1)), + new ItemStack(ModItems.mp_warhead_10_buster)), + MP_W_10_TATER(200, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 6), + new ItemStack(ModItems.ingot_pu239, 1), + new ItemStack(Blocks.tnt, 2), + new ItemStack(ModItems.circuit_targeting_tier3, 1)), + new ItemStack(ModItems.mp_warhead_10_nuclear)), + MP_W_10_BORIS(300, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 8), + new ItemStack(ModItems.plate_aluminium, 4), + new ItemStack(ModItems.ingot_pu239, 2), + new ItemStack(ModBlocks.det_charge, 2), + new ItemStack(ModItems.circuit_targeting_tier4, 1)), + new ItemStack(ModItems.mp_warhead_10_nuclear_large)), + MP_W_10_TAINT(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 12), + new ItemStack(ModBlocks.det_cord, 2), + new ItemStack(ModItems.powder_magic, 12), + new ItemStack(ModItems.bucket_mud, 1)), + new ItemStack(ModItems.mp_warhead_10_taint)), + MP_W_10_CLOUD(100, Arrays.asList( + new ItemStack(ModItems.seg_10, 1), + new ItemStack(ModItems.plate_steel, 12), + new ItemStack(ModBlocks.det_cord, 2), + new ItemStack(ModItems.grenade_pink_cloud, 2)), + new ItemStack(ModItems.mp_warhead_10_cloud)), + MP_W_15_HE(200, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 16), + new ItemStack(ModBlocks.det_charge, 4), + new ItemStack(ModItems.circuit_targeting_tier3, 1)), + new ItemStack(ModItems.mp_warhead_15_he)), + MP_W_15_INC(200, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 16), + new ItemStack(ModBlocks.det_charge, 2), + new ItemStack(ModItems.powder_fire, 8), + new ItemStack(ModItems.circuit_targeting_tier3, 1)), + new ItemStack(ModItems.mp_warhead_15_incendiary)), + MP_W_15_BERTHA(500, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 24), + new ItemStack(ModItems.plate_titanium, 12), + new ItemStack(ModItems.ingot_pu239, 3), + new ItemStack(ModBlocks.det_charge, 4), + new ItemStack(ModItems.circuit_targeting_tier4, 1)), + new ItemStack(ModItems.mp_warhead_15_nuclear)), + MP_W_15_NERV(400, Arrays.asList( + new ItemStack(ModItems.seg_15, 1), + new ItemStack(ModItems.plate_steel, 8), + new ItemStack(ModItems.plate_titanium, 20), + new ItemStack(ModBlocks.det_charge, 24), + new ItemStack(Blocks.redstone_block, 12), + new ItemStack(ModItems.powder_magnetized_tungsten, 6), + new ItemStack(ModItems.circuit_targeting_tier4, 1)), + new ItemStack(ModItems.mp_warhead_15_n2)); + + private EnumAssemblyTemplate() { } + + private EnumAssemblyTemplate(int time, List ingredients, ItemStack output) { + this.time = time; + this.ingredients = ingredients; + this.output = output; + } + + public int time = 0; + public List ingredients = null; + public ItemStack output = null; public static EnumAssemblyTemplate getEnum(int i) { return EnumAssemblyTemplate.values()[i]; @@ -352,6 +662,9 @@ public class ItemAssemblyTemplate extends Item { int i = stack.getItemDamage(); EnumAssemblyTemplate enum1 = EnumAssemblyTemplate.getEnum(i); + if(enum1.time != 0) + return enum1.time; + switch (enum1) { case IRON_PLATE: return 30; diff --git a/com/hbm/items/tool/ItemChemistryTemplate.java b/com/hbm/items/tool/ItemChemistryTemplate.java index 8ad5e9ce7..31e080532 100644 --- a/com/hbm/items/tool/ItemChemistryTemplate.java +++ b/com/hbm/items/tool/ItemChemistryTemplate.java @@ -79,7 +79,10 @@ public class ItemChemistryTemplate extends Item { DYN_DNT, CORDITE, KEVLAR, - CONCRETE; + CONCRETE, + SOLID_FUEL, + ELECTROLYSIS, + XENON; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) @@ -241,6 +244,12 @@ public class ItemChemistryTemplate extends Item { return 40; case CONCRETE: return 100; + case SOLID_FUEL: + return 200; + case ELECTROLYSIS: + return 400; + case XENON: + return 600; default: return 100; } diff --git a/com/hbm/items/weapon/ItemAmmo.java b/com/hbm/items/weapon/ItemAmmo.java index 8511d6ade..51f6656c2 100644 --- a/com/hbm/items/weapon/ItemAmmo.java +++ b/com/hbm/items/weapon/ItemAmmo.java @@ -150,6 +150,11 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.BLUE + "+ Incendiary explosion"); list.add(EnumChatFormatting.RED + "- Increased wear"); } + if(this == ModItems.ammo_rocket_toxic) { + list.add(EnumChatFormatting.BLUE + "+ Chlorine gas"); + list.add(EnumChatFormatting.RED + "- No explosion"); + list.add(EnumChatFormatting.RED + "- Decreased projectile speed"); + } if(this == ModItems.ammo_rocket_sleek) { list.add(EnumChatFormatting.BLUE + "+ Highly increased blast radius"); list.add(EnumChatFormatting.BLUE + "+ Not affected by gravity"); @@ -182,10 +187,23 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.BLUE + "+ Chlorine gas"); list.add(EnumChatFormatting.RED + "- No explosion"); } + if(this == ModItems.ammo_grenade_concussion) { + list.add(EnumChatFormatting.BLUE + "+ Increased blast radius"); + list.add(EnumChatFormatting.RED + "- No block damage"); + } + if(this == ModItems.ammo_grenade_finned) { + list.add(EnumChatFormatting.BLUE + "+ Decreased gravity"); + list.add(EnumChatFormatting.RED + "- Decreased blast radius"); + } if(this == ModItems.ammo_grenade_sleek) { list.add(EnumChatFormatting.BLUE + "+ Increased blast radius"); list.add(EnumChatFormatting.YELLOW + "* Jolt"); } + if(this == ModItems.ammo_grenade_nuclear) { + list.add(EnumChatFormatting.BLUE + "+ Nuclear"); + list.add(EnumChatFormatting.BLUE + "+ Increased range"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } //FOLLY if(this == ModItems.ammo_folly) { diff --git a/com/hbm/items/weapon/ItemMissile.java b/com/hbm/items/weapon/ItemMissile.java index ddab844a1..c6bdf0051 100644 --- a/com/hbm/items/weapon/ItemMissile.java +++ b/com/hbm/items/weapon/ItemMissile.java @@ -219,11 +219,11 @@ public class ItemMissile extends Item { list.add("### I AM ERROR ###"); } - if(this.rarity != null) - list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name); - if(type != PartType.CHIP) list.add(EnumChatFormatting.BOLD + "Health: " + EnumChatFormatting.GRAY + health + "HP"); + + if(this.rarity != null) + list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name); if(author != null) list.add(EnumChatFormatting.WHITE + " by " + author); if(witty != null) @@ -288,7 +288,7 @@ public class ItemMissile extends Item { case XENON: return EnumChatFormatting.DARK_PURPLE + "Xenon Gas"; case BALEFIRE: - return EnumChatFormatting.GREEN + "BF Inferno Fuel / Peroxide"; + return EnumChatFormatting.GREEN + "BF Rocket Fuel / Peroxide"; default: return EnumChatFormatting.BOLD + "N/A"; } diff --git a/com/hbm/lib/ModDamageSource.java b/com/hbm/lib/ModDamageSource.java index c8e59da58..3eed49bde 100644 --- a/com/hbm/lib/ModDamageSource.java +++ b/com/hbm/lib/ModDamageSource.java @@ -42,6 +42,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource pc = (new DamageSource("pc")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource cloud = (new DamageSource("cloud")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource lead = (new DamageSource("lead")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource enervation = (new DamageSource("enervation")).setDamageIsAbsolute().setDamageBypassesArmor(); public ModDamageSource(String p_i1566_1_) { super(p_i1566_1_); diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index c2b566950..79aa8d4c9 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -52,6 +52,7 @@ public class ClientProxy extends ServerProxy RenderingRegistry.registerBlockHandler(new RenderTaintBlock()); RenderingRegistry.registerBlockHandler(new RenderScaffoldBlock()); RenderingRegistry.registerBlockHandler(new RenderTapeBlock()); + RenderingRegistry.registerBlockHandler(new RenderSteelBeam()); MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate()); MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate()); @@ -403,7 +404,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_wall), new ItemRenderDecoBlock()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_corner), new ItemRenderDecoBlock()); MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_roof), new ItemRenderDecoBlock()); - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_beam), new ItemRenderDecoBlock()); + //MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_beam), new ItemRenderDecoBlock()); //MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.steel_scaffold), new ItemRenderDecoBlock()); RenderingRegistry.registerEntityRenderingHandler(EntityNuclearCreeper.class, new RenderNuclearCreeper()); @@ -518,6 +519,10 @@ public class ClientProxy extends ServerProxy ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.7F, 0.7F, 0.7F, 1F); Minecraft.getMinecraft().effectRenderer.addEffect(contrail); } + if("exBalefire".equals(type)) { + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0.2F, 0.7F, 0.2F, 1F); + Minecraft.getMinecraft().effectRenderer.addEffect(contrail); + } } } diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index 053e0231a..acd35dcfc 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -6,6 +6,7 @@ import com.hbm.items.ModItems; import com.hbm.items.special.ItemBattery; import com.hbm.items.weapon.GunB92Cell; +import net.minecraft.block.Block; import net.minecraft.enchantment.Enchantment; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -869,7 +870,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', "nuggetLead" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_iron, 16), new Object[] { " I", "GC", " P", 'I', "ingotIron", 'G', ModItems.cordite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_iron, 16), new Object[] { " I", "GC", " P", 'I', "ingotIron", 'G', ModItems.ballistite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_steel, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_steel, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.ballistite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_u235, 'G', ModItems.cordite, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.ingot_pu239, 'G', ModItems.cordite, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lead, 16), new Object[] { " I", "GC", " P", 'I', ModItems.trinitite, 'G', ModItems.cordite, 'C', "paneGlassColorless", 'P', ModItems.primer_357 })); @@ -879,15 +882,23 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nightmare, 16), new Object[] { " I", "GC", " P", 'I', "ingotTungsten", 'G', ModItems.cordite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_desh, 16), new Object[] { " I", "GC", " P", 'I', "ingotDesh", 'G', ModItems.cordite, 'C', ModItems.casing_357, 'P', ModItems.primer_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_smg, 24), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_smg, 24), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.ballistite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_uzi, 24), new Object[] { " I", "GC", " P", 'I', "ingotIron", 'G', ModItems.cordite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_uzi, 24), new Object[] { " I", "GC", " P", 'I', "ingotIron", 'G', ModItems.ballistite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_lacunae, 24), new Object[] { " I", "GC", " P", 'I', "ingotCopper", 'G', ModItems.cordite, 'C', ModItems.casing_9, 'P', ModItems.primer_9 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nopip, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_44, 'P', ModItems.primer_44 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_nopip, 16), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.ballistite, 'C', ModItems.casing_44, 'P', ModItems.primer_44 })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_pip, 16), new Object[] { " I ", "GCM", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_44, 'P', ModItems.primer_44, 'M', ModItems.powder_magic })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_12gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_slug, 8), new Object[] { " I ", "GCL", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_slug, 8), new Object[] { " I ", "GCL", " P ", 'I', "ingotLead", 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_explosive, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_cluster, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_explosive, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_cluster, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_flechette, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_flechette, 8), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', "plateCopper" })); GameRegistry.addRecipe(new ItemStack(ModItems.gun_revolver_nightmare2_ammo, 8), new Object[] { "I", "C", "P", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_calamity, 8), new Object[] { " I ", "GCG", " P ", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.assembly_actionexpress, 8), new Object[] { " I", "GC", " P", 'I', "ingotLead", 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 })); @@ -921,17 +932,26 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.ammo_folly_du, 1), new Object[] { " B ", "EEE", " S ", 'B', ModItems.folly_bullet_du, 'E', ModBlocks.det_charge, 'S', ModItems.folly_shell }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { " T ", "GCG", " P ", 'T', Blocks.tnt, 'G', Items.gunpowder, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { " T ", "GCG", " P ", 'T', Blocks.tnt, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket_he, 1), new Object[] { "G", "R", "G", 'G', Items.gunpowder, 'R', ModItems.ammo_rocket }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket_incendiary, 1), new Object[] { "G", "R", 'G', ModItems.powder_fire, 'R', ModItems.ammo_rocket }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_rocket_emp, 1), new Object[] { "G", "R", 'G', "dustDiamond", 'R', ModItems.ammo_rocket })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket_shrapnel, 1), new Object[] { "G", "R", 'G', ModItems.pellet_buckshot, 'R', ModItems.ammo_rocket }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket_glare, 1), new Object[] { "GGG", "GRG", "GGG", 'G', Items.redstone, 'R', ModItems.ammo_rocket }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_rocket_toxic, 1), new Object[] { "G", "R", 'G', ModItems.pellet_gas, 'R', ModItems.ammo_rocket }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_rocket_nuclear, 1), new Object[] { " P ", "NRN", " P ", 'P', ModItems.nugget_pu239, 'N', "plateDenseLead", 'R', ModItems.ammo_rocket })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', "plateSteel", 'C', ModItems.canister_fuel, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', "plateSteel", 'C', ModItems.canister_petroil, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_rocket_rpc, 2), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', "plateSteel", 'C', ModItems.canister_biofuel, 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_grenade, 2), new Object[] { " T ", "GCI", " P ", 'T', Items.gunpowder, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', "plateIron" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_grenade, 2), new Object[] { " T ", "GCI", " P ", 'T', Items.gunpowder, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'I', "plateIron" })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_he, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', Blocks.tnt }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_incendiary, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_toxic, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', ModItems.powder_poison }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_concussion, 2), new Object[] { "GIG", 'G', ModItems.ammo_grenade, 'I', Items.glowstone_dust }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_nuclear, 2), new Object[] { " P ", "GIG", " P ", 'G', ModItems.ammo_grenade, 'I', ModItems.neutron_reflector, 'P', ModItems.nugget_pu239 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_grenade_finned, 1), new Object[] { "G", "R", 'G', Items.feather, 'R', ModItems.ammo_grenade }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_357, 1), new Object[] { "RSR", "III", " C ", 'R', "dustRedstone", 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_357 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.stamp_44, 1), new Object[] { "RSR", "III", " C ", 'R', "dustRedstone", 'S', ModItems.stamp_iron_flat, 'I', ModItems.plate_polymer, 'C', ModItems.casing_44 })); @@ -1261,7 +1281,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jetpack_break, 1), new Object[] { "PTP", "SLS", "P P", 'P', "plateSteel", 'T', ModItems.cap_aluminium, 'S', ModItems.coil_tungsten, 'L', ModItems.jetpack_boost })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jetpack_vector, 1), new Object[] { "PTP", "SLS", "W W", 'P', "plateTitanium", 'T', ModItems.circuit_copper, 'S', ModItems.motor, 'L', ModItems.jetpack_fly, 'W', ModItems.thruster_small })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { "TTG", "SSM", 'T', "plateIron", 'S', "plateSteel", 'M', ModItems.motor, 'G', ModItems.circuit_gold })); + GameRegistry.addRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_fuel }); + GameRegistry.addRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_petroil }); + GameRegistry.addRecipe(new ItemStack(ModItems.chainsaw, 1), new Object[] { " H", "BBP", " C", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModItems.canister_biofuel }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', "plateSteel", 'I', "ingotSteel" })); @@ -1355,6 +1377,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.crowbar, 1), new Object[] { "II", " I", " I", 'I', "ingotSteel" })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.powder_power, 5), new Object[] { "dustRedstone", "dustGlowstone", "dustDiamond", "dustNeptunium", "dustMagnetizedTungsten" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.ballistite, 3), new Object[] { Items.gunpowder, "dustSalpeter", Items.sugar })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.coal, 1), new Object[] { "#", '#', "dustCoal" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustQuartz" })); //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.quartz, 1), new Object[] { "#", '#', "dustNetherQuartz" })); @@ -1495,7 +1518,7 @@ public class CraftingManager { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_sparkle), new Object[] { ModItems.bottle_nuka, Items.carrot, Items.gold_nugget }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.bottle_rad), new Object[] { ModItems.bottle_quantum, Items.carrot, Items.gold_nugget }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.grenade_nuke), new Object[] { "CGC", "CGC", "PAP", 'C', ModBlocks.det_charge, 'G', ModItems.grenade_mk2, 'P', "plateAdvanced", 'A', Blocks.anvil })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "-C-", "8OI", "EUE", '-', ModItems.plate_polymer, 'C', ModItems.circuit_targeting_tier4, '8', ModItems.coil_gold, 'O', ModItems.pellet_rtg, 'I', ModItems.fuse, 'E', "plateSteel", 'U', ModItems.rtg_unit })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "PSP", "SCS", "PSP", 'P', "plateSteel", 'S', ModItems.ingot_starmetal, 'C', ModItems.fusion_core })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiorec), new Object[] { " W", "PCP", "PIP", 'W', ModItems.wire_copper, 'P', "plateSteel", 'C', ModItems.circuit_red_copper, 'I', "ingotPolymer" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jackt), new Object[] { "S S", "LIL", "LIL", 'S', "plateSteel", 'L', Items.leather, 'I', ModItems.plate_polymer })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.jackt2), new Object[] { "S S", "LIL", "III", 'S', "plateSteel", 'L', Items.leather, 'I', ModItems.plate_polymer })); @@ -1571,7 +1594,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete })); GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_scaffold, 1), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.fluid_duct, 'C', ModBlocks.red_cable }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_kerosene, 1), new Object[] { "PSM", "TPT", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotTungsten" })); + /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_kerosene, 1), new Object[] { "PSM", "TPT", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_solid, 1), new Object[] { "PSM", "DPD", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotSteel", 'D', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_10_xenon, 1), new Object[] { "PSM", "DPD", "T T", 'P', ModItems.pipes_steel, 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'T', "ingotSteel", 'D', ModItems.arc_electrode })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_kerosene_dual, 1), new Object[] { "SPS", "IPI", "T T", 'S', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'I', "ingotSteel", 'T', ModItems.mp_thruster_10_kerosene })); @@ -1583,7 +1606,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_hydrogen_dual, 1), new Object[] { "SPS", "IDI", "T T", 'S', ModBlocks.steel_scaffold, 'P', ModItems.pipes_steel, 'D', ModItems.tank_steel, 'I', "ingotSteel", 'T', ModItems.mp_thruster_10_kerosene })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_short, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'I', "ingotTungsten" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', ModItems.board_copper, 'T', ModBlocks.reactor_element, 'I', "ingotTungsten" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_large, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', "blockDesh", 'T', ModBlocks.reactor_element, 'I', ModBlocks.brick_compound })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_thruster_15_balefire_large, 1), new Object[] { "SMS", "PTP", "I I", 'S', ModBlocks.steel_scaffold, 'M', ModItems.motor, 'P', "blockDesh", 'T', ModBlocks.reactor_element, 'I', ModBlocks.brick_compound }));*/ GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_10_flat, 1), new Object[] { "PSP", "P P", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_10_cruise, 1), new Object[] { "ASA", " S ", "PSP", 'A', "plateTitanium", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); @@ -1591,7 +1614,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_15_flat, 1), new Object[] { "ASA", "PSP", 'A', "plateAluminum", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_stability_15_thin, 1), new Object[] { "A A", "PSP", "PSP", 'A', "plateAluminum", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_kerosene, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateSteel", 'T', ModItems.tank_steel, 'A', "plateTitanium" })); + /*GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_kerosene, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateSteel", 'T', ModItems.tank_steel, 'A', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_solid, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateAluminum", 'T', ModItems.tank_steel, 'A', "plateCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_xenon, 1), new Object[] { "STS", "ATA", "STS", 'S', "plateSteel", 'T', ModItems.tank_steel, 'A', "plateAdvanced" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_10_long_kerosene, 1), new Object[] { "F ", " F", 'F', ModItems.mp_fuselage_10_kerosene })); @@ -1603,7 +1626,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_kerosene, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateSteel", 'F', ModItems.mp_fuselage_10_long_kerosene, 'L', ModItems.mp_fuselage_10_15_kerosene })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_solid, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateAluminum", 'F', ModItems.mp_fuselage_10_long_solid, 'L', ModItems.mp_fuselage_10_15_solid })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_fuselage_15_hydrogen, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', "plateTitanium", 'F', ModItems.mp_fuselage_10_long_kerosene, 'L', ModItems.mp_fuselage_10_15_hydrogen })); - GameRegistry.addRecipe(new ItemStack(ModItems.mp_fuselage_15_balefire, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', ModItems.plate_saturnite, 'F', ModItems.mp_fuselage_10_long_solid, 'L', ModItems.mp_fuselage_10_15_balefire }); + GameRegistry.addRecipe(new ItemStack(ModItems.mp_fuselage_15_balefire, 1), new Object[] { "SP ", "PFP", " PL", 'S', ModBlocks.steel_scaffold, 'P', ModItems.plate_saturnite, 'F', ModItems.mp_fuselage_10_long_solid, 'L', ModItems.mp_fuselage_10_15_balefire });*/ GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_he, 1), new Object[] { " P ", "PTP", "TST", 'P', "plateSteel", 'T', Blocks.tnt, 'S', ModBlocks.steel_scaffold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mp_warhead_10_incendiary, 1), new Object[] { "PIP", "ITI", "TST", 'P', "plateTitanium", 'T', Blocks.tnt, 'S', ModBlocks.steel_scaffold, 'I', ModItems.powder_fire })); @@ -1622,6 +1645,10 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.mp_chip_4, 1), new Object[] { "P", "C", "S", 'P', ModItems.plate_polymer, 'C', ModItems.circuit_targeting_tier4, 'S', ModBlocks.steel_scaffold }); GameRegistry.addRecipe(new ItemStack(ModItems.mp_chip_5, 1), new Object[] { "P", "C", "S", 'P', ModItems.plate_polymer, 'C', ModItems.circuit_targeting_tier5, 'S', ModBlocks.steel_scaffold }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_10, 1), new Object[] { "P", "S", "B", 'P', "plateAluminum", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_15, 1), new Object[] { "PP", "SS", "BB", 'P', "plateTitanium", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_20, 1), new Object[] { "PGP", "SSS", "BBB", 'P', "plateSteel", 'G', "plateGold", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); + GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core, 1), new Object[] { "SCS", "SIS", "BEB", 'S', ModBlocks.steel_scaffold, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier3, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', ModItems.circuit_red_copper, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier4, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); @@ -1643,6 +1670,15 @@ public class CraftingManager { GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 256.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_uranium), new ItemStack(ModItems.ingot_uranium, 2), 12.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_thorium), new ItemStack(ModItems.ingot_th232, 2), 6.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_titanium), new ItemStack(ModItems.ingot_titanium, 3), 6.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_copper), new ItemStack(ModItems.ingot_copper, 3), 5.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_tungsten), new ItemStack(ModItems.ingot_tungsten, 3), 12.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_aluminium), new ItemStack(ModItems.ingot_aluminium, 3), 5.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lead), new ItemStack(ModItems.ingot_lead, 3), 6.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lithium), new ItemStack(ModItems.lithium), 20.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_starmetal), new ItemStack(ModItems.ingot_starmetal), 50.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_australium), new ItemStack(ModItems.nugget_australium), 2.5F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_weidanium), new ItemStack(ModItems.nugget_weidanium, 6), 16.0F); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index cf48f1b21..0b6cab291 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -1,5 +1,6 @@ package com.hbm.main; +import net.minecraft.block.Block; import net.minecraft.block.BlockDispenser; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorProjectileDispense; @@ -530,6 +531,7 @@ public class MainRegistry GameRegistry.registerTileEntity(TileEntityLaunchTable.class, "tileentity_large_launch_table"); GameRegistry.registerTileEntity(TileEntityCompactLauncher.class, "tileentity_small_launcher"); GameRegistry.registerTileEntity(TileEntityMultiblock.class, "tileentity_multi_core"); + GameRegistry.registerTileEntity(TileEntityChlorineSeal.class, "tileentity_chlorine_seal"); EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true); EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true); @@ -671,6 +673,7 @@ public class MainRegistry EntityRegistry.registerModEntity(EntityWaterSplash.class, "entity_water_splash", 137, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityBobmazon.class, "entity_bobmazon_delivery", 138, this, 1000, 1, true); EntityRegistry.registerModEntity(EntityMissileCustom.class, "entity_custom_missile", 139, this, 1000, 1, true); + EntityRegistry.registerModEntity(EntityBalefire.class, "entity_balefire", 140, this, 1000, 1, true); EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00); EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd); @@ -1086,6 +1089,7 @@ public class MainRegistry OreDictionary.registerOre("ingotSaturnite", ModItems.ingot_saturnite); OreDictionary.registerOre("ingotEuphemium", ModItems.ingot_euphemium); OreDictionary.registerOre("ingotDineutronium", ModItems.ingot_dineutronium); + OreDictionary.registerOre("ingotStarmetal", ModItems.ingot_starmetal); OreDictionary.registerOre("dustFluorite", ModItems.fluorite); OreDictionary.registerOre("nuggetLead", ModItems.nugget_lead); OreDictionary.registerOre("nuggetUranium", ModItems.nugget_uranium); @@ -1219,6 +1223,17 @@ public class MainRegistry OreDictionary.registerOre("oreSulfur", ModBlocks.ore_nether_sulfur); OreDictionary.registerOre("oreSchrabidium", ModBlocks.ore_nether_schrabidium); + OreDictionary.registerOre("oreUranium", ModBlocks.ore_meteor_uranium); + OreDictionary.registerOre("oreThorium", ModBlocks.ore_meteor_thorium); + OreDictionary.registerOre("oreTitanium", ModBlocks.ore_meteor_titanium); + OreDictionary.registerOre("oreSulfur", ModBlocks.ore_meteor_sulfur); + OreDictionary.registerOre("oreCopper", ModBlocks.ore_meteor_copper); + OreDictionary.registerOre("oreTungsten", ModBlocks.ore_meteor_tungsten); + OreDictionary.registerOre("oreAluminum", ModBlocks.ore_meteor_aluminium); + OreDictionary.registerOre("oreLead", ModBlocks.ore_meteor_lead); + OreDictionary.registerOre("oreLithium", ModBlocks.ore_meteor_lithium); + OreDictionary.registerOre("oreStarmetal", ModBlocks.ore_meteor_starmetal); + OreDictionary.registerOre("blockThorium", ModBlocks.block_thorium); OreDictionary.registerOre("blockUranium", ModBlocks.block_uranium); OreDictionary.registerOre("blockTitanium", ModBlocks.block_titanium); @@ -1659,13 +1674,13 @@ public class MainRegistry geyserVapor = pGV.getInt(); final String CATEGORY_METEOR = "05_meteors"; - Property propMeteorStrikeChance = config.get(CATEGORY_METEOR, "5.00_meteorStrikeChance", 20 * 60 * 180); + Property propMeteorStrikeChance = config.get(CATEGORY_METEOR, "5.00_meteorStrikeChance", 20 * 60 * 60 * 5); propMeteorStrikeChance.comment = "The probability of a meteor spawning (an average of once every nTH ticks)"; meteorStrikeChance = propMeteorStrikeChance.getInt(); - Property propMeteorShowerChance = config.get(CATEGORY_METEOR, "5.01_meteorShowerChance", 20 * 60 * 5); + Property propMeteorShowerChance = config.get(CATEGORY_METEOR, "5.01_meteorShowerChance", 20 * 60 * 15); propMeteorShowerChance.comment = "The probability of a meteor spawning during meteor shower (an average of once every nTH ticks)"; meteorShowerChance = propMeteorShowerChance.getInt(); - Property propMeteorShowerDuration = config.get(CATEGORY_METEOR, "5.02_meteorShowerDuration", 6000); + Property propMeteorShowerDuration = config.get(CATEGORY_METEOR, "5.02_meteorShowerDuration", 20 * 60 * 30); propMeteorShowerDuration.comment = "Max duration of meteor shower in ticks"; meteorShowerDuration = propMeteorShowerDuration.getInt(); diff --git a/com/hbm/main/NEIConfig.java b/com/hbm/main/NEIConfig.java index 348007d55..4fc100f47 100644 --- a/com/hbm/main/NEIConfig.java +++ b/com/hbm/main/NEIConfig.java @@ -70,6 +70,7 @@ public class NEIConfig implements IConfigureNEI { //API.hideItem(new ItemStack(ModItems.watch)); //API.hideItem(new ItemStack(ModItems.rod_quad_euphemium)); //API.hideItem(new ItemStack(ModItems.rod_euphemium)); + API.hideItem(new ItemStack(ModItems.bobmazon_hidden)); if(MainRegistry.polaroidID != 11) { API.hideItem(new ItemStack(ModItems.book_secret)); API.hideItem(new ItemStack(ModItems.book_of_)); diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index d6d963c30..816af46db 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -350,6 +350,7 @@ public class ResourceManager { public static final IModelCustom mp_t_20_kerosene_dual = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_20_kerosene_dual.obj")); public static final IModelCustom mp_t_20_kerosene_triple = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_20_kerosene_triple.obj")); public static final IModelCustom mp_t_20_solid = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_20_solid.obj")); + public static final IModelCustom mp_t_20_solid_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_t_20_solid_multi.obj")); public static final IModelCustom mp_s_10_flat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_10_flat.obj")); public static final IModelCustom mp_s_10_cruise = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_parts/mp_s_10_cruise.obj")); @@ -383,6 +384,10 @@ public class ResourceManager { ////Texture Entities + //Blast + public static final ResourceLocation fireball = new ResourceLocation(RefStrings.MODID, "textures/models/fireball.png"); + public static final ResourceLocation balefire = new ResourceLocation(RefStrings.MODID, "textures/models/balefire.png"); + //Boxcar public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png"); public static final ResourceLocation duchessgambit_tex = new ResourceLocation(RefStrings.MODID, "textures/models/duchessgambit.png"); @@ -471,6 +476,8 @@ public class ResourceManager { public static final ResourceLocation mp_t_20_kerosene_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_kerosene.png"); public static final ResourceLocation mp_t_20_kerosene_dual_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_kerosene_dual.png"); public static final ResourceLocation mp_t_20_solid_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_solid.png"); + public static final ResourceLocation mp_t_20_solid_multi_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_solid_multi.png"); + public static final ResourceLocation mp_t_20_solid_multier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/thrusters/mp_t_20_solid_multier.png"); public static final ResourceLocation mp_s_10_flat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/stability/mp_s_10_flat.png"); public static final ResourceLocation mp_s_10_cruise_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/stability/mp_s_10_cruise.png"); @@ -569,6 +576,7 @@ public class ResourceManager { public static final ResourceLocation mp_w_10_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_nuclear.png"); public static final ResourceLocation mp_w_10_nuclear_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_nuclear_large.png"); public static final ResourceLocation mp_w_10_taint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_taint.png"); + public static final ResourceLocation mp_w_10_cloud_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_10_cloud.png"); public static final ResourceLocation mp_w_15_he_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_he.png"); public static final ResourceLocation mp_w_15_incendiary_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_incendiary.png"); public static final ResourceLocation mp_w_15_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_parts/warheads/mp_w_15_nuclear.png"); @@ -579,5 +587,6 @@ public class ResourceManager { //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/scaffold.obj")); public static final IModelCustom taperecorder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/taperecorder.obj")); + public static final IModelCustom beam = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/beam.obj")); } diff --git a/com/hbm/packet/ItemBobmazonPacket.java b/com/hbm/packet/ItemBobmazonPacket.java index 0867948a2..479bb5ffb 100644 --- a/com/hbm/packet/ItemBobmazonPacket.java +++ b/com/hbm/packet/ItemBobmazonPacket.java @@ -106,6 +106,7 @@ public class ItemBobmazonPacket implements IMessage { if(countCaps(p) >= m.cost) { payCaps(p, m.cost); + p.inventoryContainer.detectAndSendChanges(); Random rand = world.rand; EntityBobmazon bob = new EntityBobmazon(world); @@ -158,8 +159,6 @@ public class ItemBobmazonPacket implements IMessage { if(price == 0) return; - - int count = 0; for(int i = 0; i < player.inventory.getSizeInventory(); i++) { @@ -178,12 +177,13 @@ public class ItemBobmazonPacket implements IMessage { item == ModItems.cap_star || item == ModItems.cap_sunset) { - for(int j = 0; j < stack.stackSize; j++) { + int size = stack.stackSize; + for(int j = 0; j < size; j++) { player.inventory.decrStackSize(i, 1); - count++; + price--; - if(count == price) + if(price == 0) return; } } diff --git a/com/hbm/render/block/RenderSteelBeam.java b/com/hbm/render/block/RenderSteelBeam.java new file mode 100644 index 000000000..e528cf014 --- /dev/null +++ b/com/hbm/render/block/RenderSteelBeam.java @@ -0,0 +1,68 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderSteelBeam implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + GL11.glTranslated(0, -0.5, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.beam, iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + if (renderer.hasOverrideBlockTexture()) + { + iicon = renderer.overrideBlockTexture; + } + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.beam, iicon, tessellator, 0, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return 334080; + } +} diff --git a/com/hbm/render/entity/RenderSmallNukeMK3.java b/com/hbm/render/entity/RenderSmallNukeMK3.java index 4cc52b1de..83b680414 100644 --- a/com/hbm/render/entity/RenderSmallNukeMK3.java +++ b/com/hbm/render/entity/RenderSmallNukeMK3.java @@ -22,7 +22,6 @@ public class RenderSmallNukeMK3 extends Render { //what the fuck is all this, i thought you made the resource manager private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/mush.hmf"); private IModelCustom blastModel; - private ResourceLocation blastTexture; private static final ResourceLocation ringModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Ring.obj"); private IModelCustom ringModel; private ResourceLocation ringTexture; @@ -35,7 +34,6 @@ public class RenderSmallNukeMK3 extends Render { //can't you just instantiate the AMLs as a whole like a normal person smh public RenderSmallNukeMK3() { blastModel = AdvancedModelLoader.loadModel(objTesterModelRL); - blastTexture = new ResourceLocation(RefStrings.MODID, "textures/models/fireball.png"); ringModel = AdvancedModelLoader.loadModel(ringModelRL); ringTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); ringBigModel = AdvancedModelLoader.loadModel(ringBigModelRL); @@ -49,7 +47,7 @@ public class RenderSmallNukeMK3 extends Render { render((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); } - //coreographic analysis of a nuclear blast + //choreographic analysis of a nuclear blast //by VeeTee McFuckface //shockwave: rapidly expanding sphere of compressed air @@ -123,7 +121,11 @@ public class RenderSmallNukeMK3 extends Render { if(age >= 50 && age < 150) { GL11.glPushMatrix(); - GL11.glColor4f(0.4F, 0.15F, 0.0F, 0.9F); + + if(cloud.getDataWatcher().getWatchableObjectByte(19) == 1) + GL11.glColor4f(0.2F, 0.7F, 0.0F, 0.9F); + else + GL11.glColor4f(0.4F, 0.15F, 0.0F, 0.9F); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); @@ -145,7 +147,7 @@ public class RenderSmallNukeMK3 extends Render { if(age >= 150) { GL11.glPushMatrix(); - bindTexture(blastTexture); + bindTexture(getEntityTexture(cloud)); GL11.glTranslatef(0, -50, 0); GL11.glScalef(6, 6, 6); GL11.glDisable(GL11.GL_CULL_FACE); @@ -212,8 +214,12 @@ public class RenderSmallNukeMK3 extends Render { //there, fixed it ~bob @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return blastTexture; + protected ResourceLocation getEntityTexture(Entity ent) { + + if(ent.getDataWatcher().getWatchableObjectByte(19) == 1) + return ResourceManager.balefire; + + return ResourceManager.fireball; } } diff --git a/com/hbm/render/item/ItemRenderRpg.java b/com/hbm/render/item/ItemRenderRpg.java index 930a025ab..f0c30e932 100644 --- a/com/hbm/render/item/ItemRenderRpg.java +++ b/com/hbm/render/item/ItemRenderRpg.java @@ -59,7 +59,11 @@ public class ItemRenderRpg implements IItemRenderer { if(item.getItem() == ModItems.gun_panzerschreck) { GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glTranslatef(-0.2F, -0.3F, -0.5F); + + if(Minecraft.getMinecraft().thePlayer.isSneaking()) + GL11.glTranslatef(-0.2F, -0.3F, -0.5F); + else + GL11.glTranslatef(-0.1F, 0.0F, 0.0F); } else { GL11.glTranslatef(0F, -0.1F, -0.4F); } diff --git a/com/hbm/render/misc/MissilePart.java b/com/hbm/render/misc/MissilePart.java index eeaab3b1b..ff2470fe1 100644 --- a/com/hbm/render/misc/MissilePart.java +++ b/com/hbm/render/misc/MissilePart.java @@ -58,6 +58,8 @@ public class MissilePart { MissilePart.registerPart(ModItems.mp_thruster_20_kerosene_dual, PartType.THRUSTER, 2, 2, ResourceManager.mp_t_20_kerosene_dual, ResourceManager.mp_t_20_kerosene_dual_tex); MissilePart.registerPart(ModItems.mp_thruster_20_kerosene_triple, PartType.THRUSTER, 2, 2, ResourceManager.mp_t_20_kerosene_triple, ResourceManager.mp_t_20_kerosene_dual_tex); MissilePart.registerPart(ModItems.mp_thruster_20_solid, PartType.THRUSTER, 1, 1.75, ResourceManager.mp_t_20_solid, ResourceManager.mp_t_20_solid_tex); + MissilePart.registerPart(ModItems.mp_thruster_20_solid_multi, PartType.THRUSTER, 0.5, 1.5, ResourceManager.mp_t_20_solid_multi, ResourceManager.mp_t_20_solid_multi_tex); + MissilePart.registerPart(ModItems.mp_thruster_20_solid_multier, PartType.THRUSTER, 0.5, 1.5, ResourceManager.mp_t_20_solid_multi, ResourceManager.mp_t_20_solid_multier_tex); ////// @@ -160,6 +162,7 @@ public class MissilePart { MissilePart.registerPart(ModItems.mp_warhead_10_nuclear, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_10_nuclear, ResourceManager.mp_w_10_nuclear_tex); MissilePart.registerPart(ModItems.mp_warhead_10_nuclear_large, PartType.WARHEAD, 2.5, 1.5, ResourceManager.mp_w_10_nuclear_large, ResourceManager.mp_w_10_nuclear_large_tex); MissilePart.registerPart(ModItems.mp_warhead_10_taint, PartType.WARHEAD, 2.25, 1.5, ResourceManager.mp_w_10_taint, ResourceManager.mp_w_10_taint_tex); + MissilePart.registerPart(ModItems.mp_warhead_10_cloud, PartType.WARHEAD, 2.25, 1.5, ResourceManager.mp_w_10_taint, ResourceManager.mp_w_10_cloud_tex); // MissilePart.registerPart(ModItems.mp_warhead_15_he, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_15_he, ResourceManager.mp_w_15_he_tex); MissilePart.registerPart(ModItems.mp_warhead_15_incendiary, PartType.WARHEAD, 2, 1.5, ResourceManager.mp_w_15_incendiary, ResourceManager.mp_w_15_incendiary_tex); diff --git a/com/hbm/tileentity/machine/TileEntityChlorineSeal.java b/com/hbm/tileentity/machine/TileEntityChlorineSeal.java new file mode 100644 index 000000000..7613da90a --- /dev/null +++ b/com/hbm/tileentity/machine/TileEntityChlorineSeal.java @@ -0,0 +1,48 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntityChlorineSeal extends TileEntity { + + @Override + public void updateEntity() { + + if(!worldObj.isRemote && worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) + spread(xCoord, yCoord, zCoord, 0); + } + + private void spread(int x, int y, int z, int index) { + + if(index > 50) + return; + + if(worldObj.getBlock(x, y, z).isReplaceable(worldObj, x, y, z)) + worldObj.setBlock(x, y, z, ModBlocks.chlorine_gas); + + if(worldObj.getBlock(x, y, z) != ModBlocks.chlorine_gas && worldObj.getBlock(x, y, z) != ModBlocks.vent_chlorine_seal) + return; + + switch(worldObj.rand.nextInt(6)) { + case 0: + spread(x + 1, y, z, index + 1); + break; + case 1: + spread(x - 1, y, z, index + 1); + break; + case 2: + spread(x, y + 1, z, index + 1); + break; + case 3: + spread(x, y - 1, z, index + 1); + break; + case 4: + spread(x, y, z + 1, index + 1); + break; + case 5: + spread(x, y, z - 1, index + 1); + break; + } + } +} diff --git a/com/hbm/tileentity/machine/TileEntityRadiobox.java b/com/hbm/tileentity/machine/TileEntityRadiobox.java index e4c8db67f..e6bc0dec9 100644 --- a/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -1,9 +1,15 @@ package com.hbm.tileentity.machine; +import java.util.List; + +import com.hbm.lib.ModDamageSource; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEAssemblerPacket; +import net.minecraft.entity.Entity; +import net.minecraft.entity.monster.EntityMob; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; public class TileEntityRadiobox extends TileEntity { @@ -15,8 +21,13 @@ public class TileEntityRadiobox extends TileEntity { @Override public void updateEntity() { - if(!worldObj.isRemote) { - //PacketDispatcher.wrapper.sendToAll(new TEAssemblerPacket(xCoord, yCoord, zCoord)); + if(!worldObj.isRemote && this.getBlockMetadata() > 5) { + + int range = 15; + + List entities = worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - range, zCoord - range, xCoord + range, yCoord + range, zCoord + range)); + for(Entity entity : entities) + entity.attackEntityFrom(ModDamageSource.enervation, 20.0F); } } diff --git a/com/hbm/tileentity/machine/TileEntityReactorControl.java b/com/hbm/tileentity/machine/TileEntityReactorControl.java index c184b3284..7de9c3630 100644 --- a/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -126,8 +126,9 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - + redstoned = nbt.getBoolean("red"); + auto = nbt.getBoolean("auto"); lastRods = nbt.getInteger("lastRods"); slots = new ItemStack[getSizeInventory()]; @@ -149,6 +150,7 @@ public class TileEntityReactorControl extends TileEntity implements ISidedInvent NBTTagList list = new NBTTagList(); nbt.setBoolean("red", redstoned); + nbt.setBoolean("auto", auto); nbt.setInteger("lastRods", lastRods); for(int i = 0; i < slots.length; i++) diff --git a/com/hbm/world/Meteorite.java b/com/hbm/world/Meteorite.java index 5ea38c720..173286e29 100644 --- a/com/hbm/world/Meteorite.java +++ b/com/hbm/world/Meteorite.java @@ -236,10 +236,10 @@ public class Meteorite { ipL.add(new ItemStack(ModBlocks.block_meteor_treasure)); break; case 1: - ipL.add(new ItemStack(Blocks.stone)); + ipL.add(new ItemStack(ModBlocks.block_meteor_broken)); break; case 2: - ipL.add(new ItemStack(Blocks.netherrack)); + ipL.add(new ItemStack(ModBlocks.block_meteor_cobble)); break; } @@ -347,10 +347,10 @@ public class Meteorite { ipL.add(new ItemStack(ModBlocks.block_meteor_treasure)); break; case 1: - ipL.add(new ItemStack(Blocks.stone)); + ipL.add(new ItemStack(ModBlocks.block_meteor_broken)); break; case 2: - ipL.add(new ItemStack(Blocks.netherrack)); + ipL.add(new ItemStack(ModBlocks.block_meteor_cobble)); break; } @@ -708,65 +708,31 @@ public class Meteorite { } public List getRandomOre(Random rand) { - List ores = new ArrayList(); - try { - String[] names = OreDictionary.getOreNames(); - - for(int i = 0; i < names.length; i++) { - if(names[i] != null && names[i].length() > 3 && names[i].substring(0, 3).equals("ore")) { - - List ota = OreDictionary.getOres(names[i]); - for(int j = 0; j < ota.size(); j++) { - ItemStack stack = ota.get(j); - if(Block.getBlockFromItem(stack.getItem()) != null) - ores.add(stack.copy()); - } - } - } - - switch(rand.nextInt(15)) { - case 0: - List list1 = new ArrayList(); - list1.add(new ItemStack(ModBlocks.ore_rare, 1).copy()); - return list1; - case 1: - List list2 = new ArrayList(); - list2.add(new ItemStack(ModBlocks.ore_uranium, 1).copy()); - return list2; - case 2: - List list3 = new ArrayList(); - list3.add(new ItemStack(ModBlocks.ore_reiium, 1).copy()); - list3.add(new ItemStack(ModBlocks.ore_weidanium, 1).copy()); - list3.add(new ItemStack(ModBlocks.ore_australium, 1).copy()); - list3.add(new ItemStack(ModBlocks.ore_unobtainium, 1).copy()); - list3.add(new ItemStack(ModBlocks.ore_daffergon, 1).copy()); - list3.add(new ItemStack(ModBlocks.ore_verticium, 1).copy()); - return list3; - case 3: - List list4 = new ArrayList(); - list4.add(new ItemStack(ModBlocks.ore_nether_fire, 1).copy()); - list4.add(new ItemStack(ModBlocks.ore_nether_plutonium, 1).copy()); - list4.add(new ItemStack(ModBlocks.ore_nether_schrabidium, 1).copy()); - list4.add(new ItemStack(ModBlocks.ore_nether_sulfur, 1).copy()); - list4.add(new ItemStack(ModBlocks.ore_nether_tungsten, 1).copy()); - list4.add(new ItemStack(ModBlocks.ore_nether_uranium, 1).copy()); - return list4; - } - - if(ores.isEmpty()) { - List list = new ArrayList(); - list.add(new ItemStack(Blocks.iron_ore, 1).copy()); - return list; - } else { - return ores; - } - } catch(Exception ex) { - MainRegistry.logger.error("Critical error in meteor creation, falling back to iron ore..."); - ores.clear(); - ores.add(new ItemStack(Blocks.iron_ore, 1).copy()); - return ores; - } + List ores = new ArrayList(); + + for(int i = 0; i < 3; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_uranium)); + for(int i = 0; i < 5; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_thorium)); + for(int i = 0; i < 6; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_titanium)); + for(int i = 0; i < 7; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_sulfur)); + for(int i = 0; i < 8; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_copper)); + for(int i = 0; i < 5; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_tungsten)); + for(int i = 0; i < 7; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_aluminium)); + for(int i = 0; i < 6; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_lead)); + for(int i = 0; i < 4; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_lithium)); + for(int i = 0; i < 1; i++) + ores.add(new ItemStack(ModBlocks.ore_meteor_starmetal)); + + return ores; } }