diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 60a0df8f5..8fc2f4077 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -24,6 +24,8 @@ achievement.horizonsStart.desc=Sende einen netten Typen zum Mond. achievement.horizonsStart=Apogäum achievement.impossible.desc=Du kannst diese Errungenschaft nicht bekommen. achievement.impossible=Vollkommen unmöglich +achievement.meltdown.desc=Du bist so weit gekommen, und jetzt verpfuscht du es? +achievement.meltdown=Rapide Ungeplante Demontage achievement.metalworks.desc=Bobmazon Level 1 (Hochofen) achievement.metalworks=Metallurgie achievement.nuclear.desc=Bobmazon Level 5 (Urankernbrennstoff) @@ -86,7 +88,7 @@ chem.NITAN=NITAN-Supertreibstoff mischen chem.OIL_SAND=Teersand-Extraktion chem.PEROXIDE=Wasserstoffperoxidherstellung chem.POLYMER=Polymersynthese -chem.PUF6=Plutoniumhexafluoritproduktion +chem.PUF6=Plutoniumhexafluoridproduktion chem.SAS3=Schrabidiumtrisulfatherstellung chem.SATURN=Saturnitherstellung chem.SF_BIOFUEL=Biodieselverfestigung @@ -107,7 +109,7 @@ chem.SF_SMEAR=Industrieölverfestigung chem.SOLID_FUEL=Festbrennstoffherstellung chem.STEAM=Wasser kochen chem.TEST=Test -chem.UF6=Uranhexafluoritproduktion +chem.UF6=Uranhexafluoridproduktion chem.XENON=Lindeverfahren (Xenon) chem.YELLOWCAKE=Yellowcakeproduktion @@ -161,6 +163,7 @@ container.machineTurbine=Dampfturbine container.machineTurbofan=Turbofan container.machine_deuterium=Deuteriumextraktor container.machine_schrabidium_transmutator=Schrabidium-Transmutationsgerät +container.microwave=Mikrowelle container.miningDrill=Automatischer Minenbohrer container.miningLaser=Bergbaulaser container.missileAssembly=Raketenmontagestation @@ -251,6 +254,7 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger death.attack.teleporter=%1$s wurde ins Nichts teleportiert. entity.entity_cyber_crab.name=Cyber-Krabbe +entity.entity_elder_one.name=Quackos der Älteste entity.entity_fucc_a_ducc.name=Ente entity.entity_mob_hunter_chopper.name=Jagdschrauber entity.entity_mob_mask_man.name=Maskenmann @@ -668,10 +672,10 @@ item.cell_anti_schrabidium.name=Antischrabidiumzelle item.cell_antimatter.name=Antimaterienzelle item.cell_deuterium.name=Deuteriumzelle item.cell_empty.name=Leere Zelle -item.cell_puf6.name=Plutoniumhexafluorit-Zelle +item.cell_puf6.name=Plutoniumhexafluorid-Zelle item.cell_sas3.name=Schrabidiumtrisulfat-Zelle item.cell_tritium.name=Tritiumzelle -item.cell_uf6.name=Uranhexafluorit-Zelle +item.cell_uf6.name=Uranhexafluorid-Zelle item.centri_stick.name=Zentrifuge am Spieß item.centrifuge_element.name=Zentrifugenelement item.centrifuge_tower.name=Zentrifugenturm @@ -1055,6 +1059,7 @@ item.gun_spark_ammo.name=Elektromagnetische Katusche item.gun_stinger.name=FIM-92 Stinger item.gun_stinger_ammo.name=Stinger-Rakete item.gun_super_shotgun.name=Super Shotgun +item.gun_thompson.name=Thompson Maschinenpistole item.gun_uboinik.name=Ubojnik item.gun_uboinik_ammo.name=12x70 Schrotmunition (LEGACY) item.gun_uzi.name=IMI Uzi @@ -1472,6 +1477,8 @@ item.piston_selenium.name=Sternmotorenkolben item.plan_c.name=Plan C item.plate_advanced_alloy.name=Fortgeschrittene Legierungsplatte item.plate_aluminium.name=Aluminiumplatte +item.plate_armor_lunar.name=Lunare Panzerplatte +item.plate_armor_titanium.name=Titanium-Panzerplatte item.plate_combine_steel.name=CMB-Stahlplatte item.plate_copper.name=Kupferplatte item.plate_dalekanium.name=Wütendes Metall @@ -1553,6 +1560,7 @@ item.powder_schrabidium.name=Schrabidiumstaub item.powder_semtex_mix.name=Semtexmischung item.powder_spark_mix.name=Sparkmischung item.powder_steel.name=Stahlstaub +item.powder_steel_tiny.name=Kleiner Haufen Stahlstaub item.powder_strontium.name=Strontiumstaub item.powder_tennessine.name=Tennessinstaub item.powder_thermite.name=Thermit @@ -1587,6 +1595,7 @@ item.redstone_sword.name=Redstoneschwert item.reer_graar.name=The Reer Graar item.remote.name=Kaputte Fernbedienung item.ring_pull.name=Dosenring +item.ring_starmetal.name=§9Sternenmetallring§r item.rocket_fuel.name=Festbrennstoff (Raketentreibstoff) item.rod_australium.name=Australiumbrennstab item.rod_balefire.name=Balefire-Brennstab @@ -1756,6 +1765,7 @@ item.solinium_kit.name=Solinium Kit item.solinium_propellant.name=SOL-Verdichtungsladung item.sopsign.name=Sopschild-Streitaxt item.sphere_steel.name=Stahlhohlkugel +item.spongebob_macaroni.name=Spongebob Macaroni item.stamp_357.name=.357 Magnum-Stempel item.stamp_44.name=.44 Magnum-Stempel item.stamp_50.name=Großkaliberstempel @@ -2002,6 +2012,14 @@ tile.block_aluminium.name=Aluminiumblock tile.block_asbestos.name=Asbestblock tile.block_australium.name=Australiumblock tile.block_beryllium.name=Berylliumblock +tile.block_cap_fritz.name=Fritz-Kola Kronkorkenblock +tile.block_cap_korl.name=Korl Kronkorkenblock +tile.block_cap_nuka.name=Nuka Kronkorkenblock +tile.block_cap_quantum.name=Nuka Cola Quantum Kronkorkenblock +tile.block_cap_rad.name=S~Cola RAD Kronkorkenblock +tile.block_cap_sparkle.name=S~Cola Kronkorkenblock +tile.block_cap_star.name=Sunset Sarsaparilla Kronkorkenblock +tile.block_cap_sunset.name=Sunset Sarsaparilla Sternkronkorkenblock tile.block_cobalt.name=Kobaltblock tile.block_combine_steel.name=CMB-Stahlblock tile.block_copper.name=Kupferblock @@ -2214,6 +2232,7 @@ tile.machine_industrial_generator.name=Industrieller Generator tile.machine_keyforge.name=Schlossertisch tile.machine_large_turbine.name=Industrielle Dampfturbine tile.machine_lithium_battery.name=Li-Ion-Energiespeicherblock +tile.machine_microwave.name=Mikrowelle tile.machine_mining_laser.name=Bergbaulaser tile.machine_minirtg.name=Radioisotopenzelle tile.machine_missile_assembly.name=Raketenmontagestation @@ -2221,7 +2240,7 @@ tile.machine_nuke_furnace_off.name=Atombetriebener Ofen tile.machine_nuke_furnace_on.name=Atombetriebener Ofen tile.machine_powerrtg.name=PT-Isotopenzelle tile.machine_press.name=Befeuerte Presse -tile.machine_puf6_tank.name=Plutoniumhexafluorit-Tank +tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank tile.machine_pumpjack.name=Pferdekopfpumpe tile.machine_radar.name=Radar tile.machine_radgen.name=Strahlenbetriebener Generator @@ -2256,7 +2275,7 @@ tile.machine_transformer_dnt.name=DNT-20Hz-Transformator tile.machine_transformer_dnt_20.name=DNT-1Hz-Transformator tile.machine_turbine.name=Dampfturbine tile.machine_turbofan.name=Turbofan -tile.machine_uf6_tank.name=Uranhexafluorit-Tank +tile.machine_uf6_tank.name=Uranhexafluorid-Tank tile.machine_waste_drum.name=Abklingbecken-Trommel tile.machine_well.name=Ölbohrturm tile.marker_structure.name=Multiblock-Strukturvorlage @@ -2463,6 +2482,9 @@ tool.ability.shredder=Auto-Brecher tool.ability.silktouch=Behutsamkeit tool.ability.smelter=Auto-Ofen +weapon.ability.beheader=Köpfer +weapon.ability.chainsaw=Skelettensäge +# Should rhyme with the translation for "chainsaw" weapon.ability.radiation=Radioaktive Schneide weapon.ability.phosphorus=Phosphorspitze weapon.ability.stun=Betäubend diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 8baf02f29..04b3cad36 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -24,6 +24,8 @@ achievement.horizonsStart.desc=Send a lad to the moon. achievement.horizonsStart=Apogee achievement.impossible.desc=You can't get this achievement. achievement.impossible=Literally impossible +achievement.meltdown.desc=You got this far, how could you mess this up? +achievement.meltdown=Rapid Unscheduled Disassembly achievement.metalworks.desc=Bobmazon Level 1 (Blast Furnace) achievement.metalworks=Metalworks achievement.nuclear.desc=Bobmazon Level 5 (Uranium Fuel) @@ -161,6 +163,7 @@ container.machineTurbine=Steam Turbine container.machineTurbofan=Turbofan container.machine_deuterium=Deuterium Extractor container.machine_schrabidium_transmutator=Schrabidium Transmutation Device +container.microwave=Microwave container.miningDrill=Automatic Mining Drill container.miningLaser=Mining Laser container.missileAssembly=Missile Assembly Station @@ -251,6 +254,7 @@ death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into p death.attack.teleporter=%1$s was teleported into nothingness. entity.entity_cyber_crab.name=Cyber Crab +entity.entity_elder_one.name=Quackos The Elder One entity.entity_fucc_a_ducc.name=Duck entity.entity_mob_hunter_chopper.name=Hunter Chopper entity.entity_mob_mask_man.name=Mask Man @@ -668,10 +672,10 @@ item.cell_anti_schrabidium.name=Antischrabidium Cell item.cell_antimatter.name=Antimatter Cell item.cell_deuterium.name=Deuterium Cell item.cell_empty.name=Empty Cell -item.cell_puf6.name=Plutonium Hexafluorite Cell +item.cell_puf6.name=Plutonium Hexafluoride Cell item.cell_sas3.name=Schrabidium Trisulfide Cell item.cell_tritium.name=Tritium Cell -item.cell_uf6.name=Uranium Hexafluorite Cell +item.cell_uf6.name=Uranium Hexafluoride Cell item.centri_stick.name=Centrifuge on a Stick item.centrifuge_element.name=Centrifuge Element item.centrifuge_tower.name=Centrifuge Tower @@ -1055,6 +1059,7 @@ item.gun_spark_ammo.name=Electromagnetic Cartridge item.gun_stinger.name=FIM-92 Stinger item.gun_stinger_ammo.name=Stinger Rocket item.gun_super_shotgun.name=Super Shotgun +item.gun_thompson.name=Thompson Submachine Gun item.gun_uboinik.name=Uboinik item.gun_uboinik_ammo.name=12x70 Buckshot (LEGACY) item.gun_uzi.name=IMI Uzi @@ -1472,6 +1477,8 @@ item.piston_selenium.name=Radial Engine Piston item.plan_c.name=Plan C item.plate_advanced_alloy.name=Advanced Alloy Plate item.plate_aluminium.name=Aluminium Plate +item.plate_armor_lunar.name=Lunar Plating +item.plate_armor_titanium.name=Titanium Armor Plate item.plate_combine_steel.name=CMB Steel Plate item.plate_copper.name=Copper Plate item.plate_dalekanium.name=Angry Metal @@ -1553,6 +1560,7 @@ item.powder_schrabidium.name=Schrabidium Powder item.powder_semtex_mix.name=Semtex Blend item.powder_spark_mix.name=Spark Blend item.powder_steel.name=Steel Powder +item.powder_steel_tiny.name=Tiny Pile of Steel Powder item.powder_strontium.name=Strontium Powder item.powder_tennessine.name=Tennessine Powder item.powder_thermite.name=Thermite @@ -1587,6 +1595,7 @@ item.redstone_sword.name=Redstone Sword item.reer_graar.name=The Reer Graar item.remote.name=Broken Remote item.ring_pull.name=Ring Pull +item.ring_starmetal.name=§9Starmetal Ring§r item.rocket_fuel.name=Solid Fuel (Rocket Propellant) item.rod_australium.name=Australium Rod item.rod_balefire.name=Balefire Rod @@ -1756,6 +1765,7 @@ item.solinium_kit.name=Solinium Kit item.solinium_propellant.name=SOL Compression Charge item.sopsign.name=Sop Sign Battle Axe item.sphere_steel.name=Steel Sphere +item.spongebob_macaroni.name=Spongebob Macaroni item.stamp_357.name=.357 Magnum Stamp item.stamp_44.name=.44 Magnum Stamp item.stamp_50.name=Large Caliber Stamp @@ -2002,6 +2012,14 @@ tile.block_aluminium.name=Block of Aluminium tile.block_asbestos.name=Block of Asbestos tile.block_australium.name=Block of Australium tile.block_beryllium.name=Block of Beryllium +tile.block_cap_fritz.name=Block of Fritz Cola Bottle Caps +tile.block_cap_korl.name=Block of Korl Bottle Caps +tile.block_cap_nuka.name=Block of Nuka Cola Bottle Caps +tile.block_cap_quantum.name=Block of Nuka Cola Quantum Bottle Caps +tile.block_cap_rad.name=Block of S~Cola RAD Bottle Caps +tile.block_cap_sparkle.name=Block of S~Cola Bottle Caps +tile.block_cap_star.name=Block of Sunset Sarsaparilla Star Caps +tile.block_cap_sunset.name=Block of Sunset Sarsaparilla Bottle Caps tile.block_cobalt.name=Block of Cobalt tile.block_combine_steel.name=Block of CMB Steel tile.block_copper.name=Block of Copper @@ -2214,6 +2232,7 @@ tile.machine_industrial_generator.name=Industrial Generator tile.machine_keyforge.name=Locksmith Table tile.machine_large_turbine.name=Industrial Steam Turbine tile.machine_lithium_battery.name=Li-Ion Energy Storage Block +tile.machine_microwave.name=Microwave tile.machine_mining_laser.name=Mining Laser tile.machine_minirtg.name=Radio Isotope Cell tile.machine_missile_assembly.name=Missile Assembly Station @@ -2463,6 +2482,9 @@ tool.ability.shredder=Auto-Shredder tool.ability.silktouch=Silk Touch tool.ability.smelter=Auto-Smelter +weapon.ability.beheader=Decapitator +weapon.ability.chainsaw=Painsaw +# Should rhyme with the translation for "chainsaw" weapon.ability.radiation=Radioactive Blade weapon.ability.phosphorus=Phosphorus Tip weapon.ability.stun=Stunning diff --git a/src/main/java/assets/hbm/models/effect/mush.obj b/src/main/java/assets/hbm/models/effect/mush.obj new file mode 100644 index 000000000..7143670fc --- /dev/null +++ b/src/main/java/assets/hbm/models/effect/mush.obj @@ -0,0 +1,2656 @@ +# Blender v2.79 (sub 0) OBJ File: 'mush.blend' +# www.blender.org +o Stem +v -0.000000 0.000000 -2.999999 +v -0.000000 4.000000 -2.000000 +v 0.585271 0.000000 -2.942355 +v 0.390181 4.000000 -1.961570 +v 1.148050 0.000000 -2.771638 +v 0.765367 4.000000 -1.847759 +v 1.666710 0.000000 -2.494408 +v 1.111140 4.000000 -1.662939 +v 2.121320 0.000000 -2.121320 +v 1.414213 4.000000 -1.414213 +v 2.494409 0.000000 -1.666710 +v 1.662939 4.000000 -1.111140 +v 2.771638 0.000000 -1.148050 +v 1.847759 4.000000 -0.765367 +v 2.942355 0.000000 -0.585271 +v 1.961570 4.000000 -0.390180 +v 3.000000 0.000000 0.000000 +v 2.000000 4.000000 0.000000 +v 2.942356 0.000000 0.585271 +v 1.961571 4.000000 0.390181 +v 2.771638 0.000000 1.148051 +v 1.847759 4.000000 0.765367 +v 2.494409 0.000000 1.666711 +v 1.662939 4.000000 1.111141 +v 2.121320 0.000000 2.121321 +v 1.414213 4.000000 1.414214 +v 1.666710 0.000000 2.494410 +v 1.111140 4.000000 1.662940 +v 1.148050 0.000000 2.771640 +v 0.765366 4.000000 1.847760 +v 0.585270 0.000000 2.942357 +v 0.390180 4.000000 1.961571 +v -0.000001 0.000000 3.000000 +v -0.000001 4.000000 2.000000 +v -0.585272 0.000000 2.942356 +v -0.390182 4.000000 1.961571 +v -1.148052 0.000000 2.771639 +v -0.765368 4.000000 1.847759 +v -1.666712 0.000000 2.494409 +v -1.111142 4.000000 1.662939 +v -2.121322 0.000000 2.121320 +v -1.414215 4.000000 1.414213 +v -2.494411 0.000000 1.666710 +v -1.662940 4.000000 1.111140 +v -2.771640 0.000000 1.148049 +v -1.847760 4.000000 0.765366 +v -2.942357 0.000000 0.585269 +v -1.961571 4.000000 0.390179 +v -3.000000 0.000000 -0.000002 +v -2.000000 4.000000 -0.000002 +v -2.942356 0.000000 -0.585274 +v -1.961570 4.000000 -0.390182 +v -2.771638 0.000000 -1.148053 +v -1.847758 4.000000 -0.765369 +v -2.494407 0.000000 -1.666713 +v -1.662938 4.000000 -1.111142 +v -2.121318 0.000000 -2.121322 +v -1.414212 4.000000 -1.414215 +v -1.666708 0.000000 -2.494411 +v -1.111138 4.000000 -1.662940 +v -1.148046 0.000000 -2.771640 +v -0.765364 4.000000 -1.847760 +v -0.585267 0.000000 -2.942356 +v -0.390178 4.000000 -1.961571 +v 0.292634 9.000000 -1.471178 +v -0.000001 9.000000 -1.500000 +v 0.574024 9.000000 -1.385819 +v 0.833354 9.000000 -1.247204 +v 1.060659 9.000000 -1.060660 +v 1.247203 9.000000 -0.833355 +v 1.385818 9.000000 -0.574025 +v 1.471177 9.000000 -0.292635 +v 1.499999 9.000000 0.000000 +v 1.471177 9.000000 0.292635 +v 1.385818 9.000000 0.574025 +v 1.247203 9.000000 0.833355 +v 1.060659 9.000000 1.060660 +v 0.833354 9.000000 1.247205 +v 0.574024 9.000000 1.385820 +v 0.292634 9.000000 1.471178 +v -0.000002 9.000000 1.500000 +v -0.292637 9.000000 1.471178 +v -0.574027 9.000000 1.385819 +v -0.833357 9.000000 1.247204 +v -1.060662 9.000000 1.060660 +v -1.247206 9.000000 0.833355 +v -1.385821 9.000000 0.574024 +v -1.471179 9.000000 0.292634 +v -1.500001 9.000000 -0.000001 +v -1.471179 9.000000 -0.292637 +v -1.385820 9.000000 -0.574027 +v -1.247205 9.000000 -0.833357 +v -1.060660 9.000000 -1.060661 +v -0.833355 9.000000 -1.247205 +v -0.574024 9.000000 -1.385820 +v -0.292635 9.000000 -1.471178 +v 0.243864 22.000000 -1.225981 +v 0.000001 22.000000 -1.250000 +v 0.478355 22.000000 -1.154849 +v 0.694464 22.000000 -1.039337 +v 0.883885 22.000000 -0.883883 +v 1.039338 22.000000 -0.694463 +v 1.154850 22.000000 -0.478354 +v 1.225983 22.000000 -0.243863 +v 1.250001 22.000000 -0.000000 +v 1.225983 22.000000 0.243863 +v 1.154851 22.000000 0.478354 +v 1.039338 22.000000 0.694463 +v 0.883885 22.000000 0.883884 +v 0.694464 22.000000 1.039337 +v 0.478355 22.000000 1.154850 +v 0.243864 22.000000 1.225982 +v 0.000001 22.000000 1.250000 +v -0.243862 22.000000 1.225982 +v -0.478354 22.000000 1.154849 +v -0.694462 22.000000 1.039337 +v -0.883883 22.000000 0.883883 +v -1.039336 22.000000 0.694462 +v -1.154849 22.000000 0.478353 +v -1.225981 22.000000 0.243862 +v -1.249999 22.000000 -0.000001 +v -1.225980 22.000000 -0.243864 +v -1.154848 22.000000 -0.478356 +v -1.039335 22.000000 -0.694464 +v -0.883881 22.000000 -0.883884 +v -0.694460 22.000000 -1.039338 +v -0.478351 22.000000 -1.154850 +v -0.243860 22.000000 -1.225982 +vt 0.500000 1.265625 +vt 0.562500 1.765625 +vt 0.500000 1.765625 +vt 0.562500 1.265625 +vt 0.625000 1.765625 +vt 0.625000 1.265625 +vt 0.687500 1.765625 +vt 0.687500 1.265625 +vt 0.750000 1.765625 +vt 0.750000 1.265625 +vt 0.812500 1.765625 +vt 0.812500 1.265625 +vt 0.875000 1.765625 +vt 0.875000 1.265625 +vt 0.937500 1.765625 +vt 0.937500 1.265625 +vt 1.000000 1.765625 +vt 0.000000 1.265625 +vt 0.062500 1.765625 +vt 0.000000 1.765625 +vt 0.125000 1.265625 +vt 0.125000 1.765625 +vt 0.187500 1.765625 +vt 0.187500 1.265625 +vt 0.250000 1.765625 +vt 0.250000 1.265625 +vt 0.312500 1.765625 +vt 0.312500 1.265625 +vt 0.375000 1.765625 +vt 0.375000 1.265625 +vt 0.437500 1.765625 +vt 0.437500 1.265625 +vt 0.500000 1.765625 +vt 0.500000 1.265625 +vt 0.562500 1.765625 +vt 0.562500 1.265625 +vt 0.625000 1.765625 +vt 0.625000 1.265625 +vt 0.687500 1.765625 +vt 0.687500 1.265625 +vt 0.750000 1.765625 +vt 0.750000 1.265625 +vt 0.812500 1.765625 +vt 0.875000 1.265625 +vt 0.875000 1.765625 +vt 0.937500 1.765625 +vt 0.937500 1.265625 +vt 1.000000 1.765625 +vt 0.000000 1.265625 +vt 0.062500 1.765625 +vt 0.000000 1.765625 +vt 0.062500 1.265625 +vt 0.125000 1.765625 +vt 0.187500 1.265625 +vt 0.187500 1.765625 +vt 0.250000 1.765625 +vt 0.250000 1.265625 +vt 0.312500 1.765625 +vt 0.312500 1.265625 +vt 0.375000 1.765625 +vt 0.187500 0.765625 +vt 0.437500 1.265625 +vt 0.437500 1.765625 +vt 0.375000 1.265625 +vt 0.750000 0.765625 +vt 0.687500 -0.234375 +vt 0.750000 -0.234375 +vt 0.750000 0.765625 +vt 0.312500 0.765625 +vt 0.937500 0.765625 +vt 0.500000 0.765625 +vt 0.062500 0.765625 +vt 0.687500 0.765625 +vt 0.250000 0.765625 +vt 0.812500 1.265625 +vt 0.812500 0.765625 +vt 0.375000 0.765625 +vt 1.000000 0.765625 +vt 1.000000 1.265625 +vt 0.562500 0.765625 +vt 0.125000 0.765625 +vt 0.125000 1.265625 +vt 0.312500 0.765625 +vt 0.875000 0.765625 +vt 0.437500 0.765625 +vt 0.062500 0.765625 +vt 0.062500 1.265625 +vt 0.625000 0.765625 +vt 0.187500 0.765625 +vt 0.812500 0.765625 +vt 0.375000 0.765625 +vt 0.937500 0.765625 +vt 0.562500 0.765625 +vt 0.500000 0.765625 +vt 0.125000 0.765625 +vt 0.687500 0.765625 +vt 0.250000 0.765625 +vt 0.875000 0.765625 +vt 0.437500 0.765625 +vt 1.000000 0.765625 +vt 1.000000 1.265625 +vt 0.625000 0.765625 +vt 0.375000 -0.234375 +vt 0.437500 -0.234375 +vt 0.562500 -0.234375 +vt 0.625000 -0.234375 +vt 0.812500 -0.234375 +vt 0.500000 -0.234375 +vt 0.687500 -0.234375 +vt 0.875000 -0.234375 +vt 0.750000 -0.234375 +vt 0.937500 -0.234375 +vt 0.812500 -0.234375 +vt 1.000000 -0.234375 +vt 0.875000 -0.234375 +vt 0.000000 0.765625 +vt 0.062500 -0.234375 +vt 0.937500 -0.234375 +vt 0.125000 -0.234375 +vt 1.000000 -0.234375 +vt 0.187500 -0.234375 +vt 0.000000 0.765625 +vt 0.062500 -0.234375 +vt 0.250000 -0.234375 +vt 0.125000 -0.234375 +vt 0.312500 -0.234375 +vt 0.187500 -0.234375 +vt 0.375000 -0.234375 +vt 0.562500 -0.234375 +vt 0.250000 -0.234375 +vt 0.437500 -0.234375 +vt 0.625000 -0.234375 +vt 0.312500 -0.234375 +vt 0.500000 -0.234375 +vt -0.000000 -0.234375 +vt -0.000000 -0.234375 +vn 0.0000 0.1722 -0.9850 +vn 0.1892 0.2425 -0.9515 +vn 0.0000 0.2425 -0.9701 +vn 0.1921 0.1722 -0.9661 +vn 0.3712 0.2425 -0.8963 +vn 0.3769 0.1722 -0.9101 +vn 0.5390 0.2425 -0.8066 +vn 0.5473 0.1722 -0.8190 +vn 0.6860 0.2425 -0.6860 +vn 0.6965 0.1722 -0.6965 +vn 0.8066 0.2425 -0.5390 +vn 0.8190 0.1722 -0.5473 +vn 0.8963 0.2425 -0.3712 +vn 0.9101 0.1722 -0.3769 +vn 0.9515 0.2425 -0.1892 +vn 0.9661 0.1722 -0.1921 +vn 0.9701 0.2425 0.0000 +vn 0.9850 0.1722 0.0000 +vn 0.9515 0.2425 0.1892 +vn 0.9101 0.1722 0.3769 +vn 0.8963 0.2425 0.3712 +vn 0.8066 0.2425 0.5390 +vn 0.8190 0.1722 0.5473 +vn 0.6860 0.2425 0.6860 +vn 0.6965 0.1722 0.6965 +vn 0.5390 0.2425 0.8066 +vn 0.5473 0.1722 0.8190 +vn 0.3712 0.2425 0.8963 +vn 0.3769 0.1722 0.9101 +vn 0.1892 0.2425 0.9515 +vn 0.1921 0.1722 0.9661 +vn 0.0000 0.2425 0.9701 +vn 0.0000 0.1722 0.9850 +vn -0.1892 0.2425 0.9515 +vn -0.1922 0.1722 0.9661 +vn -0.3712 0.2425 0.8963 +vn -0.3770 0.1722 0.9101 +vn -0.5390 0.2425 0.8066 +vn -0.5473 0.1722 0.8190 +vn -0.6860 0.2425 0.6860 +vn -0.6965 0.1722 0.6965 +vn -0.8066 0.2425 0.5390 +vn -0.9101 0.1722 0.3769 +vn -0.8963 0.2425 0.3712 +vn -0.9515 0.2425 0.1892 +vn -0.9661 0.1722 0.1921 +vn -0.9701 0.2425 0.0000 +vn -0.9850 0.1722 0.0000 +vn -0.9515 0.2425 -0.1892 +vn -0.9661 0.1722 -0.1922 +vn -0.8963 0.2425 -0.3713 +vn -0.8190 0.1722 -0.5473 +vn -0.8066 0.2425 -0.5390 +vn -0.6860 0.2425 -0.6860 +vn -0.6965 0.1722 -0.6965 +vn -0.5390 0.2425 -0.8066 +vn -0.5473 0.1722 -0.8190 +vn -0.3712 0.2425 -0.8963 +vn 0.8300 0.0595 0.5546 +vn -0.1921 0.1722 -0.9661 +vn -0.1892 0.2425 -0.9515 +vn -0.3769 0.1722 -0.9101 +vn 0.7058 0.0595 -0.7058 +vn 0.5555 0.0192 -0.8313 +vn 0.7070 0.0192 -0.7070 +vn -0.7058 0.0595 0.7058 +vn -0.5546 0.0595 -0.8300 +vn 0.9790 0.0595 -0.1947 +vn 0.0000 0.0595 0.9982 +vn -0.9790 0.0595 -0.1947 +vn 0.5546 0.0595 -0.8300 +vn 0.7058 0.0595 0.7058 +vn -0.8190 0.1722 0.5473 +vn -0.8300 0.0595 0.5546 +vn -0.3820 0.0595 -0.9222 +vn 0.9982 0.0595 0.0000 +vn -0.1947 0.0595 0.9790 +vn -0.9222 0.0595 -0.3820 +vn -0.9101 0.1722 -0.3770 +vn 0.5546 0.0595 0.8300 +vn -0.9222 0.0595 0.3820 +vn -0.1947 0.0595 -0.9790 +vn 0.9790 0.0595 0.1947 +vn 0.9661 0.1722 0.1921 +vn -0.3820 0.0595 0.9222 +vn -0.8300 0.0595 -0.5546 +vn 0.8300 0.0595 -0.5546 +vn 0.3820 0.0595 0.9222 +vn -0.9790 0.0595 0.1947 +vn 0.1947 0.0595 -0.9790 +vn 0.0000 0.0595 -0.9982 +vn 0.9222 0.0595 0.3820 +vn -0.5546 0.0595 0.8300 +vn -0.7058 0.0595 -0.7058 +vn 0.9222 0.0595 -0.3820 +vn 0.1947 0.0595 0.9790 +vn -0.9982 0.0595 0.0000 +vn 0.3820 0.0595 -0.9222 +vn -0.3826 0.0192 -0.9237 +vn -0.1950 0.0192 -0.9806 +vn -0.1950 0.0192 0.9806 +vn -0.3826 0.0192 0.9237 +vn 0.8313 0.0192 -0.5555 +vn 0.0000 0.0192 -0.9998 +vn -0.5555 0.0192 0.8313 +vn 0.9237 0.0192 -0.3826 +vn -0.7070 0.0192 0.7070 +vn 0.9806 0.0192 -0.1950 +vn -0.8313 0.0192 0.5554 +vn 0.9998 0.0192 0.0000 +vn -0.9237 0.0192 0.3826 +vn 0.9806 0.0192 0.1950 +vn -0.9806 0.0192 0.1950 +vn 0.9237 0.0192 0.3826 +vn -0.9998 0.0192 0.0000 +vn 0.8313 0.0192 0.5554 +vn -0.9806 0.0192 -0.1950 +vn 0.7070 0.0192 0.7070 +vn -0.9237 0.0192 -0.3826 +vn 0.5555 0.0192 0.8313 +vn -0.8313 0.0192 -0.5555 +vn 0.3826 0.0192 0.9237 +vn 0.1950 0.0192 -0.9806 +vn -0.7070 0.0192 -0.7070 +vn 0.1950 0.0192 0.9806 +vn 0.3826 0.0192 -0.9237 +vn -0.5554 0.0192 -0.8313 +vn 0.0000 0.0192 0.9998 +s 1 +f 2/1/1 3/2/2 1/3/3 +f 4/4/4 5/5/5 3/2/2 +f 6/6/6 7/7/7 5/5/5 +f 8/8/8 9/9/9 7/7/7 +f 10/10/10 11/11/11 9/9/9 +f 12/12/12 13/13/13 11/11/11 +f 14/14/14 15/15/15 13/13/13 +f 16/16/16 17/17/17 15/15/15 +f 18/18/18 19/19/19 17/20/17 +f 19/19/19 22/21/20 21/22/21 +f 22/21/20 23/23/22 21/22/21 +f 24/24/23 25/25/24 23/23/22 +f 26/26/25 27/27/26 25/25/24 +f 28/28/27 29/29/28 27/27/26 +f 30/30/29 31/31/30 29/29/28 +f 32/32/31 33/33/32 31/31/30 +f 34/34/33 35/35/34 33/33/32 +f 36/36/35 37/37/36 35/35/34 +f 38/38/37 39/39/38 37/37/36 +f 40/40/39 41/41/40 39/39/38 +f 42/42/41 43/43/42 41/41/40 +f 43/43/42 46/44/43 45/45/44 +f 46/44/43 47/46/45 45/45/44 +f 48/47/46 49/48/47 47/46/45 +f 50/49/48 51/50/49 49/51/47 +f 52/52/50 53/53/51 51/50/49 +f 53/53/51 56/54/52 55/55/53 +f 56/54/52 57/56/54 55/55/53 +f 58/57/55 59/58/56 57/56/54 +f 60/59/57 61/60/58 59/58/56 +f 22/21/20 76/61/59 24/24/23 +f 64/62/60 1/3/3 63/63/61 +f 62/64/62 63/63/61 61/60/58 +f 69/65/63 100/66/64 101/67/65 +f 40/40/39 85/68/66 42/42/41 +f 58/57/55 94/69/67 60/59/57 +f 14/14/14 72/70/68 16/16/16 +f 32/32/31 81/71/69 34/34/33 +f 50/49/48 90/72/70 52/52/50 +f 6/6/6 68/73/71 8/8/8 +f 24/24/23 77/74/72 26/26/25 +f 44/75/73 85/68/66 86/76/74 +f 60/59/57 95/77/75 62/64/62 +f 16/16/16 73/78/76 18/79/18 +f 36/36/35 81/71/69 82/80/77 +f 52/52/50 91/81/78 54/82/79 +f 8/8/8 69/65/63 10/10/10 +f 28/28/27 77/74/72 78/83/80 +f 44/75/73 87/84/81 46/44/43 +f 62/64/62 96/85/82 64/62/60 +f 18/18/18 74/86/83 20/87/84 +f 36/36/35 83/88/85 38/38/37 +f 54/82/79 92/89/86 56/54/52 +f 10/10/10 70/90/87 12/12/12 +f 30/30/29 78/83/80 79/91/88 +f 48/47/46 87/84/81 88/92/89 +f 2/1/1 65/93/90 4/4/4 +f 64/62/60 66/94/91 2/1/1 +f 20/87/84 75/95/92 22/21/20 +f 38/38/37 84/96/93 40/40/39 +f 56/54/52 93/97/94 58/57/55 +f 12/12/12 71/98/95 14/14/14 +f 30/30/29 80/99/96 32/32/31 +f 48/47/46 89/100/97 50/101/48 +f 4/4/4 67/102/98 6/6/6 +f 96/85/82 127/103/99 128/104/100 +f 83/88/85 114/105/101 115/106/102 +f 69/65/63 102/107/103 70/90/87 +f 96/85/82 98/108/104 66/94/91 +f 83/88/85 116/109/105 84/96/93 +f 70/90/87 103/110/106 71/98/95 +f 84/96/93 117/111/107 85/68/66 +f 71/98/95 104/112/108 72/70/68 +f 85/68/66 118/113/109 86/76/74 +f 72/70/68 105/114/110 73/78/76 +f 86/76/74 119/115/111 87/84/81 +f 73/116/76 106/117/112 74/86/83 +f 87/84/81 120/118/113 88/92/89 +f 74/86/83 107/119/114 75/95/92 +f 88/92/89 121/120/115 89/100/97 +f 75/95/92 108/121/116 76/61/59 +f 89/122/97 122/123/117 90/72/70 +f 76/61/59 109/124/118 77/74/72 +f 90/72/70 123/125/119 91/81/78 +f 77/74/72 110/126/120 78/83/80 +f 91/81/78 124/127/121 92/89/86 +f 78/83/80 111/128/122 79/91/88 +f 66/94/91 97/129/123 65/93/90 +f 92/89/86 125/130/124 93/97/94 +f 79/91/88 112/131/125 80/99/96 +f 65/93/90 99/132/126 67/102/98 +f 94/69/67 125/130/124 126/133/127 +f 80/99/96 113/134/128 81/71/69 +f 67/102/98 100/66/64 68/73/71 +f 94/69/67 127/103/99 95/77/75 +f 81/71/69 114/105/101 82/80/77 +f 2/1/1 4/4/4 3/2/2 +f 4/4/4 6/6/6 5/5/5 +f 6/6/6 8/8/8 7/7/7 +f 8/8/8 10/10/10 9/9/9 +f 10/10/10 12/12/12 11/11/11 +f 12/12/12 14/14/14 13/13/13 +f 14/14/14 16/16/16 15/15/15 +f 16/16/16 18/79/18 17/17/17 +f 18/18/18 20/87/84 19/19/19 +f 19/19/19 20/87/84 22/21/20 +f 22/21/20 24/24/23 23/23/22 +f 24/24/23 26/26/25 25/25/24 +f 26/26/25 28/28/27 27/27/26 +f 28/28/27 30/30/29 29/29/28 +f 30/30/29 32/32/31 31/31/30 +f 32/32/31 34/34/33 33/33/32 +f 34/34/33 36/36/35 35/35/34 +f 36/36/35 38/38/37 37/37/36 +f 38/38/37 40/40/39 39/39/38 +f 40/40/39 42/42/41 41/41/40 +f 42/42/41 44/75/73 43/43/42 +f 43/43/42 44/75/73 46/44/43 +f 46/44/43 48/47/46 47/46/45 +f 48/47/46 50/101/48 49/48/47 +f 50/49/48 52/52/50 51/50/49 +f 52/52/50 54/82/79 53/53/51 +f 53/53/51 54/82/79 56/54/52 +f 56/54/52 58/57/55 57/56/54 +f 58/57/55 60/59/57 59/58/56 +f 60/59/57 62/64/62 61/60/58 +f 22/21/20 75/95/92 76/61/59 +f 64/62/60 2/1/1 1/3/3 +f 62/64/62 64/62/60 63/63/61 +f 69/65/63 68/73/71 100/66/64 +f 40/40/39 84/96/93 85/68/66 +f 58/57/55 93/97/94 94/69/67 +f 14/14/14 71/98/95 72/70/68 +f 32/32/31 80/99/96 81/71/69 +f 50/49/48 89/122/97 90/72/70 +f 6/6/6 67/102/98 68/73/71 +f 24/24/23 76/61/59 77/74/72 +f 44/75/73 42/42/41 85/68/66 +f 60/59/57 94/69/67 95/77/75 +f 16/16/16 72/70/68 73/78/76 +f 36/36/35 34/34/33 81/71/69 +f 52/52/50 90/72/70 91/81/78 +f 8/8/8 68/73/71 69/65/63 +f 28/28/27 26/26/25 77/74/72 +f 44/75/73 86/76/74 87/84/81 +f 62/64/62 95/77/75 96/85/82 +f 18/18/18 73/116/76 74/86/83 +f 36/36/35 82/80/77 83/88/85 +f 54/82/79 91/81/78 92/89/86 +f 10/10/10 69/65/63 70/90/87 +f 30/30/29 28/28/27 78/83/80 +f 48/47/46 46/44/43 87/84/81 +f 2/1/1 66/94/91 65/93/90 +f 64/62/60 96/85/82 66/94/91 +f 20/87/84 74/86/83 75/95/92 +f 38/38/37 83/88/85 84/96/93 +f 56/54/52 92/89/86 93/97/94 +f 12/12/12 70/90/87 71/98/95 +f 30/30/29 79/91/88 80/99/96 +f 48/47/46 88/92/89 89/100/97 +f 4/4/4 65/93/90 67/102/98 +f 96/85/82 95/77/75 127/103/99 +f 83/88/85 82/80/77 114/105/101 +f 69/65/63 101/67/65 102/107/103 +f 96/85/82 128/104/100 98/108/104 +f 83/88/85 115/106/102 116/109/105 +f 70/90/87 102/107/103 103/110/106 +f 84/96/93 116/109/105 117/111/107 +f 71/98/95 103/110/106 104/112/108 +f 85/68/66 117/111/107 118/113/109 +f 72/70/68 104/112/108 105/114/110 +f 86/76/74 118/113/109 119/115/111 +f 73/116/76 105/135/110 106/117/112 +f 87/84/81 119/115/111 120/118/113 +f 74/86/83 106/117/112 107/119/114 +f 88/92/89 120/118/113 121/120/115 +f 75/95/92 107/119/114 108/121/116 +f 89/122/97 121/136/115 122/123/117 +f 76/61/59 108/121/116 109/124/118 +f 90/72/70 122/123/117 123/125/119 +f 77/74/72 109/124/118 110/126/120 +f 91/81/78 123/125/119 124/127/121 +f 78/83/80 110/126/120 111/128/122 +f 66/94/91 98/108/104 97/129/123 +f 92/89/86 124/127/121 125/130/124 +f 79/91/88 111/128/122 112/131/125 +f 65/93/90 97/129/123 99/132/126 +f 94/69/67 93/97/94 125/130/124 +f 80/99/96 112/131/125 113/134/128 +f 67/102/98 99/132/126 100/66/64 +f 94/69/67 126/133/127 127/103/99 +f 81/71/69 113/134/128 114/105/101 +o Ball +v 0.468222 24.000000 -2.353884 +v 0.000006 24.000000 -2.400000 +v 0.918446 24.000000 -2.217310 +v 1.333374 24.000000 -1.995527 +v 1.697062 24.000000 -1.697056 +v 1.995533 24.000000 -1.333368 +v 2.217317 24.000000 -0.918440 +v 2.353890 24.000000 -0.468216 +v 2.400005 24.000000 0.000000 +v 2.353890 24.000000 0.468217 +v 2.217317 24.000000 0.918440 +v 1.995533 24.000000 1.333369 +v 1.697062 24.000000 1.697057 +v 1.333374 24.000000 1.995528 +v 0.918445 24.000000 2.217312 +v 0.468222 24.000000 2.353885 +v 0.000005 24.000000 2.400000 +v -0.468212 24.000000 2.353885 +v -0.918436 24.000000 2.217311 +v -1.333364 24.000000 1.995527 +v -1.697052 24.000000 1.697056 +v -1.995522 24.000000 1.333368 +v -2.217306 24.000000 0.918439 +v -2.353879 24.000000 0.468215 +v -2.399995 24.000000 -0.000002 +v -2.353878 24.000000 -0.468219 +v -2.217304 24.000000 -0.918442 +v -1.995520 24.000000 -1.333371 +v -1.697048 24.000000 -1.697058 +v -1.333360 24.000000 -1.995528 +v -0.918431 24.000000 -2.217312 +v -0.468208 24.000000 -2.353885 +v 1.053494 23.000000 -5.296239 +v 0.000006 23.000000 -5.399999 +v 2.066497 23.000000 -4.988948 +v 3.000085 23.000000 -4.489934 +v 3.818383 23.000000 -3.818375 +v 4.489942 23.000000 -3.000077 +v 4.988955 23.000000 -2.066489 +v 5.296246 23.000000 -1.053487 +v 5.400004 23.000000 0.000001 +v 5.296246 23.000000 1.053488 +v 4.988955 23.000000 2.066491 +v 4.489942 23.000000 3.000080 +v 3.818383 23.000000 3.818377 +v 3.000085 23.000000 4.489937 +v 2.066496 23.000000 4.988951 +v 1.053492 23.000000 5.296242 +v 0.000004 23.000000 5.400001 +v -1.053484 23.000000 5.296241 +v -2.066487 23.000000 4.988949 +v -3.000076 23.000000 4.489935 +v -3.818373 23.000000 3.818375 +v -4.489932 23.000000 3.000077 +v -4.988945 23.000000 2.066488 +v -5.296236 23.000000 1.053484 +v -5.399994 23.000000 -0.000004 +v -5.296233 23.000000 -1.053492 +v -4.988941 23.000000 -2.066495 +v -4.489926 23.000000 -3.000083 +v -3.818366 23.000000 -3.818380 +v -3.000067 23.000000 -4.489939 +v -2.066477 23.000000 -4.988951 +v -1.053474 23.000000 -5.296240 +v 1.755819 24.000000 -8.827065 +v 0.000006 24.000000 -8.999997 +v 3.444157 24.000000 -8.314913 +v 5.000138 24.000000 -7.483224 +v 6.363967 24.000000 -6.363959 +v 7.483233 24.000000 -5.000129 +v 8.314921 24.000000 -3.444148 +v 8.827073 24.000000 -1.755811 +v 9.000004 24.000000 0.000002 +v 8.827074 24.000000 1.755814 +v 8.314922 24.000000 3.444152 +v 7.483233 24.000000 5.000134 +v 6.363967 24.000000 6.363963 +v 5.000138 24.000000 7.483229 +v 3.444156 24.000000 8.314919 +v 1.755817 24.000000 8.827070 +v 0.000003 24.000000 9.000002 +v -1.755810 24.000000 8.827069 +v -3.444149 24.000000 8.314917 +v -5.000130 24.000000 7.483226 +v -6.363959 24.000000 6.363959 +v -7.483224 24.000000 5.000129 +v -8.314913 24.000000 3.444147 +v -8.827063 24.000000 1.755807 +v -8.999994 24.000000 -0.000006 +v -8.827060 24.000000 -1.755820 +v -8.314906 24.000000 -3.444158 +v -7.483214 24.000000 -5.000139 +v -6.363947 24.000000 -6.363967 +v -5.000115 24.000000 -7.483231 +v -3.444133 24.000000 -8.314919 +v -1.755793 24.000000 -8.827067 +v 2.038701 26.000000 -10.249203 +v 0.000007 26.000000 -10.449997 +v 3.999049 26.000000 -9.654537 +v 5.805717 26.000000 -8.688854 +v 7.389273 26.000000 -7.389263 +v 8.688865 26.000000 -5.805706 +v 9.654549 26.000000 -3.999039 +v 10.249214 26.000000 -2.038692 +v 10.450004 26.000000 0.000002 +v 10.249214 26.000000 2.038695 +v 9.654549 26.000000 3.999043 +v 8.688865 26.000000 5.805711 +v 7.389273 26.000000 7.389268 +v 5.805716 26.000000 8.688861 +v 3.999047 26.000000 9.654545 +v 2.038698 26.000000 10.249209 +v 0.000004 26.000000 10.450003 +v -2.038691 26.000000 10.249207 +v -3.999040 26.000000 9.654542 +v -5.805707 26.000000 8.688857 +v -7.389263 26.000000 7.389264 +v -8.688853 26.000000 5.805706 +v -9.654536 26.000000 3.999037 +v -10.249200 26.000000 2.038688 +v -10.449993 26.000000 -0.000007 +v -10.249197 26.000000 -2.038702 +v -9.654529 26.000000 -3.999050 +v -8.688843 26.000000 -5.805717 +v -7.389249 26.000000 -7.389272 +v -5.805690 26.000000 -8.688862 +v -3.999021 26.000000 -9.654544 +v -2.038671 26.000000 -10.249207 +v 1.950911 28.000000 -9.807850 +v 0.000007 28.000000 -9.999997 +v 3.826842 28.000000 -9.238792 +v 5.555710 28.000000 -8.314693 +v 7.071075 28.000000 -7.071065 +v 8.314704 28.000000 -5.555699 +v 9.238802 28.000000 -3.826832 +v 9.807859 28.000000 -1.950901 +v 10.000003 28.000000 0.000002 +v 9.807860 28.000000 1.950905 +v 9.238803 28.000000 3.826835 +v 8.314704 28.000000 5.555705 +v 7.071075 28.000000 7.071070 +v 5.555709 28.000000 8.314699 +v 3.826840 28.000000 9.238799 +v 1.950908 28.000000 9.807856 +v 0.000004 28.000000 10.000002 +v -1.950900 28.000000 9.807855 +v -3.826832 28.000000 9.238796 +v -5.555700 28.000000 8.314696 +v -7.071065 28.000000 7.071066 +v -8.314693 28.000000 5.555699 +v -9.238791 28.000000 3.826830 +v -9.807847 28.000000 1.950897 +v -9.999993 28.000000 -0.000007 +v -9.807844 28.000000 -1.950911 +v -9.238784 28.000000 -3.826842 +v -8.314682 28.000000 -5.555710 +v -7.071051 28.000000 -7.071074 +v -5.555684 28.000000 -8.314701 +v -3.826813 28.000000 -9.238798 +v -1.950881 28.000000 -9.807853 +v 0.975460 31.000000 -4.903925 +v 0.000008 31.000000 -4.999999 +v 1.913425 31.000000 -4.619397 +v 2.777859 31.000000 -4.157347 +v 3.535542 31.000000 -3.535533 +v 4.157357 31.000000 -2.777850 +v 4.619406 31.000000 -1.913416 +v 4.903934 31.000000 -0.975451 +v 5.000006 31.000000 0.000001 +v 4.903935 31.000000 0.975452 +v 4.619406 31.000000 1.913418 +v 4.157357 31.000000 2.777852 +v 3.535542 31.000000 3.535535 +v 2.777859 31.000000 4.157349 +v 1.913425 31.000000 4.619399 +v 0.975459 31.000000 4.903927 +v 0.000007 31.000000 5.000000 +v -0.975445 31.000000 4.903927 +v -1.913411 31.000000 4.619398 +v -2.777845 31.000000 4.157348 +v -3.535528 31.000000 3.535533 +v -4.157342 31.000000 2.777849 +v -4.619391 31.000000 1.913415 +v -4.903919 31.000000 0.975448 +v -4.999992 31.000000 -0.000004 +v -4.903917 31.000000 -0.975456 +v -4.619387 31.000000 -1.913421 +v -4.157336 31.000000 -2.777855 +v -3.535521 31.000000 -3.535537 +v -2.777837 31.000000 -4.157351 +v -1.913402 31.000000 -4.619400 +v -0.975436 31.000000 -4.903927 +v 0.195100 32.000000 -0.980785 +v 0.000009 32.000000 -1.000000 +v 0.382693 32.000000 -0.923880 +v 0.555579 32.000000 -0.831470 +v 0.707116 32.000000 -0.707107 +v 0.831479 32.000000 -0.555570 +v 0.923889 32.000000 -0.382683 +v 0.980794 32.000000 -0.195090 +v 1.000009 32.000000 -0.000000 +v 0.980795 32.000000 0.195090 +v 0.923889 32.000000 0.382683 +v 0.831479 32.000000 0.555570 +v 0.707116 32.000000 0.707107 +v 0.555579 32.000000 0.831470 +v 0.382692 32.000000 0.923880 +v 0.195099 32.000000 0.980785 +v 0.000009 32.000000 1.000000 +v -0.195082 32.000000 0.980785 +v -0.382675 32.000000 0.923879 +v -0.555561 32.000000 0.831469 +v -0.707098 32.000000 0.707106 +v -0.831461 32.000000 0.555570 +v -0.923871 32.000000 0.382683 +v -0.980776 32.000000 0.195089 +v -0.999991 32.000000 -0.000001 +v -0.980776 32.000000 -0.195091 +v -0.923870 32.000000 -0.382684 +v -0.831460 32.000000 -0.555571 +v -0.707097 32.000000 -0.707108 +v -0.555560 32.000000 -0.831470 +v -0.382673 32.000000 -0.923880 +v -0.195080 32.000000 -0.980786 +v 0.243864 22.000000 -1.225981 +v 0.000001 22.000000 -1.250000 +v 0.478355 22.000000 -1.154849 +v 0.694464 22.000000 -1.039337 +v 0.883885 22.000000 -0.883883 +v 1.039338 22.000000 -0.694463 +v 1.154850 22.000000 -0.478354 +v 1.225983 22.000000 -0.243863 +v 1.250001 22.000000 -0.000000 +v 1.225983 22.000000 0.243863 +v 1.154851 22.000000 0.478354 +v 1.039338 22.000000 0.694463 +v 0.883885 22.000000 0.883884 +v 0.694464 22.000000 1.039337 +v 0.478355 22.000000 1.154850 +v 0.243864 22.000000 1.225982 +v 0.000001 22.000000 1.250000 +v -0.243862 22.000000 1.225982 +v -0.478354 22.000000 1.154849 +v -0.694462 22.000000 1.039337 +v -0.883883 22.000000 0.883883 +v -1.039336 22.000000 0.694462 +v -1.154849 22.000000 0.478353 +v -1.225981 22.000000 0.243862 +v -1.249999 22.000000 -0.000001 +v -1.225980 22.000000 -0.243864 +v -1.154848 22.000000 -0.478356 +v -1.039335 22.000000 -0.694464 +v -0.883881 22.000000 -0.883884 +v -0.694460 22.000000 -1.039338 +v -0.478351 22.000000 -1.154850 +v -0.243860 22.000000 -1.225982 +v 0.390184 20.000000 -1.961570 +v 0.000004 20.000000 -2.000000 +v 0.765370 20.000000 -1.847759 +v 1.111144 20.000000 -1.662939 +v 1.414217 20.000000 -1.414213 +v 1.662943 20.000000 -1.111140 +v 1.847763 20.000000 -0.765367 +v 1.961574 20.000000 -0.390180 +v 2.000004 20.000000 0.000000 +v 1.961574 20.000000 0.390181 +v 1.847763 20.000000 0.765367 +v 1.662943 20.000000 1.111141 +v 1.414217 20.000000 1.414214 +v 1.111144 20.000000 1.662940 +v 0.765370 20.000000 1.847760 +v 0.390184 20.000000 1.961571 +v 0.000003 20.000000 2.000000 +v -0.390178 20.000000 1.961571 +v -0.765364 20.000000 1.847759 +v -1.111138 20.000000 1.662939 +v -1.414211 20.000000 1.414213 +v -1.662936 20.000000 1.111140 +v -1.847756 20.000000 0.765366 +v -1.961567 20.000000 0.390179 +v -1.999996 20.000000 -0.000002 +v -1.961566 20.000000 -0.390182 +v -1.847754 20.000000 -0.765369 +v -1.662934 20.000000 -1.111142 +v -1.414208 20.000000 -1.414215 +v -1.111135 20.000000 -1.662941 +v -0.765361 20.000000 -1.847760 +v -0.390174 20.000000 -1.961571 +v 0.546257 20.000000 -2.746198 +v 0.000004 20.000000 -2.799999 +v 1.071518 20.000000 -2.586862 +v 1.555601 20.000000 -2.328114 +v 1.979903 20.000000 -1.979898 +v 2.328119 20.000000 -1.555596 +v 2.586867 20.000000 -1.071513 +v 2.746203 20.000000 -0.546253 +v 2.800004 20.000000 0.000000 +v 2.746203 20.000000 0.546253 +v 2.586867 20.000000 1.071514 +v 2.328119 20.000000 1.555597 +v 1.979903 20.000000 1.979900 +v 1.555601 20.000000 2.328115 +v 1.071517 20.000000 2.586864 +v 0.546256 20.000000 2.746200 +v 0.000003 20.000000 2.800000 +v -0.546250 20.000000 2.746199 +v -1.071511 20.000000 2.586863 +v -1.555594 20.000000 2.328115 +v -1.979896 20.000000 1.979898 +v -2.328112 20.000000 1.555596 +v -2.586860 20.000000 1.071512 +v -2.746195 20.000000 0.546251 +v -2.799996 20.000000 -0.000002 +v -2.746194 20.000000 -0.546255 +v -2.586858 20.000000 -1.071516 +v -2.328109 20.000000 -1.555599 +v -1.979892 20.000000 -1.979901 +v -1.555590 20.000000 -2.328117 +v -1.071506 20.000000 -2.586864 +v -0.546245 20.000000 -2.746199 +v 0.663312 21.000000 -3.334670 +v 0.000004 21.000000 -3.400000 +v 1.301128 21.000000 -3.141190 +v 1.888944 21.000000 -2.826996 +v 2.404167 21.000000 -2.404163 +v 2.827002 21.000000 -1.888938 +v 3.141195 21.000000 -1.301123 +v 3.334675 21.000000 -0.663307 +v 3.400004 21.000000 0.000000 +v 3.334675 21.000000 0.663307 +v 3.141196 21.000000 1.301124 +v 2.827002 21.000000 1.888939 +v 2.404167 21.000000 2.404164 +v 1.888943 21.000000 2.826997 +v 1.301127 21.000000 3.141191 +v 0.663311 21.000000 3.334671 +v 0.000003 21.000000 3.400000 +v -0.663304 21.000000 3.334670 +v -1.301121 21.000000 3.141190 +v -1.888936 21.000000 2.826996 +v -2.404160 21.000000 2.404162 +v -2.826994 21.000000 1.888937 +v -3.141187 21.000000 1.301122 +v -3.334666 21.000000 0.663305 +v -3.399996 21.000000 -0.000003 +v -3.334665 21.000000 -0.663310 +v -3.141184 21.000000 -1.301127 +v -2.826990 21.000000 -1.888942 +v -2.404155 21.000000 -2.404165 +v -1.888931 21.000000 -2.826999 +v -1.301115 21.000000 -3.141192 +v -0.663298 21.000000 -3.334670 +v 0.663312 22.000000 -3.334670 +v 0.000005 22.000000 -3.400000 +v 1.301129 22.000000 -3.141190 +v 1.888944 22.000000 -2.826996 +v 2.404168 22.000000 -2.404163 +v 2.827002 22.000000 -1.888938 +v 3.141195 22.000000 -1.301123 +v 3.334675 22.000000 -0.663307 +v 3.400005 22.000000 0.000000 +v 3.334675 22.000000 0.663307 +v 3.141196 22.000000 1.301124 +v 2.827002 22.000000 1.888939 +v 2.404168 22.000000 2.404164 +v 1.888944 22.000000 2.826997 +v 1.301128 22.000000 3.141191 +v 0.663311 22.000000 3.334671 +v 0.000004 22.000000 3.400000 +v -0.663304 22.000000 3.334670 +v -1.301120 22.000000 3.141190 +v -1.888936 22.000000 2.826996 +v -2.404160 22.000000 2.404162 +v -2.826993 22.000000 1.888937 +v -3.141187 22.000000 1.301122 +v -3.334666 22.000000 0.663305 +v -3.399995 22.000000 -0.000003 +v -3.334665 22.000000 -0.663310 +v -3.141184 22.000000 -1.301127 +v -2.826989 22.000000 -1.888942 +v -2.404155 22.000000 -2.404165 +v -1.888930 22.000000 -2.826999 +v -1.301114 22.000000 -3.141192 +v -0.663297 22.000000 -3.334670 +v 0.468222 24.000000 -2.353884 +v 0.000006 24.000000 -2.400000 +v 0.918446 24.000000 -2.217310 +v 1.333374 24.000000 -1.995527 +v 1.697062 24.000000 -1.697056 +v 1.995533 24.000000 -1.333368 +v 2.217317 24.000000 -0.918440 +v 2.353890 24.000000 -0.468216 +v 2.400005 24.000000 0.000000 +v 2.353890 24.000000 0.468217 +v 2.217317 24.000000 0.918440 +v 1.995533 24.000000 1.333369 +v 1.697062 24.000000 1.697057 +v 1.333374 24.000000 1.995528 +v 0.918445 24.000000 2.217312 +v 0.468222 24.000000 2.353885 +v 0.000005 24.000000 2.400000 +v -0.468212 24.000000 2.353885 +v -0.918436 24.000000 2.217311 +v -1.333364 24.000000 1.995527 +v -1.697052 24.000000 1.697056 +v -1.995522 24.000000 1.333368 +v -2.217306 24.000000 0.918439 +v -2.353879 24.000000 0.468215 +v -2.399995 24.000000 -0.000002 +v -2.353878 24.000000 -0.468219 +v -2.217304 24.000000 -0.918442 +v -1.995520 24.000000 -1.333371 +v -1.697048 24.000000 -1.697058 +v -1.333360 24.000000 -1.995528 +v -0.918431 24.000000 -2.217312 +v -0.468208 24.000000 -2.353885 +vt -0.000000 0.218750 +vt 0.125000 0.527974 +vt 0.000000 0.527974 +vt 0.750000 0.527974 +vt 0.625000 0.904919 +vt 0.625000 0.527974 +vt 0.750000 0.218750 +vt 0.625000 0.527974 +vt 0.625000 0.218750 +vt 1.000000 0.218750 +vt 0.875000 0.527974 +vt 0.875000 0.218750 +vt 0.500000 0.527974 +vt 0.500000 0.218750 +vt 0.750000 0.218750 +vt 0.375000 0.527974 +vt 0.375000 0.218750 +vt 0.625000 0.218750 +vt 0.250000 0.527974 +vt 0.250000 0.218750 +vt 1.000000 0.218750 +vt 0.875000 0.527974 +vt 0.875000 0.218750 +vt 0.500000 0.527974 +vt 0.500000 0.218750 +vt 0.125000 0.527974 +vt 0.125000 0.218750 +vt 0.750000 0.527974 +vt 0.750000 0.218750 +vt 0.375000 0.527974 +vt 0.375000 0.218750 +vt 0.000000 0.527974 +vt -0.000000 0.218750 +vt 0.625000 0.527974 +vt 0.625000 0.218750 +vt 0.250000 0.527974 +vt 0.250000 0.218750 +vt 1.000000 0.218750 +vt 0.875000 0.527974 +vt 0.875000 0.218750 +vt 0.500000 0.218750 +vt 0.500000 0.527974 +vt 0.125000 0.527974 +vt 0.125000 0.218750 +vt 0.750000 0.527974 +vt 0.750000 0.218750 +vt 0.375000 0.218750 +vt 0.375000 0.527974 +vt -0.000000 0.218750 +vt 0.000000 0.527974 +vt 0.625000 0.527974 +vt 0.625000 0.218750 +vt 0.250000 0.527974 +vt 0.250000 0.218750 +vt 0.500000 0.527974 +vt 0.500000 0.218750 +vt 0.125000 0.218750 +vt 0.125000 0.527974 +vt 0.375000 0.527974 +vt 0.375000 0.218750 +vt 0.000000 0.527974 +vt -0.000000 0.218750 +vt 0.250000 0.527974 +vt 0.250000 0.218750 +vt 0.875000 0.218750 +vt 1.000000 0.527974 +vt 0.875000 0.527974 +vt 0.125000 0.218750 +vt 0.750000 0.527974 +vt 0.750000 0.904919 +vt 0.625000 1.139294 +vt 0.625000 0.904919 +vt 0.375000 0.904919 +vt 0.250000 0.904919 +vt 1.000000 0.527974 +vt 0.875000 0.904919 +vt 0.500000 0.904919 +vt 0.125000 0.904919 +vt 0.375000 0.904919 +vt 0.000000 0.904919 +vt 0.250000 0.904919 +vt 1.000000 0.904919 +vt 0.875000 0.904919 +vt 0.500000 0.904919 +vt 0.125000 0.904919 +vt 0.750000 0.904919 +vt 0.375000 0.904919 +vt 0.000000 0.904919 +vt 0.625000 0.904919 +vt 0.250000 0.904919 +vt 0.500000 0.904919 +vt 0.125000 0.904919 +vt 0.375000 0.904919 +vt 0.000000 0.904919 +vt 0.250000 0.904919 +vt 1.000000 0.904919 +vt 0.875000 0.904919 +vt 0.125000 0.904919 +vt 0.750000 0.904919 +vt 0.000000 0.904919 +vt 0.625000 0.904919 +vt 1.000000 0.527974 +vt 0.875000 0.904919 +vt 0.500000 0.904919 +vt 0.750000 0.904919 +vt 0.250000 1.139294 +vt 0.375000 1.303932 +vt 0.250000 1.303932 +vt 0.375000 1.139294 +vt 0.250000 1.139294 +vt 0.875000 1.139294 +vt 0.500000 1.139294 +vt 0.125000 1.139294 +vt 0.750000 1.139294 +vt 0.375000 1.139294 +vt 0.000000 1.139294 +vt 0.625000 1.139294 +vt 0.500000 1.139294 +vt 0.125000 1.139294 +vt 0.375000 1.139294 +vt 0.000000 1.139294 +vt 0.250000 1.139294 +vt 1.000000 1.139294 +vt 0.875000 1.139294 +vt 0.125000 1.139294 +vt 0.750000 1.139294 +vt 0.000000 1.139294 +vt 0.625000 1.139294 +vt 1.000000 0.904919 +vt 0.875000 1.139294 +vt 0.500000 1.139294 +vt 0.750000 1.139294 +vt 0.375000 1.139294 +vt 0.625000 1.139294 +vt 0.250000 1.139294 +vt 1.000000 1.139294 +vt 0.875000 1.139294 +vt 0.500000 1.139294 +vt 0.125000 1.139294 +vt 0.750000 1.139294 +vt 0.000000 1.139294 +vt 1.000000 1.303932 +vt 0.875000 1.678932 +vt 0.875000 1.303932 +vt 0.500000 1.303932 +vt 0.125000 1.303932 +vt 0.375000 1.303932 +vt 0.000000 1.303932 +vt 0.250000 1.303932 +vt 0.125000 1.303932 +vt 0.750000 1.303932 +vt 0.000000 1.303932 +vt 0.625000 1.303932 +vt 1.000000 1.139294 +vt 0.875000 1.303932 +vt 0.500000 1.303932 +vt 0.750000 1.303932 +vt 0.375000 1.303932 +vt 0.625000 1.303932 +vt 0.250000 1.303932 +vt 1.000000 1.303932 +vt 0.875000 1.303932 +vt 0.500000 1.303932 +vt 0.125000 1.303932 +vt 0.750000 1.303932 +vt 0.375000 1.303932 +vt 0.000000 1.303932 +vt 0.625000 1.303932 +vt 0.250000 1.303932 +vt 1.000000 1.139294 +vt 0.875000 1.303932 +vt 0.500000 1.303932 +vt 0.125000 1.303932 +vt 0.750000 1.303932 +vt 0.000000 1.303932 +vt 0.625000 1.303932 +vt 0.625000 1.678932 +vt 0.500000 2.007057 +vt 0.500000 1.678932 +vt 0.250000 1.678932 +vt 0.125000 1.678932 +vt 0.750000 1.678932 +vt 0.000000 1.678932 +vt 1.000000 1.303932 +vt 0.875000 1.678932 +vt 0.750000 1.678932 +vt 0.375000 1.678932 +vt 0.625000 1.678932 +vt 0.250000 1.678932 +vt 0.875000 1.678932 +vt 0.500000 1.678932 +vt 0.125000 1.678932 +vt 0.750000 1.678932 +vt 0.375000 1.678932 +vt 0.000000 1.678932 +vt 0.625000 1.678932 +vt 0.250000 1.678932 +vt 1.000000 1.303932 +vt 0.875000 1.678932 +vt 0.500000 1.678932 +vt 0.125000 1.678932 +vt 0.750000 1.678932 +vt 0.375000 1.678932 +vt 0.000000 1.678932 +vt 0.625000 1.678932 +vt 0.250000 1.678932 +vt 0.500000 1.678932 +vt 0.125000 1.678932 +vt 0.375000 1.678932 +vt 0.000000 1.678932 +vt 0.440056 1.212514 +vt 0.447933 1.186548 +vt 0.473898 1.194425 +vt 0.875000 2.007057 +vt 0.750000 2.007057 +vt 0.375000 2.007057 +vt 0.625000 2.007057 +vt 0.250000 2.007057 +vt 1.000000 1.678932 +vt 0.875000 2.007057 +vt 0.500000 2.007057 +vt 0.125000 2.007057 +vt 0.750000 2.007057 +vt 0.375000 2.007057 +vt 0.000000 2.007057 +vt 0.625000 2.007057 +vt 0.250000 2.007057 +vt 1.000000 1.678932 +vt 0.875000 2.007057 +vt 0.500000 2.007057 +vt 0.125000 2.007057 +vt 0.750000 2.007057 +vt 0.375000 2.007057 +vt 0.000000 2.007057 +vt 0.625000 2.007057 +vt 0.250000 2.007057 +vt 0.500000 2.007057 +vt 0.125000 2.007057 +vt 0.375000 2.007057 +vt 0.000000 2.007057 +vt 0.250000 2.007057 +vt 1.000000 1.678932 +vt 0.875000 2.007057 +vt 0.125000 2.007057 +vt 0.750000 2.007057 +vt 0.000000 2.007057 +vt 0.625000 2.007057 +vt 1.000000 2.007057 +vt 0.500000 -0.359375 +vt 0.375000 -0.250000 +vt 0.375000 -0.359375 +vt 0.125000 -0.750000 +vt 0.250000 -0.359375 +vt 0.125000 -0.359375 +vt 0.500000 -0.750000 +vt 0.375000 -0.750000 +vt -0.000000 -0.750000 +vt -0.000000 -0.359375 +vt 0.250000 -0.359375 +vt 0.250000 -0.750000 +vt 1.000000 -0.750000 +vt 0.875000 -0.359375 +vt 0.875000 -0.750000 +vt 0.125000 -0.359375 +vt 0.125000 -0.750000 +vt 0.750000 -0.359375 +vt 0.750000 -0.750000 +vt -0.000000 -0.359375 +vt -0.000000 -0.750000 +vt 0.625000 -0.359375 +vt 0.625000 -0.750000 +vt 1.000000 -0.750000 +vt 0.875000 -0.359375 +vt 0.875000 -0.750000 +vt 0.500000 -0.359375 +vt 0.500000 -0.750000 +vt 0.750000 -0.750000 +vt 0.750000 -0.359375 +vt 0.375000 -0.359375 +vt 0.375000 -0.750000 +vt 0.625000 -0.359375 +vt 0.625000 -0.750000 +vt 0.250000 -0.359375 +vt 0.250000 -0.750000 +vt 0.875000 -0.750000 +vt 1.000000 -0.359375 +vt 0.875000 -0.359375 +vt 0.500000 -0.359375 +vt 0.500000 -0.750000 +vt 0.125000 -0.359375 +vt 0.125000 -0.750000 +vt 0.750000 -0.750000 +vt 0.750000 -0.359375 +vt 0.375000 -0.750000 +vt 0.375000 -0.359375 +vt -0.000000 -0.359375 +vt -0.000000 -0.750000 +vt 0.625000 -0.750000 +vt 0.625000 -0.359375 +vt 0.250000 -0.750000 +vt 0.250000 -0.359375 +vt 1.000000 -0.750000 +vt 0.875000 -0.359375 +vt 0.875000 -0.750000 +vt 0.500000 -0.750000 +vt 0.500000 -0.359375 +vt 0.125000 -0.750000 +vt 0.125000 -0.359375 +vt 0.750000 -0.359375 +vt 0.750000 -0.750000 +vt 0.375000 -0.750000 +vt 0.375000 -0.359375 +vt -0.000000 -0.750000 +vt -0.000000 -0.359375 +vt 0.625000 -0.359375 +vt 0.625000 -0.750000 +vt 0.250000 -0.750000 +vt 0.250000 -0.250000 +vt 0.125000 -0.140625 +vt 0.125000 -0.250000 +vt 0.125000 -0.250000 +vt -0.000000 -0.250000 +vt 0.250000 -0.250000 +vt 1.000000 -0.250000 +vt 0.875000 -0.250000 +vt 0.125000 -0.250000 +vt 0.750000 -0.250000 +vt -0.000000 -0.250000 +vt 0.625000 -0.250000 +vt 1.000000 -0.359375 +vt 0.875000 -0.250000 +vt 0.500000 -0.250000 +vt 0.750000 -0.250000 +vt 0.375000 -0.250000 +vt 0.625000 -0.250000 +vt 1.000000 -0.250000 +vt 0.875000 -0.250000 +vt 0.500000 -0.250000 +vt 0.750000 -0.250000 +vt 0.375000 -0.250000 +vt -0.000000 -0.250000 +vt 0.625000 -0.250000 +vt 0.250000 -0.250000 +vt 1.000000 -0.359375 +vt 0.875000 -0.250000 +vt 0.500000 -0.250000 +vt 0.125000 -0.250000 +vt 0.750000 -0.250000 +vt 0.375000 -0.250000 +vt -0.000000 -0.250000 +vt 0.625000 -0.250000 +vt 0.250000 -0.250000 +vt 0.500000 -0.250000 +vt 0.875000 -0.140625 +vt 0.750000 -0.046875 +vt 0.750000 -0.140625 +vt 0.875000 -0.140625 +vt 0.750000 -0.140625 +vt 0.500000 -0.140625 +vt 0.375000 -0.140625 +vt -0.000000 -0.140625 +vt 0.625000 -0.140625 +vt 0.250000 -0.140625 +vt 1.000000 -0.250000 +vt 0.500000 -0.140625 +vt 0.125000 -0.140625 +vt 0.375000 -0.140625 +vt -0.000000 -0.140625 +vt 0.625000 -0.140625 +vt 0.250000 -0.140625 +vt 0.500000 -0.140625 +vt 0.125000 -0.140625 +vt 0.375000 -0.140625 +vt -0.000000 -0.140625 +vt 0.250000 -0.140625 +vt 0.875000 -0.140625 +vt 0.125000 -0.140625 +vt 0.750000 -0.140625 +vt -0.000000 -0.140625 +vt 0.625000 -0.140625 +vt 1.000000 -0.250000 +vt 0.875000 -0.140625 +vt 0.500000 -0.140625 +vt 0.750000 -0.140625 +vt 0.375000 -0.140625 +vt 0.625000 -0.140625 +vt 0.250000 -0.140625 +vt 1.000000 -0.140625 +vt 0.500000 -0.046875 +vt 0.375000 0.218750 +vt 0.375000 -0.046875 +vt 0.500000 -0.046875 +vt 0.375000 -0.046875 +vt 0.125000 -0.046875 +vt -0.000000 -0.046875 +vt 0.625000 -0.046875 +vt 0.250000 -0.046875 +vt 0.125000 -0.046875 +vt -0.000000 -0.046875 +vt 0.250000 -0.046875 +vt 1.000000 -0.140625 +vt 0.875000 -0.046875 +vt 0.125000 -0.046875 +vt 0.750000 -0.046875 +vt -0.000000 -0.046875 +vt 0.625000 -0.046875 +vt 1.000000 -0.046875 +vt 0.875000 -0.046875 +vt 0.500000 -0.046875 +vt 0.750000 -0.046875 +vt 0.375000 -0.046875 +vt 0.625000 -0.046875 +vt 0.250000 -0.046875 +vt 1.000000 -0.046875 +vt 0.875000 -0.046875 +vt 0.500000 -0.046875 +vt 0.125000 -0.046875 +vt 0.750000 -0.046875 +vt 0.375000 -0.046875 +vt -0.000000 -0.046875 +vt 0.625000 -0.046875 +vt 0.250000 -0.046875 +vt 1.000000 -0.140625 +vt 0.875000 -0.046875 +vt 0.125000 0.218750 +vt -0.000000 0.218750 +vt 0.250000 0.218750 +vt 1.000000 -0.046875 +vt 0.875000 0.218750 +vt 0.125000 0.218750 +vt 0.750000 0.218750 +vt -0.000000 0.218750 +vt 0.625000 0.218750 +vt 0.875000 0.218750 +vt 0.500000 0.218750 +vt 0.750000 0.218750 +vt 0.375000 0.218750 +vt 0.625000 0.218750 +vt 0.250000 0.218750 +vt 1.000000 0.218750 +vt 0.875000 0.218750 +vt 0.500000 0.218750 +vt 0.125000 0.218750 +vt 0.750000 0.218750 +vt 0.375000 0.218750 +vt -0.000000 0.218750 +vt 0.625000 0.218750 +vt 0.250000 0.218750 +vt 1.000000 -0.046875 +vt 0.875000 0.218750 +vt 0.500000 0.218750 +vt 0.125000 0.218750 +vt 0.750000 0.218750 +vt 0.375000 0.218750 +vt -0.000000 0.218750 +vt 0.625000 0.218750 +vt 0.250000 0.218750 +vt 0.500000 0.218750 +vt 1.000000 0.527974 +vt 1.000000 0.218750 +vt 1.000000 0.904919 +vt 1.000000 1.678932 +vt 0.475337 1.197900 +vt 0.476071 1.201589 +vt 0.476071 1.205350 +vt 0.475337 1.209039 +vt 0.473898 1.212514 +vt 0.466022 1.220390 +vt 0.471808 1.215641 +vt 0.469149 1.218301 +vt 0.462547 1.221830 +vt 0.458858 1.222564 +vt 0.455097 1.222564 +vt 0.451407 1.221830 +vt 0.447933 1.220390 +vt 0.444805 1.218301 +vt 0.442146 1.215641 +vt 0.438617 1.209039 +vt 0.437883 1.205350 +vt 0.437883 1.201589 +vt 0.438617 1.197900 +vt 0.440056 1.194425 +vt 0.442146 1.191297 +vt 0.444805 1.188638 +vt 0.451407 1.185109 +vt 0.455097 1.184375 +vt 0.458858 1.184375 +vt 0.462547 1.185109 +vt 0.466022 1.186548 +vt 0.469149 1.188638 +vt 0.471808 1.191298 +vt 1.000000 2.007057 +vt 1.000000 2.007057 +vt 1.000000 2.007057 +vt 1.000000 -0.359375 +vt 1.000000 -0.750000 +vt 1.000000 -0.140625 +vt 1.000000 0.218750 +vt 1.000000 0.218750 +vt 1.000000 0.218750 +vn 0.3162 -0.9487 0.0000 +vn 0.0070 -1.0000 -0.0014 +vn 0.0071 -1.0000 0.0000 +vn 0.0066 -1.0000 0.0027 +vn -0.4857 -0.8116 -0.3245 +vn 0.0059 -1.0000 0.0040 +vn -0.2922 -0.9487 -0.1210 +vn -0.0059 -1.0000 -0.0040 +vn -0.2629 -0.9487 -0.1757 +vn 0.0070 -1.0000 0.0014 +vn 0.3101 -0.9487 0.0617 +vn -0.0050 -1.0000 -0.0050 +vn -0.2236 -0.9487 -0.2236 +vn 0.2922 -0.9487 0.1210 +vn -0.0040 -1.0000 -0.0059 +vn -0.1757 -0.9487 -0.2629 +vn 0.2629 -0.9487 0.1757 +vn -0.0027 -1.0000 -0.0066 +vn -0.1210 -0.9487 -0.2922 +vn 0.0000 -0.9487 0.3162 +vn -0.0014 -1.0000 0.0070 +vn -0.0617 -0.9487 0.3101 +vn 0.0050 -1.0000 0.0050 +vn 0.2236 -0.9487 0.2236 +vn -0.0014 -1.0000 -0.0070 +vn -0.0617 -0.9487 -0.3101 +vn -0.0027 -1.0000 0.0066 +vn -0.1210 -0.9487 0.2922 +vn 0.0040 -1.0000 0.0059 +vn 0.1757 -0.9487 0.2629 +vn 0.0000 -1.0000 -0.0071 +vn 0.0000 -0.9487 -0.3162 +vn -0.0040 -1.0000 0.0059 +vn -0.1757 -0.9487 0.2629 +vn 0.0027 -1.0000 0.0066 +vn 0.1210 -0.9487 0.2922 +vn 0.0014 -1.0000 -0.0070 +vn 0.0617 -0.9487 -0.3101 +vn -0.2236 -0.9487 0.2236 +vn -0.0050 -1.0000 0.0050 +vn 0.0014 -1.0000 0.0070 +vn 0.0617 -0.9487 0.3101 +vn 0.0027 -1.0000 -0.0066 +vn 0.1210 -0.9487 -0.2922 +vn -0.2629 -0.9487 0.1757 +vn -0.0059 -1.0000 0.0040 +vn 0.0000 -1.0000 0.0071 +vn 0.0040 -1.0000 -0.0059 +vn 0.1757 -0.9487 -0.2629 +vn -0.0066 -1.0000 0.0027 +vn -0.2922 -0.9487 0.1210 +vn 0.0050 -1.0000 -0.0050 +vn 0.2236 -0.9487 -0.2236 +vn -0.3101 -0.9487 0.0617 +vn -0.0070 -1.0000 0.0014 +vn 0.0059 -1.0000 -0.0040 +vn 0.2629 -0.9487 -0.1757 +vn -0.0071 -1.0000 0.0000 +vn -0.3162 -0.9487 0.0000 +vn 0.0066 -1.0000 -0.0027 +vn 0.2922 -0.9487 -0.1210 +vn -0.3101 -0.9487 -0.0617 +vn -0.0070 -1.0000 -0.0014 +vn 0.3101 -0.9487 -0.0617 +vn -0.0066 -1.0000 -0.0027 +vn 0.2235 -0.8116 -0.5397 +vn 0.5447 -0.1967 -0.8152 +vn 0.3245 -0.8116 -0.4857 +vn 0.3245 -0.8116 0.4857 +vn 0.2235 -0.8116 0.5397 +vn 0.1140 -0.8116 -0.5729 +vn -0.4131 -0.8116 -0.4131 +vn 0.1140 -0.8116 0.5729 +vn -0.3245 -0.8116 -0.4857 +vn 0.0000 -0.8116 0.5842 +vn -0.2235 -0.8116 -0.5397 +vn -0.1140 -0.8116 0.5729 +vn 0.4131 -0.8116 -0.4131 +vn -0.1140 -0.8116 -0.5729 +vn -0.2235 -0.8116 0.5397 +vn 0.4857 -0.8116 -0.3245 +vn 0.0000 -0.8116 -0.5842 +vn -0.3245 -0.8116 0.4857 +vn 0.5397 -0.8116 -0.2235 +vn -0.4131 -0.8116 0.4131 +vn 0.5729 -0.8116 -0.1140 +vn -0.4857 -0.8116 0.3245 +vn 0.5842 -0.8116 0.0000 +vn -0.5397 -0.8116 0.2235 +vn 0.5729 -0.8116 0.1140 +vn -0.5729 -0.8116 0.1140 +vn 0.5397 -0.8116 0.2235 +vn -0.5842 -0.8116 0.0000 +vn 0.4857 -0.8116 0.3245 +vn -0.5729 -0.8116 -0.1140 +vn 0.4131 -0.8116 0.4131 +vn -0.5397 -0.8116 -0.2235 +vn 0.9058 -0.1967 -0.3752 +vn 0.6806 0.5744 -0.4548 +vn 0.7562 0.5744 -0.3132 +vn -0.5447 -0.1967 -0.8152 +vn -0.3752 -0.1967 -0.9058 +vn -0.1913 -0.1967 0.9616 +vn 0.6933 -0.1967 -0.6933 +vn -0.1913 -0.1967 -0.9616 +vn -0.3752 -0.1967 0.9058 +vn 0.8152 -0.1967 -0.5447 +vn 0.0000 -0.1967 -0.9804 +vn -0.5447 -0.1967 0.8152 +vn -0.6933 -0.1967 0.6933 +vn 0.9616 -0.1967 -0.1913 +vn -0.8152 -0.1967 0.5447 +vn 0.9804 -0.1967 0.0000 +vn -0.9058 -0.1967 0.3752 +vn 0.9616 -0.1967 0.1913 +vn -0.9616 -0.1967 0.1913 +vn 0.9058 -0.1967 0.3752 +vn -0.9804 -0.1967 0.0000 +vn 0.8152 -0.1967 0.5447 +vn -0.9616 -0.1967 -0.1913 +vn 0.6933 -0.1967 0.6933 +vn -0.9058 -0.1967 -0.3752 +vn 0.5447 -0.1967 0.8152 +vn -0.8152 -0.1967 -0.5447 +vn 0.3752 -0.1967 0.9058 +vn 0.1913 -0.1967 -0.9616 +vn -0.6933 -0.1967 -0.6933 +vn 0.1913 -0.1967 0.9616 +vn 0.3752 -0.1967 -0.9058 +vn 0.0000 -0.1967 0.9804 +vn 0.8186 0.5744 0.0000 +vn 0.3829 0.9206 0.0762 +vn 0.8029 0.5744 0.1597 +vn -0.5788 0.5744 0.5788 +vn 0.8029 0.5744 -0.1597 +vn -0.6806 0.5744 0.4548 +vn -0.7562 0.5744 0.3132 +vn -0.8029 0.5744 0.1597 +vn 0.7562 0.5744 0.3132 +vn -0.8186 0.5744 0.0000 +vn 0.6806 0.5744 0.4548 +vn -0.8029 0.5744 -0.1597 +vn 0.5788 0.5744 0.5788 +vn -0.7562 0.5744 -0.3132 +vn 0.4548 0.5744 0.6806 +vn -0.6806 0.5744 -0.4548 +vn 0.3132 0.5744 0.7562 +vn 0.0000 0.5744 -0.8186 +vn 0.1597 0.5744 -0.8029 +vn -0.5788 0.5744 -0.5788 +vn 0.1597 0.5744 0.8029 +vn 0.3132 0.5744 -0.7562 +vn -0.4548 0.5744 -0.6806 +vn 0.0000 0.5744 0.8186 +vn 0.4548 0.5744 -0.6806 +vn -0.3132 0.5744 -0.7562 +vn -0.1597 0.5744 0.8029 +vn 0.5788 0.5744 -0.5788 +vn -0.1597 0.5744 -0.8029 +vn -0.3132 0.5744 0.7562 +vn -0.4548 0.5744 0.6806 +vn 0.3247 0.9206 0.2169 +vn 0.0917 0.9915 0.0917 +vn 0.2761 0.9206 0.2761 +vn -0.3607 0.9206 0.1494 +vn -0.3829 0.9206 0.0762 +vn 0.3607 0.9206 0.1494 +vn -0.3905 0.9206 0.0000 +vn -0.3829 0.9206 -0.0762 +vn -0.3607 0.9206 -0.1494 +vn 0.2169 0.9206 0.3247 +vn -0.3247 0.9206 -0.2169 +vn 0.1494 0.9206 0.3607 +vn 0.0762 0.9206 -0.3829 +vn -0.2761 0.9206 -0.2761 +vn 0.0762 0.9206 0.3829 +vn 0.1494 0.9206 -0.3607 +vn -0.2169 0.9206 -0.3247 +vn 0.0000 0.9206 0.3905 +vn 0.2169 0.9206 -0.3247 +vn -0.1494 0.9206 -0.3607 +vn -0.0762 0.9206 0.3829 +vn 0.2761 0.9206 -0.2761 +vn -0.0762 0.9206 -0.3829 +vn -0.1494 0.9206 0.3607 +vn 0.3247 0.9206 -0.2169 +vn 0.0000 0.9206 -0.3905 +vn -0.2169 0.9206 0.3247 +vn 0.3607 0.9206 -0.1494 +vn -0.2761 0.9206 0.2761 +vn 0.3829 0.9206 -0.0762 +vn -0.3247 0.9206 0.2169 +vn 0.3905 0.9206 0.0000 +vn -0.0496 0.9915 0.1198 +vn 0.1198 0.9915 0.0496 +vn 0.0496 0.9915 -0.1198 +vn -0.1272 0.9915 -0.0253 +vn -0.1198 0.9915 -0.0496 +vn 0.0720 0.9915 0.1078 +vn -0.1078 0.9915 -0.0721 +vn 0.0496 0.9915 0.1198 +vn 0.0253 0.9915 -0.1271 +vn -0.0917 0.9915 -0.0917 +vn 0.0253 0.9915 0.1272 +vn -0.0720 0.9915 -0.1078 +vn 0.0000 0.9915 0.1296 +vn 0.0720 0.9915 -0.1078 +vn -0.0496 0.9915 -0.1198 +vn -0.0253 0.9915 0.1272 +vn 0.0917 0.9915 -0.0917 +vn -0.0253 0.9915 -0.1272 +vn 0.1078 0.9915 -0.0721 +vn 0.0000 0.9915 -0.1297 +vn -0.0720 0.9915 0.1078 +vn 0.1198 0.9915 -0.0496 +vn -0.0917 0.9915 0.0917 +vn 0.1272 0.9915 -0.0253 +vn -0.1078 0.9915 0.0720 +vn 0.1297 0.9915 0.0000 +vn -0.1198 0.9915 0.0496 +vn 0.1272 0.9915 0.0253 +vn -0.1272 0.9915 0.0253 +vn -0.1297 0.9915 0.0000 +vn 0.1078 0.9915 0.0721 +vn 0.3851 -0.8387 -0.3851 +vn -0.4284 -0.8570 0.2863 +vn 0.4528 -0.8387 -0.3025 +vn -0.9183 -0.3511 0.1827 +vn -0.5031 -0.8387 0.2084 +vn -0.5341 -0.8387 0.1062 +vn 0.6621 -0.3511 -0.6621 +vn 0.7785 -0.3511 -0.5202 +vn -0.9363 -0.3511 0.0000 +vn -0.5446 -0.8387 0.0000 +vn 0.5031 -0.8387 -0.2084 +vn 0.8650 -0.3511 -0.3583 +vn -0.5341 -0.8387 -0.1062 +vn -0.9183 -0.3511 -0.1827 +vn 0.5341 -0.8387 -0.1062 +vn 0.9183 -0.3511 -0.1827 +vn -0.5031 -0.8387 -0.2084 +vn -0.8650 -0.3511 -0.3583 +vn 0.5446 -0.8387 0.0000 +vn 0.9363 -0.3511 0.0000 +vn -0.4528 -0.8387 -0.3025 +vn -0.7785 -0.3511 -0.5202 +vn 0.5341 -0.8387 0.1062 +vn 0.9183 -0.3511 0.1827 +vn -0.3851 -0.8387 -0.3851 +vn -0.6621 -0.3511 -0.6621 +vn 0.8650 -0.3511 0.3583 +vn 0.5031 -0.8387 0.2084 +vn -0.3025 -0.8387 -0.4528 +vn -0.5202 -0.3511 -0.7785 +vn 0.4528 -0.8387 0.3025 +vn 0.7785 -0.3511 0.5202 +vn -0.2084 -0.8387 -0.5031 +vn -0.3583 -0.3511 -0.8650 +vn -0.1827 -0.3511 0.9183 +vn 0.0000 -0.8387 0.5446 +vn -0.1062 -0.8387 0.5341 +vn 0.3851 -0.8387 0.3851 +vn 0.6621 -0.3511 0.6621 +vn -0.1062 -0.8387 -0.5341 +vn -0.1827 -0.3511 -0.9183 +vn -0.3583 -0.3511 0.8650 +vn -0.2084 -0.8387 0.5031 +vn 0.5202 -0.3511 0.7785 +vn 0.3025 -0.8387 0.4528 +vn 0.0000 -0.8387 -0.5446 +vn 0.0000 -0.3511 -0.9363 +vn -0.5202 -0.3511 0.7785 +vn -0.3025 -0.8387 0.4528 +vn 0.3583 -0.3511 0.8650 +vn 0.2084 -0.8387 0.5031 +vn 0.1062 -0.8387 -0.5341 +vn 0.1827 -0.3511 -0.9183 +vn -0.6621 -0.3511 0.6621 +vn -0.3851 -0.8387 0.3851 +vn 0.1827 -0.3511 0.9183 +vn 0.1062 -0.8387 0.5341 +vn 0.2084 -0.8387 -0.5031 +vn 0.3583 -0.3511 -0.8650 +vn -0.7785 -0.3511 0.5202 +vn -0.4528 -0.8387 0.3025 +vn 0.0000 -0.3511 0.9363 +vn 0.3025 -0.8387 -0.4528 +vn 0.5202 -0.3511 -0.7785 +vn -0.8650 -0.3511 0.3583 +vn 0.1972 -0.8570 0.4761 +vn 0.1882 -0.2627 0.9463 +vn 0.1005 -0.8570 0.5054 +vn 0.5054 -0.8570 -0.1005 +vn 0.5153 -0.8570 0.0000 +vn -0.4761 -0.8570 0.1972 +vn 0.5054 -0.8570 0.1005 +vn -0.5054 -0.8570 0.1005 +vn 0.4761 -0.8570 0.1972 +vn -0.5153 -0.8570 0.0000 +vn 0.4284 -0.8570 0.2863 +vn -0.5054 -0.8570 -0.1005 +vn 0.3644 -0.8570 0.3644 +vn -0.4761 -0.8570 -0.1972 +vn 0.2863 -0.8570 0.4284 +vn -0.4284 -0.8570 -0.2863 +vn 0.0000 -0.8570 -0.5153 +vn 0.1005 -0.8570 -0.5054 +vn -0.3644 -0.8570 -0.3644 +vn 0.1972 -0.8570 -0.4761 +vn -0.2863 -0.8570 -0.4284 +vn 0.0000 -0.8570 0.5153 +vn 0.2863 -0.8570 -0.4284 +vn -0.1972 -0.8570 -0.4761 +vn -0.1005 -0.8570 0.5054 +vn 0.3644 -0.8570 -0.3644 +vn -0.1005 -0.8570 -0.5054 +vn -0.1972 -0.8570 0.4761 +vn 0.4284 -0.8570 -0.2863 +vn -0.2863 -0.8570 0.4284 +vn 0.4761 -0.8570 -0.1972 +vn -0.3644 -0.8570 0.3644 +vn -0.1882 -0.2627 0.9463 +vn -0.3727 0.2266 0.8998 +vn -0.3692 -0.2627 0.8914 +vn 0.1882 -0.2627 -0.9463 +vn 0.3692 -0.2627 -0.8914 +vn -0.6822 -0.2627 -0.6822 +vn -0.5360 -0.2627 -0.8022 +vn 0.0000 -0.2627 0.9648 +vn 0.5360 -0.2627 -0.8022 +vn -0.3692 -0.2627 -0.8914 +vn 0.6822 -0.2627 -0.6822 +vn -0.1882 -0.2627 -0.9463 +vn 0.8022 -0.2627 -0.5360 +vn 0.0000 -0.2627 -0.9648 +vn -0.5360 -0.2627 0.8022 +vn 0.8914 -0.2627 -0.3692 +vn -0.6822 -0.2627 0.6822 +vn 0.9463 -0.2627 -0.1882 +vn -0.8022 -0.2627 0.5360 +vn 0.9648 -0.2627 0.0000 +vn -0.8914 -0.2627 0.3692 +vn 0.9463 -0.2627 0.1882 +vn -0.9463 -0.2627 0.1882 +vn 0.8914 -0.2627 0.3692 +vn -0.9648 -0.2627 0.0000 +vn 0.8022 -0.2627 0.5360 +vn -0.9463 -0.2627 -0.1882 +vn 0.6822 -0.2627 0.6822 +vn -0.8914 -0.2627 -0.3692 +vn 0.5360 -0.2627 0.8022 +vn -0.8022 -0.2627 -0.5360 +vn 0.3692 -0.2627 0.8914 +vn -0.6887 0.2266 0.6887 +vn -0.7437 0.4472 0.4969 +vn -0.8098 0.2266 0.5411 +vn 0.6887 0.2266 -0.6887 +vn 0.8098 0.2266 -0.5411 +vn -0.1900 0.2266 -0.9553 +vn 0.0000 0.2266 -0.9740 +vn -0.5411 0.2266 0.8098 +vn 0.8998 0.2266 -0.3727 +vn 0.9553 0.2266 -0.1900 +vn 0.9740 0.2266 0.0000 +vn -0.8998 0.2266 0.3727 +vn 0.9553 0.2266 0.1900 +vn -0.9553 0.2266 0.1900 +vn 0.8998 0.2266 0.3727 +vn -0.9740 0.2266 0.0000 +vn 0.8098 0.2266 0.5411 +vn -0.9553 0.2266 -0.1900 +vn 0.6887 0.2266 0.6887 +vn -0.8998 0.2266 -0.3727 +vn 0.5411 0.2266 0.8098 +vn -0.8098 0.2266 -0.5411 +vn 0.3727 0.2266 0.8998 +vn 0.1900 0.2266 -0.9553 +vn -0.6887 0.2266 -0.6887 +vn 0.1900 0.2266 0.9553 +vn 0.3727 0.2266 -0.8998 +vn -0.5411 0.2266 -0.8098 +vn 0.0000 0.2266 0.9740 +vn 0.5411 0.2266 -0.8098 +vn -0.3727 0.2266 -0.8998 +vn -0.1900 0.2266 0.9553 +vn 0.8772 0.4472 -0.1745 +vn 0.8944 0.4472 0.0000 +vn -0.8263 0.4472 0.3423 +vn 0.8772 0.4472 0.1745 +vn -0.8772 0.4472 0.1745 +vn 0.8263 0.4472 0.3423 +vn -0.8944 0.4472 0.0000 +vn 0.7437 0.4472 0.4969 +vn -0.8772 0.4472 -0.1745 +vn 0.6324 0.4472 0.6324 +vn -0.8263 0.4472 -0.3423 +vn 0.4969 0.4472 0.7437 +vn -0.7437 0.4472 -0.4969 +vn 0.3423 0.4472 0.8263 +vn 0.0000 0.4472 -0.8944 +vn 0.1745 0.4472 -0.8772 +vn -0.6324 0.4472 -0.6324 +vn 0.1745 0.4472 0.8772 +vn 0.3423 0.4472 -0.8263 +vn -0.4969 0.4472 -0.7437 +vn 0.0000 0.4472 0.8944 +vn 0.4969 0.4472 -0.7437 +vn -0.3423 0.4472 -0.8263 +vn -0.1745 0.4472 0.8772 +vn 0.6324 0.4472 -0.6324 +vn -0.1745 0.4472 -0.8772 +vn -0.3423 0.4472 0.8263 +vn 0.7437 0.4472 -0.4969 +vn -0.4969 0.4472 0.7437 +vn 0.8263 0.4472 -0.3423 +vn -0.6324 0.4472 0.6324 +s 1 +f 153/137/129 184/138/130 185/139/131 +f 187/140/132 220/141/133 188/142/134 +f 139/143/135 172/144/136 140/145/137 +f 153/146/129 186/147/138 154/148/139 +f 140/145/137 173/149/140 141/150/141 +f 154/148/139 187/140/132 155/151/142 +f 141/150/141 174/152/143 142/153/144 +f 155/151/142 188/142/134 156/154/145 +f 142/153/144 175/155/146 143/156/147 +f 130/157/148 161/158/149 129/159/150 +f 156/154/145 189/160/151 157/161/152 +f 143/156/147 176/162/153 144/163/154 +f 129/159/150 163/164/155 131/165/156 +f 157/161/152 190/166/157 158/167/158 +f 144/163/154 177/168/159 145/169/160 +f 131/165/156 164/170/161 132/171/162 +f 158/167/158 191/172/163 159/173/164 +f 145/174/160 178/175/165 146/176/166 +f 133/177/167 164/170/161 165/178/168 +f 159/173/164 192/179/169 160/180/170 +f 146/176/166 179/181/171 147/182/172 +f 134/183/173 165/178/168 166/184/174 +f 130/185/148 192/179/169 162/186/175 +f 147/182/172 180/187/176 148/188/177 +f 134/183/173 167/189/178 135/190/179 +f 148/188/177 181/191/180 149/192/181 +f 136/193/182 167/189/178 168/194/183 +f 149/192/181 182/195/184 150/196/185 +f 136/193/182 169/197/186 137/198/187 +f 150/196/185 183/199/188 151/200/189 +f 138/201/190 169/202/186 170/203/191 +f 152/204/192 183/199/188 184/138/130 +f 139/143/135 170/203/191 171/205/193 +f 195/206/194 228/207/195 196/208/196 +f 175/155/146 206/209/197 207/210/198 +f 162/211/175 193/212/199 161/158/149 +f 188/142/134 221/213/200 189/160/151 +f 175/155/146 208/214/201 176/162/153 +f 163/164/155 193/212/199 195/206/194 +f 189/160/151 222/215/202 190/166/157 +f 176/162/153 209/216/203 177/168/159 +f 163/164/155 196/208/196 164/170/161 +f 190/166/157 223/217/204 191/172/163 +f 178/175/165 209/218/203 210/219/205 +f 165/178/168 196/208/196 197/220/206 +f 191/172/163 224/221/207 192/179/169 +f 178/175/165 211/222/208 179/181/171 +f 165/178/168 198/223/209 166/184/174 +f 192/179/169 194/224/210 162/186/175 +f 179/181/171 212/225/211 180/187/176 +f 166/184/174 199/226/212 167/189/178 +f 180/187/176 213/227/213 181/191/180 +f 168/194/183 199/226/212 200/228/214 +f 181/191/180 214/229/215 182/195/184 +f 168/194/183 201/230/216 169/197/186 +f 182/195/184 215/231/217 183/199/188 +f 170/203/191 201/232/216 202/233/218 +f 183/199/188 216/234/219 184/138/130 +f 170/203/191 203/235/220 171/205/193 +f 184/138/130 217/236/221 185/139/131 +f 172/144/136 203/235/220 204/237/222 +f 185/238/131 218/239/223 186/147/138 +f 172/144/136 205/240/224 173/149/140 +f 186/147/138 219/241/225 187/140/132 +f 174/152/143 205/240/224 206/209/197 +f 231/242/226 262/243/227 263/244/228 +f 223/217/204 254/245/229 255/246/230 +f 209/218/203 242/247/231 210/219/205 +f 197/220/206 228/207/195 229/248/232 +f 224/221/207 255/246/230 256/249/233 +f 211/222/208 242/247/231 243/250/234 +f 198/223/209 229/248/232 230/251/235 +f 194/224/210 256/249/233 226/252/236 +f 211/222/208 244/253/237 212/225/211 +f 199/226/212 230/251/235 231/242/226 +f 212/225/211 245/254/238 213/227/213 +f 200/228/214 231/242/226 232/255/239 +f 213/227/213 246/256/240 214/229/215 +f 200/228/214 233/257/241 201/230/216 +f 214/229/215 247/258/242 215/231/217 +f 202/233/218 233/259/241 234/260/243 +f 215/231/217 248/261/244 216/234/219 +f 202/233/218 235/262/245 203/235/220 +f 216/234/219 249/263/246 217/236/221 +f 203/235/220 236/264/247 204/237/222 +f 217/265/221 250/266/248 218/239/223 +f 204/237/222 237/267/249 205/240/224 +f 218/239/223 251/268/250 219/241/225 +f 205/240/224 238/269/251 206/209/197 +f 220/141/133 251/268/250 252/270/252 +f 206/209/197 239/271/253 207/210/198 +f 193/212/199 226/272/236 225/273/254 +f 220/141/133 253/274/255 221/213/200 +f 207/210/198 240/275/256 208/214/201 +f 195/206/194 225/273/254 227/276/257 +f 221/213/200 254/245/229 222/215/202 +f 208/214/201 241/277/258 209/216/203 +f 265/278/259 298/279/260 266/280/261 +f 244/253/237 277/281/262 245/254/238 +f 231/242/226 264/282/263 232/255/239 +f 246/256/240 277/281/262 278/283/264 +f 233/257/241 264/282/263 265/284/259 +f 247/258/242 278/283/264 279/285/265 +f 233/259/241 266/280/261 234/260/243 +f 248/261/244 279/285/265 280/286/266 +f 234/260/243 267/287/267 235/262/245 +f 248/261/244 281/288/268 249/263/246 +f 235/262/245 268/289/269 236/264/247 +f 249/290/246 282/291/270 250/266/248 +f 237/267/249 268/289/269 269/292/271 +f 251/268/250 282/291/270 283/293/272 +f 237/267/249 270/294/273 238/269/251 +f 251/268/250 284/295/274 252/270/252 +f 238/269/251 271/296/275 239/271/253 +f 225/273/254 258/297/276 257/298/277 +f 253/274/255 284/295/274 285/299/278 +f 239/271/253 272/300/279 240/275/256 +f 225/273/254 259/301/280 227/276/257 +f 254/245/229 285/299/278 286/302/281 +f 240/275/256 273/303/282 241/277/258 +f 227/276/257 260/304/283 228/207/195 +f 255/246/230 286/302/281 287/305/284 +f 241/306/258 274/307/285 242/247/231 +f 228/207/195 261/308/286 229/248/232 +f 256/249/233 287/305/284 288/309/287 +f 242/247/231 275/310/288 243/250/234 +f 229/248/232 262/243/227 230/251/235 +f 256/249/233 258/311/276 226/252/236 +f 243/250/234 276/312/289 244/253/237 +f 300/313/290 333/314/291 301/315/292 +f 280/286/266 311/316/293 312/317/294 +f 266/280/261 299/318/295 267/287/267 +f 280/286/266 313/319/296 281/288/268 +f 267/287/267 300/313/290 268/289/269 +f 281/320/268 314/321/297 282/291/270 +f 268/289/269 301/315/292 269/292/271 +f 283/293/272 314/321/297 315/322/298 +f 269/292/271 302/323/299 270/294/273 +f 283/293/272 316/324/300 284/295/274 +f 270/294/273 303/325/301 271/296/275 +f 258/297/276 289/326/302 257/298/277 +f 285/299/278 316/324/300 317/327/303 +f 271/296/275 304/328/304 272/300/279 +f 257/298/277 291/329/305 259/301/280 +f 285/299/278 318/330/306 286/302/281 +f 272/300/279 305/331/307 273/303/282 +f 259/301/280 292/332/308 260/304/283 +f 287/305/284 318/330/306 319/333/309 +f 273/334/282 306/335/310 274/307/285 +f 260/304/283 293/336/311 261/308/286 +f 288/309/287 319/333/309 320/337/312 +f 274/307/285 307/338/313 275/310/288 +f 261/308/286 294/339/314 262/243/227 +f 288/309/287 290/340/315 258/311/276 +f 275/310/288 308/341/316 276/312/289 +f 263/244/228 294/339/314 295/342/317 +f 276/312/289 309/343/318 277/281/262 +f 264/282/263 295/342/317 296/344/319 +f 277/281/262 310/345/320 278/283/264 +f 265/284/259 296/344/319 297/346/321 +f 278/283/264 311/316/293 279/285/265 +f 339/347/322 331/348/323 323/349/324 +f 315/322/298 346/350/325 347/351/326 +f 301/315/292 334/352/327 302/323/299 +f 316/324/300 347/351/326 348/353/328 +f 302/323/299 335/354/329 303/325/301 +f 290/355/315 321/356/330 289/326/302 +f 316/324/300 349/357/331 317/327/303 +f 303/325/301 336/358/332 304/328/304 +f 289/326/302 323/359/324 291/329/305 +f 317/327/303 350/360/333 318/330/306 +f 304/328/304 337/361/334 305/331/307 +f 291/329/305 324/362/335 292/332/308 +f 318/330/306 351/363/336 319/333/309 +f 305/364/307 338/365/337 306/335/310 +f 293/336/311 324/362/335 325/366/338 +f 319/333/309 352/367/339 320/337/312 +f 306/335/310 339/368/322 307/338/313 +f 293/336/311 326/369/340 294/339/314 +f 320/337/312 322/370/341 290/340/315 +f 307/338/313 340/371/342 308/341/316 +f 295/342/317 326/369/340 327/372/343 +f 308/341/316 341/373/344 309/343/318 +f 295/342/317 328/374/345 296/344/319 +f 309/343/318 342/375/346 310/345/320 +f 297/346/321 328/374/345 329/376/347 +f 310/345/320 343/377/348 311/316/293 +f 297/378/321 330/379/349 298/279/260 +f 312/317/294 343/377/348 344/380/350 +f 298/279/260 331/381/323 299/318/295 +f 312/317/294 345/382/351 313/319/296 +f 299/318/295 332/383/352 300/313/290 +f 314/321/297 345/384/351 346/350/325 +f 405/385/353 438/386/354 406/387/355 +f 360/388/356 391/389/357 392/390/358 +f 373/391/359 406/387/355 374/392/360 +f 361/393/361 392/390/358 393/394/362 +f 374/392/360 407/395/363 375/396/364 +f 361/397/361 394/398/365 362/399/366 +f 375/396/364 408/400/367 376/401/368 +f 362/399/366 395/402/369 363/403/370 +f 376/401/368 409/404/371 377/405/372 +f 363/403/370 396/406/373 364/407/374 +f 377/408/372 410/409/375 378/410/376 +f 364/407/374 397/411/377 365/412/378 +f 379/413/379 410/409/375 411/414/380 +f 365/412/378 398/415/381 366/416/382 +f 379/413/379 412/417/383 380/418/384 +f 366/416/382 399/419/385 367/420/386 +f 353/421/387 386/422/388 385/423/389 +f 380/418/384 413/424/390 381/425/391 +f 367/420/386 400/426/392 368/427/393 +f 355/428/394 385/423/389 387/429/395 +f 382/430/396 413/424/390 414/431/397 +f 368/427/393 401/432/398 369/433/399 +f 356/434/400 387/429/395 388/435/401 +f 383/436/402 414/431/397 415/437/403 +f 369/438/399 402/439/404 370/440/405 +f 357/441/406 388/435/401 389/442/407 +f 384/443/408 415/437/403 416/444/409 +f 370/440/405 403/445/410 371/446/411 +f 358/447/412 389/442/407 390/448/413 +f 354/449/414 416/444/409 386/450/388 +f 371/446/411 404/451/415 372/452/416 +f 359/453/417 390/448/413 391/389/357 +f 372/452/416 405/385/353 373/391/359 +f 431/454/418 464/455/419 432/456/420 +f 393/394/362 424/457/421 425/458/422 +f 406/387/355 439/459/423 407/395/363 +f 394/398/365 425/460/422 426/461/424 +f 407/395/363 440/462/425 408/400/367 +f 395/402/369 426/461/424 427/463/426 +f 408/400/367 441/464/427 409/404/371 +f 396/406/373 427/463/426 428/465/428 +f 409/466/371 442/467/429 410/409/375 +f 396/406/373 429/468/430 397/411/377 +f 410/409/375 443/469/431 411/414/380 +f 397/411/377 430/470/432 398/415/381 +f 411/414/380 444/471/433 412/417/383 +f 398/415/381 431/454/418 399/419/385 +f 385/423/389 418/472/434 417/473/435 +f 413/424/390 444/471/433 445/474/436 +f 399/419/385 432/456/420 400/426/392 +f 387/429/395 417/473/435 419/475/437 +f 414/431/397 445/474/436 446/476/438 +f 400/426/392 433/477/439 401/432/398 +f 388/435/401 419/475/437 420/478/440 +f 415/437/403 446/476/438 447/479/441 +f 401/480/398 434/481/442 402/439/404 +f 389/442/407 420/478/440 421/482/443 +f 415/437/403 448/483/444 416/444/409 +f 402/439/404 435/484/445 403/445/410 +f 390/448/413 421/482/443 422/485/446 +f 386/450/388 448/483/444 418/486/434 +f 403/445/410 436/487/447 404/451/415 +f 390/448/413 423/488/448 391/389/357 +f 404/451/415 437/489/449 405/385/353 +f 392/390/358 423/488/448 424/457/421 +f 466/490/450 499/491/451 467/492/452 +f 419/475/437 449/493/453 451/494/454 +f 446/476/438 477/495/455 478/496/456 +f 432/456/420 465/497/457 433/477/439 +f 419/475/437 452/498/458 420/478/440 +f 447/479/441 478/496/456 479/499/459 +f 433/500/439 466/490/450 434/481/442 +f 420/478/440 453/501/460 421/482/443 +f 448/483/444 479/499/459 480/502/461 +f 434/481/442 467/492/452 435/484/445 +f 422/485/446 453/501/460 454/503/462 +f 418/486/434 480/502/461 450/504/463 +f 435/484/445 468/505/464 436/487/447 +f 423/488/448 454/503/462 455/506/465 +f 436/487/447 469/507/466 437/489/449 +f 424/457/421 455/506/465 456/508/467 +f 437/489/449 470/509/468 438/386/354 +f 424/457/421 457/510/469 425/458/422 +f 438/386/354 471/511/470 439/459/423 +f 425/460/422 458/512/471 426/461/424 +f 439/459/423 472/513/472 440/462/425 +f 426/461/424 459/514/473 427/463/426 +f 441/464/427 472/513/472 473/515/474 +f 427/463/426 460/516/475 428/465/428 +f 441/517/427 474/518/476 442/467/429 +f 428/465/428 461/519/477 429/468/430 +f 443/469/431 474/518/476 475/520/478 +f 429/468/430 462/521/479 430/470/432 +f 443/469/431 476/522/480 444/471/433 +f 430/470/432 463/523/481 431/454/418 +f 417/473/435 450/524/463 449/493/453 +f 445/474/436 476/522/480 477/495/455 +f 501/525/482 534/526/483 502/527/484 +f 454/503/462 485/528/485 486/529/486 +f 450/504/463 512/530/487 482/531/488 +f 467/492/452 500/532/489 468/505/464 +f 454/503/462 487/533/490 455/506/465 +f 468/505/464 501/525/482 469/507/466 +f 455/506/465 488/534/491 456/508/467 +f 469/507/466 502/527/484 470/509/468 +f 456/508/467 489/535/492 457/510/469 +f 470/509/468 503/536/493 471/511/470 +f 457/537/469 490/538/494 458/512/471 +f 471/511/470 504/539/495 472/513/472 +f 458/512/471 491/540/496 459/514/473 +f 472/513/472 505/541/497 473/515/474 +f 459/514/473 492/542/498 460/516/475 +f 474/518/476 505/543/497 506/544/499 +f 460/516/475 493/545/500 461/519/477 +f 474/518/476 507/546/501 475/520/478 +f 461/519/477 494/547/502 462/521/479 +f 476/522/480 507/546/501 508/548/503 +f 462/521/479 495/549/504 463/523/481 +f 449/493/453 482/550/488 481/551/505 +f 476/522/480 509/552/506 477/495/455 +f 463/523/481 496/553/507 464/455/419 +f 451/494/454 481/551/505 483/554/508 +f 478/496/456 509/552/506 510/555/509 +f 464/455/419 497/556/510 465/497/457 +f 452/498/458 483/554/508 484/557/511 +f 479/499/459 510/555/509 511/558/512 +f 465/559/457 498/560/513 466/490/450 +f 453/501/460 484/557/511 485/528/485 +f 480/502/461 511/558/512 512/530/487 +f 489/535/492 520/561/514 521/562/515 +f 502/527/484 535/563/516 503/536/493 +f 489/564/492 522/565/517 490/538/494 +f 504/539/495 535/563/516 536/566/518 +f 490/538/494 523/567/519 491/540/496 +f 504/539/495 537/568/520 505/541/497 +f 491/540/496 524/569/521 492/542/498 +f 505/543/497 538/570/522 506/544/499 +f 492/542/498 525/571/523 493/545/500 +f 507/546/501 538/570/522 539/572/524 +f 493/545/500 526/573/525 494/547/502 +f 507/546/501 540/574/526 508/548/503 +f 494/547/502 527/575/527 495/549/504 +f 481/551/505 514/576/528 513/577/529 +f 509/552/506 540/574/526 541/578/530 +f 495/549/504 528/579/531 496/553/507 +f 483/554/508 513/577/529 515/580/532 +f 509/552/506 542/581/533 510/555/509 +f 496/553/507 529/582/534 497/556/510 +f 484/557/511 515/580/532 516/583/535 +f 511/558/512 542/581/533 543/584/536 +f 497/585/510 530/586/537 498/560/513 +f 485/528/485 516/583/535 517/587/538 +f 512/530/487 543/584/536 544/588/539 +f 498/560/513 531/589/540 499/491/451 +f 485/528/485 518/590/541 486/529/486 +f 512/530/487 514/591/528 482/531/488 +f 499/491/451 532/592/542 500/532/489 +f 486/529/486 519/593/543 487/533/490 +f 500/532/489 533/594/544 501/525/482 +f 487/533/490 520/561/514 488/534/491 +f 153/137/129 152/204/192 184/138/130 +f 187/140/132 219/241/225 220/141/133 +f 139/143/135 171/205/193 172/144/136 +f 153/146/129 185/238/131 186/147/138 +f 140/145/137 172/144/136 173/149/140 +f 154/148/139 186/147/138 187/140/132 +f 141/150/141 173/149/140 174/152/143 +f 155/151/142 187/140/132 188/142/134 +f 142/153/144 174/152/143 175/155/146 +f 130/157/148 162/211/175 161/158/149 +f 156/154/145 188/142/134 189/160/151 +f 143/156/147 175/155/146 176/162/153 +f 129/159/150 161/158/149 163/164/155 +f 157/161/152 189/160/151 190/166/157 +f 144/163/154 176/162/153 177/168/159 +f 131/165/156 163/164/155 164/170/161 +f 158/167/158 190/166/157 191/172/163 +f 145/174/160 177/595/159 178/175/165 +f 133/177/167 132/171/162 164/170/161 +f 159/173/164 191/172/163 192/179/169 +f 146/176/166 178/175/165 179/181/171 +f 134/183/173 133/177/167 165/178/168 +f 130/185/148 160/180/170 192/179/169 +f 147/182/172 179/181/171 180/187/176 +f 134/183/173 166/184/174 167/189/178 +f 148/188/177 180/187/176 181/191/180 +f 136/193/182 135/190/179 167/189/178 +f 149/192/181 181/191/180 182/195/184 +f 136/193/182 168/194/183 169/197/186 +f 150/196/185 182/195/184 183/199/188 +f 138/201/190 137/596/187 169/202/186 +f 152/204/192 151/200/189 183/199/188 +f 139/143/135 138/201/190 170/203/191 +f 195/206/194 227/276/257 228/207/195 +f 175/155/146 174/152/143 206/209/197 +f 162/211/175 194/597/210 193/212/199 +f 188/142/134 220/141/133 221/213/200 +f 175/155/146 207/210/198 208/214/201 +f 163/164/155 161/158/149 193/212/199 +f 189/160/151 221/213/200 222/215/202 +f 176/162/153 208/214/201 209/216/203 +f 163/164/155 195/206/194 196/208/196 +f 190/166/157 222/215/202 223/217/204 +f 178/175/165 177/595/159 209/218/203 +f 165/178/168 164/170/161 196/208/196 +f 191/172/163 223/217/204 224/221/207 +f 178/175/165 210/219/205 211/222/208 +f 165/178/168 197/220/206 198/223/209 +f 192/179/169 224/221/207 194/224/210 +f 179/181/171 211/222/208 212/225/211 +f 166/184/174 198/223/209 199/226/212 +f 180/187/176 212/225/211 213/227/213 +f 168/194/183 167/189/178 199/226/212 +f 181/191/180 213/227/213 214/229/215 +f 168/194/183 200/228/214 201/230/216 +f 182/195/184 214/229/215 215/231/217 +f 170/203/191 169/202/186 201/232/216 +f 183/199/188 215/231/217 216/234/219 +f 170/203/191 202/233/218 203/235/220 +f 184/138/130 216/234/219 217/236/221 +f 172/144/136 171/205/193 203/235/220 +f 185/238/131 217/265/221 218/239/223 +f 172/144/136 204/237/222 205/240/224 +f 186/147/138 218/239/223 219/241/225 +f 174/152/143 173/149/140 205/240/224 +f 231/242/226 230/251/235 262/243/227 +f 223/217/204 222/215/202 254/245/229 +f 209/218/203 241/306/258 242/247/231 +f 197/220/206 196/208/196 228/207/195 +f 224/221/207 223/217/204 255/246/230 +f 211/222/208 210/219/205 242/247/231 +f 198/223/209 197/220/206 229/248/232 +f 194/224/210 224/221/207 256/249/233 +f 211/222/208 243/250/234 244/253/237 +f 199/226/212 198/223/209 230/251/235 +f 212/225/211 244/253/237 245/254/238 +f 200/228/214 199/226/212 231/242/226 +f 213/227/213 245/254/238 246/256/240 +f 200/228/214 232/255/239 233/257/241 +f 214/229/215 246/256/240 247/258/242 +f 202/233/218 201/232/216 233/259/241 +f 215/231/217 247/258/242 248/261/244 +f 202/233/218 234/260/243 235/262/245 +f 216/234/219 248/261/244 249/263/246 +f 203/235/220 235/262/245 236/264/247 +f 217/265/221 249/290/246 250/266/248 +f 204/237/222 236/264/247 237/267/249 +f 218/239/223 250/266/248 251/268/250 +f 205/240/224 237/267/249 238/269/251 +f 220/141/133 219/241/225 251/268/250 +f 206/209/197 238/269/251 239/271/253 +f 193/212/199 194/597/210 226/272/236 +f 220/141/133 252/270/252 253/274/255 +f 207/210/198 239/271/253 240/275/256 +f 195/206/194 193/212/199 225/273/254 +f 221/213/200 253/274/255 254/245/229 +f 208/214/201 240/275/256 241/277/258 +f 265/278/259 297/378/321 298/279/260 +f 244/253/237 276/312/289 277/281/262 +f 231/242/226 263/244/228 264/282/263 +f 246/256/240 245/254/238 277/281/262 +f 233/257/241 232/255/239 264/282/263 +f 247/258/242 246/256/240 278/283/264 +f 233/259/241 265/278/259 266/280/261 +f 248/261/244 247/258/242 279/285/265 +f 234/260/243 266/280/261 267/287/267 +f 248/261/244 280/286/266 281/288/268 +f 235/262/245 267/287/267 268/289/269 +f 249/290/246 281/320/268 282/291/270 +f 237/267/249 236/264/247 268/289/269 +f 251/268/250 250/266/248 282/291/270 +f 237/267/249 269/292/271 270/294/273 +f 251/268/250 283/293/272 284/295/274 +f 238/269/251 270/294/273 271/296/275 +f 225/273/254 226/272/236 258/297/276 +f 253/274/255 252/270/252 284/295/274 +f 239/271/253 271/296/275 272/300/279 +f 225/273/254 257/298/277 259/301/280 +f 254/245/229 253/274/255 285/299/278 +f 240/275/256 272/300/279 273/303/282 +f 227/276/257 259/301/280 260/304/283 +f 255/246/230 254/245/229 286/302/281 +f 241/306/258 273/334/282 274/307/285 +f 228/207/195 260/304/283 261/308/286 +f 256/249/233 255/246/230 287/305/284 +f 242/247/231 274/307/285 275/310/288 +f 229/248/232 261/308/286 262/243/227 +f 256/249/233 288/309/287 258/311/276 +f 243/250/234 275/310/288 276/312/289 +f 300/313/290 332/383/352 333/314/291 +f 280/286/266 279/285/265 311/316/293 +f 266/280/261 298/279/260 299/318/295 +f 280/286/266 312/317/294 313/319/296 +f 267/287/267 299/318/295 300/313/290 +f 281/320/268 313/598/296 314/321/297 +f 268/289/269 300/313/290 301/315/292 +f 283/293/272 282/291/270 314/321/297 +f 269/292/271 301/315/292 302/323/299 +f 283/293/272 315/322/298 316/324/300 +f 270/294/273 302/323/299 303/325/301 +f 258/297/276 290/355/315 289/326/302 +f 285/299/278 284/295/274 316/324/300 +f 271/296/275 303/325/301 304/328/304 +f 257/298/277 289/326/302 291/329/305 +f 285/299/278 317/327/303 318/330/306 +f 272/300/279 304/328/304 305/331/307 +f 259/301/280 291/329/305 292/332/308 +f 287/305/284 286/302/281 318/330/306 +f 273/334/282 305/364/307 306/335/310 +f 260/304/283 292/332/308 293/336/311 +f 288/309/287 287/305/284 319/333/309 +f 274/307/285 306/335/310 307/338/313 +f 261/308/286 293/336/311 294/339/314 +f 288/309/287 320/337/312 290/340/315 +f 275/310/288 307/338/313 308/341/316 +f 263/244/228 262/243/227 294/339/314 +f 276/312/289 308/341/316 309/343/318 +f 264/282/263 263/244/228 295/342/317 +f 277/281/262 309/343/318 310/345/320 +f 265/284/259 264/282/263 296/344/319 +f 278/283/264 310/345/320 311/316/293 +f 323/349/324 321/599/330 322/600/341 +f 322/600/341 352/601/339 323/349/324 +f 352/601/339 351/602/336 323/349/324 +f 351/602/336 350/603/333 347/604/326 +f 350/603/333 349/605/331 347/604/326 +f 349/605/331 348/606/328 347/604/326 +f 347/604/326 346/607/325 345/608/351 +f 345/608/351 344/609/350 347/604/326 +f 344/609/350 343/610/348 347/604/326 +f 343/610/348 342/611/346 341/612/344 +f 341/612/344 340/613/342 343/610/348 +f 340/613/342 339/347/322 343/610/348 +f 339/347/322 338/614/337 337/615/334 +f 337/615/334 336/616/332 339/347/322 +f 336/616/332 335/617/329 339/347/322 +f 335/617/329 334/618/327 333/619/291 +f 333/619/291 332/620/352 331/348/323 +f 331/348/323 330/621/349 329/622/347 +f 329/622/347 328/623/345 327/624/343 +f 327/624/343 326/625/340 325/626/338 +f 325/626/338 324/627/335 323/349/324 +f 335/617/329 333/619/291 339/347/322 +f 333/619/291 331/348/323 339/347/322 +f 331/348/323 329/622/347 323/349/324 +f 329/622/347 327/624/343 323/349/324 +f 327/624/343 325/626/338 323/349/324 +f 323/349/324 351/602/336 347/604/326 +f 347/604/326 343/610/348 323/349/324 +f 343/610/348 339/347/322 323/349/324 +f 315/322/298 314/321/297 346/350/325 +f 301/315/292 333/314/291 334/352/327 +f 316/324/300 315/322/298 347/351/326 +f 302/323/299 334/352/327 335/354/329 +f 290/355/315 322/628/341 321/356/330 +f 316/324/300 348/353/328 349/357/331 +f 303/325/301 335/354/329 336/358/332 +f 289/326/302 321/356/330 323/359/324 +f 317/327/303 349/357/331 350/360/333 +f 304/328/304 336/358/332 337/361/334 +f 291/329/305 323/359/324 324/362/335 +f 318/330/306 350/360/333 351/363/336 +f 305/364/307 337/629/334 338/365/337 +f 293/336/311 292/332/308 324/362/335 +f 319/333/309 351/363/336 352/367/339 +f 306/335/310 338/365/337 339/368/322 +f 293/336/311 325/366/338 326/369/340 +f 320/337/312 352/367/339 322/370/341 +f 307/338/313 339/368/322 340/371/342 +f 295/342/317 294/339/314 326/369/340 +f 308/341/316 340/371/342 341/373/344 +f 295/342/317 327/372/343 328/374/345 +f 309/343/318 341/373/344 342/375/346 +f 297/346/321 296/344/319 328/374/345 +f 310/345/320 342/375/346 343/377/348 +f 297/378/321 329/630/347 330/379/349 +f 312/317/294 311/316/293 343/377/348 +f 298/279/260 330/379/349 331/381/323 +f 312/317/294 344/380/350 345/382/351 +f 299/318/295 331/381/323 332/383/352 +f 314/321/297 313/598/296 345/384/351 +f 405/385/353 437/489/449 438/386/354 +f 360/388/356 359/453/417 391/389/357 +f 373/391/359 405/385/353 406/387/355 +f 361/393/361 360/388/356 392/390/358 +f 374/392/360 406/387/355 407/395/363 +f 361/397/361 393/631/362 394/398/365 +f 375/396/364 407/395/363 408/400/367 +f 362/399/366 394/398/365 395/402/369 +f 376/401/368 408/400/367 409/404/371 +f 363/403/370 395/402/369 396/406/373 +f 377/408/372 409/466/371 410/409/375 +f 364/407/374 396/406/373 397/411/377 +f 379/413/379 378/410/376 410/409/375 +f 365/412/378 397/411/377 398/415/381 +f 379/413/379 411/414/380 412/417/383 +f 366/416/382 398/415/381 399/419/385 +f 353/421/387 354/632/414 386/422/388 +f 380/418/384 412/417/383 413/424/390 +f 367/420/386 399/419/385 400/426/392 +f 355/428/394 353/421/387 385/423/389 +f 382/430/396 381/425/391 413/424/390 +f 368/427/393 400/426/392 401/432/398 +f 356/434/400 355/428/394 387/429/395 +f 383/436/402 382/430/396 414/431/397 +f 369/438/399 401/480/398 402/439/404 +f 357/441/406 356/434/400 388/435/401 +f 384/443/408 383/436/402 415/437/403 +f 370/440/405 402/439/404 403/445/410 +f 358/447/412 357/441/406 389/442/407 +f 354/449/414 384/443/408 416/444/409 +f 371/446/411 403/445/410 404/451/415 +f 359/453/417 358/447/412 390/448/413 +f 372/452/416 404/451/415 405/385/353 +f 431/454/418 463/523/481 464/455/419 +f 393/394/362 392/390/358 424/457/421 +f 406/387/355 438/386/354 439/459/423 +f 394/398/365 393/631/362 425/460/422 +f 407/395/363 439/459/423 440/462/425 +f 395/402/369 394/398/365 426/461/424 +f 408/400/367 440/462/425 441/464/427 +f 396/406/373 395/402/369 427/463/426 +f 409/466/371 441/517/427 442/467/429 +f 396/406/373 428/465/428 429/468/430 +f 410/409/375 442/467/429 443/469/431 +f 397/411/377 429/468/430 430/470/432 +f 411/414/380 443/469/431 444/471/433 +f 398/415/381 430/470/432 431/454/418 +f 385/423/389 386/422/388 418/472/434 +f 413/424/390 412/417/383 444/471/433 +f 399/419/385 431/454/418 432/456/420 +f 387/429/395 385/423/389 417/473/435 +f 414/431/397 413/424/390 445/474/436 +f 400/426/392 432/456/420 433/477/439 +f 388/435/401 387/429/395 419/475/437 +f 415/437/403 414/431/397 446/476/438 +f 401/480/398 433/500/439 434/481/442 +f 389/442/407 388/435/401 420/478/440 +f 415/437/403 447/479/441 448/483/444 +f 402/439/404 434/481/442 435/484/445 +f 390/448/413 389/442/407 421/482/443 +f 386/450/388 416/444/409 448/483/444 +f 403/445/410 435/484/445 436/487/447 +f 390/448/413 422/485/446 423/488/448 +f 404/451/415 436/487/447 437/489/449 +f 392/390/358 391/389/357 423/488/448 +f 466/490/450 498/560/513 499/491/451 +f 419/475/437 417/473/435 449/493/453 +f 446/476/438 445/474/436 477/495/455 +f 432/456/420 464/455/419 465/497/457 +f 419/475/437 451/494/454 452/498/458 +f 447/479/441 446/476/438 478/496/456 +f 433/500/439 465/559/457 466/490/450 +f 420/478/440 452/498/458 453/501/460 +f 448/483/444 447/479/441 479/499/459 +f 434/481/442 466/490/450 467/492/452 +f 422/485/446 421/482/443 453/501/460 +f 418/486/434 448/483/444 480/502/461 +f 435/484/445 467/492/452 468/505/464 +f 423/488/448 422/485/446 454/503/462 +f 436/487/447 468/505/464 469/507/466 +f 424/457/421 423/488/448 455/506/465 +f 437/489/449 469/507/466 470/509/468 +f 424/457/421 456/508/467 457/510/469 +f 438/386/354 470/509/468 471/511/470 +f 425/460/422 457/537/469 458/512/471 +f 439/459/423 471/511/470 472/513/472 +f 426/461/424 458/512/471 459/514/473 +f 441/464/427 440/462/425 472/513/472 +f 427/463/426 459/514/473 460/516/475 +f 441/517/427 473/633/474 474/518/476 +f 428/465/428 460/516/475 461/519/477 +f 443/469/431 442/467/429 474/518/476 +f 429/468/430 461/519/477 462/521/479 +f 443/469/431 475/520/478 476/522/480 +f 430/470/432 462/521/479 463/523/481 +f 417/473/435 418/472/434 450/524/463 +f 445/474/436 444/471/433 476/522/480 +f 501/525/482 533/594/544 534/526/483 +f 454/503/462 453/501/460 485/528/485 +f 450/504/463 480/502/461 512/530/487 +f 467/492/452 499/491/451 500/532/489 +f 454/503/462 486/529/486 487/533/490 +f 468/505/464 500/532/489 501/525/482 +f 455/506/465 487/533/490 488/534/491 +f 469/507/466 501/525/482 502/527/484 +f 456/508/467 488/534/491 489/535/492 +f 470/509/468 502/527/484 503/536/493 +f 457/537/469 489/564/492 490/538/494 +f 471/511/470 503/536/493 504/539/495 +f 458/512/471 490/538/494 491/540/496 +f 472/513/472 504/539/495 505/541/497 +f 459/514/473 491/540/496 492/542/498 +f 474/518/476 473/633/474 505/543/497 +f 460/516/475 492/542/498 493/545/500 +f 474/518/476 506/544/499 507/546/501 +f 461/519/477 493/545/500 494/547/502 +f 476/522/480 475/520/478 507/546/501 +f 462/521/479 494/547/502 495/549/504 +f 449/493/453 450/524/463 482/550/488 +f 476/522/480 508/548/503 509/552/506 +f 463/523/481 495/549/504 496/553/507 +f 451/494/454 449/493/453 481/551/505 +f 478/496/456 477/495/455 509/552/506 +f 464/455/419 496/553/507 497/556/510 +f 452/498/458 451/494/454 483/554/508 +f 479/499/459 478/496/456 510/555/509 +f 465/559/457 497/585/510 498/560/513 +f 453/501/460 452/498/458 484/557/511 +f 480/502/461 479/499/459 511/558/512 +f 489/535/492 488/534/491 520/561/514 +f 502/527/484 534/526/483 535/563/516 +f 489/564/492 521/634/515 522/565/517 +f 504/539/495 503/536/493 535/563/516 +f 490/538/494 522/565/517 523/567/519 +f 504/539/495 536/566/518 537/568/520 +f 491/540/496 523/567/519 524/569/521 +f 505/543/497 537/635/520 538/570/522 +f 492/542/498 524/569/521 525/571/523 +f 507/546/501 506/544/499 538/570/522 +f 493/545/500 525/571/523 526/573/525 +f 507/546/501 539/572/524 540/574/526 +f 494/547/502 526/573/525 527/575/527 +f 481/551/505 482/550/488 514/576/528 +f 509/552/506 508/548/503 540/574/526 +f 495/549/504 527/575/527 528/579/531 +f 483/554/508 481/551/505 513/577/529 +f 509/552/506 541/578/530 542/581/533 +f 496/553/507 528/579/531 529/582/534 +f 484/557/511 483/554/508 515/580/532 +f 511/558/512 510/555/509 542/581/533 +f 497/585/510 529/636/534 530/586/537 +f 485/528/485 484/557/511 516/583/535 +f 512/530/487 511/558/512 543/584/536 +f 498/560/513 530/586/537 531/589/540 +f 485/528/485 517/587/538 518/590/541 +f 512/530/487 544/588/539 514/591/528 +f 499/491/451 531/589/540 532/592/542 +f 486/529/486 518/590/541 519/593/543 +f 500/532/489 532/592/542 533/594/544 +f 487/533/490 519/593/543 520/561/514 diff --git a/src/main/java/assets/hbm/models/effect/ring_roller.obj b/src/main/java/assets/hbm/models/effect/ring_roller.obj new file mode 100644 index 000000000..8c4e88ce4 --- /dev/null +++ b/src/main/java/assets/hbm/models/effect/ring_roller.obj @@ -0,0 +1,2028 @@ +# Blender v2.79 (sub 0) OBJ File: 'ring_roller.blend' +# www.blender.org +o Torus +v 1.000000 0.000000 0.000000 +v 0.966506 0.125000 0.000000 +v 0.875000 0.216506 0.000000 +v 0.750000 0.250000 0.000000 +v 0.625000 0.216506 0.000000 +v 0.533494 0.125000 0.000000 +v 0.500000 0.000000 0.000000 +v 0.533494 -0.125000 0.000000 +v 0.625000 -0.216506 0.000000 +v 0.750000 -0.250000 0.000000 +v 0.875000 -0.216506 0.000000 +v 0.966506 -0.125000 0.000000 +v 0.980785 0.000000 -0.195090 +v 0.947935 0.125000 -0.188556 +v 0.858187 0.216506 -0.170704 +v 0.735589 0.250000 -0.146318 +v 0.612991 0.216506 -0.121932 +v 0.523243 0.125000 -0.104079 +v 0.490393 0.000000 -0.097545 +v 0.523243 -0.125000 -0.104079 +v 0.612991 -0.216506 -0.121932 +v 0.735589 -0.250000 -0.146318 +v 0.858187 -0.216506 -0.170704 +v 0.947935 -0.125000 -0.188556 +v 0.923880 0.000000 -0.382683 +v 0.892935 0.125000 -0.369866 +v 0.808395 0.216506 -0.334848 +v 0.692910 0.250000 -0.287013 +v 0.577425 0.216506 -0.239177 +v 0.492884 0.125000 -0.204159 +v 0.461940 0.000000 -0.191342 +v 0.492884 -0.125000 -0.204159 +v 0.577425 -0.216506 -0.239177 +v 0.692910 -0.250000 -0.287013 +v 0.808395 -0.216506 -0.334848 +v 0.892935 -0.125000 -0.369866 +v 0.831470 0.000000 -0.555570 +v 0.803621 0.125000 -0.536962 +v 0.727536 0.216506 -0.486124 +v 0.623602 0.250000 -0.416678 +v 0.519669 0.216506 -0.347231 +v 0.443584 0.125000 -0.296393 +v 0.415735 0.000000 -0.277785 +v 0.443584 -0.125000 -0.296393 +v 0.519669 -0.216506 -0.347231 +v 0.623602 -0.250000 -0.416678 +v 0.727536 -0.216506 -0.486124 +v 0.803621 -0.125000 -0.536962 +v 0.707107 0.000000 -0.707107 +v 0.683423 0.125000 -0.683423 +v 0.618718 0.216506 -0.618719 +v 0.530330 0.250000 -0.530330 +v 0.441942 0.216506 -0.441942 +v 0.377237 0.125000 -0.377237 +v 0.353553 0.000000 -0.353553 +v 0.377237 -0.125000 -0.377237 +v 0.441942 -0.216506 -0.441942 +v 0.530330 -0.250000 -0.530330 +v 0.618718 -0.216506 -0.618719 +v 0.683423 -0.125000 -0.683423 +v 0.555570 0.000000 -0.831470 +v 0.536962 0.125000 -0.803621 +v 0.486124 0.216506 -0.727536 +v 0.416678 0.250000 -0.623602 +v 0.347231 0.216506 -0.519669 +v 0.296393 0.125000 -0.443584 +v 0.277785 0.000000 -0.415735 +v 0.296393 -0.125000 -0.443584 +v 0.347231 -0.216506 -0.519669 +v 0.416678 -0.250000 -0.623602 +v 0.486124 -0.216506 -0.727536 +v 0.536962 -0.125000 -0.803621 +v 0.382684 0.000000 -0.923879 +v 0.369866 0.125000 -0.892935 +v 0.334848 0.216506 -0.808394 +v 0.287013 0.250000 -0.692910 +v 0.239177 0.216506 -0.577425 +v 0.204159 0.125000 -0.492884 +v 0.191342 0.000000 -0.461940 +v 0.204159 -0.125000 -0.492884 +v 0.239177 -0.216506 -0.577425 +v 0.287013 -0.250000 -0.692910 +v 0.334848 -0.216506 -0.808394 +v 0.369866 -0.125000 -0.892935 +v 0.195090 0.000000 -0.980785 +v 0.188556 0.125000 -0.947935 +v 0.170704 0.216506 -0.858187 +v 0.146318 0.250000 -0.735589 +v 0.121932 0.216506 -0.612991 +v 0.104080 0.125000 -0.523243 +v 0.097545 0.000000 -0.490393 +v 0.104080 -0.125000 -0.523243 +v 0.121932 -0.216506 -0.612991 +v 0.146318 -0.250000 -0.735589 +v 0.170704 -0.216506 -0.858187 +v 0.188556 -0.125000 -0.947935 +v 0.000000 0.000000 -1.000000 +v 0.000000 0.125000 -0.966506 +v 0.000000 0.216506 -0.875000 +v 0.000000 0.250000 -0.750000 +v 0.000000 0.216506 -0.625000 +v 0.000000 0.125000 -0.533494 +v 0.000000 0.000000 -0.500000 +v 0.000000 -0.125000 -0.533494 +v 0.000000 -0.216506 -0.625000 +v 0.000000 -0.250000 -0.750000 +v 0.000000 -0.216506 -0.875000 +v 0.000000 -0.125000 -0.966506 +v -0.195090 0.000000 -0.980785 +v -0.188556 0.125000 -0.947935 +v -0.170704 0.216506 -0.858187 +v -0.146318 0.250000 -0.735589 +v -0.121931 0.216506 -0.612991 +v -0.104079 0.125000 -0.523243 +v -0.097545 0.000000 -0.490393 +v -0.104079 -0.125000 -0.523243 +v -0.121931 -0.216506 -0.612991 +v -0.146318 -0.250000 -0.735589 +v -0.170704 -0.216506 -0.858187 +v -0.188556 -0.125000 -0.947935 +v -0.382684 0.000000 -0.923880 +v -0.369866 0.125000 -0.892935 +v -0.334848 0.216506 -0.808395 +v -0.287013 0.250000 -0.692910 +v -0.239177 0.216506 -0.577425 +v -0.204159 0.125000 -0.492884 +v -0.191342 0.000000 -0.461940 +v -0.204159 -0.125000 -0.492884 +v -0.239177 -0.216506 -0.577425 +v -0.287013 -0.250000 -0.692910 +v -0.334848 -0.216506 -0.808395 +v -0.369866 -0.125000 -0.892935 +v -0.555570 0.000000 -0.831470 +v -0.536962 0.125000 -0.803621 +v -0.486124 0.216506 -0.727536 +v -0.416677 0.250000 -0.623602 +v -0.347231 0.216506 -0.519669 +v -0.296393 0.125000 -0.443584 +v -0.277785 0.000000 -0.415735 +v -0.296393 -0.125000 -0.443584 +v -0.347231 -0.216506 -0.519669 +v -0.416677 -0.250000 -0.623602 +v -0.486124 -0.216506 -0.727536 +v -0.536962 -0.125000 -0.803621 +v -0.707107 0.000000 -0.707107 +v -0.683423 0.125000 -0.683423 +v -0.618719 0.216506 -0.618718 +v -0.530330 0.250000 -0.530330 +v -0.441942 0.216506 -0.441942 +v -0.377237 0.125000 -0.377237 +v -0.353553 0.000000 -0.353553 +v -0.377237 -0.125000 -0.377237 +v -0.441942 -0.216506 -0.441942 +v -0.530330 -0.250000 -0.530330 +v -0.618719 -0.216506 -0.618718 +v -0.683423 -0.125000 -0.683423 +v -0.831470 0.000000 -0.555570 +v -0.803621 0.125000 -0.536962 +v -0.727536 0.216506 -0.486124 +v -0.623602 0.250000 -0.416678 +v -0.519668 0.216506 -0.347231 +v -0.443584 0.125000 -0.296393 +v -0.415735 0.000000 -0.277785 +v -0.443584 -0.125000 -0.296393 +v -0.519668 -0.216506 -0.347231 +v -0.623602 -0.250000 -0.416678 +v -0.727536 -0.216506 -0.486124 +v -0.803621 -0.125000 -0.536962 +v -0.923880 0.000000 -0.382683 +v -0.892935 0.125000 -0.369866 +v -0.808395 0.216506 -0.334848 +v -0.692910 0.250000 -0.287013 +v -0.577425 0.216506 -0.239177 +v -0.492884 0.125000 -0.204159 +v -0.461940 0.000000 -0.191342 +v -0.492884 -0.125000 -0.204159 +v -0.577425 -0.216506 -0.239177 +v -0.692910 -0.250000 -0.287013 +v -0.808395 -0.216506 -0.334848 +v -0.892935 -0.125000 -0.369866 +v -0.980785 0.000000 -0.195090 +v -0.947935 0.125000 -0.188556 +v -0.858187 0.216506 -0.170704 +v -0.735589 0.250000 -0.146318 +v -0.612991 0.216506 -0.121931 +v -0.523243 0.125000 -0.104079 +v -0.490393 0.000000 -0.097545 +v -0.523243 -0.125000 -0.104079 +v -0.612991 -0.216506 -0.121931 +v -0.735589 -0.250000 -0.146318 +v -0.858187 -0.216506 -0.170704 +v -0.947935 -0.125000 -0.188556 +v -1.000000 0.000000 -0.000000 +v -0.966506 0.125000 -0.000000 +v -0.875000 0.216506 -0.000000 +v -0.750000 0.250000 -0.000000 +v -0.625000 0.216506 -0.000000 +v -0.533494 0.125000 -0.000000 +v -0.500000 0.000000 -0.000000 +v -0.533494 -0.125000 -0.000000 +v -0.625000 -0.216506 -0.000000 +v -0.750000 -0.250000 -0.000000 +v -0.875000 -0.216506 -0.000000 +v -0.966506 -0.125000 -0.000000 +v -0.980785 0.000000 0.195090 +v -0.947935 0.125000 0.188556 +v -0.858187 0.216506 0.170704 +v -0.735589 0.250000 0.146318 +v -0.612991 0.216506 0.121931 +v -0.523243 0.125000 0.104079 +v -0.490393 0.000000 0.097545 +v -0.523243 -0.125000 0.104079 +v -0.612991 -0.216506 0.121931 +v -0.735589 -0.250000 0.146318 +v -0.858187 -0.216506 0.170704 +v -0.947935 -0.125000 0.188556 +v -0.923880 0.000000 0.382683 +v -0.892936 0.125000 0.369866 +v -0.808395 0.216506 0.334848 +v -0.692910 0.250000 0.287012 +v -0.577425 0.216506 0.239177 +v -0.492884 0.125000 0.204159 +v -0.461940 0.000000 0.191342 +v -0.492884 -0.125000 0.204159 +v -0.577425 -0.216506 0.239177 +v -0.692910 -0.250000 0.287012 +v -0.808395 -0.216506 0.334848 +v -0.892936 -0.125000 0.369866 +v -0.831470 0.000000 0.555570 +v -0.803621 0.125000 0.536962 +v -0.727536 0.216506 0.486124 +v -0.623602 0.250000 0.416678 +v -0.519668 0.216506 0.347231 +v -0.443584 0.125000 0.296393 +v -0.415735 0.000000 0.277785 +v -0.443584 -0.125000 0.296393 +v -0.519668 -0.216506 0.347231 +v -0.623602 -0.250000 0.416678 +v -0.727536 -0.216506 0.486124 +v -0.803621 -0.125000 0.536962 +v -0.707107 0.000000 0.707107 +v -0.683423 0.125000 0.683423 +v -0.618719 0.216506 0.618718 +v -0.530330 0.250000 0.530330 +v -0.441942 0.216506 0.441942 +v -0.377237 0.125000 0.377237 +v -0.353553 0.000000 0.353553 +v -0.377237 -0.125000 0.377237 +v -0.441942 -0.216506 0.441942 +v -0.530330 -0.250000 0.530330 +v -0.618719 -0.216506 0.618718 +v -0.683423 -0.125000 0.683423 +v -0.555571 0.000000 0.831469 +v -0.536963 0.125000 0.803620 +v -0.486124 0.216506 0.727536 +v -0.416678 0.250000 0.623602 +v -0.347232 0.216506 0.519668 +v -0.296393 0.125000 0.443584 +v -0.277785 0.000000 0.415735 +v -0.296393 -0.125000 0.443584 +v -0.347232 -0.216506 0.519668 +v -0.416678 -0.250000 0.623602 +v -0.486124 -0.216506 0.727536 +v -0.536963 -0.125000 0.803620 +v -0.382684 0.000000 0.923880 +v -0.369866 0.125000 0.892935 +v -0.334848 0.216506 0.808395 +v -0.287013 0.250000 0.692910 +v -0.239177 0.216506 0.577425 +v -0.204159 0.125000 0.492884 +v -0.191342 0.000000 0.461940 +v -0.204159 -0.125000 0.492884 +v -0.239177 -0.216506 0.577425 +v -0.287013 -0.250000 0.692910 +v -0.334848 -0.216506 0.808395 +v -0.369866 -0.125000 0.892935 +v -0.195091 0.000000 0.980785 +v -0.188557 0.125000 0.947935 +v -0.170704 0.216506 0.858187 +v -0.146318 0.250000 0.735589 +v -0.121932 0.216506 0.612991 +v -0.104080 0.125000 0.523243 +v -0.097545 0.000000 0.490393 +v -0.104080 -0.125000 0.523243 +v -0.121932 -0.216506 0.612991 +v -0.146318 -0.250000 0.735589 +v -0.170704 -0.216506 0.858187 +v -0.188557 -0.125000 0.947935 +v 0.000000 0.000000 1.000000 +v 0.000000 0.125000 0.966506 +v 0.000000 0.216506 0.875000 +v 0.000000 0.250000 0.750000 +v 0.000000 0.216506 0.625000 +v 0.000000 0.125000 0.533494 +v 0.000000 0.000000 0.500000 +v 0.000000 -0.125000 0.533494 +v 0.000000 -0.216506 0.625000 +v 0.000000 -0.250000 0.750000 +v 0.000000 -0.216506 0.875000 +v 0.000000 -0.125000 0.966506 +v 0.195090 0.000000 0.980785 +v 0.188556 0.125000 0.947935 +v 0.170704 0.216506 0.858187 +v 0.146318 0.250000 0.735589 +v 0.121931 0.216506 0.612991 +v 0.104079 0.125000 0.523243 +v 0.097545 0.000000 0.490393 +v 0.104079 -0.125000 0.523243 +v 0.121931 -0.216506 0.612991 +v 0.146318 -0.250000 0.735589 +v 0.170704 -0.216506 0.858187 +v 0.188556 -0.125000 0.947935 +v 0.382684 0.000000 0.923879 +v 0.369866 0.125000 0.892935 +v 0.334848 0.216506 0.808394 +v 0.287013 0.250000 0.692910 +v 0.239177 0.216506 0.577425 +v 0.204159 0.125000 0.492884 +v 0.191342 0.000000 0.461940 +v 0.204159 -0.125000 0.492884 +v 0.239177 -0.216506 0.577425 +v 0.287013 -0.250000 0.692910 +v 0.334848 -0.216506 0.808394 +v 0.369866 -0.125000 0.892935 +v 0.555570 0.000000 0.831470 +v 0.536962 0.125000 0.803621 +v 0.486124 0.216506 0.727536 +v 0.416678 0.250000 0.623602 +v 0.347231 0.216506 0.519669 +v 0.296393 0.125000 0.443584 +v 0.277785 0.000000 0.415735 +v 0.296393 -0.125000 0.443584 +v 0.347231 -0.216506 0.519669 +v 0.416678 -0.250000 0.623602 +v 0.486124 -0.216506 0.727536 +v 0.536962 -0.125000 0.803621 +v 0.707106 0.000000 0.707107 +v 0.683423 0.125000 0.683424 +v 0.618718 0.216506 0.618719 +v 0.530330 0.250000 0.530330 +v 0.441941 0.216506 0.441942 +v 0.377237 0.125000 0.377237 +v 0.353553 0.000000 0.353554 +v 0.377237 -0.125000 0.377237 +v 0.441941 -0.216506 0.441942 +v 0.530330 -0.250000 0.530330 +v 0.618718 -0.216506 0.618719 +v 0.683423 -0.125000 0.683424 +v 0.831470 0.000000 0.555570 +v 0.803621 0.125000 0.536962 +v 0.727536 0.216506 0.486124 +v 0.623602 0.250000 0.416678 +v 0.519669 0.216506 0.347231 +v 0.443584 0.125000 0.296393 +v 0.415735 0.000000 0.277785 +v 0.443584 -0.125000 0.296393 +v 0.519669 -0.216506 0.347231 +v 0.623602 -0.250000 0.416678 +v 0.727536 -0.216506 0.486124 +v 0.803621 -0.125000 0.536962 +v 0.923879 0.000000 0.382684 +v 0.892935 0.125000 0.369866 +v 0.808394 0.216506 0.334848 +v 0.692910 0.250000 0.287013 +v 0.577425 0.216506 0.239177 +v 0.492884 0.125000 0.204159 +v 0.461940 0.000000 0.191342 +v 0.492884 -0.125000 0.204159 +v 0.577425 -0.216506 0.239177 +v 0.692910 -0.250000 0.287013 +v 0.808394 -0.216506 0.334848 +v 0.892935 -0.125000 0.369866 +v 0.980785 0.000000 0.195090 +v 0.947935 0.125000 0.188556 +v 0.858187 0.216506 0.170704 +v 0.735589 0.250000 0.146318 +v 0.612991 0.216506 0.121931 +v 0.523243 0.125000 0.104079 +v 0.490393 0.000000 0.097545 +v 0.523243 -0.125000 0.104079 +v 0.612991 -0.216506 0.121931 +v 0.735589 -0.250000 0.146318 +v 0.858187 -0.216506 0.170704 +v 0.947935 -0.125000 0.188556 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.166667 +vt 0.250000 -0.166667 +vt 0.500000 0.000000 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.500000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.500000 -0.333333 +vt 0.750000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.333333 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 0.750000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 1.000000 +vt 0.000000 1.000000 +vt 0.250000 1.166667 +vt 0.000000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.166667 +vt 0.000000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.500000 +vt 0.500000 0.833333 +vt 0.250000 0.833333 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.250000 -0.333333 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.500000 0.666667 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.500000 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.500000 -0.333333 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 0.750000 0.666667 +vt 1.000000 0.666667 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 0.750000 1.333333 +vt 1.000000 1.333333 +vt 1.000000 -0.500000 +vt 0.750000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.833333 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.166667 +vt 0.250000 -0.166667 +vt 0.500000 0.166667 +vt 0.250000 0.333333 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.500000 0.666667 +vt 0.750000 0.666667 +vt 0.750000 0.833333 +vt 0.500000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.333333 +vt 0.500000 -0.333333 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 1.000000 0.833333 +vt 0.750000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 0.750000 -0.500000 +vt 1.000000 -0.333333 +vt 1.000000 -0.166667 +vt 0.750000 0.000000 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.250000 0.500000 +vt 0.500000 0.666667 +vt 0.250000 0.833333 +vt 0.500000 0.833333 +vt 0.500000 1.000000 +vt 0.500000 1.333333 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.333333 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.500000 0.500000 +vt 0.750000 0.666667 +vt 0.750000 1.000000 +vt 0.500000 1.166667 +vt 0.750000 1.333333 +vt 0.750000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 0.000000 +vt 0.500000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 0.750000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 0.750000 1.166667 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.166667 +vt 1.000000 0.000000 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 0.833333 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.333333 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.250000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.500000 1.333333 +vt 0.750000 1.333333 +vt 0.750000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 0.750000 0.666667 +vt 1.000000 0.666667 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.333333 +vt 1.000000 -0.166667 +vt 0.750000 0.000000 +vt 1.000000 0.166667 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.166667 +vt 0.000000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.166667 +vt 0.000000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.500000 0.666667 +vt 0.500000 0.833333 +vt 0.250000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.250000 -0.333333 +vt 0.500000 -0.333333 +vt 0.500000 -0.166667 +vt 0.250000 0.000000 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.666667 +vt 0.750000 1.000000 +vt 0.500000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 0.750000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.333333 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 0.833333 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.333333 +vt 0.500000 -0.166667 +vt 0.500000 0.000000 +vt 0.250000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.750000 1.000000 +vt 0.500000 1.000000 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 -0.166667 +vt 0.750000 0.000000 +vt 0.500000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 0.833333 +vt 1.000000 1.166667 +vt 0.750000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.166667 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 1.000000 +vt 0.500000 1.333333 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.333333 +vt 0.500000 0.000000 +vt 0.250000 0.000000 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.500000 0.833333 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.500000 1.166667 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.750000 -0.500000 +vt 0.750000 -0.166667 +vt 0.500000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.666667 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.333333 +vt 1.000000 0.000000 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.833333 +vt 1.000000 1.166667 +vt 1.000000 1.500000 +vt 1.000000 -0.333333 +vt 1.000000 0.833333 +vt 1.000000 1.500000 +vt 1.000000 -0.333333 +vt 1.000000 0.166667 +vt 1.000000 1.000000 +vt 1.000000 1.500000 +vt 1.000000 0.000000 +vt 1.000000 0.500000 +vt 1.000000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 -0.166667 +vt 1.000000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 0.000000 +vt 1.000000 0.333333 +vt 1.000000 1.500000 +vt 1.000000 -0.333333 +vt 1.000000 1.000000 +vt 1.000000 1.500000 +vt 1.000000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.833333 +vt 1.000000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 -0.166667 +vn 0.9808 0.0000 -0.1951 +vn 0.8699 0.4931 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.8532 0.4931 -0.1697 +vn 0.5119 0.8590 0.0000 +vn 0.5021 0.8590 -0.0999 +vn 0.0161 0.9998 0.0000 +vn 0.0158 0.9998 -0.0031 +vn -0.4877 0.8730 0.0000 +vn -0.4783 0.8730 0.0951 +vn -0.8618 0.5071 0.0000 +vn -0.8453 0.5071 0.1681 +vn -1.0000 0.0000 0.0000 +vn -0.9808 0.0000 0.1951 +vn -0.8618 -0.5071 0.0000 +vn -0.8453 -0.5071 0.1681 +vn -0.4877 -0.8730 0.0000 +vn 0.0158 -0.9998 -0.0031 +vn 0.0161 -0.9998 0.0000 +vn 0.5021 -0.8590 -0.0999 +vn 0.5119 -0.8590 0.0000 +vn 0.8699 -0.4931 0.0000 +vn 0.8532 -0.4931 -0.1697 +vn 0.9239 0.0000 -0.3827 +vn 0.8037 0.4931 -0.3329 +vn 0.0149 0.9998 -0.0062 +vn -0.4505 0.8730 0.1866 +vn -0.7963 0.5071 0.3298 +vn -0.9239 0.0000 0.3827 +vn -0.4505 -0.8730 0.1866 +vn -0.4783 -0.8730 0.0951 +vn 0.0149 -0.9998 -0.0062 +vn 0.4729 -0.8590 -0.1959 +vn 0.8037 -0.4931 -0.3329 +vn 0.8314 0.0000 -0.5556 +vn 0.7233 0.4931 -0.4833 +vn 0.4729 0.8590 -0.1959 +vn 0.0134 0.9998 -0.0090 +vn -0.4055 0.8730 0.2709 +vn -0.7166 0.5071 0.4788 +vn -0.8314 0.0000 0.5556 +vn -0.7963 -0.5071 0.3298 +vn -0.4055 -0.8730 0.2709 +vn 0.0134 -0.9998 -0.0090 +vn 0.7233 -0.4931 -0.4833 +vn 0.6151 0.4931 -0.6151 +vn 0.4256 0.8590 -0.2844 +vn 0.0114 0.9998 -0.0114 +vn -0.6094 0.5071 0.6094 +vn -0.7071 0.0000 0.7071 +vn -0.7166 -0.5071 0.4788 +vn -0.3448 -0.8730 0.3448 +vn 0.0114 -0.9998 -0.0114 +vn 0.4256 -0.8590 -0.2844 +vn 0.3620 -0.8590 -0.3620 +vn 0.6151 -0.4931 -0.6151 +vn 0.7071 0.0000 -0.7071 +vn 0.4833 0.4931 -0.7233 +vn 0.3620 0.8590 -0.3620 +vn 0.0090 0.9998 -0.0134 +vn -0.2709 0.8730 0.4055 +vn -0.3448 0.8730 0.3448 +vn -0.4788 0.5071 0.7166 +vn -0.5556 0.0000 0.8314 +vn -0.6094 -0.5071 0.6094 +vn -0.2709 -0.8730 0.4055 +vn 0.0090 -0.9998 -0.0134 +vn 0.2844 -0.8590 -0.4256 +vn 0.4833 -0.4931 -0.7233 +vn 0.3827 0.0000 -0.9239 +vn 0.5556 0.0000 -0.8314 +vn 0.1959 0.8590 -0.4729 +vn 0.2844 0.8590 -0.4256 +vn 0.0062 0.9998 -0.0149 +vn -0.1866 0.8730 0.4505 +vn -0.3298 0.5071 0.7963 +vn -0.3827 0.0000 0.9239 +vn -0.4788 -0.5071 0.7166 +vn -0.1866 -0.8730 0.4505 +vn 0.1959 -0.8590 -0.4729 +vn 0.3329 -0.4931 -0.8037 +vn 0.1951 0.0000 -0.9808 +vn 0.3329 0.4931 -0.8037 +vn 0.0999 0.8590 -0.5021 +vn 0.0031 0.9998 -0.0158 +vn -0.0951 0.8730 0.4783 +vn -0.1951 0.0000 0.9808 +vn -0.3298 -0.5071 0.7963 +vn -0.0951 -0.8730 0.4783 +vn 0.0062 -0.9998 -0.0149 +vn 0.0031 -0.9998 -0.0158 +vn 0.0999 -0.8590 -0.5021 +vn 0.1697 -0.4931 -0.8532 +vn 0.0000 0.0000 -1.0000 +vn 0.1697 0.4931 -0.8532 +vn 0.0000 0.4931 -0.8699 +vn 0.0000 0.9998 -0.0161 +vn 0.0000 0.8730 0.4877 +vn -0.1681 0.5071 0.8453 +vn 0.0000 0.5071 0.8618 +vn 0.0000 0.0000 1.0000 +vn -0.1681 -0.5071 0.8453 +vn 0.0000 -0.8730 0.4877 +vn 0.0000 -0.9998 -0.0161 +vn 0.0000 -0.4931 -0.8699 +vn -0.1951 0.0000 -0.9808 +vn -0.1697 0.4931 -0.8532 +vn 0.0000 0.8590 -0.5119 +vn -0.0999 0.8590 -0.5021 +vn -0.0031 0.9998 -0.0158 +vn 0.0951 0.8730 0.4783 +vn 0.1681 0.5071 0.8453 +vn 0.1951 0.0000 0.9808 +vn 0.0000 -0.5071 0.8618 +vn 0.1681 -0.5071 0.8453 +vn -0.0031 -0.9998 -0.0158 +vn -0.0999 -0.8590 -0.5021 +vn 0.0000 -0.8590 -0.5119 +vn -0.3827 0.0000 -0.9239 +vn -0.1959 0.8590 -0.4729 +vn 0.1866 0.8730 0.4505 +vn 0.3298 0.5071 0.7963 +vn 0.3827 0.0000 0.9239 +vn 0.1866 -0.8730 0.4505 +vn 0.0951 -0.8730 0.4783 +vn -0.1959 -0.8590 -0.4729 +vn -0.1697 -0.4931 -0.8532 +vn -0.3329 -0.4931 -0.8037 +vn -0.5556 0.0000 -0.8314 +vn -0.3329 0.4931 -0.8037 +vn -0.4833 0.4931 -0.7233 +vn -0.2844 0.8590 -0.4256 +vn -0.0062 0.9998 -0.0149 +vn 0.2709 0.8730 0.4055 +vn 0.4788 0.5071 0.7166 +vn 0.4788 -0.5071 0.7166 +vn 0.3298 -0.5071 0.7963 +vn 0.2709 -0.8730 0.4055 +vn -0.0062 -0.9998 -0.0149 +vn -0.2844 -0.8590 -0.4256 +vn -0.4833 -0.4931 -0.7233 +vn -0.7071 0.0000 -0.7071 +vn -0.6151 0.4931 -0.6151 +vn -0.3620 0.8590 -0.3620 +vn -0.0090 0.9998 -0.0134 +vn 0.3448 0.8730 0.3448 +vn 0.6094 0.5071 0.6094 +vn 0.5556 0.0000 0.8314 +vn 0.7071 0.0000 0.7071 +vn 0.6094 -0.5071 0.6094 +vn 0.3448 -0.8730 0.3448 +vn -0.0090 -0.9998 -0.0134 +vn -0.3620 -0.8590 -0.3620 +vn -0.6151 -0.4931 -0.6151 +vn -0.7233 0.4931 -0.4833 +vn -0.0134 0.9998 -0.0090 +vn -0.0114 0.9998 -0.0114 +vn 0.4055 0.8730 0.2709 +vn 0.7166 0.5071 0.4788 +vn 0.8314 0.0000 0.5556 +vn 0.7166 -0.5071 0.4788 +vn 0.4055 -0.8730 0.2709 +vn -0.0114 -0.9998 -0.0114 +vn -0.0134 -0.9998 -0.0090 +vn -0.4256 -0.8590 -0.2844 +vn -0.7233 -0.4931 -0.4833 +vn -0.8314 0.0000 -0.5556 +vn -0.8037 0.4931 -0.3329 +vn -0.4256 0.8590 -0.2844 +vn -0.4729 0.8590 -0.1959 +vn -0.0149 0.9998 -0.0062 +vn 0.7963 0.5071 0.3298 +vn 0.9239 0.0000 0.3827 +vn 0.7963 -0.5071 0.3298 +vn 0.4505 -0.8730 0.1866 +vn -0.4729 -0.8590 -0.1959 +vn -0.8037 -0.4931 -0.3329 +vn -0.9239 0.0000 -0.3827 +vn -0.8532 0.4931 -0.1697 +vn -0.0158 0.9998 -0.0031 +vn 0.4505 0.8730 0.1866 +vn 0.8453 0.5071 0.1681 +vn 0.9808 0.0000 0.1951 +vn 0.8453 -0.5071 0.1681 +vn -0.0158 -0.9998 -0.0031 +vn -0.0149 -0.9998 -0.0062 +vn -0.5021 -0.8590 -0.0999 +vn -0.8532 -0.4931 -0.1697 +vn -0.9808 0.0000 -0.1951 +vn -0.8699 0.4931 0.0000 +vn -0.5021 0.8590 -0.0999 +vn -0.5119 0.8590 0.0000 +vn -0.0161 0.9998 0.0000 +vn 0.4783 0.8730 0.0951 +vn 0.4877 0.8730 0.0000 +vn 0.8618 0.5071 0.0000 +vn 0.8618 -0.5071 0.0000 +vn 0.4783 -0.8730 0.0951 +vn -0.0161 -0.9998 0.0000 +vn -0.5119 -0.8590 0.0000 +vn -0.8699 -0.4931 0.0000 +vn -0.8532 0.4931 0.1697 +vn -0.5021 0.8590 0.0999 +vn -0.0158 0.9998 0.0031 +vn 0.4783 0.8730 -0.0951 +vn 0.8453 0.5071 -0.1681 +vn 0.8453 -0.5071 -0.1681 +vn 0.4877 -0.8730 0.0000 +vn 0.4783 -0.8730 -0.0951 +vn -0.0158 -0.9998 0.0031 +vn -0.5021 -0.8590 0.0999 +vn -0.8037 0.4931 0.3329 +vn -0.4729 0.8590 0.1959 +vn -0.0149 0.9998 0.0062 +vn 0.4505 0.8730 -0.1866 +vn 0.7963 -0.5071 -0.3298 +vn 0.4505 -0.8730 -0.1866 +vn -0.4729 -0.8590 0.1959 +vn -0.8037 -0.4931 0.3329 +vn -0.8532 -0.4931 0.1697 +vn -0.4256 0.8590 0.2844 +vn -0.0134 0.9998 0.0090 +vn 0.4055 0.8730 -0.2709 +vn 0.7963 0.5071 -0.3298 +vn 0.7166 0.5071 -0.4788 +vn 0.7166 -0.5071 -0.4788 +vn 0.4055 -0.8730 -0.2709 +vn -0.0149 -0.9998 0.0062 +vn -0.4256 -0.8590 0.2844 +vn -0.7233 -0.4931 0.4833 +vn -0.7233 0.4931 0.4833 +vn -0.6151 0.4931 0.6151 +vn -0.3620 0.8590 0.3620 +vn -0.0114 0.9998 0.0114 +vn 0.3448 0.8730 -0.3448 +vn 0.6094 0.5071 -0.6094 +vn 0.6094 -0.5071 -0.6094 +vn 0.3448 -0.8730 -0.3448 +vn -0.0134 -0.9998 0.0090 +vn -0.3620 -0.8590 0.3620 +vn -0.4833 0.4931 0.7233 +vn -0.2844 0.8590 0.4256 +vn 0.2709 0.8730 -0.4055 +vn 0.4788 0.5071 -0.7166 +vn 0.2709 -0.8730 -0.4055 +vn -0.0114 -0.9998 0.0114 +vn -0.2844 -0.8590 0.4256 +vn -0.6151 -0.4931 0.6151 +vn -0.4833 -0.4931 0.7233 +vn -0.3329 0.4931 0.8037 +vn -0.1959 0.8590 0.4729 +vn -0.0090 0.9998 0.0134 +vn 0.1866 0.8730 -0.4505 +vn 0.3298 0.5071 -0.7963 +vn 0.4788 -0.5071 -0.7166 +vn 0.3298 -0.5071 -0.7963 +vn 0.1866 -0.8730 -0.4505 +vn -0.0090 -0.9998 0.0134 +vn -0.1959 -0.8590 0.4729 +vn -0.3329 -0.4931 0.8037 +vn -0.1697 0.4931 0.8532 +vn -0.0031 0.9998 0.0158 +vn -0.0062 0.9998 0.0149 +vn 0.0951 0.8730 -0.4783 +vn 0.1681 0.5071 -0.8453 +vn 0.0951 -0.8730 -0.4783 +vn -0.0062 -0.9998 0.0149 +vn -0.0031 -0.9998 0.0158 +vn -0.1697 -0.4931 0.8532 +vn 0.0000 0.4931 0.8699 +vn -0.0999 0.8590 0.5021 +vn 0.0000 0.8590 0.5119 +vn 0.0000 0.9998 0.0161 +vn 0.0000 0.8730 -0.4877 +vn 0.0000 0.5071 -0.8618 +vn 0.1681 -0.5071 -0.8453 +vn 0.0000 -0.8730 -0.4877 +vn 0.0000 -0.9998 0.0161 +vn -0.0999 -0.8590 0.5021 +vn 0.0000 -0.8590 0.5119 +vn 0.0000 -0.4931 0.8699 +vn 0.1697 0.4931 0.8532 +vn 0.0999 0.8590 0.5021 +vn 0.0031 0.9998 0.0158 +vn -0.0951 0.8730 -0.4783 +vn -0.1681 0.5071 -0.8453 +vn 0.0000 -0.5071 -0.8618 +vn -0.1681 -0.5071 -0.8453 +vn -0.0951 -0.8730 -0.4783 +vn 0.0031 -0.9998 0.0158 +vn 0.1697 -0.4931 0.8532 +vn 0.3329 0.4931 0.8037 +vn 0.1959 0.8590 0.4729 +vn -0.1866 0.8730 -0.4505 +vn -0.3298 0.5071 -0.7963 +vn -0.3298 -0.5071 -0.7963 +vn -0.1866 -0.8730 -0.4505 +vn 0.0062 -0.9998 0.0149 +vn 0.0999 -0.8590 0.5021 +vn 0.3329 -0.4931 0.8037 +vn 0.4833 0.4931 0.7233 +vn 0.0090 0.9998 0.0134 +vn 0.0062 0.9998 0.0149 +vn -0.4788 0.5071 -0.7166 +vn -0.4788 -0.5071 -0.7166 +vn -0.2709 -0.8730 -0.4055 +vn 0.0090 -0.9998 0.0134 +vn 0.1959 -0.8590 0.4729 +vn 0.4833 -0.4931 0.7233 +vn 0.6151 0.4931 0.6151 +vn 0.2844 0.8590 0.4256 +vn 0.3620 0.8590 0.3620 +vn -0.3448 0.8730 -0.3448 +vn -0.2709 0.8730 -0.4055 +vn -0.6094 0.5071 -0.6094 +vn -0.6094 -0.5071 -0.6094 +vn -0.3448 -0.8730 -0.3448 +vn 0.0114 -0.9998 0.0114 +vn 0.2844 -0.8590 0.4256 +vn 0.3620 -0.8590 0.3620 +vn 0.7233 0.4931 0.4833 +vn 0.4256 0.8590 0.2844 +vn 0.0114 0.9998 0.0114 +vn 0.0134 0.9998 0.0090 +vn -0.4055 0.8730 -0.2709 +vn -0.7166 0.5071 -0.4788 +vn -0.7166 -0.5071 -0.4788 +vn -0.4055 -0.8730 -0.2709 +vn 0.4256 -0.8590 0.2844 +vn 0.6151 -0.4931 0.6151 +vn 0.7233 -0.4931 0.4833 +vn 0.8037 0.4931 0.3329 +vn 0.0149 0.9998 0.0062 +vn -0.7963 0.5071 -0.3298 +vn -0.7963 -0.5071 -0.3298 +vn 0.0149 -0.9998 0.0062 +vn 0.0134 -0.9998 0.0090 +vn 0.4729 -0.8590 0.1959 +vn 0.8037 -0.4931 0.3329 +vn 0.8532 0.4931 0.1697 +vn 0.4729 0.8590 0.1959 +vn 0.5021 0.8590 0.0999 +vn 0.0158 0.9998 0.0031 +vn -0.4505 0.8730 -0.1866 +vn -0.4783 0.8730 -0.0951 +vn -0.8453 0.5071 -0.1681 +vn -0.4783 -0.8730 -0.0951 +vn -0.4505 -0.8730 -0.1866 +vn 0.0158 -0.9998 0.0031 +vn 0.5021 -0.8590 0.0999 +vn 0.8532 -0.4931 0.1697 +vn -0.8453 -0.5071 -0.1681 +s 1 +f 13/1/1 2/2/2 1/3/3 +f 14/4/4 3/5/5 2/2/2 +f 15/6/6 4/7/7 3/5/5 +f 16/8/8 5/9/9 4/7/7 +f 17/10/10 6/11/11 5/9/9 +f 18/12/12 7/13/13 6/11/11 +f 19/14/14 8/15/15 7/16/13 +f 20/17/16 9/18/17 8/15/15 +f 9/18/17 22/19/18 10/20/19 +f 10/20/19 23/21/20 11/22/21 +f 23/21/20 12/23/22 11/22/21 +f 24/24/23 1/3/3 12/23/22 +f 25/25/24 14/4/4 13/1/1 +f 26/26/25 15/6/6 14/4/4 +f 15/6/6 28/27/26 16/8/8 +f 16/8/8 29/28/27 17/10/10 +f 29/28/27 18/12/12 17/10/10 +f 30/29/28 19/30/14 18/12/12 +f 31/31/29 20/17/16 19/14/14 +f 20/17/16 33/32/30 21/33/31 +f 33/32/30 22/19/18 21/33/31 +f 34/34/32 23/21/20 22/19/18 +f 35/35/33 24/24/23 23/21/20 +f 36/36/34 13/1/1 24/24/23 +f 37/37/35 26/26/25 25/25/24 +f 38/38/36 27/39/37 26/26/25 +f 27/39/37 40/40/38 28/27/26 +f 28/27/26 41/41/39 29/28/27 +f 41/41/39 30/29/28 29/28/27 +f 42/42/40 31/43/29 30/29/28 +f 43/44/41 32/45/42 31/31/29 +f 32/45/42 45/46/43 33/32/30 +f 45/46/43 34/34/32 33/32/30 +f 46/47/44 35/35/33 34/34/32 +f 35/35/33 48/48/45 36/36/34 +f 48/48/45 25/25/24 36/36/34 +f 37/37/35 50/49/46 38/38/36 +f 50/49/46 39/50/47 38/38/36 +f 39/50/47 52/51/48 40/40/38 +f 52/51/48 41/41/39 40/40/38 +f 41/41/39 54/52/49 42/42/40 +f 54/52/49 43/53/41 42/42/40 +f 55/54/50 44/55/51 43/44/41 +f 44/55/51 57/56/52 45/46/43 +f 45/46/43 58/57/53 46/47/44 +f 58/57/53 47/58/54 46/47/44 +f 59/59/55 48/48/45 47/58/54 +f 60/60/56 37/37/35 48/48/45 +f 49/61/57 62/62/58 50/63/46 +f 62/62/58 51/64/59 50/63/46 +f 51/64/59 64/65/60 52/66/48 +f 52/66/48 65/67/61 53/68/62 +f 65/67/61 54/69/49 53/68/62 +f 66/70/63 55/71/50 54/69/49 +f 67/72/64 56/73/65 55/74/50 +f 56/73/65 69/75/66 57/76/52 +f 69/75/66 58/77/53 57/76/52 +f 70/78/67 59/79/55 58/77/53 +f 71/80/68 60/81/56 59/79/55 +f 72/82/69 49/61/57 60/81/56 +f 73/83/70 62/62/58 61/84/71 +f 62/62/58 75/85/72 63/86/73 +f 75/85/72 64/65/60 63/86/73 +f 76/87/74 65/67/61 64/65/60 +f 77/88/75 66/70/63 65/67/61 +f 78/89/76 67/90/64 66/70/63 +f 79/91/77 68/92/78 67/72/64 +f 68/92/78 81/93/79 69/75/66 +f 81/93/79 70/78/67 69/75/66 +f 70/78/67 83/94/80 71/80/68 +f 83/94/80 72/82/69 71/80/68 +f 84/95/81 61/84/71 72/82/69 +f 85/96/82 74/97/83 73/83/70 +f 74/97/83 87/98/84 75/85/72 +f 75/85/72 88/99/85 76/87/74 +f 88/99/85 77/88/75 76/87/74 +f 89/100/86 78/89/76 77/88/75 +f 78/89/76 91/101/87 79/102/77 +f 91/103/87 80/104/88 79/91/77 +f 80/104/88 93/105/89 81/93/79 +f 93/105/89 82/106/90 81/93/79 +f 94/107/91 83/94/80 82/106/90 +f 95/108/92 84/95/81 83/94/80 +f 96/109/93 73/83/70 84/95/81 +f 97/110/94 86/111/95 85/96/82 +f 98/112/96 87/98/84 86/111/95 +f 87/98/84 100/113/97 88/99/85 +f 100/113/97 89/100/86 88/99/85 +f 101/114/98 90/115/99 89/100/86 +f 102/116/100 91/101/87 90/115/99 +f 103/117/101 92/118/102 91/103/87 +f 92/118/102 105/119/103 93/105/89 +f 93/105/89 106/120/104 94/107/91 +f 106/120/104 95/108/92 94/107/91 +f 95/108/92 108/121/105 96/109/93 +f 108/121/105 85/96/82 96/109/93 +f 109/122/106 98/123/96 97/124/94 +f 110/125/107 99/126/108 98/123/96 +f 111/127/109 100/128/97 99/126/108 +f 112/129/110 101/130/98 100/128/97 +f 113/131/111 102/132/100 101/130/98 +f 114/133/112 103/134/101 102/132/100 +f 115/135/113 104/136/114 103/137/101 +f 116/138/115 105/139/103 104/136/114 +f 105/139/103 118/140/116 106/141/104 +f 106/141/104 119/142/117 107/143/118 +f 119/142/117 108/144/105 107/143/118 +f 108/144/105 109/122/106 97/124/94 +f 121/145/119 110/125/107 109/122/106 +f 110/125/107 123/146/120 111/127/109 +f 123/146/120 112/129/110 111/127/109 +f 112/129/110 125/147/121 113/131/111 +f 125/147/121 114/133/112 113/131/111 +f 126/148/122 115/149/113 114/133/112 +f 127/150/123 116/138/115 115/135/113 +f 116/138/115 129/151/124 117/152/125 +f 129/151/124 118/140/116 117/152/125 +f 118/140/116 131/153/126 119/142/117 +f 131/153/126 120/154/127 119/142/117 +f 132/155/128 109/122/106 120/154/127 +f 133/156/129 122/157/130 121/145/119 +f 134/158/131 123/146/120 122/157/130 +f 135/159/132 124/160/133 123/146/120 +f 124/160/133 137/161/134 125/147/121 +f 137/161/134 126/148/122 125/147/121 +f 138/162/135 127/163/123 126/148/122 +f 127/150/123 140/164/136 128/165/137 +f 128/165/137 141/166/138 129/151/124 +f 141/166/138 130/167/139 129/151/124 +f 130/167/139 143/168/140 131/153/126 +f 131/153/126 144/169/141 132/155/128 +f 144/169/141 121/145/119 132/155/128 +f 145/170/142 134/158/131 133/156/129 +f 146/171/143 135/159/132 134/158/131 +f 147/172/144 136/173/145 135/159/132 +f 136/173/145 149/174/146 137/161/134 +f 149/174/146 138/162/135 137/161/134 +f 150/175/147 139/176/148 138/162/135 +f 151/177/149 140/164/136 139/178/148 +f 152/179/150 141/166/138 140/164/136 +f 153/180/151 142/181/152 141/166/138 +f 142/181/152 155/182/153 143/168/140 +f 143/168/140 156/183/154 144/169/141 +f 156/183/154 133/156/129 144/169/141 +f 145/184/142 158/185/155 146/186/143 +f 158/185/155 147/187/144 146/186/143 +f 147/187/144 160/188/156 148/189/157 +f 160/188/156 149/190/146 148/189/157 +f 161/191/158 150/192/147 149/190/146 +f 162/193/159 151/194/149 150/192/147 +f 163/195/160 152/196/150 151/197/149 +f 164/198/161 153/199/151 152/196/150 +f 165/200/162 154/201/163 153/199/151 +f 166/202/164 155/203/153 154/201/163 +f 167/204/165 156/205/154 155/203/153 +f 168/206/166 145/184/142 156/205/154 +f 157/207/167 170/208/168 158/185/155 +f 170/208/168 159/209/169 158/185/155 +f 171/210/170 160/188/156 159/209/169 +f 172/211/171 161/191/158 160/188/156 +f 161/191/158 174/212/172 162/193/159 +f 162/193/159 175/213/173 163/214/160 +f 175/215/173 164/198/161 163/195/160 +f 176/216/174 165/200/162 164/198/161 +f 177/217/175 166/202/164 165/200/162 +f 166/202/164 179/218/176 167/204/165 +f 167/204/165 180/219/177 168/206/166 +f 180/219/177 157/207/167 168/206/166 +f 169/220/178 182/221/179 170/208/168 +f 182/221/179 171/210/170 170/208/168 +f 171/210/170 184/222/180 172/211/171 +f 184/222/180 173/223/181 172/211/171 +f 173/223/181 186/224/182 174/212/172 +f 186/224/182 175/213/173 174/212/172 +f 187/225/183 176/216/174 175/215/173 +f 188/226/184 177/217/175 176/216/174 +f 177/217/175 190/227/185 178/228/186 +f 190/227/185 179/218/176 178/228/186 +f 191/229/187 180/219/177 179/218/176 +f 192/230/188 169/220/178 180/219/177 +f 181/231/189 194/232/190 182/221/179 +f 194/232/190 183/233/191 182/221/179 +f 195/234/192 184/222/180 183/233/191 +f 196/235/193 185/236/194 184/222/180 +f 197/237/195 186/224/182 185/236/194 +f 198/238/196 187/239/183 186/224/182 +f 187/225/183 200/240/197 188/226/184 +f 200/240/197 189/241/198 188/226/184 +f 189/241/198 202/242/199 190/227/185 +f 190/227/185 203/243/200 191/229/187 +f 191/229/187 204/244/201 192/230/188 +f 204/244/201 181/231/189 192/230/188 +f 205/245/14 194/246/190 193/247/13 +f 206/248/202 195/249/192 194/246/190 +f 207/250/203 196/251/193 195/249/192 +f 208/252/204 197/253/195 196/251/193 +f 209/254/205 198/255/196 197/253/195 +f 210/256/206 199/257/3 198/255/196 +f 211/258/1 200/259/197 199/260/3 +f 212/261/207 201/262/208 200/259/197 +f 213/263/209 202/264/199 201/262/208 +f 214/265/210 203/266/200 202/264/199 +f 215/267/211 204/268/201 203/266/200 +f 204/268/201 205/245/14 193/247/13 +f 217/269/29 206/248/202 205/245/14 +f 218/270/212 207/250/203 206/248/202 +f 219/271/213 208/252/204 207/250/203 +f 220/272/214 209/254/205 208/252/204 +f 221/273/215 210/256/206 209/254/205 +f 210/256/206 223/274/24 211/275/1 +f 223/276/24 212/261/207 211/258/1 +f 224/277/216 213/263/209 212/261/207 +f 225/278/217 214/265/210 213/263/209 +f 214/265/210 227/279/218 215/267/211 +f 215/267/211 228/280/219 216/281/220 +f 216/281/220 217/269/29 205/245/14 +f 229/282/41 218/270/212 217/269/29 +f 218/270/212 231/283/221 219/271/213 +f 231/283/221 220/272/214 219/271/213 +f 232/284/222 221/273/215 220/272/214 +f 233/285/223 222/286/224 221/273/215 +f 234/287/225 223/274/24 222/286/224 +f 235/288/35 224/277/216 223/276/24 +f 236/289/226 225/278/217 224/277/216 +f 237/290/227 226/291/228 225/278/217 +f 226/291/228 239/292/229 227/279/218 +f 239/292/229 228/280/219 227/279/218 +f 240/293/230 217/269/29 228/280/219 +f 241/294/50 230/295/231 229/282/41 +f 242/296/232 231/283/221 230/295/231 +f 243/297/233 232/284/222 231/283/221 +f 244/298/234 233/285/223 232/284/222 +f 245/299/235 234/287/225 233/285/223 +f 246/300/236 235/301/35 234/287/225 +f 235/288/35 248/302/237 236/289/226 +f 248/302/237 237/290/227 236/289/226 +f 249/303/238 238/304/239 237/290/227 +f 238/304/239 251/305/240 239/292/229 +f 251/305/240 240/293/230 239/292/229 +f 240/293/230 241/294/50 229/282/41 +f 253/306/64 242/307/232 241/308/50 +f 254/309/241 243/310/233 242/307/232 +f 255/311/242 244/312/234 243/310/233 +f 244/312/234 257/313/243 245/314/235 +f 257/313/243 246/315/236 245/314/235 +f 258/316/244 247/317/57 246/315/236 +f 259/318/71 248/319/237 247/320/57 +f 248/319/237 261/321/245 249/322/238 +f 261/321/245 250/323/246 249/322/238 +f 250/323/246 263/324/247 251/325/240 +f 263/324/247 252/326/248 251/325/240 +f 264/327/249 241/308/50 252/326/248 +f 253/306/64 266/328/250 254/309/241 +f 254/309/241 267/329/251 255/311/242 +f 267/329/251 256/330/252 255/311/242 +f 256/330/252 269/331/253 257/313/243 +f 269/331/253 258/316/244 257/313/243 +f 270/332/254 259/333/71 258/316/244 +f 271/334/70 260/335/255 259/318/71 +f 272/336/256 261/321/245 260/335/255 +f 273/337/257 262/338/258 261/321/245 +f 262/338/258 275/339/259 263/324/247 +f 275/339/259 264/327/249 263/324/247 +f 276/340/260 253/306/64 264/327/249 +f 277/341/87 266/328/250 265/342/77 +f 278/343/261 267/329/251 266/328/250 +f 267/329/251 280/344/262 268/345/263 +f 280/344/262 269/331/253 268/345/263 +f 281/346/264 270/332/254 269/331/253 +f 282/347/265 271/348/70 270/332/254 +f 283/349/82 272/336/256 271/334/70 +f 272/336/256 285/350/266 273/337/257 +f 285/350/266 274/351/267 273/337/257 +f 286/352/268 275/339/259 274/351/267 +f 275/339/259 288/353/269 276/340/260 +f 288/353/269 265/342/77 276/340/260 +f 289/354/101 278/343/261 277/341/87 +f 290/355/270 279/356/271 278/343/261 +f 291/357/272 280/344/262 279/356/271 +f 292/358/273 281/346/264 280/344/262 +f 293/359/274 282/347/265 281/346/264 +f 294/360/275 283/361/82 282/347/265 +f 295/362/94 284/363/276 283/349/82 +f 284/363/276 297/364/277 285/350/266 +f 285/350/266 298/365/278 286/352/268 +f 298/365/278 287/366/279 286/352/268 +f 299/367/280 288/353/269 287/366/279 +f 300/368/281 277/341/87 288/353/269 +f 301/369/113 290/370/270 289/371/101 +f 302/372/282 291/373/272 290/370/270 +f 303/374/283 292/375/273 291/373/272 +f 304/376/284 293/377/274 292/375/273 +f 305/378/285 294/379/275 293/377/274 +f 306/380/286 295/381/94 294/379/275 +f 307/382/106 296/383/287 295/384/94 +f 308/385/288 297/386/277 296/383/287 +f 309/387/289 298/388/278 297/386/277 +f 310/389/290 299/390/280 298/388/278 +f 299/390/280 312/391/291 300/392/281 +f 312/391/291 289/371/101 300/392/281 +f 313/393/123 302/372/282 301/369/113 +f 314/394/292 303/374/283 302/372/282 +f 315/395/293 304/376/284 303/374/283 +f 304/376/284 317/396/294 305/378/285 +f 317/396/294 306/380/286 305/378/285 +f 318/397/295 307/398/106 306/380/286 +f 319/399/119 308/385/288 307/382/106 +f 320/400/296 309/387/289 308/385/288 +f 321/401/297 310/389/290 309/387/289 +f 322/402/298 311/403/299 310/389/290 +f 311/403/299 324/404/300 312/391/291 +f 324/404/300 301/369/113 312/391/291 +f 325/405/148 314/394/292 313/393/123 +f 326/406/301 315/395/293 314/394/292 +f 315/395/293 328/407/302 316/408/303 +f 328/407/302 317/396/294 316/408/303 +f 317/396/294 330/409/304 318/397/295 +f 330/409/304 319/410/119 318/397/295 +f 331/411/129 320/400/296 319/399/119 +f 332/412/305 321/401/297 320/400/296 +f 333/413/306 322/402/298 321/401/297 +f 334/414/307 323/415/308 322/402/298 +f 323/415/308 336/416/309 324/404/300 +f 336/416/309 313/393/123 324/404/300 +f 337/417/149 326/406/301 325/405/148 +f 338/418/310 327/419/311 326/406/301 +f 339/420/312 328/407/302 327/419/311 +f 328/407/302 341/421/313 329/422/314 +f 341/421/313 330/409/304 329/422/314 +f 342/423/315 331/424/129 330/409/304 +f 343/425/142 332/412/305 331/411/129 +f 344/426/316 333/413/306 332/412/305 +f 345/427/317 334/414/307 333/413/306 +f 346/428/318 335/429/319 334/414/307 +f 347/430/320 336/416/309 335/429/319 +f 336/416/309 337/417/149 325/405/148 +f 349/431/160 338/432/310 337/433/149 +f 350/434/321 339/435/312 338/432/310 +f 351/436/322 340/437/323 339/435/312 +f 352/438/324 341/439/313 340/437/323 +f 353/440/325 342/441/315 341/439/313 +f 354/442/326 343/443/142 342/441/315 +f 355/444/167 344/445/316 343/446/142 +f 356/447/327 345/448/317 344/445/316 +f 357/449/328 346/450/318 345/448/317 +f 346/450/318 359/451/329 347/452/320 +f 359/451/329 348/453/330 347/452/320 +f 360/454/331 337/433/149 348/453/330 +f 361/455/173 350/434/321 349/431/160 +f 362/456/332 351/436/322 350/434/321 +f 351/436/322 364/457/333 352/438/324 +f 364/457/333 353/440/325 352/438/324 +f 353/440/325 366/458/334 354/442/326 +f 354/442/326 367/459/178 355/460/167 +f 367/461/178 356/447/327 355/444/167 +f 368/462/335 357/449/328 356/447/327 +f 357/449/328 370/463/336 358/464/337 +f 370/463/336 359/451/329 358/464/337 +f 371/465/338 360/454/331 359/451/329 +f 372/466/339 349/431/160 360/454/331 +f 373/467/183 362/456/332 361/455/173 +f 374/468/340 363/469/341 362/456/332 +f 375/470/342 364/457/333 363/469/341 +f 376/471/343 365/472/344 364/457/333 +f 377/473/345 366/458/334 365/472/344 +f 378/474/346 367/459/178 366/458/334 +f 379/475/189 368/462/335 367/461/178 +f 368/462/335 381/476/347 369/477/348 +f 369/477/348 382/478/349 370/463/336 +f 370/463/336 383/479/350 371/465/338 +f 383/479/350 372/466/339 371/465/338 +f 384/480/351 361/455/173 372/466/339 +f 373/467/183 2/481/2 374/468/340 +f 2/481/2 375/470/342 374/468/340 +f 375/470/342 4/482/7 376/471/343 +f 4/482/7 377/473/345 376/471/343 +f 5/483/9 378/474/346 377/473/345 +f 6/484/11 379/485/189 378/474/346 +f 379/475/189 8/486/15 380/487/352 +f 8/486/15 381/476/347 380/487/352 +f 381/476/347 10/488/19 382/478/349 +f 10/488/19 383/479/350 382/478/349 +f 11/489/21 384/480/351 383/479/350 +f 12/490/22 373/467/183 384/480/351 +f 13/1/1 14/4/4 2/2/2 +f 14/4/4 15/6/6 3/5/5 +f 15/6/6 16/8/8 4/7/7 +f 16/8/8 17/10/10 5/9/9 +f 17/10/10 18/12/12 6/11/11 +f 18/12/12 19/30/14 7/13/13 +f 19/14/14 20/17/16 8/15/15 +f 20/17/16 21/33/31 9/18/17 +f 9/18/17 21/33/31 22/19/18 +f 10/20/19 22/19/18 23/21/20 +f 23/21/20 24/24/23 12/23/22 +f 24/24/23 13/1/1 1/3/3 +f 25/25/24 26/26/25 14/4/4 +f 26/26/25 27/39/37 15/6/6 +f 15/6/6 27/39/37 28/27/26 +f 16/8/8 28/27/26 29/28/27 +f 29/28/27 30/29/28 18/12/12 +f 30/29/28 31/43/29 19/30/14 +f 31/31/29 32/45/42 20/17/16 +f 20/17/16 32/45/42 33/32/30 +f 33/32/30 34/34/32 22/19/18 +f 34/34/32 35/35/33 23/21/20 +f 35/35/33 36/36/34 24/24/23 +f 36/36/34 25/25/24 13/1/1 +f 37/37/35 38/38/36 26/26/25 +f 38/38/36 39/50/47 27/39/37 +f 27/39/37 39/50/47 40/40/38 +f 28/27/26 40/40/38 41/41/39 +f 41/41/39 42/42/40 30/29/28 +f 42/42/40 43/53/41 31/43/29 +f 43/44/41 44/55/51 32/45/42 +f 32/45/42 44/55/51 45/46/43 +f 45/46/43 46/47/44 34/34/32 +f 46/47/44 47/58/54 35/35/33 +f 35/35/33 47/58/54 48/48/45 +f 48/48/45 37/37/35 25/25/24 +f 37/37/35 49/491/57 50/49/46 +f 50/49/46 51/492/59 39/50/47 +f 39/50/47 51/492/59 52/51/48 +f 52/51/48 53/493/62 41/41/39 +f 41/41/39 53/493/62 54/52/49 +f 54/52/49 55/494/50 43/53/41 +f 55/54/50 56/495/65 44/55/51 +f 44/55/51 56/495/65 57/56/52 +f 45/46/43 57/56/52 58/57/53 +f 58/57/53 59/59/55 47/58/54 +f 59/59/55 60/60/56 48/48/45 +f 60/60/56 49/491/57 37/37/35 +f 49/61/57 61/84/71 62/62/58 +f 62/62/58 63/86/73 51/64/59 +f 51/64/59 63/86/73 64/65/60 +f 52/66/48 64/65/60 65/67/61 +f 65/67/61 66/70/63 54/69/49 +f 66/70/63 67/90/64 55/71/50 +f 67/72/64 68/92/78 56/73/65 +f 56/73/65 68/92/78 69/75/66 +f 69/75/66 70/78/67 58/77/53 +f 70/78/67 71/80/68 59/79/55 +f 71/80/68 72/82/69 60/81/56 +f 72/82/69 61/84/71 49/61/57 +f 73/83/70 74/97/83 62/62/58 +f 62/62/58 74/97/83 75/85/72 +f 75/85/72 76/87/74 64/65/60 +f 76/87/74 77/88/75 65/67/61 +f 77/88/75 78/89/76 66/70/63 +f 78/89/76 79/102/77 67/90/64 +f 79/91/77 80/104/88 68/92/78 +f 68/92/78 80/104/88 81/93/79 +f 81/93/79 82/106/90 70/78/67 +f 70/78/67 82/106/90 83/94/80 +f 83/94/80 84/95/81 72/82/69 +f 84/95/81 73/83/70 61/84/71 +f 85/96/82 86/111/95 74/97/83 +f 74/97/83 86/111/95 87/98/84 +f 75/85/72 87/98/84 88/99/85 +f 88/99/85 89/100/86 77/88/75 +f 89/100/86 90/115/99 78/89/76 +f 78/89/76 90/115/99 91/101/87 +f 91/103/87 92/118/102 80/104/88 +f 80/104/88 92/118/102 93/105/89 +f 93/105/89 94/107/91 82/106/90 +f 94/107/91 95/108/92 83/94/80 +f 95/108/92 96/109/93 84/95/81 +f 96/109/93 85/96/82 73/83/70 +f 97/110/94 98/112/96 86/111/95 +f 98/112/96 99/496/108 87/98/84 +f 87/98/84 99/496/108 100/113/97 +f 100/113/97 101/114/98 89/100/86 +f 101/114/98 102/116/100 90/115/99 +f 102/116/100 103/497/101 91/101/87 +f 103/117/101 104/498/114 92/118/102 +f 92/118/102 104/498/114 105/119/103 +f 93/105/89 105/119/103 106/120/104 +f 106/120/104 107/499/118 95/108/92 +f 95/108/92 107/499/118 108/121/105 +f 108/121/105 97/110/94 85/96/82 +f 109/122/106 110/125/107 98/123/96 +f 110/125/107 111/127/109 99/126/108 +f 111/127/109 112/129/110 100/128/97 +f 112/129/110 113/131/111 101/130/98 +f 113/131/111 114/133/112 102/132/100 +f 114/133/112 115/149/113 103/134/101 +f 115/135/113 116/138/115 104/136/114 +f 116/138/115 117/152/125 105/139/103 +f 105/139/103 117/152/125 118/140/116 +f 106/141/104 118/140/116 119/142/117 +f 119/142/117 120/154/127 108/144/105 +f 108/144/105 120/154/127 109/122/106 +f 121/145/119 122/157/130 110/125/107 +f 110/125/107 122/157/130 123/146/120 +f 123/146/120 124/160/133 112/129/110 +f 112/129/110 124/160/133 125/147/121 +f 125/147/121 126/148/122 114/133/112 +f 126/148/122 127/163/123 115/149/113 +f 127/150/123 128/165/137 116/138/115 +f 116/138/115 128/165/137 129/151/124 +f 129/151/124 130/167/139 118/140/116 +f 118/140/116 130/167/139 131/153/126 +f 131/153/126 132/155/128 120/154/127 +f 132/155/128 121/145/119 109/122/106 +f 133/156/129 134/158/131 122/157/130 +f 134/158/131 135/159/132 123/146/120 +f 135/159/132 136/173/145 124/160/133 +f 124/160/133 136/173/145 137/161/134 +f 137/161/134 138/162/135 126/148/122 +f 138/162/135 139/176/148 127/163/123 +f 127/150/123 139/178/148 140/164/136 +f 128/165/137 140/164/136 141/166/138 +f 141/166/138 142/181/152 130/167/139 +f 130/167/139 142/181/152 143/168/140 +f 131/153/126 143/168/140 144/169/141 +f 144/169/141 133/156/129 121/145/119 +f 145/170/142 146/171/143 134/158/131 +f 146/171/143 147/172/144 135/159/132 +f 147/172/144 148/500/157 136/173/145 +f 136/173/145 148/500/157 149/174/146 +f 149/174/146 150/175/147 138/162/135 +f 150/175/147 151/501/149 139/176/148 +f 151/177/149 152/179/150 140/164/136 +f 152/179/150 153/180/151 141/166/138 +f 153/180/151 154/502/163 142/181/152 +f 142/181/152 154/502/163 155/182/153 +f 143/168/140 155/182/153 156/183/154 +f 156/183/154 145/170/142 133/156/129 +f 145/184/142 157/207/167 158/185/155 +f 158/185/155 159/209/169 147/187/144 +f 147/187/144 159/209/169 160/188/156 +f 160/188/156 161/191/158 149/190/146 +f 161/191/158 162/193/159 150/192/147 +f 162/193/159 163/214/160 151/194/149 +f 163/195/160 164/198/161 152/196/150 +f 164/198/161 165/200/162 153/199/151 +f 165/200/162 166/202/164 154/201/163 +f 166/202/164 167/204/165 155/203/153 +f 167/204/165 168/206/166 156/205/154 +f 168/206/166 157/207/167 145/184/142 +f 157/207/167 169/220/178 170/208/168 +f 170/208/168 171/210/170 159/209/169 +f 171/210/170 172/211/171 160/188/156 +f 172/211/171 173/223/181 161/191/158 +f 161/191/158 173/223/181 174/212/172 +f 162/193/159 174/212/172 175/213/173 +f 175/215/173 176/216/174 164/198/161 +f 176/216/174 177/217/175 165/200/162 +f 177/217/175 178/228/186 166/202/164 +f 166/202/164 178/228/186 179/218/176 +f 167/204/165 179/218/176 180/219/177 +f 180/219/177 169/220/178 157/207/167 +f 169/220/178 181/231/189 182/221/179 +f 182/221/179 183/233/191 171/210/170 +f 171/210/170 183/233/191 184/222/180 +f 184/222/180 185/236/194 173/223/181 +f 173/223/181 185/236/194 186/224/182 +f 186/224/182 187/239/183 175/213/173 +f 187/225/183 188/226/184 176/216/174 +f 188/226/184 189/241/198 177/217/175 +f 177/217/175 189/241/198 190/227/185 +f 190/227/185 191/229/187 179/218/176 +f 191/229/187 192/230/188 180/219/177 +f 192/230/188 181/231/189 169/220/178 +f 181/231/189 193/503/13 194/232/190 +f 194/232/190 195/234/192 183/233/191 +f 195/234/192 196/235/193 184/222/180 +f 196/235/193 197/237/195 185/236/194 +f 197/237/195 198/238/196 186/224/182 +f 198/238/196 199/504/3 187/239/183 +f 187/225/183 199/505/3 200/240/197 +f 200/240/197 201/506/208 189/241/198 +f 189/241/198 201/506/208 202/242/199 +f 190/227/185 202/242/199 203/243/200 +f 191/229/187 203/243/200 204/244/201 +f 204/244/201 193/503/13 181/231/189 +f 205/245/14 206/248/202 194/246/190 +f 206/248/202 207/250/203 195/249/192 +f 207/250/203 208/252/204 196/251/193 +f 208/252/204 209/254/205 197/253/195 +f 209/254/205 210/256/206 198/255/196 +f 210/256/206 211/275/1 199/257/3 +f 211/258/1 212/261/207 200/259/197 +f 212/261/207 213/263/209 201/262/208 +f 213/263/209 214/265/210 202/264/199 +f 214/265/210 215/267/211 203/266/200 +f 215/267/211 216/281/220 204/268/201 +f 204/268/201 216/281/220 205/245/14 +f 217/269/29 218/270/212 206/248/202 +f 218/270/212 219/271/213 207/250/203 +f 219/271/213 220/272/214 208/252/204 +f 220/272/214 221/273/215 209/254/205 +f 221/273/215 222/286/224 210/256/206 +f 210/256/206 222/286/224 223/274/24 +f 223/276/24 224/277/216 212/261/207 +f 224/277/216 225/278/217 213/263/209 +f 225/278/217 226/291/228 214/265/210 +f 214/265/210 226/291/228 227/279/218 +f 215/267/211 227/279/218 228/280/219 +f 216/281/220 228/280/219 217/269/29 +f 229/282/41 230/295/231 218/270/212 +f 218/270/212 230/295/231 231/283/221 +f 231/283/221 232/284/222 220/272/214 +f 232/284/222 233/285/223 221/273/215 +f 233/285/223 234/287/225 222/286/224 +f 234/287/225 235/301/35 223/274/24 +f 235/288/35 236/289/226 224/277/216 +f 236/289/226 237/290/227 225/278/217 +f 237/290/227 238/304/239 226/291/228 +f 226/291/228 238/304/239 239/292/229 +f 239/292/229 240/293/230 228/280/219 +f 240/293/230 229/282/41 217/269/29 +f 241/294/50 242/296/232 230/295/231 +f 242/296/232 243/297/233 231/283/221 +f 243/297/233 244/298/234 232/284/222 +f 244/298/234 245/299/235 233/285/223 +f 245/299/235 246/300/236 234/287/225 +f 246/300/236 247/507/57 235/301/35 +f 235/288/35 247/508/57 248/302/237 +f 248/302/237 249/303/238 237/290/227 +f 249/303/238 250/509/246 238/304/239 +f 238/304/239 250/509/246 251/305/240 +f 251/305/240 252/510/248 240/293/230 +f 240/293/230 252/510/248 241/294/50 +f 253/306/64 254/309/241 242/307/232 +f 254/309/241 255/311/242 243/310/233 +f 255/311/242 256/330/252 244/312/234 +f 244/312/234 256/330/252 257/313/243 +f 257/313/243 258/316/244 246/315/236 +f 258/316/244 259/333/71 247/317/57 +f 259/318/71 260/335/255 248/319/237 +f 248/319/237 260/335/255 261/321/245 +f 261/321/245 262/338/258 250/323/246 +f 250/323/246 262/338/258 263/324/247 +f 263/324/247 264/327/249 252/326/248 +f 264/327/249 253/306/64 241/308/50 +f 253/306/64 265/342/77 266/328/250 +f 254/309/241 266/328/250 267/329/251 +f 267/329/251 268/345/263 256/330/252 +f 256/330/252 268/345/263 269/331/253 +f 269/331/253 270/332/254 258/316/244 +f 270/332/254 271/348/70 259/333/71 +f 271/334/70 272/336/256 260/335/255 +f 272/336/256 273/337/257 261/321/245 +f 273/337/257 274/351/267 262/338/258 +f 262/338/258 274/351/267 275/339/259 +f 275/339/259 276/340/260 264/327/249 +f 276/340/260 265/342/77 253/306/64 +f 277/341/87 278/343/261 266/328/250 +f 278/343/261 279/356/271 267/329/251 +f 267/329/251 279/356/271 280/344/262 +f 280/344/262 281/346/264 269/331/253 +f 281/346/264 282/347/265 270/332/254 +f 282/347/265 283/361/82 271/348/70 +f 283/349/82 284/363/276 272/336/256 +f 272/336/256 284/363/276 285/350/266 +f 285/350/266 286/352/268 274/351/267 +f 286/352/268 287/366/279 275/339/259 +f 275/339/259 287/366/279 288/353/269 +f 288/353/269 277/341/87 265/342/77 +f 289/354/101 290/355/270 278/343/261 +f 290/355/270 291/357/272 279/356/271 +f 291/357/272 292/358/273 280/344/262 +f 292/358/273 293/359/274 281/346/264 +f 293/359/274 294/360/275 282/347/265 +f 294/360/275 295/511/94 283/361/82 +f 295/362/94 296/512/287 284/363/276 +f 284/363/276 296/512/287 297/364/277 +f 285/350/266 297/364/277 298/365/278 +f 298/365/278 299/367/280 287/366/279 +f 299/367/280 300/368/281 288/353/269 +f 300/368/281 289/354/101 277/341/87 +f 301/369/113 302/372/282 290/370/270 +f 302/372/282 303/374/283 291/373/272 +f 303/374/283 304/376/284 292/375/273 +f 304/376/284 305/378/285 293/377/274 +f 305/378/285 306/380/286 294/379/275 +f 306/380/286 307/398/106 295/381/94 +f 307/382/106 308/385/288 296/383/287 +f 308/385/288 309/387/289 297/386/277 +f 309/387/289 310/389/290 298/388/278 +f 310/389/290 311/403/299 299/390/280 +f 299/390/280 311/403/299 312/391/291 +f 312/391/291 301/369/113 289/371/101 +f 313/393/123 314/394/292 302/372/282 +f 314/394/292 315/395/293 303/374/283 +f 315/395/293 316/408/303 304/376/284 +f 304/376/284 316/408/303 317/396/294 +f 317/396/294 318/397/295 306/380/286 +f 318/397/295 319/410/119 307/398/106 +f 319/399/119 320/400/296 308/385/288 +f 320/400/296 321/401/297 309/387/289 +f 321/401/297 322/402/298 310/389/290 +f 322/402/298 323/415/308 311/403/299 +f 311/403/299 323/415/308 324/404/300 +f 324/404/300 313/393/123 301/369/113 +f 325/405/148 326/406/301 314/394/292 +f 326/406/301 327/419/311 315/395/293 +f 315/395/293 327/419/311 328/407/302 +f 328/407/302 329/422/314 317/396/294 +f 317/396/294 329/422/314 330/409/304 +f 330/409/304 331/424/129 319/410/119 +f 331/411/129 332/412/305 320/400/296 +f 332/412/305 333/413/306 321/401/297 +f 333/413/306 334/414/307 322/402/298 +f 334/414/307 335/429/319 323/415/308 +f 323/415/308 335/429/319 336/416/309 +f 336/416/309 325/405/148 313/393/123 +f 337/417/149 338/418/310 326/406/301 +f 338/418/310 339/420/312 327/419/311 +f 339/420/312 340/513/323 328/407/302 +f 328/407/302 340/513/323 341/421/313 +f 341/421/313 342/423/315 330/409/304 +f 342/423/315 343/514/142 331/424/129 +f 343/425/142 344/426/316 332/412/305 +f 344/426/316 345/427/317 333/413/306 +f 345/427/317 346/428/318 334/414/307 +f 346/428/318 347/430/320 335/429/319 +f 347/430/320 348/515/330 336/416/309 +f 336/416/309 348/515/330 337/417/149 +f 349/431/160 350/434/321 338/432/310 +f 350/434/321 351/436/322 339/435/312 +f 351/436/322 352/438/324 340/437/323 +f 352/438/324 353/440/325 341/439/313 +f 353/440/325 354/442/326 342/441/315 +f 354/442/326 355/460/167 343/443/142 +f 355/444/167 356/447/327 344/445/316 +f 356/447/327 357/449/328 345/448/317 +f 357/449/328 358/464/337 346/450/318 +f 346/450/318 358/464/337 359/451/329 +f 359/451/329 360/454/331 348/453/330 +f 360/454/331 349/431/160 337/433/149 +f 361/455/173 362/456/332 350/434/321 +f 362/456/332 363/469/341 351/436/322 +f 351/436/322 363/469/341 364/457/333 +f 364/457/333 365/472/344 353/440/325 +f 353/440/325 365/472/344 366/458/334 +f 354/442/326 366/458/334 367/459/178 +f 367/461/178 368/462/335 356/447/327 +f 368/462/335 369/477/348 357/449/328 +f 357/449/328 369/477/348 370/463/336 +f 370/463/336 371/465/338 359/451/329 +f 371/465/338 372/466/339 360/454/331 +f 372/466/339 361/455/173 349/431/160 +f 373/467/183 374/468/340 362/456/332 +f 374/468/340 375/470/342 363/469/341 +f 375/470/342 376/471/343 364/457/333 +f 376/471/343 377/473/345 365/472/344 +f 377/473/345 378/474/346 366/458/334 +f 378/474/346 379/485/189 367/459/178 +f 379/475/189 380/487/352 368/462/335 +f 368/462/335 380/487/352 381/476/347 +f 369/477/348 381/476/347 382/478/349 +f 370/463/336 382/478/349 383/479/350 +f 383/479/350 384/480/351 372/466/339 +f 384/480/351 373/467/183 361/455/173 +f 373/467/183 1/516/3 2/481/2 +f 2/481/2 3/517/5 375/470/342 +f 375/470/342 3/517/5 4/482/7 +f 4/482/7 5/483/9 377/473/345 +f 5/483/9 6/484/11 378/474/346 +f 6/484/11 7/518/13 379/485/189 +f 379/475/189 7/519/13 8/486/15 +f 8/486/15 9/520/17 381/476/347 +f 381/476/347 9/520/17 10/488/19 +f 10/488/19 11/489/21 383/479/350 +f 11/489/21 12/490/22 384/480/351 +f 12/490/22 1/516/3 373/467/183 diff --git a/src/main/java/assets/hbm/models/effect/ring_thin.obj b/src/main/java/assets/hbm/models/effect/ring_thin.obj new file mode 100644 index 000000000..2fb31abaf --- /dev/null +++ b/src/main/java/assets/hbm/models/effect/ring_thin.obj @@ -0,0 +1,2028 @@ +# Blender v2.79 (sub 0) OBJ File: 'ring_thin.blend' +# www.blender.org +o Torus +v 1.000000 0.000000 0.000000 +v 0.991627 0.031250 0.000000 +v 0.968750 0.054127 0.000000 +v 0.937500 0.062500 0.000000 +v 0.906250 0.054127 0.000000 +v 0.883373 0.031250 0.000000 +v 0.875000 0.000000 0.000000 +v 0.883373 -0.031250 0.000000 +v 0.906250 -0.054127 0.000000 +v 0.937500 -0.062500 0.000000 +v 0.968750 -0.054127 0.000000 +v 0.991627 -0.031250 0.000000 +v 0.980785 0.000000 -0.195090 +v 0.972573 0.031250 -0.193457 +v 0.950136 0.054127 -0.188994 +v 0.919486 0.062500 -0.182897 +v 0.888837 0.054127 -0.176801 +v 0.866400 0.031250 -0.172338 +v 0.858187 0.000000 -0.170704 +v 0.866400 -0.031250 -0.172338 +v 0.888837 -0.054127 -0.176801 +v 0.919486 -0.062500 -0.182897 +v 0.950136 -0.054127 -0.188994 +v 0.972573 -0.031250 -0.193457 +v 0.923880 0.000000 -0.382683 +v 0.916144 0.031250 -0.379479 +v 0.895008 0.054127 -0.370724 +v 0.866137 0.062500 -0.358766 +v 0.837266 0.054127 -0.346807 +v 0.816131 0.031250 -0.338052 +v 0.808395 0.000000 -0.334848 +v 0.816131 -0.031250 -0.338052 +v 0.837266 -0.054127 -0.346807 +v 0.866137 -0.062500 -0.358766 +v 0.895008 -0.054127 -0.370724 +v 0.916144 -0.031250 -0.379479 +v 0.831470 0.000000 -0.555570 +v 0.824507 0.031250 -0.550918 +v 0.805486 0.054127 -0.538209 +v 0.779503 0.062500 -0.520847 +v 0.753519 0.054127 -0.503486 +v 0.734498 0.031250 -0.490776 +v 0.727536 0.000000 -0.486124 +v 0.734498 -0.031250 -0.490776 +v 0.753519 -0.054127 -0.503486 +v 0.779503 -0.062500 -0.520847 +v 0.805486 -0.054127 -0.538209 +v 0.824507 -0.031250 -0.550918 +v 0.707107 0.000000 -0.707107 +v 0.701186 0.031250 -0.701186 +v 0.685010 0.054127 -0.685010 +v 0.662913 0.062500 -0.662913 +v 0.640815 0.054127 -0.640816 +v 0.624639 0.031250 -0.624639 +v 0.618718 0.000000 -0.618719 +v 0.624639 -0.031250 -0.624639 +v 0.640815 -0.054127 -0.640816 +v 0.662913 -0.062500 -0.662913 +v 0.685010 -0.054127 -0.685010 +v 0.701186 -0.031250 -0.701186 +v 0.555570 0.000000 -0.831470 +v 0.550918 0.031250 -0.824507 +v 0.538209 0.054127 -0.805486 +v 0.520847 0.062500 -0.779503 +v 0.503485 0.054127 -0.753519 +v 0.490776 0.031250 -0.734498 +v 0.486124 0.000000 -0.727536 +v 0.490776 -0.031250 -0.734498 +v 0.503485 -0.054127 -0.753519 +v 0.520847 -0.062500 -0.779503 +v 0.538209 -0.054127 -0.805486 +v 0.550918 -0.031250 -0.824507 +v 0.382684 0.000000 -0.923879 +v 0.379479 0.031250 -0.916143 +v 0.370725 0.054127 -0.895008 +v 0.358766 0.062500 -0.866137 +v 0.346807 0.054127 -0.837266 +v 0.338053 0.031250 -0.816131 +v 0.334848 0.000000 -0.808394 +v 0.338053 -0.031250 -0.816131 +v 0.346807 -0.054127 -0.837266 +v 0.358766 -0.062500 -0.866137 +v 0.370725 -0.054127 -0.895008 +v 0.379479 -0.031250 -0.916143 +v 0.195090 0.000000 -0.980785 +v 0.193457 0.031250 -0.972573 +v 0.188994 0.054127 -0.950136 +v 0.182897 0.062500 -0.919486 +v 0.176801 0.054127 -0.888837 +v 0.172338 0.031250 -0.866400 +v 0.170704 0.000000 -0.858187 +v 0.172338 -0.031250 -0.866400 +v 0.176801 -0.054127 -0.888837 +v 0.182897 -0.062500 -0.919486 +v 0.188994 -0.054127 -0.950136 +v 0.193457 -0.031250 -0.972573 +v 0.000000 0.000000 -1.000000 +v 0.000000 0.031250 -0.991627 +v 0.000000 0.054127 -0.968750 +v 0.000000 0.062500 -0.937500 +v 0.000000 0.054127 -0.906250 +v 0.000000 0.031250 -0.883373 +v 0.000000 0.000000 -0.875000 +v 0.000000 -0.031250 -0.883373 +v 0.000000 -0.054127 -0.906250 +v 0.000000 -0.062500 -0.937500 +v 0.000000 -0.054127 -0.968750 +v 0.000000 -0.031250 -0.991627 +v -0.195090 0.000000 -0.980785 +v -0.193457 0.031250 -0.972573 +v -0.188994 0.054127 -0.950136 +v -0.182897 0.062500 -0.919486 +v -0.176801 0.054127 -0.888837 +v -0.172338 0.031250 -0.866400 +v -0.170704 0.000000 -0.858187 +v -0.172338 -0.031250 -0.866400 +v -0.176801 -0.054127 -0.888837 +v -0.182897 -0.062500 -0.919486 +v -0.188994 -0.054127 -0.950136 +v -0.193457 -0.031250 -0.972573 +v -0.382684 0.000000 -0.923880 +v -0.379479 0.031250 -0.916143 +v -0.370725 0.054127 -0.895008 +v -0.358766 0.062500 -0.866137 +v -0.346807 0.054127 -0.837266 +v -0.338052 0.031250 -0.816131 +v -0.334848 0.000000 -0.808395 +v -0.338052 -0.031250 -0.816131 +v -0.346807 -0.054127 -0.837266 +v -0.358766 -0.062500 -0.866137 +v -0.370725 -0.054127 -0.895008 +v -0.379479 -0.031250 -0.916143 +v -0.555570 0.000000 -0.831470 +v -0.550918 0.031250 -0.824508 +v -0.538208 0.054127 -0.805486 +v -0.520847 0.062500 -0.779503 +v -0.503485 0.054127 -0.753519 +v -0.490776 0.031250 -0.734498 +v -0.486124 0.000000 -0.727536 +v -0.490776 -0.031250 -0.734498 +v -0.503485 -0.054127 -0.753519 +v -0.520847 -0.062500 -0.779503 +v -0.538208 -0.054127 -0.805486 +v -0.550918 -0.031250 -0.824508 +v -0.707107 0.000000 -0.707107 +v -0.701186 0.031250 -0.701186 +v -0.685010 0.054127 -0.685009 +v -0.662913 0.062500 -0.662912 +v -0.640816 0.054127 -0.640815 +v -0.624640 0.031250 -0.624639 +v -0.618719 0.000000 -0.618718 +v -0.624640 -0.031250 -0.624639 +v -0.640816 -0.054127 -0.640815 +v -0.662913 -0.062500 -0.662912 +v -0.685010 -0.054127 -0.685009 +v -0.701186 -0.031250 -0.701186 +v -0.831470 0.000000 -0.555570 +v -0.824507 0.031250 -0.550918 +v -0.805486 0.054127 -0.538209 +v -0.779503 0.062500 -0.520847 +v -0.753519 0.054127 -0.503486 +v -0.734498 0.031250 -0.490776 +v -0.727536 0.000000 -0.486124 +v -0.734498 -0.031250 -0.490776 +v -0.753519 -0.054127 -0.503486 +v -0.779503 -0.062500 -0.520847 +v -0.805486 -0.054127 -0.538209 +v -0.824507 -0.031250 -0.550918 +v -0.923880 0.000000 -0.382683 +v -0.916143 0.031250 -0.379479 +v -0.895008 0.054127 -0.370725 +v -0.866137 0.062500 -0.358766 +v -0.837266 0.054127 -0.346807 +v -0.816131 0.031250 -0.338052 +v -0.808395 0.000000 -0.334848 +v -0.816131 -0.031250 -0.338052 +v -0.837266 -0.054127 -0.346807 +v -0.866137 -0.062500 -0.358766 +v -0.895008 -0.054127 -0.370725 +v -0.916143 -0.031250 -0.379479 +v -0.980785 0.000000 -0.195090 +v -0.972573 0.031250 -0.193457 +v -0.950136 0.054127 -0.188994 +v -0.919486 0.062500 -0.182897 +v -0.888837 0.054127 -0.176801 +v -0.866400 0.031250 -0.172338 +v -0.858187 0.000000 -0.170704 +v -0.866400 -0.031250 -0.172338 +v -0.888837 -0.054127 -0.176801 +v -0.919486 -0.062500 -0.182897 +v -0.950136 -0.054127 -0.188994 +v -0.972573 -0.031250 -0.193457 +v -1.000000 0.000000 -0.000000 +v -0.991627 0.031250 -0.000000 +v -0.968750 0.054127 -0.000000 +v -0.937500 0.062500 -0.000000 +v -0.906250 0.054127 -0.000000 +v -0.883373 0.031250 -0.000000 +v -0.875000 0.000000 -0.000000 +v -0.883373 -0.031250 -0.000000 +v -0.906250 -0.054127 -0.000000 +v -0.937500 -0.062500 -0.000000 +v -0.968750 -0.054127 -0.000000 +v -0.991627 -0.031250 -0.000000 +v -0.980785 0.000000 0.195090 +v -0.972573 0.031250 0.193457 +v -0.950136 0.054127 0.188994 +v -0.919486 0.062500 0.182897 +v -0.888837 0.054127 0.176801 +v -0.866400 0.031250 0.172338 +v -0.858187 0.000000 0.170704 +v -0.866400 -0.031250 0.172338 +v -0.888837 -0.054127 0.176801 +v -0.919486 -0.062500 0.182897 +v -0.950136 -0.054127 0.188994 +v -0.972573 -0.031250 0.193457 +v -0.923880 0.000000 0.382683 +v -0.916144 0.031250 0.379479 +v -0.895008 0.054127 0.370724 +v -0.866137 0.062500 0.358765 +v -0.837266 0.054127 0.346807 +v -0.816131 0.031250 0.338052 +v -0.808395 0.000000 0.334848 +v -0.816131 -0.031250 0.338052 +v -0.837266 -0.054127 0.346807 +v -0.866137 -0.062500 0.358765 +v -0.895008 -0.054127 0.370724 +v -0.916144 -0.031250 0.379479 +v -0.831470 0.000000 0.555570 +v -0.824507 0.031250 0.550918 +v -0.805486 0.054127 0.538209 +v -0.779503 0.062500 0.520847 +v -0.753519 0.054127 0.503486 +v -0.734498 0.031250 0.490776 +v -0.727536 0.000000 0.486124 +v -0.734498 -0.031250 0.490776 +v -0.753519 -0.054127 0.503486 +v -0.779503 -0.062500 0.520847 +v -0.805486 -0.054127 0.538209 +v -0.824507 -0.031250 0.550918 +v -0.707107 0.000000 0.707107 +v -0.701186 0.031250 0.701186 +v -0.685010 0.054127 0.685009 +v -0.662913 0.062500 0.662912 +v -0.640816 0.054127 0.640815 +v -0.624640 0.031250 0.624639 +v -0.618719 0.000000 0.618718 +v -0.624640 -0.031250 0.624639 +v -0.640816 -0.054127 0.640815 +v -0.662913 -0.062500 0.662912 +v -0.685010 -0.054127 0.685009 +v -0.701186 -0.031250 0.701186 +v -0.555571 0.000000 0.831469 +v -0.550919 0.031250 0.824507 +v -0.538209 0.054127 0.805486 +v -0.520848 0.062500 0.779502 +v -0.503486 0.054127 0.753519 +v -0.490776 0.031250 0.734498 +v -0.486124 0.000000 0.727536 +v -0.490776 -0.031250 0.734498 +v -0.503486 -0.054127 0.753519 +v -0.520848 -0.062500 0.779502 +v -0.538209 -0.054127 0.805486 +v -0.550919 -0.031250 0.824507 +v -0.382684 0.000000 0.923880 +v -0.379479 0.031250 0.916143 +v -0.370725 0.054127 0.895008 +v -0.358766 0.062500 0.866137 +v -0.346807 0.054127 0.837266 +v -0.338052 0.031250 0.816131 +v -0.334848 0.000000 0.808395 +v -0.338052 -0.031250 0.816131 +v -0.346807 -0.054127 0.837266 +v -0.358766 -0.062500 0.866137 +v -0.370725 -0.054127 0.895008 +v -0.379479 -0.031250 0.916143 +v -0.195091 0.000000 0.980785 +v -0.193457 0.031250 0.972573 +v -0.188994 0.054127 0.950136 +v -0.182898 0.062500 0.919486 +v -0.176801 0.054127 0.888837 +v -0.172338 0.031250 0.866400 +v -0.170704 0.000000 0.858187 +v -0.172338 -0.031250 0.866400 +v -0.176801 -0.054127 0.888837 +v -0.182898 -0.062500 0.919486 +v -0.188994 -0.054127 0.950136 +v -0.193457 -0.031250 0.972573 +v 0.000000 0.000000 1.000000 +v 0.000000 0.031250 0.991627 +v 0.000000 0.054127 0.968750 +v 0.000000 0.062500 0.937500 +v 0.000000 0.054127 0.906250 +v 0.000000 0.031250 0.883373 +v 0.000000 0.000000 0.875000 +v 0.000000 -0.031250 0.883373 +v 0.000000 -0.054127 0.906250 +v 0.000000 -0.062500 0.937500 +v 0.000000 -0.054127 0.968750 +v 0.000000 -0.031250 0.991627 +v 0.195090 0.000000 0.980785 +v 0.193456 0.031250 0.972573 +v 0.188993 0.054127 0.950136 +v 0.182897 0.062500 0.919486 +v 0.176800 0.054127 0.888837 +v 0.172337 0.031250 0.866400 +v 0.170704 0.000000 0.858187 +v 0.172337 -0.031250 0.866400 +v 0.176800 -0.054127 0.888837 +v 0.182897 -0.062500 0.919486 +v 0.188993 -0.054127 0.950136 +v 0.193456 -0.031250 0.972573 +v 0.382684 0.000000 0.923879 +v 0.379479 0.031250 0.916143 +v 0.370725 0.054127 0.895008 +v 0.358766 0.062500 0.866137 +v 0.346807 0.054127 0.837266 +v 0.338053 0.031250 0.816131 +v 0.334848 0.000000 0.808394 +v 0.338053 -0.031250 0.816131 +v 0.346807 -0.054127 0.837266 +v 0.358766 -0.062500 0.866137 +v 0.370725 -0.054127 0.895008 +v 0.379479 -0.031250 0.916143 +v 0.555570 0.000000 0.831470 +v 0.550918 0.031250 0.824507 +v 0.538209 0.054127 0.805486 +v 0.520847 0.062500 0.779503 +v 0.503485 0.054127 0.753519 +v 0.490776 0.031250 0.734498 +v 0.486124 0.000000 0.727536 +v 0.490776 -0.031250 0.734498 +v 0.503485 -0.054127 0.753519 +v 0.520847 -0.062500 0.779503 +v 0.538209 -0.054127 0.805486 +v 0.550918 -0.031250 0.824507 +v 0.707106 0.000000 0.707107 +v 0.701186 0.031250 0.701186 +v 0.685009 0.054127 0.685010 +v 0.662912 0.062500 0.662913 +v 0.640815 0.054127 0.640816 +v 0.624639 0.031250 0.624640 +v 0.618718 0.000000 0.618719 +v 0.624639 -0.031250 0.624640 +v 0.640815 -0.054127 0.640816 +v 0.662912 -0.062500 0.662913 +v 0.685009 -0.054127 0.685010 +v 0.701186 -0.031250 0.701186 +v 0.831470 0.000000 0.555570 +v 0.824507 0.031250 0.550918 +v 0.805486 0.054127 0.538209 +v 0.779503 0.062500 0.520847 +v 0.753519 0.054127 0.503486 +v 0.734498 0.031250 0.490776 +v 0.727536 0.000000 0.486124 +v 0.734498 -0.031250 0.490776 +v 0.753519 -0.054127 0.503486 +v 0.779503 -0.062500 0.520847 +v 0.805486 -0.054127 0.538209 +v 0.824507 -0.031250 0.550918 +v 0.923879 0.000000 0.382684 +v 0.916143 0.031250 0.379479 +v 0.895008 0.054127 0.370725 +v 0.866137 0.062500 0.358766 +v 0.837266 0.054127 0.346807 +v 0.816131 0.031250 0.338053 +v 0.808394 0.000000 0.334848 +v 0.816131 -0.031250 0.338053 +v 0.837266 -0.054127 0.346807 +v 0.866137 -0.062500 0.358766 +v 0.895008 -0.054127 0.370725 +v 0.916143 -0.031250 0.379479 +v 0.980785 0.000000 0.195090 +v 0.972573 0.031250 0.193457 +v 0.950136 0.054127 0.188994 +v 0.919486 0.062500 0.182897 +v 0.888837 0.054127 0.176800 +v 0.866400 0.031250 0.172337 +v 0.858187 0.000000 0.170704 +v 0.866400 -0.031250 0.172337 +v 0.888837 -0.054127 0.176800 +v 0.919486 -0.062500 0.182897 +v 0.950136 -0.054127 0.188994 +v 0.972573 -0.031250 0.193457 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.333333 +vt 0.250000 -0.166667 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.250000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.500000 0.833333 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 0.000000 +vt 0.500000 0.000000 +vt 0.750000 0.333333 +vt 0.500000 0.333333 +vt 1.000000 0.666667 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.166667 +vt 0.000000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.500000 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.333333 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.500000 +vt 0.500000 0.833333 +vt 0.250000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.250000 1.333333 +vt 0.500000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.250000 0.166667 +vt 0.750000 0.500000 +vt 0.500000 0.666667 +vt 0.750000 0.666667 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.500000 1.333333 +vt 0.750000 1.500000 +vt 0.750000 -0.500000 +vt 0.500000 -0.333333 +vt 0.750000 -0.333333 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 0.500000 0.333333 +vt 1.000000 0.666667 +vt 1.000000 0.833333 +vt 1.000000 1.166667 +vt 0.750000 1.333333 +vt 1.000000 1.333333 +vt 1.000000 -0.500000 +vt 1.000000 -0.166667 +vt 1.000000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.166667 +vt 0.000000 1.166667 +vt 0.250000 1.333333 +vt 0.000000 1.333333 +vt 0.000000 1.500000 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.250000 0.333333 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.833333 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.250000 -0.500000 +vt 0.500000 -0.333333 +vt 0.250000 -0.166667 +vt 0.500000 0.000000 +vt 0.500000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.666667 +vt 0.500000 0.666667 +vt 0.750000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.500000 -0.500000 +vt 0.750000 -0.333333 +vt 0.500000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.333333 +vt 0.750000 0.500000 +vt 1.000000 0.666667 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 0.750000 1.166667 +vt 1.000000 1.500000 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 -0.166667 +vt 0.750000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.333333 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.166667 +vt 0.000000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.166667 +vt 0.000000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.250000 0.333333 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.500000 +vt 0.500000 0.666667 +vt 0.500000 0.833333 +vt 0.250000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.333333 +vt 0.250000 1.500000 +vt 0.500000 -0.333333 +vt 0.250000 -0.333333 +vt 0.500000 0.000000 +vt 0.250000 0.000000 +vt 0.500000 0.166667 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.750000 1.000000 +vt 0.500000 1.166667 +vt 0.750000 1.166667 +vt 0.750000 1.500000 +vt 0.500000 1.500000 +vt 0.750000 -0.500000 +vt 0.500000 -0.500000 +vt 0.750000 -0.166667 +vt 0.500000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 0.500000 0.333333 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.166667 +vt 0.750000 1.333333 +vt 1.000000 1.333333 +vt 1.000000 -0.500000 +vt 0.750000 -0.333333 +vt 1.000000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.833333 +vt 0.000000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.333333 +vt 0.000000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.166667 +vt 0.000000 0.166667 +vt 0.000000 0.333333 +vt 0.250000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.666667 +vt 0.500000 0.833333 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.250000 1.166667 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.500000 -0.166667 +vt 0.250000 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.166667 +vt 0.750000 0.666667 +vt 0.500000 0.666667 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.500000 1.333333 +vt 0.750000 1.333333 +vt 0.750000 -0.500000 +vt 0.500000 -0.333333 +vt 0.750000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.333333 +vt 0.500000 0.333333 +vt 1.000000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.833333 +vt 0.000000 0.833333 +vt 0.250000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.666667 +vt 0.500000 0.666667 +vt 0.500000 1.000000 +vt 0.500000 1.166667 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.250000 -0.500000 +vt 0.500000 -0.333333 +vt 0.250000 -0.166667 +vt 0.500000 -0.166667 +vt 0.500000 0.000000 +vt 0.500000 0.166667 +vt 0.250000 0.333333 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.833333 +vt 0.500000 0.833333 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.333333 +vt 0.750000 1.500000 +vt 0.750000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 -0.166667 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.500000 +vt 0.750000 0.666667 +vt 1.000000 0.833333 +vt 0.750000 1.000000 +vt 1.000000 1.166667 +vt 1.000000 1.333333 +vt 1.000000 -0.500000 +vt 1.000000 -0.333333 +vt 1.000000 0.000000 +vt 1.000000 0.333333 +vt 0.750000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.666667 +vt 0.000000 0.833333 +vt 0.250000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.333333 +vt 0.000000 1.333333 +vt 0.250000 1.500000 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.333333 +vt 0.000000 -0.166667 +vt 0.250000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.500000 0.666667 +vt 0.250000 0.833333 +vt 0.500000 1.000000 +vt 0.250000 1.166667 +vt 0.500000 1.166667 +vt 0.500000 1.333333 +vt 0.500000 -0.333333 +vt 0.500000 -0.166667 +vt 0.250000 -0.166667 +vt 0.500000 0.000000 +vt 0.500000 0.166667 +vt 0.250000 0.333333 +vt 0.500000 0.333333 +vt 0.750000 0.500000 +vt 0.750000 0.666667 +vt 0.500000 0.833333 +vt 0.750000 1.000000 +vt 0.750000 1.166667 +vt 0.750000 1.333333 +vt 0.500000 1.500000 +vt 0.500000 -0.500000 +vt 0.750000 -0.333333 +vt 0.750000 0.000000 +vt 0.750000 0.166667 +vt 0.750000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 0.750000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 1.333333 +vt 1.000000 1.500000 +vt 0.750000 1.500000 +vt 1.000000 -0.500000 +vt 0.750000 -0.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.166667 +vt 1.000000 0.000000 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt 0.250000 0.500000 +vt 0.000000 0.666667 +vt 0.000000 0.500000 +vt 0.250000 0.833333 +vt 0.000000 0.833333 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.000000 1.166667 +vt 0.250000 1.166667 +vt 0.000000 1.333333 +vt 0.250000 1.333333 +vt 0.000000 1.500000 +vt 0.250000 -0.500000 +vt 0.000000 -0.333333 +vt 0.000000 -0.500000 +vt 0.250000 -0.166667 +vt 0.000000 -0.166667 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.000000 0.166667 +vt 0.250000 0.166667 +vt 0.000000 0.333333 +vt 0.500000 0.500000 +vt 0.250000 0.666667 +vt 0.500000 0.666667 +vt 0.500000 0.833333 +vt 0.500000 1.166667 +vt 0.500000 1.500000 +vt 0.250000 1.500000 +vt 0.500000 -0.500000 +vt 0.250000 -0.333333 +vt 0.500000 -0.166667 +vt 0.500000 0.166667 +vt 0.250000 0.333333 +vt 0.500000 0.333333 +vt 0.750000 0.666667 +vt 0.750000 0.833333 +vt 0.500000 1.000000 +vt 0.750000 1.166667 +vt 0.500000 1.333333 +vt 0.750000 1.333333 +vt 0.750000 -0.500000 +vt 0.500000 -0.333333 +vt 0.750000 -0.166667 +vt 0.500000 0.000000 +vt 0.750000 0.000000 +vt 0.750000 0.333333 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 1.000000 1.000000 +vt 0.750000 1.000000 +vt 1.000000 1.333333 +vt 0.750000 1.500000 +vt 1.000000 -0.333333 +vt 0.750000 -0.333333 +vt 1.000000 -0.166667 +vt 1.000000 0.000000 +vt 0.750000 0.166667 +vt 1.000000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 1.500000 +vt 1.000000 -0.166667 +vt 1.000000 0.166667 +vt 1.000000 1.000000 +vt 1.000000 1.500000 +vt 1.000000 -0.333333 +vt 1.000000 0.000000 +vt 1.000000 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.833333 +vt 1.000000 1.333333 +vt 1.000000 -0.333333 +vt 1.000000 0.166667 +vt 1.000000 1.500000 +vt 1.000000 0.166667 +vt 1.000000 1.166667 +vt 1.000000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 0.666667 +vt 1.000000 1.000000 +vt 1.000000 1.500000 +vt 1.000000 -0.166667 +vt 1.000000 0.166667 +vt 1.000000 0.833333 +vt 1.000000 1.166667 +vt 1.000000 -0.166667 +vt 1.000000 0.833333 +vt 1.000000 1.166667 +vt 1.000000 1.500000 +vt 1.000000 -0.500000 +vt 1.000000 0.166667 +vn 1.0000 0.0000 0.0000 +vn 0.8532 0.4931 -0.1697 +vn 0.8699 0.4931 0.0000 +vn 0.5119 0.8590 0.0000 +vn 0.5021 0.8590 -0.0999 +vn 0.0161 0.9998 0.0000 +vn 0.0158 0.9998 -0.0031 +vn -0.4877 0.8730 0.0000 +vn -0.4783 0.8730 0.0951 +vn -0.8618 0.5071 0.0000 +vn -0.8453 0.5071 0.1681 +vn -1.0000 0.0000 0.0000 +vn -0.9808 0.0000 0.1951 +vn -0.8618 -0.5071 0.0000 +vn -0.8453 -0.5071 0.1681 +vn -0.4877 -0.8730 0.0000 +vn 0.0158 -0.9998 -0.0031 +vn 0.0161 -0.9998 0.0000 +vn 0.5021 -0.8590 -0.0999 +vn 0.5119 -0.8590 0.0000 +vn 0.8699 -0.4931 0.0000 +vn 0.9808 0.0000 -0.1951 +vn 0.9239 0.0000 -0.3827 +vn 0.8037 0.4931 -0.3329 +vn 0.0149 0.9998 -0.0062 +vn -0.4505 0.8730 0.1866 +vn -0.7963 0.5071 0.3298 +vn -0.9239 0.0000 0.3827 +vn -0.7963 -0.5071 0.3298 +vn -0.4783 -0.8730 0.0951 +vn -0.4505 -0.8730 0.1866 +vn 0.4729 -0.8590 -0.1959 +vn 0.8532 -0.4931 -0.1697 +vn 0.8314 0.0000 -0.5556 +vn 0.7233 0.4931 -0.4833 +vn 0.4729 0.8590 -0.1959 +vn 0.4256 0.8590 -0.2844 +vn 0.0134 0.9998 -0.0090 +vn -0.4055 0.8730 0.2709 +vn -0.7166 0.5071 0.4788 +vn -0.8314 0.0000 0.5556 +vn -0.7166 -0.5071 0.4788 +vn 0.0134 -0.9998 -0.0090 +vn 0.0149 -0.9998 -0.0062 +vn 0.7233 -0.4931 -0.4833 +vn 0.8037 -0.4931 -0.3329 +vn 0.6151 0.4931 -0.6151 +vn 0.3620 0.8590 -0.3620 +vn 0.0114 0.9998 -0.0114 +vn -0.3448 0.8730 0.3448 +vn -0.6094 0.5071 0.6094 +vn -0.7071 0.0000 0.7071 +vn -0.6094 -0.5071 0.6094 +vn -0.4055 -0.8730 0.2709 +vn 0.0114 -0.9998 -0.0114 +vn 0.4256 -0.8590 -0.2844 +vn 0.6151 -0.4931 -0.6151 +vn 0.7071 0.0000 -0.7071 +vn 0.4833 0.4931 -0.7233 +vn 0.2844 0.8590 -0.4256 +vn -0.2709 0.8730 0.4055 +vn -0.5556 0.0000 0.8314 +vn -0.4788 -0.5071 0.7166 +vn -0.3448 -0.8730 0.3448 +vn -0.2709 -0.8730 0.4055 +vn 0.0090 -0.9998 -0.0134 +vn 0.3620 -0.8590 -0.3620 +vn 0.4833 -0.4931 -0.7233 +vn 0.3827 0.0000 -0.9239 +vn 0.5556 0.0000 -0.8314 +vn 0.1959 0.8590 -0.4729 +vn 0.0090 0.9998 -0.0134 +vn 0.0062 0.9998 -0.0149 +vn -0.1866 0.8730 0.4505 +vn -0.4788 0.5071 0.7166 +vn -0.3827 0.0000 0.9239 +vn -0.1866 -0.8730 0.4505 +vn 0.1959 -0.8590 -0.4729 +vn 0.2844 -0.8590 -0.4256 +vn 0.1951 0.0000 -0.9808 +vn 0.3329 0.4931 -0.8037 +vn 0.1697 0.4931 -0.8532 +vn 0.0999 0.8590 -0.5021 +vn 0.0031 0.9998 -0.0158 +vn -0.0951 0.8730 0.4783 +vn -0.3298 0.5071 0.7963 +vn -0.1951 0.0000 0.9808 +vn -0.3298 -0.5071 0.7963 +vn -0.1681 -0.5071 0.8453 +vn -0.0951 -0.8730 0.4783 +vn 0.0062 -0.9998 -0.0149 +vn 0.0031 -0.9998 -0.0158 +vn 0.0999 -0.8590 -0.5021 +vn 0.3329 -0.4931 -0.8037 +vn 0.0000 0.4931 -0.8699 +vn 0.0000 0.8590 -0.5119 +vn 0.0000 0.8730 0.4877 +vn -0.1681 0.5071 0.8453 +vn 0.0000 0.5071 0.8618 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.8730 0.4877 +vn 0.0000 -0.8590 -0.5119 +vn 0.1697 -0.4931 -0.8532 +vn 0.0000 0.0000 -1.0000 +vn -0.1951 0.0000 -0.9808 +vn -0.1697 0.4931 -0.8532 +vn -0.0999 0.8590 -0.5021 +vn 0.0000 0.9998 -0.0161 +vn 0.0951 0.8730 0.4783 +vn 0.1681 0.5071 0.8453 +vn 0.1681 -0.5071 0.8453 +vn 0.0000 -0.5071 0.8618 +vn -0.0031 -0.9998 -0.0158 +vn 0.0000 -0.9998 -0.0161 +vn -0.0999 -0.8590 -0.5021 +vn -0.1697 -0.4931 -0.8532 +vn 0.0000 -0.4931 -0.8699 +vn -0.3827 0.0000 -0.9239 +vn -0.1959 0.8590 -0.4729 +vn -0.0062 0.9998 -0.0149 +vn -0.0031 0.9998 -0.0158 +vn 0.1866 0.8730 0.4505 +vn 0.3298 0.5071 0.7963 +vn 0.1951 0.0000 0.9808 +vn 0.3298 -0.5071 0.7963 +vn 0.0951 -0.8730 0.4783 +vn -0.0062 -0.9998 -0.0149 +vn -0.1959 -0.8590 -0.4729 +vn -0.3329 -0.4931 -0.8037 +vn -0.4833 0.4931 -0.7233 +vn -0.3329 0.4931 -0.8037 +vn -0.2844 0.8590 -0.4256 +vn -0.0090 0.9998 -0.0134 +vn 0.4788 0.5071 0.7166 +vn 0.3827 0.0000 0.9239 +vn 0.5556 0.0000 0.8314 +vn 0.4788 -0.5071 0.7166 +vn 0.1866 -0.8730 0.4505 +vn -0.0090 -0.9998 -0.0134 +vn -0.4833 -0.4931 -0.7233 +vn -0.5556 0.0000 -0.8314 +vn -0.6151 0.4931 -0.6151 +vn -0.0114 0.9998 -0.0114 +vn 0.3448 0.8730 0.3448 +vn 0.2709 0.8730 0.4055 +vn 0.7071 0.0000 0.7071 +vn 0.3448 -0.8730 0.3448 +vn 0.2709 -0.8730 0.4055 +vn -0.0114 -0.9998 -0.0114 +vn -0.2844 -0.8590 -0.4256 +vn -0.6151 -0.4931 -0.6151 +vn -0.7071 0.0000 -0.7071 +vn -0.7233 0.4931 -0.4833 +vn -0.3620 0.8590 -0.3620 +vn -0.4256 0.8590 -0.2844 +vn 0.4055 0.8730 0.2709 +vn 0.6094 0.5071 0.6094 +vn 0.7166 0.5071 0.4788 +vn 0.8314 0.0000 0.5556 +vn 0.6094 -0.5071 0.6094 +vn 0.4055 -0.8730 0.2709 +vn -0.4256 -0.8590 -0.2844 +vn -0.3620 -0.8590 -0.3620 +vn -0.7233 -0.4931 -0.4833 +vn -0.9239 0.0000 -0.3827 +vn -0.8314 0.0000 -0.5556 +vn -0.8037 0.4931 -0.3329 +vn -0.4729 0.8590 -0.1959 +vn -0.0134 0.9998 -0.0090 +vn -0.0149 0.9998 -0.0062 +vn 0.7963 0.5071 0.3298 +vn 0.7963 -0.5071 0.3298 +vn 0.7166 -0.5071 0.4788 +vn -0.0149 -0.9998 -0.0062 +vn -0.0134 -0.9998 -0.0090 +vn -0.4729 -0.8590 -0.1959 +vn -0.9808 0.0000 -0.1951 +vn -0.8532 0.4931 -0.1697 +vn -0.0158 0.9998 -0.0031 +vn 0.4505 0.8730 0.1866 +vn 0.4783 0.8730 0.0951 +vn 0.9808 0.0000 0.1951 +vn 0.9239 0.0000 0.3827 +vn 0.4783 -0.8730 0.0951 +vn 0.4505 -0.8730 0.1866 +vn -0.0158 -0.9998 -0.0031 +vn -0.5021 -0.8590 -0.0999 +vn -0.8037 -0.4931 -0.3329 +vn -0.8532 -0.4931 -0.1697 +vn -0.8699 0.4931 0.0000 +vn -0.5021 0.8590 -0.0999 +vn -0.5119 0.8590 0.0000 +vn -0.0161 0.9998 0.0000 +vn 0.4877 0.8730 0.0000 +vn 0.8453 0.5071 0.1681 +vn 0.8618 0.5071 0.0000 +vn 0.8453 -0.5071 0.1681 +vn 0.8619 -0.5071 0.0000 +vn 0.4877 -0.8730 0.0000 +vn -0.0161 -0.9998 0.0000 +vn -0.8699 -0.4931 0.0000 +vn -0.5021 0.8590 0.0999 +vn -0.0158 0.9998 0.0031 +vn 0.8453 0.5071 -0.1681 +vn 0.8453 -0.5071 -0.1681 +vn 0.4783 -0.8730 -0.0951 +vn -0.5021 -0.8590 0.0999 +vn -0.5119 -0.8590 0.0000 +vn -0.8532 -0.4931 0.1697 +vn -0.8532 0.4931 0.1697 +vn -0.4729 0.8590 0.1959 +vn -0.0149 0.9998 0.0062 +vn 0.4505 0.8730 -0.1866 +vn 0.4783 0.8730 -0.0951 +vn 0.4505 -0.8730 -0.1866 +vn -0.0158 -0.9998 0.0031 +vn -0.0149 -0.9998 0.0062 +vn -0.4729 -0.8590 0.1959 +vn -0.7233 0.4931 0.4833 +vn -0.8037 0.4931 0.3329 +vn -0.0134 0.9998 0.0090 +vn 0.4055 0.8730 -0.2709 +vn 0.7963 0.5071 -0.3298 +vn 0.7166 0.5071 -0.4788 +vn 0.7963 -0.5071 -0.3298 +vn 0.4055 -0.8730 -0.2709 +vn -0.0134 -0.9998 0.0090 +vn -0.7233 -0.4931 0.4833 +vn -0.8037 -0.4931 0.3329 +vn -0.6151 0.4931 0.6151 +vn -0.4256 0.8590 0.2844 +vn -0.3620 0.8590 0.3620 +vn -0.0114 0.9998 0.0114 +vn 0.6094 0.5071 -0.6094 +vn 0.6094 -0.5071 -0.6094 +vn 0.7166 -0.5071 -0.4788 +vn 0.3448 -0.8730 -0.3448 +vn -0.0114 -0.9998 0.0114 +vn -0.4256 -0.8590 0.2844 +vn -0.3620 -0.8590 0.3620 +vn -0.6151 -0.4931 0.6151 +vn -0.2844 0.8590 0.4256 +vn -0.0090 0.9998 0.0134 +vn 0.3448 0.8730 -0.3448 +vn 0.2709 0.8730 -0.4055 +vn 0.4788 0.5071 -0.7166 +vn 0.4788 -0.5071 -0.7166 +vn -0.0090 -0.9998 0.0134 +vn -0.2844 -0.8590 0.4256 +vn -0.4833 0.4931 0.7233 +vn -0.3329 0.4931 0.8037 +vn -0.0062 0.9998 0.0149 +vn 0.1866 0.8730 -0.4505 +vn 0.3298 -0.5071 -0.7963 +vn 0.2709 -0.8730 -0.4055 +vn 0.1866 -0.8730 -0.4505 +vn -0.0062 -0.9998 0.0149 +vn -0.1959 -0.8590 0.4729 +vn -0.4833 -0.4931 0.7233 +vn -0.3329 -0.4931 0.8037 +vn -0.0999 0.8590 0.5021 +vn -0.1959 0.8590 0.4729 +vn 0.0951 0.8730 -0.4783 +vn 0.1681 0.5071 -0.8453 +vn 0.3298 0.5071 -0.7963 +vn 0.1681 -0.5071 -0.8453 +vn 0.0951 -0.8730 -0.4783 +vn -0.0031 -0.9998 0.0158 +vn -0.0999 -0.8590 0.5021 +vn -0.1697 0.4931 0.8532 +vn 0.0000 0.8590 0.5119 +vn -0.0031 0.9998 0.0158 +vn 0.0000 0.8730 -0.4877 +vn 0.0000 0.5071 -0.8618 +vn 0.0000 -0.5071 -0.8618 +vn 0.0000 -0.9998 0.0161 +vn 0.0000 -0.4931 0.8699 +vn -0.1697 -0.4931 0.8532 +vn 0.0000 0.4931 0.8699 +vn 0.1697 0.4931 0.8532 +vn 0.0031 0.9998 0.0158 +vn 0.0000 0.9998 0.0161 +vn -0.1681 0.5071 -0.8453 +vn -0.1681 -0.5071 -0.8453 +vn 0.0000 -0.8730 -0.4877 +vn 0.0031 -0.9998 0.0158 +vn 0.0000 -0.8590 0.5119 +vn 0.0999 -0.8590 0.5021 +vn 0.3329 0.4931 0.8037 +vn 0.0999 0.8590 0.5021 +vn 0.0062 0.9998 0.0149 +vn -0.0951 0.8730 -0.4783 +vn -0.1866 0.8730 -0.4505 +vn -0.3298 0.5071 -0.7963 +vn -0.3298 -0.5071 -0.7963 +vn -0.1866 -0.8730 -0.4505 +vn -0.0951 -0.8730 -0.4783 +vn 0.0062 -0.9998 0.0149 +vn 0.1959 -0.8590 0.4729 +vn 0.1697 -0.4931 0.8532 +vn 0.3329 -0.4931 0.8037 +vn 0.4833 0.4931 0.7233 +vn 0.1959 0.8590 0.4729 +vn 0.0090 0.9998 0.0134 +vn -0.2709 0.8730 -0.4055 +vn -0.4788 0.5071 -0.7166 +vn -0.4788 -0.5071 -0.7166 +vn 0.0090 -0.9998 0.0134 +vn 0.2844 -0.8590 0.4256 +vn 0.4833 -0.4931 0.7233 +vn 0.6151 0.4931 0.6151 +vn 0.2844 0.8590 0.4256 +vn 0.0114 0.9998 0.0114 +vn -0.6094 0.5071 -0.6094 +vn -0.6094 -0.5071 -0.6094 +vn -0.2709 -0.8730 -0.4055 +vn 0.0114 -0.9998 0.0114 +vn 0.3620 -0.8590 0.3620 +vn 0.6151 -0.4931 0.6151 +vn 0.4256 0.8590 0.2844 +vn 0.3620 0.8590 0.3620 +vn 0.0134 0.9998 0.0090 +vn -0.3448 0.8730 -0.3448 +vn -0.4055 0.8730 -0.2709 +vn -0.7166 0.5071 -0.4788 +vn -0.4055 -0.8730 -0.2709 +vn -0.3448 -0.8730 -0.3448 +vn 0.0134 -0.9998 0.0090 +vn 0.4256 -0.8590 0.2844 +vn 0.7233 0.4931 0.4833 +vn 0.8037 0.4931 0.3329 +vn 0.4729 0.8590 0.1959 +vn -0.4505 0.8730 -0.1866 +vn -0.7166 -0.5071 -0.4788 +vn -0.4505 -0.8730 -0.1866 +vn 0.4729 -0.8590 0.1959 +vn 0.7233 -0.4931 0.4833 +vn 0.8037 -0.4931 0.3329 +vn 0.8532 0.4931 0.1697 +vn 0.5021 0.8590 0.0999 +vn 0.0149 0.9998 0.0062 +vn -0.4783 0.8730 -0.0951 +vn -0.7963 0.5071 -0.3298 +vn -0.8453 0.5071 -0.1681 +vn -0.7963 -0.5071 -0.3298 +vn -0.4783 -0.8730 -0.0951 +vn 0.0149 -0.9998 0.0062 +vn 0.0158 -0.9998 0.0031 +vn 0.8532 -0.4931 0.1697 +vn 0.0158 0.9998 0.0031 +vn -0.8453 -0.5071 -0.1681 +vn 0.5021 -0.8590 0.0999 +s 1 +f 1/1/1 14/2/2 2/3/3 +f 14/2/2 3/4/4 2/3/3 +f 15/5/5 4/6/6 3/4/4 +f 16/7/7 5/8/8 4/6/6 +f 17/9/9 6/10/10 5/8/8 +f 18/11/11 7/12/12 6/10/10 +f 19/13/13 8/14/14 7/15/12 +f 20/16/15 9/17/16 8/14/14 +f 9/17/16 22/18/17 10/19/18 +f 10/19/18 23/20/19 11/21/20 +f 23/20/19 12/22/21 11/21/20 +f 12/22/21 13/23/22 1/1/1 +f 25/24/23 14/2/2 13/23/22 +f 26/25/24 15/5/5 14/2/2 +f 15/5/5 28/26/25 16/7/7 +f 16/7/7 29/27/26 17/9/9 +f 29/27/26 18/11/11 17/9/9 +f 30/28/27 19/29/13 18/11/11 +f 31/30/28 20/16/15 19/13/13 +f 32/31/29 21/32/30 20/16/15 +f 33/33/31 22/18/17 21/32/30 +f 22/18/17 35/34/32 23/20/19 +f 35/34/32 24/35/33 23/20/19 +f 24/35/33 25/24/23 13/23/22 +f 37/36/34 26/25/24 25/24/23 +f 38/37/35 27/38/36 26/25/24 +f 39/39/37 28/26/25 27/38/36 +f 40/40/38 29/27/26 28/26/25 +f 41/41/39 30/28/27 29/27/26 +f 42/42/40 31/43/28 30/28/27 +f 43/44/41 32/31/29 31/30/28 +f 44/45/42 33/33/31 32/31/29 +f 33/33/31 46/46/43 34/47/44 +f 46/46/43 35/34/32 34/47/44 +f 35/34/32 48/48/45 36/49/46 +f 36/49/46 37/36/34 25/24/23 +f 37/36/34 50/50/47 38/37/35 +f 50/50/47 39/39/37 38/37/35 +f 51/51/48 40/40/38 39/39/37 +f 52/52/49 41/41/39 40/40/38 +f 53/53/50 42/42/40 41/41/39 +f 54/54/51 43/55/41 42/42/40 +f 55/56/52 44/45/42 43/44/41 +f 56/57/53 45/58/54 44/45/42 +f 45/58/54 58/59/55 46/46/43 +f 58/59/55 47/60/56 46/46/43 +f 47/60/56 60/61/57 48/48/45 +f 60/61/57 37/36/34 48/48/45 +f 49/62/58 62/63/59 50/64/47 +f 62/63/59 51/65/48 50/64/47 +f 63/66/60 52/67/49 51/65/48 +f 52/67/49 65/68/61 53/69/50 +f 65/68/61 54/70/51 53/69/50 +f 54/70/51 67/71/62 55/72/52 +f 67/73/62 56/74/53 55/75/52 +f 68/76/63 57/77/64 56/74/53 +f 69/78/65 58/79/55 57/77/64 +f 70/80/66 59/81/67 58/79/55 +f 59/81/67 72/82/68 60/83/57 +f 72/82/68 49/62/58 60/83/57 +f 73/84/69 62/63/59 61/85/70 +f 62/63/59 75/86/71 63/66/60 +f 75/86/71 64/87/72 63/66/60 +f 76/88/73 65/68/61 64/87/72 +f 77/89/74 66/90/75 65/68/61 +f 66/90/75 79/91/76 67/71/62 +f 79/92/76 68/76/63 67/73/62 +f 68/76/63 81/93/77 69/78/65 +f 81/93/77 70/80/66 69/78/65 +f 70/80/66 83/94/78 71/95/79 +f 83/94/78 72/82/68 71/95/79 +f 72/82/68 73/84/69 61/85/70 +f 85/96/80 74/97/81 73/84/69 +f 86/98/82 75/86/71 74/97/81 +f 87/99/83 76/88/73 75/86/71 +f 88/100/84 77/89/74 76/88/73 +f 89/101/85 78/102/86 77/89/74 +f 78/102/86 91/103/87 79/91/76 +f 91/104/87 80/105/88 79/92/76 +f 92/106/89 81/93/77 80/105/88 +f 93/107/90 82/108/91 81/93/77 +f 94/109/92 83/94/78 82/108/91 +f 95/110/93 84/111/94 83/94/78 +f 84/111/94 85/96/80 73/84/69 +f 85/96/80 98/112/95 86/98/82 +f 98/112/95 87/99/83 86/98/82 +f 99/113/96 88/100/84 87/99/83 +f 88/100/84 101/114/97 89/101/85 +f 101/114/97 90/115/98 89/101/85 +f 102/116/99 91/103/87 90/115/98 +f 103/117/100 92/106/89 91/104/87 +f 92/106/89 105/118/101 93/107/90 +f 105/118/101 94/109/92 93/107/90 +f 94/109/92 107/119/102 95/110/93 +f 107/119/102 96/120/103 95/110/93 +f 96/120/103 97/121/104 85/96/80 +f 109/122/105 98/123/95 97/124/104 +f 110/125/106 99/126/96 98/123/95 +f 111/127/107 100/128/108 99/126/96 +f 100/128/108 113/129/109 101/130/97 +f 101/130/97 114/131/110 102/132/99 +f 114/131/110 103/133/100 102/132/99 +f 103/134/100 116/135/111 104/136/112 +f 116/135/111 105/137/101 104/136/112 +f 105/137/101 118/138/113 106/139/114 +f 106/139/114 119/140/115 107/141/102 +f 107/141/102 120/142/116 108/143/117 +f 108/143/117 109/122/105 97/124/104 +f 121/144/118 110/125/106 109/122/105 +f 110/125/106 123/145/119 111/127/107 +f 111/127/107 124/146/120 112/147/121 +f 124/146/120 113/129/109 112/147/121 +f 125/148/122 114/131/110 113/129/109 +f 126/149/123 115/150/124 114/131/110 +f 115/151/124 128/152/125 116/135/111 +f 128/152/125 117/153/126 116/135/111 +f 117/153/126 130/154/127 118/138/113 +f 130/154/127 119/140/115 118/138/113 +f 131/155/128 120/142/116 119/140/115 +f 132/156/129 109/122/105 120/142/116 +f 121/144/118 134/157/130 122/158/131 +f 134/157/130 123/145/119 122/158/131 +f 135/159/132 124/146/120 123/145/119 +f 136/160/133 125/148/122 124/146/120 +f 125/148/122 138/161/134 126/149/123 +f 138/161/134 127/162/135 126/149/123 +f 139/163/136 128/152/125 127/164/135 +f 140/165/137 129/166/138 128/152/125 +f 129/166/138 142/167/139 130/154/127 +f 142/167/139 131/155/128 130/154/127 +f 131/155/128 144/168/140 132/156/129 +f 144/168/140 121/144/118 132/156/129 +f 133/169/141 146/170/142 134/157/130 +f 146/170/142 135/159/132 134/157/130 +f 135/159/132 148/171/143 136/160/133 +f 136/160/133 149/172/144 137/173/145 +f 149/172/144 138/161/134 137/173/145 +f 138/161/134 151/174/146 139/175/136 +f 151/176/146 140/165/137 139/163/136 +f 140/165/137 153/177/147 141/178/148 +f 153/177/147 142/167/139 141/178/148 +f 154/179/149 143/180/150 142/167/139 +f 143/180/150 156/181/151 144/168/140 +f 156/181/151 133/169/141 144/168/140 +f 145/182/152 158/183/153 146/184/142 +f 158/183/153 147/185/154 146/184/142 +f 159/186/155 148/187/143 147/185/154 +f 148/187/143 161/188/156 149/189/144 +f 161/188/156 150/190/157 149/189/144 +f 162/191/158 151/192/146 150/190/157 +f 163/193/159 152/194/160 151/195/146 +f 152/194/160 165/196/161 153/197/147 +f 165/196/161 154/198/149 153/197/147 +f 154/198/149 167/199/162 155/200/163 +f 155/200/163 168/201/164 156/202/151 +f 168/201/164 145/182/152 156/202/151 +f 169/203/165 158/183/153 157/204/166 +f 170/205/167 159/186/155 158/183/153 +f 171/206/168 160/207/169 159/186/155 +f 172/208/170 161/188/156 160/207/169 +f 161/188/156 174/209/171 162/191/158 +f 174/209/171 163/210/159 162/191/158 +f 163/193/159 176/211/172 164/212/173 +f 176/211/172 165/196/161 164/212/173 +f 165/196/161 178/213/174 166/214/175 +f 178/213/174 167/199/162 166/214/175 +f 179/215/176 168/201/164 167/199/162 +f 168/201/164 169/203/165 157/204/166 +f 181/216/177 170/205/167 169/203/165 +f 182/217/178 171/206/168 170/205/167 +f 171/206/168 184/218/179 172/208/170 +f 184/218/179 173/219/180 172/208/170 +f 185/220/181 174/209/171 173/219/180 +f 174/209/171 187/221/182 175/222/183 +f 187/223/182 176/211/172 175/224/183 +f 176/211/172 189/225/184 177/226/185 +f 189/225/184 178/213/174 177/226/185 +f 190/227/186 179/215/176 178/213/174 +f 191/228/187 180/229/188 179/215/176 +f 192/230/189 169/203/165 180/229/188 +f 193/231/12 182/217/178 181/216/177 +f 194/232/190 183/233/191 182/217/178 +f 195/234/192 184/218/179 183/233/191 +f 196/235/193 185/220/181 184/218/179 +f 197/236/194 186/237/195 185/220/181 +f 198/238/196 187/221/182 186/237/195 +f 199/239/1 188/240/197 187/223/182 +f 200/241/198 189/225/184 188/240/197 +f 201/242/199 190/227/186 189/225/184 +f 202/243/200 191/228/187 190/227/186 +f 191/228/187 204/244/201 192/230/189 +f 204/244/201 181/216/177 192/230/189 +f 205/245/13 194/246/190 193/247/12 +f 194/246/190 207/248/202 195/249/192 +f 207/248/202 196/250/193 195/249/192 +f 208/251/203 197/252/194 196/250/193 +f 197/252/194 210/253/204 198/254/196 +f 210/253/204 199/255/1 198/254/196 +f 211/256/22 200/257/198 199/258/1 +f 212/259/205 201/260/199 200/257/198 +f 213/261/206 202/262/200 201/260/199 +f 202/262/200 215/263/207 203/264/208 +f 215/263/207 204/265/201 203/264/208 +f 216/266/209 193/247/12 204/265/201 +f 217/267/28 206/268/210 205/245/13 +f 206/268/210 219/269/211 207/248/202 +f 207/248/202 220/270/212 208/251/203 +f 208/251/203 221/271/213 209/272/214 +f 221/271/213 210/253/204 209/272/214 +f 210/253/204 223/273/23 211/274/22 +f 223/275/23 212/259/205 211/256/22 +f 212/259/205 225/276/215 213/261/206 +f 225/276/215 214/277/216 213/261/206 +f 226/278/217 215/263/207 214/277/216 +f 227/279/218 216/266/209 215/263/207 +f 216/266/209 217/267/28 205/245/13 +f 217/267/28 230/280/219 218/281/220 +f 230/280/219 219/269/211 218/281/220 +f 219/269/211 232/282/221 220/270/212 +f 232/282/221 221/271/213 220/270/212 +f 233/283/222 222/284/223 221/271/213 +f 234/285/224 223/273/23 222/284/223 +f 235/286/34 224/287/225 223/275/23 +f 224/287/225 237/288/226 225/276/215 +f 225/276/215 238/289/227 226/278/217 +f 238/289/227 227/279/218 226/278/217 +f 227/279/218 240/290/228 228/291/229 +f 240/290/228 217/267/28 228/291/229 +f 241/292/52 230/280/219 229/293/41 +f 242/294/230 231/295/231 230/280/219 +f 243/296/232 232/282/221 231/295/231 +f 244/297/233 233/283/222 232/282/221 +f 233/283/222 246/298/234 234/285/224 +f 246/298/234 235/299/34 234/285/224 +f 235/286/34 248/300/235 236/301/236 +f 248/300/235 237/288/226 236/301/236 +f 249/302/237 238/289/227 237/288/226 +f 250/303/238 239/304/239 238/289/227 +f 251/305/240 240/290/228 239/304/239 +f 252/306/241 229/293/41 240/290/228 +f 253/307/62 242/308/230 241/309/52 +f 242/308/230 255/310/242 243/311/232 +f 243/311/232 256/312/243 244/313/233 +f 256/312/243 245/314/244 244/313/233 +f 257/315/245 246/316/234 245/314/244 +f 258/317/246 247/318/58 246/316/234 +f 247/319/58 260/320/247 248/321/235 +f 260/320/247 249/322/237 248/321/235 +f 249/322/237 262/323/248 250/324/238 +f 262/323/248 251/325/240 250/324/238 +f 263/326/249 252/327/241 251/325/240 +f 252/327/241 253/307/62 241/309/52 +f 265/328/76 254/329/250 253/307/62 +f 266/330/251 255/310/242 254/329/250 +f 255/310/242 268/331/252 256/312/243 +f 256/312/243 269/332/253 257/315/245 +f 269/332/253 258/317/246 257/315/245 +f 258/317/246 271/333/69 259/334/70 +f 271/335/69 260/320/247 259/336/70 +f 272/337/254 261/338/255 260/320/247 +f 273/339/256 262/323/248 261/338/255 +f 274/340/257 263/326/249 262/323/248 +f 275/341/258 264/342/259 263/326/249 +f 276/343/260 253/307/62 264/342/259 +f 277/344/87 266/330/251 265/328/76 +f 266/330/251 279/345/261 267/346/262 +f 279/345/261 268/331/252 267/346/262 +f 268/331/252 281/347/263 269/332/253 +f 269/332/253 282/348/264 270/349/265 +f 270/349/265 283/350/80 271/333/69 +f 283/351/80 272/337/254 271/335/69 +f 284/352/266 273/339/256 272/337/254 +f 285/353/267 274/340/257 273/339/256 +f 286/354/268 275/341/258 274/340/257 +f 287/355/269 276/343/260 275/341/258 +f 276/343/260 277/344/87 265/328/76 +f 289/356/100 278/357/270 277/344/87 +f 278/357/270 291/358/271 279/345/261 +f 291/358/271 280/359/272 279/345/261 +f 280/359/272 293/360/273 281/347/263 +f 281/347/263 294/361/274 282/348/264 +f 294/361/274 283/350/80 282/348/264 +f 295/362/104 284/352/266 283/351/80 +f 296/363/275 285/353/267 284/352/266 +f 285/353/267 298/364/276 286/354/268 +f 298/364/276 287/355/269 286/354/268 +f 287/355/269 300/365/277 288/366/278 +f 288/366/278 289/356/100 277/344/87 +f 301/367/124 290/368/279 289/369/100 +f 302/370/280 291/371/271 290/368/279 +f 291/371/271 304/372/281 292/373/282 +f 304/372/281 293/374/273 292/373/282 +f 293/374/273 306/375/283 294/376/274 +f 294/376/274 307/377/105 295/378/104 +f 307/379/105 296/380/275 295/381/104 +f 308/382/284 297/383/285 296/380/275 +f 297/383/285 310/384/286 298/385/276 +f 310/384/286 299/386/287 298/385/276 +f 311/387/288 300/388/277 299/386/287 +f 300/388/277 301/367/124 289/369/100 +f 313/389/135 302/370/280 301/367/124 +f 314/390/289 303/391/290 302/370/280 +f 303/391/290 316/392/291 304/372/281 +f 316/392/291 305/393/292 304/372/281 +f 317/394/293 306/375/283 305/393/292 +f 318/395/294 307/377/105 306/375/283 +f 307/379/105 320/396/295 308/382/284 +f 308/382/284 321/397/296 309/398/297 +f 309/398/297 322/399/298 310/384/286 +f 322/399/298 311/387/288 310/384/286 +f 323/400/299 312/401/300 311/387/288 +f 324/402/301 301/367/124 312/401/300 +f 325/403/136 314/390/289 313/389/135 +f 326/404/302 315/405/303 314/390/289 +f 315/405/303 328/406/304 316/392/291 +f 328/406/304 317/394/293 316/392/291 +f 329/407/305 318/395/294 317/394/293 +f 330/408/306 319/409/118 318/395/294 +f 319/410/118 332/411/307 320/396/295 +f 332/411/307 321/397/296 320/396/295 +f 321/397/296 334/412/308 322/399/298 +f 334/412/308 323/400/299 322/399/298 +f 335/413/309 324/402/301 323/400/299 +f 336/414/310 313/389/135 324/402/301 +f 337/415/146 326/404/302 325/403/136 +f 338/416/311 327/417/312 326/404/302 +f 327/417/312 340/418/313 328/406/304 +f 340/418/313 329/407/305 328/406/304 +f 329/407/305 342/419/314 330/408/306 +f 330/408/306 343/420/152 331/421/141 +f 343/422/152 332/411/307 331/423/141 +f 344/424/315 333/425/316 332/411/307 +f 333/425/316 346/426/317 334/412/308 +f 346/426/317 335/413/309 334/412/308 +f 347/427/318 336/414/310 335/413/309 +f 348/428/319 325/403/136 336/414/310 +f 349/429/159 338/430/311 337/431/146 +f 338/430/311 351/432/320 339/433/321 +f 351/432/320 340/434/313 339/433/321 +f 352/435/322 341/436/323 340/434/313 +f 353/437/324 342/438/314 341/436/323 +f 354/439/325 343/440/152 342/438/314 +f 355/441/166 344/442/315 343/443/152 +f 344/442/315 357/444/326 345/445/327 +f 357/444/326 346/446/317 345/445/327 +f 358/447/328 347/448/318 346/446/317 +f 359/449/329 348/450/319 347/448/318 +f 348/450/319 349/429/159 337/431/146 +f 361/451/183 350/452/330 349/429/159 +f 362/453/331 351/432/320 350/452/330 +f 363/454/332 352/435/322 351/432/320 +f 352/435/322 365/455/333 353/437/324 +f 365/455/333 354/439/325 353/437/324 +f 354/439/325 367/456/165 355/457/166 +f 367/458/165 356/459/334 355/441/166 +f 356/459/334 369/460/335 357/444/326 +f 369/460/335 358/447/328 357/444/326 +f 358/447/328 371/461/336 359/449/329 +f 371/461/336 360/462/337 359/449/329 +f 372/463/338 349/429/159 360/462/337 +f 361/451/183 374/464/339 362/453/331 +f 374/464/339 363/454/332 362/453/331 +f 375/465/340 364/466/341 363/454/332 +f 364/466/341 377/467/342 365/455/333 +f 377/467/342 366/468/343 365/455/333 +f 378/469/344 367/456/165 366/468/343 +f 379/470/177 368/471/345 367/458/165 +f 368/471/345 381/472/346 369/460/335 +f 381/472/346 370/473/347 369/460/335 +f 382/474/348 371/461/336 370/473/347 +f 371/461/336 384/475/349 372/463/338 +f 372/463/338 373/476/182 361/451/183 +f 1/477/1 374/464/339 373/476/182 +f 2/478/3 375/465/340 374/464/339 +f 375/465/340 4/479/6 376/480/350 +f 4/479/6 377/467/342 376/480/350 +f 377/467/342 6/481/10 378/469/344 +f 6/481/10 379/482/177 378/469/344 +f 379/470/177 8/483/14 380/484/351 +f 8/483/14 381/472/346 380/484/351 +f 9/485/16 382/474/348 381/472/346 +f 10/486/18 383/487/352 382/474/348 +f 383/487/352 12/488/21 384/475/349 +f 12/488/21 373/476/182 384/475/349 +f 1/1/1 13/23/22 14/2/2 +f 14/2/2 15/5/5 3/4/4 +f 15/5/5 16/7/7 4/6/6 +f 16/7/7 17/9/9 5/8/8 +f 17/9/9 18/11/11 6/10/10 +f 18/11/11 19/29/13 7/12/12 +f 19/13/13 20/16/15 8/14/14 +f 20/16/15 21/32/30 9/17/16 +f 9/17/16 21/32/30 22/18/17 +f 10/19/18 22/18/17 23/20/19 +f 23/20/19 24/35/33 12/22/21 +f 12/22/21 24/35/33 13/23/22 +f 25/24/23 26/25/24 14/2/2 +f 26/25/24 27/38/36 15/5/5 +f 15/5/5 27/38/36 28/26/25 +f 16/7/7 28/26/25 29/27/26 +f 29/27/26 30/28/27 18/11/11 +f 30/28/27 31/43/28 19/29/13 +f 31/30/28 32/31/29 20/16/15 +f 32/31/29 33/33/31 21/32/30 +f 33/33/31 34/47/44 22/18/17 +f 22/18/17 34/47/44 35/34/32 +f 35/34/32 36/49/46 24/35/33 +f 24/35/33 36/49/46 25/24/23 +f 37/36/34 38/37/35 26/25/24 +f 38/37/35 39/39/37 27/38/36 +f 39/39/37 40/40/38 28/26/25 +f 40/40/38 41/41/39 29/27/26 +f 41/41/39 42/42/40 30/28/27 +f 42/42/40 43/55/41 31/43/28 +f 43/44/41 44/45/42 32/31/29 +f 44/45/42 45/58/54 33/33/31 +f 33/33/31 45/58/54 46/46/43 +f 46/46/43 47/60/56 35/34/32 +f 35/34/32 47/60/56 48/48/45 +f 36/49/46 48/48/45 37/36/34 +f 37/36/34 49/489/58 50/50/47 +f 50/50/47 51/51/48 39/39/37 +f 51/51/48 52/52/49 40/40/38 +f 52/52/49 53/53/50 41/41/39 +f 53/53/50 54/54/51 42/42/40 +f 54/54/51 55/490/52 43/55/41 +f 55/56/52 56/57/53 44/45/42 +f 56/57/53 57/491/64 45/58/54 +f 45/58/54 57/491/64 58/59/55 +f 58/59/55 59/492/67 47/60/56 +f 47/60/56 59/492/67 60/61/57 +f 60/61/57 49/489/58 37/36/34 +f 49/62/58 61/85/70 62/63/59 +f 62/63/59 63/66/60 51/65/48 +f 63/66/60 64/87/72 52/67/49 +f 52/67/49 64/87/72 65/68/61 +f 65/68/61 66/90/75 54/70/51 +f 54/70/51 66/90/75 67/71/62 +f 67/73/62 68/76/63 56/74/53 +f 68/76/63 69/78/65 57/77/64 +f 69/78/65 70/80/66 58/79/55 +f 70/80/66 71/95/79 59/81/67 +f 59/81/67 71/95/79 72/82/68 +f 72/82/68 61/85/70 49/62/58 +f 73/84/69 74/97/81 62/63/59 +f 62/63/59 74/97/81 75/86/71 +f 75/86/71 76/88/73 64/87/72 +f 76/88/73 77/89/74 65/68/61 +f 77/89/74 78/102/86 66/90/75 +f 66/90/75 78/102/86 79/91/76 +f 79/92/76 80/105/88 68/76/63 +f 68/76/63 80/105/88 81/93/77 +f 81/93/77 82/108/91 70/80/66 +f 70/80/66 82/108/91 83/94/78 +f 83/94/78 84/111/94 72/82/68 +f 72/82/68 84/111/94 73/84/69 +f 85/96/80 86/98/82 74/97/81 +f 86/98/82 87/99/83 75/86/71 +f 87/99/83 88/100/84 76/88/73 +f 88/100/84 89/101/85 77/89/74 +f 89/101/85 90/115/98 78/102/86 +f 78/102/86 90/115/98 91/103/87 +f 91/104/87 92/106/89 80/105/88 +f 92/106/89 93/107/90 81/93/77 +f 93/107/90 94/109/92 82/108/91 +f 94/109/92 95/110/93 83/94/78 +f 95/110/93 96/120/103 84/111/94 +f 84/111/94 96/120/103 85/96/80 +f 85/96/80 97/121/104 98/112/95 +f 98/112/95 99/113/96 87/99/83 +f 99/113/96 100/493/108 88/100/84 +f 88/100/84 100/493/108 101/114/97 +f 101/114/97 102/116/99 90/115/98 +f 102/116/99 103/494/100 91/103/87 +f 103/117/100 104/495/112 92/106/89 +f 92/106/89 104/495/112 105/118/101 +f 105/118/101 106/496/114 94/109/92 +f 94/109/92 106/496/114 107/119/102 +f 107/119/102 108/497/117 96/120/103 +f 96/120/103 108/497/117 97/121/104 +f 109/122/105 110/125/106 98/123/95 +f 110/125/106 111/127/107 99/126/96 +f 111/127/107 112/147/121 100/128/108 +f 100/128/108 112/147/121 113/129/109 +f 101/130/97 113/129/109 114/131/110 +f 114/131/110 115/150/124 103/133/100 +f 103/134/100 115/151/124 116/135/111 +f 116/135/111 117/153/126 105/137/101 +f 105/137/101 117/153/126 118/138/113 +f 106/139/114 118/138/113 119/140/115 +f 107/141/102 119/140/115 120/142/116 +f 108/143/117 120/142/116 109/122/105 +f 121/144/118 122/158/131 110/125/106 +f 110/125/106 122/158/131 123/145/119 +f 111/127/107 123/145/119 124/146/120 +f 124/146/120 125/148/122 113/129/109 +f 125/148/122 126/149/123 114/131/110 +f 126/149/123 127/162/135 115/150/124 +f 115/151/124 127/164/135 128/152/125 +f 128/152/125 129/166/138 117/153/126 +f 117/153/126 129/166/138 130/154/127 +f 130/154/127 131/155/128 119/140/115 +f 131/155/128 132/156/129 120/142/116 +f 132/156/129 121/144/118 109/122/105 +f 121/144/118 133/169/141 134/157/130 +f 134/157/130 135/159/132 123/145/119 +f 135/159/132 136/160/133 124/146/120 +f 136/160/133 137/173/145 125/148/122 +f 125/148/122 137/173/145 138/161/134 +f 138/161/134 139/175/136 127/162/135 +f 139/163/136 140/165/137 128/152/125 +f 140/165/137 141/178/148 129/166/138 +f 129/166/138 141/178/148 142/167/139 +f 142/167/139 143/180/150 131/155/128 +f 131/155/128 143/180/150 144/168/140 +f 144/168/140 133/169/141 121/144/118 +f 133/169/141 145/498/152 146/170/142 +f 146/170/142 147/499/154 135/159/132 +f 135/159/132 147/499/154 148/171/143 +f 136/160/133 148/171/143 149/172/144 +f 149/172/144 150/500/157 138/161/134 +f 138/161/134 150/500/157 151/174/146 +f 151/176/146 152/501/160 140/165/137 +f 140/165/137 152/501/160 153/177/147 +f 153/177/147 154/179/149 142/167/139 +f 154/179/149 155/502/163 143/180/150 +f 143/180/150 155/502/163 156/181/151 +f 156/181/151 145/498/152 133/169/141 +f 145/182/152 157/204/166 158/183/153 +f 158/183/153 159/186/155 147/185/154 +f 159/186/155 160/207/169 148/187/143 +f 148/187/143 160/207/169 161/188/156 +f 161/188/156 162/191/158 150/190/157 +f 162/191/158 163/210/159 151/192/146 +f 163/193/159 164/212/173 152/194/160 +f 152/194/160 164/212/173 165/196/161 +f 165/196/161 166/214/175 154/198/149 +f 154/198/149 166/214/175 167/199/162 +f 155/200/163 167/199/162 168/201/164 +f 168/201/164 157/204/166 145/182/152 +f 169/203/165 170/205/167 158/183/153 +f 170/205/167 171/206/168 159/186/155 +f 171/206/168 172/208/170 160/207/169 +f 172/208/170 173/219/180 161/188/156 +f 161/188/156 173/219/180 174/209/171 +f 174/209/171 175/222/183 163/210/159 +f 163/193/159 175/224/183 176/211/172 +f 176/211/172 177/226/185 165/196/161 +f 165/196/161 177/226/185 178/213/174 +f 178/213/174 179/215/176 167/199/162 +f 179/215/176 180/229/188 168/201/164 +f 168/201/164 180/229/188 169/203/165 +f 181/216/177 182/217/178 170/205/167 +f 182/217/178 183/233/191 171/206/168 +f 171/206/168 183/233/191 184/218/179 +f 184/218/179 185/220/181 173/219/180 +f 185/220/181 186/237/195 174/209/171 +f 174/209/171 186/237/195 187/221/182 +f 187/223/182 188/240/197 176/211/172 +f 176/211/172 188/240/197 189/225/184 +f 189/225/184 190/227/186 178/213/174 +f 190/227/186 191/228/187 179/215/176 +f 191/228/187 192/230/189 180/229/188 +f 192/230/189 181/216/177 169/203/165 +f 193/231/12 194/232/190 182/217/178 +f 194/232/190 195/234/192 183/233/191 +f 195/234/192 196/235/193 184/218/179 +f 196/235/193 197/236/194 185/220/181 +f 197/236/194 198/238/196 186/237/195 +f 198/238/196 199/503/1 187/221/182 +f 199/239/1 200/241/198 188/240/197 +f 200/241/198 201/242/199 189/225/184 +f 201/242/199 202/243/200 190/227/186 +f 202/243/200 203/504/208 191/228/187 +f 191/228/187 203/504/208 204/244/201 +f 204/244/201 193/231/12 181/216/177 +f 205/245/13 206/268/210 194/246/190 +f 194/246/190 206/268/210 207/248/202 +f 207/248/202 208/251/203 196/250/193 +f 208/251/203 209/272/214 197/252/194 +f 197/252/194 209/272/214 210/253/204 +f 210/253/204 211/274/22 199/255/1 +f 211/256/22 212/259/205 200/257/198 +f 212/259/205 213/261/206 201/260/199 +f 213/261/206 214/277/216 202/262/200 +f 202/262/200 214/277/216 215/263/207 +f 215/263/207 216/266/209 204/265/201 +f 216/266/209 205/245/13 193/247/12 +f 217/267/28 218/281/220 206/268/210 +f 206/268/210 218/281/220 219/269/211 +f 207/248/202 219/269/211 220/270/212 +f 208/251/203 220/270/212 221/271/213 +f 221/271/213 222/284/223 210/253/204 +f 210/253/204 222/284/223 223/273/23 +f 223/275/23 224/287/225 212/259/205 +f 212/259/205 224/287/225 225/276/215 +f 225/276/215 226/278/217 214/277/216 +f 226/278/217 227/279/218 215/263/207 +f 227/279/218 228/291/229 216/266/209 +f 216/266/209 228/291/229 217/267/28 +f 217/267/28 229/293/41 230/280/219 +f 230/280/219 231/295/231 219/269/211 +f 219/269/211 231/295/231 232/282/221 +f 232/282/221 233/283/222 221/271/213 +f 233/283/222 234/285/224 222/284/223 +f 234/285/224 235/299/34 223/273/23 +f 235/286/34 236/301/236 224/287/225 +f 224/287/225 236/301/236 237/288/226 +f 225/276/215 237/288/226 238/289/227 +f 238/289/227 239/304/239 227/279/218 +f 227/279/218 239/304/239 240/290/228 +f 240/290/228 229/293/41 217/267/28 +f 241/292/52 242/294/230 230/280/219 +f 242/294/230 243/296/232 231/295/231 +f 243/296/232 244/297/233 232/282/221 +f 244/297/233 245/505/244 233/283/222 +f 233/283/222 245/505/244 246/298/234 +f 246/298/234 247/506/58 235/299/34 +f 235/286/34 247/507/58 248/300/235 +f 248/300/235 249/302/237 237/288/226 +f 249/302/237 250/303/238 238/289/227 +f 250/303/238 251/305/240 239/304/239 +f 251/305/240 252/306/241 240/290/228 +f 252/306/241 241/292/52 229/293/41 +f 253/307/62 254/329/250 242/308/230 +f 242/308/230 254/329/250 255/310/242 +f 243/311/232 255/310/242 256/312/243 +f 256/312/243 257/315/245 245/314/244 +f 257/315/245 258/317/246 246/316/234 +f 258/317/246 259/334/70 247/318/58 +f 247/319/58 259/336/70 260/320/247 +f 260/320/247 261/338/255 249/322/237 +f 249/322/237 261/338/255 262/323/248 +f 262/323/248 263/326/249 251/325/240 +f 263/326/249 264/342/259 252/327/241 +f 252/327/241 264/342/259 253/307/62 +f 265/328/76 266/330/251 254/329/250 +f 266/330/251 267/346/262 255/310/242 +f 255/310/242 267/346/262 268/331/252 +f 256/312/243 268/331/252 269/332/253 +f 269/332/253 270/349/265 258/317/246 +f 258/317/246 270/349/265 271/333/69 +f 271/335/69 272/337/254 260/320/247 +f 272/337/254 273/339/256 261/338/255 +f 273/339/256 274/340/257 262/323/248 +f 274/340/257 275/341/258 263/326/249 +f 275/341/258 276/343/260 264/342/259 +f 276/343/260 265/328/76 253/307/62 +f 277/344/87 278/357/270 266/330/251 +f 266/330/251 278/357/270 279/345/261 +f 279/345/261 280/359/272 268/331/252 +f 268/331/252 280/359/272 281/347/263 +f 269/332/253 281/347/263 282/348/264 +f 270/349/265 282/348/264 283/350/80 +f 283/351/80 284/352/266 272/337/254 +f 284/352/266 285/353/267 273/339/256 +f 285/353/267 286/354/268 274/340/257 +f 286/354/268 287/355/269 275/341/258 +f 287/355/269 288/366/278 276/343/260 +f 276/343/260 288/366/278 277/344/87 +f 289/356/100 290/508/279 278/357/270 +f 278/357/270 290/508/279 291/358/271 +f 291/358/271 292/509/282 280/359/272 +f 280/359/272 292/509/282 293/360/273 +f 281/347/263 293/360/273 294/361/274 +f 294/361/274 295/510/104 283/350/80 +f 295/362/104 296/363/275 284/352/266 +f 296/363/275 297/511/285 285/353/267 +f 285/353/267 297/511/285 298/364/276 +f 298/364/276 299/512/287 287/355/269 +f 287/355/269 299/512/287 300/365/277 +f 288/366/278 300/365/277 289/356/100 +f 301/367/124 302/370/280 290/368/279 +f 302/370/280 303/391/290 291/371/271 +f 291/371/271 303/391/290 304/372/281 +f 304/372/281 305/393/292 293/374/273 +f 293/374/273 305/393/292 306/375/283 +f 294/376/274 306/375/283 307/377/105 +f 307/379/105 308/382/284 296/380/275 +f 308/382/284 309/398/297 297/383/285 +f 297/383/285 309/398/297 310/384/286 +f 310/384/286 311/387/288 299/386/287 +f 311/387/288 312/401/300 300/388/277 +f 300/388/277 312/401/300 301/367/124 +f 313/389/135 314/390/289 302/370/280 +f 314/390/289 315/405/303 303/391/290 +f 303/391/290 315/405/303 316/392/291 +f 316/392/291 317/394/293 305/393/292 +f 317/394/293 318/395/294 306/375/283 +f 318/395/294 319/409/118 307/377/105 +f 307/379/105 319/410/118 320/396/295 +f 308/382/284 320/396/295 321/397/296 +f 309/398/297 321/397/296 322/399/298 +f 322/399/298 323/400/299 311/387/288 +f 323/400/299 324/402/301 312/401/300 +f 324/402/301 313/389/135 301/367/124 +f 325/403/136 326/404/302 314/390/289 +f 326/404/302 327/417/312 315/405/303 +f 315/405/303 327/417/312 328/406/304 +f 328/406/304 329/407/305 317/394/293 +f 329/407/305 330/408/306 318/395/294 +f 330/408/306 331/421/141 319/409/118 +f 319/410/118 331/423/141 332/411/307 +f 332/411/307 333/425/316 321/397/296 +f 321/397/296 333/425/316 334/412/308 +f 334/412/308 335/413/309 323/400/299 +f 335/413/309 336/414/310 324/402/301 +f 336/414/310 325/403/136 313/389/135 +f 337/415/146 338/416/311 326/404/302 +f 338/416/311 339/513/321 327/417/312 +f 327/417/312 339/513/321 340/418/313 +f 340/418/313 341/514/323 329/407/305 +f 329/407/305 341/514/323 342/419/314 +f 330/408/306 342/419/314 343/420/152 +f 343/422/152 344/424/315 332/411/307 +f 344/424/315 345/515/327 333/425/316 +f 333/425/316 345/515/327 346/426/317 +f 346/426/317 347/427/318 335/413/309 +f 347/427/318 348/428/319 336/414/310 +f 348/428/319 337/415/146 325/403/136 +f 349/429/159 350/452/330 338/430/311 +f 338/430/311 350/452/330 351/432/320 +f 351/432/320 352/435/322 340/434/313 +f 352/435/322 353/437/324 341/436/323 +f 353/437/324 354/439/325 342/438/314 +f 354/439/325 355/457/166 343/440/152 +f 355/441/166 356/459/334 344/442/315 +f 344/442/315 356/459/334 357/444/326 +f 357/444/326 358/447/328 346/446/317 +f 358/447/328 359/449/329 347/448/318 +f 359/449/329 360/462/337 348/450/319 +f 348/450/319 360/462/337 349/429/159 +f 361/451/183 362/453/331 350/452/330 +f 362/453/331 363/454/332 351/432/320 +f 363/454/332 364/466/341 352/435/322 +f 352/435/322 364/466/341 365/455/333 +f 365/455/333 366/468/343 354/439/325 +f 354/439/325 366/468/343 367/456/165 +f 367/458/165 368/471/345 356/459/334 +f 356/459/334 368/471/345 369/460/335 +f 369/460/335 370/473/347 358/447/328 +f 358/447/328 370/473/347 371/461/336 +f 371/461/336 372/463/338 360/462/337 +f 372/463/338 361/451/183 349/429/159 +f 361/451/183 373/476/182 374/464/339 +f 374/464/339 375/465/340 363/454/332 +f 375/465/340 376/480/350 364/466/341 +f 364/466/341 376/480/350 377/467/342 +f 377/467/342 378/469/344 366/468/343 +f 378/469/344 379/482/177 367/456/165 +f 379/470/177 380/484/351 368/471/345 +f 368/471/345 380/484/351 381/472/346 +f 381/472/346 382/474/348 370/473/347 +f 382/474/348 383/487/352 371/461/336 +f 371/461/336 383/487/352 384/475/349 +f 372/463/338 384/475/349 373/476/182 +f 1/477/1 2/478/3 374/464/339 +f 2/478/3 3/516/4 375/465/340 +f 375/465/340 3/516/4 4/479/6 +f 4/479/6 5/517/8 377/467/342 +f 377/467/342 5/517/8 6/481/10 +f 6/481/10 7/518/12 379/482/177 +f 379/470/177 7/519/12 8/483/14 +f 8/483/14 9/485/16 381/472/346 +f 9/485/16 10/486/18 382/474/348 +f 10/486/18 11/520/20 383/487/352 +f 383/487/352 11/520/20 12/488/21 +f 12/488/21 1/477/1 373/476/182 diff --git a/src/main/java/assets/hbm/models/fluidtank.obj b/src/main/java/assets/hbm/models/fluidtank.obj new file mode 100644 index 000000000..fe2fe57cd --- /dev/null +++ b/src/main/java/assets/hbm/models/fluidtank.obj @@ -0,0 +1,1173 @@ +# Blender v2.79 (sub 0) OBJ File: 'fluidtank.blend' +# www.blender.org +o Label +v -1.260000 1.750000 1.000000 +v -1.260000 1.750000 -1.000000 +v -1.164849 2.228354 1.000000 +v 1.164849 2.228354 -1.000000 +v 1.164849 2.228354 1.000000 +v 1.260000 1.750000 -1.000000 +v 1.260000 1.750000 1.000000 +v -1.164849 2.228354 -1.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vn -0.9808 0.1951 -0.0000 +vn 0.9808 0.1951 -0.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 6/4/2 5/5/2 7/6/2 +f 3/1/1 8/7/1 2/2/1 +f 6/4/2 4/8/2 5/5/2 +o Tank +v 0.000000 3.000000 -2.000000 +v 0.000000 3.000000 2.000000 +v 0.478354 2.904849 -2.000000 +v 0.478354 2.904850 2.000000 +v 0.883883 2.633883 -2.000000 +v 0.883883 2.633883 2.000000 +v 1.154849 2.228354 -2.000000 +v 1.154849 2.228354 2.000000 +v 1.250000 1.750000 -2.000000 +v 1.250000 1.750000 2.000000 +v 1.154849 1.271646 -2.000000 +v 1.154849 1.271646 2.000000 +v 0.883883 0.866117 -2.000000 +v 0.883883 0.866117 2.000000 +v 0.478354 0.595150 -2.000000 +v 0.478354 0.595151 2.000000 +v 0.000000 0.500000 -2.000000 +v 0.000000 0.500000 2.000000 +v -0.478354 0.595150 -2.000000 +v -0.478354 0.595150 2.000000 +v -0.883883 0.866116 -2.000000 +v -0.883883 0.866116 2.000000 +v -1.154849 1.271646 -2.000000 +v -1.154849 1.271646 2.000000 +v -1.250000 1.750000 -2.000000 +v -1.250000 1.750000 2.000000 +v -1.154849 2.228354 -2.000000 +v -1.154849 2.228355 2.000000 +v -0.883883 2.633884 -2.000000 +v -0.883883 2.633884 2.000000 +v -0.478354 2.904850 -2.000000 +v -0.478354 2.904850 2.000000 +v 0.430519 2.789365 2.250000 +v 0.000000 2.875000 2.250000 +v -0.430518 2.789365 2.250000 +v -0.795495 2.545496 2.250000 +v -1.039364 2.180519 2.250000 +v -1.125000 1.750000 2.250000 +v -1.039364 1.319481 2.250000 +v -0.795495 0.954505 2.250000 +v -0.430519 0.710635 2.250000 +v 0.000000 0.625000 2.250000 +v 0.430519 0.710636 2.250000 +v 0.795495 0.954505 2.250000 +v 1.039364 1.319481 2.250000 +v 1.125000 1.750000 2.250000 +v 1.039364 2.180519 2.250000 +v 0.795495 2.545495 2.250000 +v 0.000000 2.875000 -2.250000 +v 0.430519 2.789364 -2.250000 +v 0.795495 2.545495 -2.250000 +v 1.039364 2.180519 -2.250000 +v 1.125000 1.750000 -2.250000 +v 1.039364 1.319481 -2.250000 +v 0.795495 0.954505 -2.250000 +v 0.430519 0.710635 -2.250000 +v 0.000000 0.625000 -2.250000 +v -0.430519 0.710635 -2.250000 +v -0.795495 0.954504 -2.250000 +v -1.039364 1.319481 -2.250000 +v -1.125000 1.750000 -2.250000 +v -1.039364 2.180519 -2.250000 +v -0.795495 2.545495 -2.250000 +v -0.430518 2.789365 -2.250000 +v 0.239177 2.327425 2.500000 +v 0.000000 2.375000 2.500000 +v -0.239177 2.327425 2.500000 +v -0.441941 2.191942 2.500000 +v -0.577425 1.989177 2.500000 +v -0.625000 1.750000 2.500000 +v -0.577425 1.510823 2.500000 +v -0.441942 1.308058 2.500000 +v -0.239177 1.172575 2.500000 +v 0.000000 1.125000 2.500000 +v 0.239177 1.172575 2.500000 +v 0.441942 1.308058 2.500000 +v 0.577425 1.510823 2.500000 +v 0.625000 1.750000 2.500000 +v 0.577425 1.989177 2.500000 +v 0.441942 2.191942 2.500000 +v 0.000000 2.375000 -2.500000 +v 0.239177 2.327425 -2.500000 +v 0.441942 2.191942 -2.500000 +v 0.577425 1.989177 -2.500000 +v 0.625000 1.750000 -2.500000 +v 0.577425 1.510823 -2.500000 +v 0.441942 1.308058 -2.500000 +v 0.239177 1.172575 -2.500000 +v 0.000000 1.125000 -2.500000 +v -0.239177 1.172575 -2.500000 +v -0.441942 1.308058 -2.500000 +v -0.577425 1.510823 -2.500000 +v -0.625000 1.750000 -2.500000 +v -0.577425 1.989177 -2.500000 +v -0.441942 2.191942 -2.500000 +v -0.239177 2.327425 -2.500000 +v 1.500000 0.656250 -1.156250 +v 1.500000 0.343750 -1.156250 +v 1.500000 0.656250 -0.843750 +v 1.500000 0.343750 -0.843750 +v 1.500000 0.343750 1.156250 +v 1.500000 0.656250 1.156250 +v 1.500000 0.343750 0.843750 +v 1.500000 0.656250 0.843750 +v -1.500000 0.343750 -1.156250 +v -1.500000 0.656250 -1.156250 +v -1.500000 0.343750 -0.843750 +v -1.500000 0.656250 -0.843750 +v -1.500000 0.656250 1.156250 +v -1.500000 0.343750 1.156250 +v -1.500000 0.656250 0.843750 +v -1.500000 0.343750 0.843750 +v -0.750000 3.000000 -2.000000 +v -0.500000 3.000000 -1.933013 +v -0.316987 3.000000 -1.750000 +v -0.250000 3.000000 -1.500000 +v -0.316987 3.000000 -1.250000 +v -0.500000 3.000000 -1.066987 +v -0.750000 3.000000 -1.000000 +v -1.000000 3.000000 -1.066987 +v -1.183013 3.000000 -1.250000 +v -1.250000 3.000000 -1.500000 +v -1.183013 3.000000 -1.750000 +v -1.000000 3.000000 -1.933012 +v -0.537500 3.000000 -1.868061 +v -0.750000 3.000000 -1.925000 +v -0.381939 3.000000 -1.712500 +v -0.325000 3.000000 -1.500000 +v -0.381939 3.000000 -1.287500 +v -0.537500 3.000000 -1.131939 +v -0.750000 3.000000 -1.075000 +v -0.962500 3.000000 -1.131939 +v -1.118061 3.000000 -1.287500 +v -1.175000 3.000000 -1.500000 +v -1.118061 3.000000 -1.712500 +v -0.962500 3.000000 -1.868061 +v -0.537500 3.050000 -1.868061 +v -0.750000 3.050000 -1.925000 +v -0.381939 3.050000 -1.712500 +v -0.325000 3.050000 -1.500000 +v -0.381939 3.050000 -1.287500 +v -0.537500 3.050000 -1.131939 +v -0.750000 3.050000 -1.075000 +v -0.962500 3.050000 -1.131939 +v -1.118061 3.050000 -1.287500 +v -1.175000 3.050000 -1.500000 +v -1.118061 3.050000 -1.712500 +v -0.962500 3.050000 -1.868061 +v -0.918125 3.050000 -1.355209 +v -0.950000 3.050000 -1.363750 +v -0.894791 3.050000 -1.331875 +v -0.886250 3.050000 -1.300000 +v -0.894791 3.050000 -1.268125 +v -0.918125 3.050000 -1.244791 +v -0.950000 3.050000 -1.236250 +v -0.981875 3.050000 -1.244791 +v -1.005209 3.050000 -1.268125 +v -1.013750 3.050000 -1.300000 +v -1.005209 3.050000 -1.331875 +v -0.981875 3.050000 -1.355209 +v -0.918125 3.075000 -1.355209 +v -0.950000 3.075000 -1.363750 +v -0.894791 3.075000 -1.331875 +v -0.886250 3.075000 -1.300000 +v -0.894791 3.075000 -1.268125 +v -0.918125 3.075000 -1.244791 +v -0.950000 3.075000 -1.236250 +v -0.981875 3.075000 -1.244791 +v -1.005209 3.075000 -1.268125 +v -1.013750 3.075000 -1.300000 +v -1.005209 3.075000 -1.331875 +v -0.981875 3.075000 -1.355209 +v -0.981875 3.075000 -1.355209 +v -1.005209 3.075000 -1.331875 +v -1.013750 3.075000 -1.300000 +v -1.005209 3.075000 -1.268125 +v -0.981875 3.075000 -1.244791 +v -0.950000 3.075000 -1.236250 +v -0.918125 3.075000 -1.244791 +v -0.894791 3.075000 -1.268125 +v -0.886250 3.075000 -1.300000 +v -0.894791 3.075000 -1.331875 +v -0.950000 3.075000 -1.363750 +v -0.918125 3.075000 -1.355209 +v 1.250000 0.000000 1.750000 +v -1.250000 0.000000 1.750000 +v 1.250000 0.000000 2.000000 +v -1.250000 0.000000 2.000000 +v 1.250000 1.750000 1.750000 +v -1.250000 1.750000 1.750000 +v 1.250000 1.750000 2.000000 +v -1.250000 1.750000 2.000000 +v 1.250000 0.000000 -2.000000 +v -1.250000 0.000000 -2.000000 +v 1.250000 0.000000 -1.750000 +v -1.250000 0.000000 -1.750000 +v 1.250000 1.750000 -2.000000 +v -1.250000 1.750000 -2.000000 +v 1.250000 1.750000 -1.750000 +v -1.250000 1.750000 -1.750000 +v 0.000000 3.000000 -2.000000 +v 0.000000 3.000000 2.000000 +v 0.478354 2.904849 -2.000000 +v 0.478354 2.904850 2.000000 +v 0.883883 2.633883 -2.000000 +v 0.883883 2.633883 2.000000 +v 1.154849 2.228354 -2.000000 +v 1.154849 2.228354 2.000000 +v 1.250000 1.750000 -2.000000 +v 1.250000 1.750000 2.000000 +v 1.154849 1.271646 -2.000000 +v 1.154849 1.271646 2.000000 +v 0.883883 0.866117 -2.000000 +v 0.883883 0.866117 2.000000 +v 0.478354 0.595150 -2.000000 +v 0.478354 0.595151 2.000000 +v 0.000000 0.500000 -2.000000 +v 0.000000 0.500000 2.000000 +v -0.478354 0.595150 -2.000000 +v -0.478354 0.595150 2.000000 +v -0.883883 0.866116 -2.000000 +v -0.883883 0.866116 2.000000 +v -1.154849 1.271646 -2.000000 +v -1.154849 1.271646 2.000000 +v -1.250000 1.750000 -2.000000 +v -1.250000 1.750000 2.000000 +v -1.154849 2.228354 -2.000000 +v -1.154849 2.228355 2.000000 +v -0.883883 2.633884 -2.000000 +v -0.883883 2.633884 2.000000 +v -0.478354 2.904850 -2.000000 +v -0.478354 2.904850 2.000000 +v -0.750000 3.000000 -2.000000 +v -0.500000 3.000000 -1.933013 +v -0.316987 3.000000 -1.750000 +v -0.250000 3.000000 -1.500000 +v -0.316987 3.000000 -1.250000 +v -0.500000 3.000000 -1.066987 +v -0.750000 3.000000 -1.000000 +v -1.000000 3.000000 -1.066987 +v -1.183013 3.000000 -1.250000 +v -1.250000 3.000000 -1.500000 +v -1.183013 3.000000 -1.750000 +v -1.000000 3.000000 -1.933012 +v -0.537500 3.000000 -1.868061 +v -0.750000 3.000000 -1.925000 +v -0.381939 3.000000 -1.712500 +v -0.325000 3.000000 -1.500000 +v -0.381939 3.000000 -1.287500 +v -0.537500 3.000000 -1.131939 +v -0.750000 3.000000 -1.075000 +v -0.962500 3.000000 -1.131939 +v -1.118061 3.000000 -1.287500 +v -1.175000 3.000000 -1.500000 +v -1.118061 3.000000 -1.712500 +v -0.962500 3.000000 -1.868061 +v -0.537500 3.050000 -1.868061 +v -0.750000 3.050000 -1.925000 +v -0.381939 3.050000 -1.712500 +v -0.325000 3.050000 -1.500000 +v -0.381939 3.050000 -1.287500 +v -0.537500 3.050000 -1.131939 +v -0.750000 3.050000 -1.075000 +v -0.962500 3.050000 -1.131939 +v -1.118061 3.050000 -1.287500 +v -1.175000 3.050000 -1.500000 +v -1.118061 3.050000 -1.712500 +v -0.962500 3.050000 -1.868061 +v -0.750000 1.750000 -2.000000 +v -0.500000 1.750000 -1.933013 +v -0.316987 1.750000 -1.750000 +v -0.250000 1.750000 -1.500000 +v -0.316987 1.750000 -1.250000 +v -0.500000 1.750000 -1.066987 +v -0.750000 1.750000 -1.000000 +v -1.000000 1.750000 -1.066987 +v -1.183013 1.750000 -1.250000 +v -1.250000 1.750000 -1.500000 +v -1.183013 1.750000 -1.750000 +v -1.000000 1.750000 -1.933012 +vt 0.794118 0.375000 +vt 0.757353 -0.000000 +vt 0.794118 -0.000000 +vt 0.757353 0.375000 +vt 0.720588 -0.000000 +vt 0.683824 0.414062 +vt 0.720588 0.375000 +vt 0.720588 0.414062 +vt 0.683824 0.375000 +vt 0.647059 0.414062 +vt 0.647059 0.375000 +vt 0.683824 0.375000 +vt 0.647059 0.414062 +vt 0.647059 0.375000 +vt 0.683824 0.414062 +vt 0.720588 0.375000 +vt 0.720588 0.414062 +vt 0.683824 0.375000 +vt 0.720588 0.375000 +vt 0.647059 -0.000000 +vt 0.647059 0.375000 +vt 0.720588 -0.000000 +vt 0.757353 0.375000 +vt 0.720588 0.375000 +vt 0.757353 -0.000000 +vt 0.794118 0.375000 +vt 0.683824 0.375000 +vt 0.683824 -0.000000 +vt 0.647059 -0.000000 +vt 0.882353 0.570312 +vt 0.911765 0.578125 +vt 0.882353 0.578125 +vt 0.941176 0.570312 +vt 0.911765 0.570312 +vt 0.970588 0.570312 +vt 0.941176 0.578125 +vt 1.000000 0.570312 +vt 0.970588 0.578125 +vt 0.764706 0.570312 +vt 0.735294 0.578125 +vt 0.735294 0.570312 +vt 0.705882 0.578125 +vt 0.705882 0.570312 +vt 0.676471 0.570312 +vt 0.647059 0.578125 +vt 0.647059 0.570312 +vt 0.794118 0.570312 +vt 0.764706 0.578125 +vt 0.676471 0.578125 +vt 0.823529 0.570312 +vt 0.794118 0.578125 +vt 0.852941 0.570312 +vt 0.823529 0.578125 +vt 0.852941 0.578125 +vt 0.749583 0.898438 +vt 0.724056 0.945415 +vt 0.673002 0.945415 +vt 0.759147 0.852259 +vt 0.764050 0.857468 +vt 0.762256 0.864584 +vt 0.941176 0.835938 +vt 0.647059 0.804688 +vt 0.941176 0.804688 +vt 0.941176 0.835938 +vt 0.647059 0.804688 +vt 0.941176 0.804688 +vt 0.970588 0.585938 +vt 0.941176 0.804688 +vt 0.941176 0.585938 +vt 0.647059 0.804688 +vt 0.647059 0.585938 +vt 0.970588 0.585938 +vt 0.941176 0.804688 +vt 0.941176 0.585938 +vt 0.647059 0.585938 +vt 0.647059 0.804688 +vt 0.970588 0.585938 +vt 0.941176 0.804688 +vt 0.941176 0.585938 +vt 0.647059 0.804688 +vt 0.647059 0.585938 +vt 0.970588 0.585938 +vt 0.941176 0.804688 +vt 0.941176 0.585938 +vt 0.647059 0.585938 +vt 0.647059 0.804688 +vt 0.683824 0.375000 +vt 0.683824 0.414062 +vt 0.683824 0.414062 +vt 0.683824 0.375000 +vt 0.683824 -0.000000 +vt 0.794118 -0.000000 +vt 0.647059 0.375000 +vt 1.000000 0.578125 +vt 0.654316 0.925560 +vt 0.647476 0.898438 +vt 0.654315 0.871315 +vt 0.673003 0.851460 +vt 0.698529 0.844193 +vt 0.724056 0.851460 +vt 0.742743 0.871315 +vt 0.742743 0.925560 +vt 0.698529 0.952682 +vt 0.759147 0.866491 +vt 0.755558 0.866491 +vt 0.752450 0.864584 +vt 0.750656 0.861282 +vt 0.750656 0.857468 +vt 0.752450 0.854166 +vt 0.755558 0.852259 +vt 0.762256 0.854166 +vt 0.764050 0.861282 +vt 0.647059 0.835938 +vt 0.647059 0.835938 +vt 0.970588 0.804688 +vt 0.970588 0.804688 +vt 0.970588 0.804688 +vt 0.970588 0.804688 +vt 0.676471 0.570312 +vt 0.705882 0.414062 +vt 0.705882 0.570312 +vt 0.735294 0.570312 +vt 0.764706 0.414062 +vt 0.764706 0.570312 +vt 0.941176 0.570312 +vt 0.970588 0.414062 +vt 0.970588 0.570312 +vt 0.852941 0.570312 +vt 0.882353 0.414062 +vt 0.882353 0.570312 +vt 0.970588 0.578125 +vt 0.941176 0.585938 +vt 0.941176 0.578125 +vt -0.000000 0.484375 +vt 0.058824 0.437500 +vt 0.058824 0.500000 +vt 0.882353 0.578125 +vt 0.852941 0.585938 +vt 0.852941 0.578125 +vt 0.735294 0.578125 +vt 0.705882 0.585938 +vt 0.705882 0.578125 +vt 0.816109 0.023366 +vt 0.919185 0.023366 +vt 0.919185 0.132884 +vt 0.088235 0.437500 +vt 0.088235 0.500000 +vt 0.058824 0.562500 +vt 0.088235 0.562500 +vt 0.088235 0.625000 +vt 0.088235 0.687500 +vt 0.058824 0.625000 +vt 0.058824 0.750000 +vt 0.088235 0.750000 +vt 0.058824 0.812500 +vt 0.088235 0.812500 +vt 0.058824 0.875000 +vt 0.088235 0.875000 +vt 0.058824 0.937500 +vt 0.088235 0.937500 +vt 0.088235 1.000000 +vt 0.058824 0.062500 +vt 0.088235 0.000000 +vt 0.088235 0.062500 +vt 0.058824 0.125000 +vt 0.088235 0.125000 +vt 0.088235 0.187500 +vt 0.088235 0.250000 +vt 0.058824 0.187500 +vt 0.058824 0.312500 +vt 0.088235 0.312500 +vt 0.058824 0.375000 +vt 0.088235 0.375000 +vt 0.558824 0.437500 +vt 0.588235 0.500000 +vt 0.558824 0.500000 +vt 0.588235 0.375000 +vt 0.558824 0.375000 +vt 0.588235 0.312500 +vt 0.558824 0.312500 +vt 0.588235 0.250000 +vt 0.558824 0.250000 +vt 0.588235 0.187500 +vt 0.558824 0.187500 +vt 0.588235 0.125000 +vt 0.558824 0.125000 +vt 0.558824 0.062500 +vt 0.558824 0.000000 +vt 0.588235 0.062500 +vt 0.588235 0.937500 +vt 0.558824 1.000000 +vt 0.558824 0.937500 +vt 0.558824 0.875000 +vt 0.558824 0.812500 +vt 0.588235 0.875000 +vt 0.588235 0.750000 +vt 0.558824 0.750000 +vt 0.558824 0.687500 +vt 0.588235 0.625000 +vt 0.558824 0.625000 +vt 0.558824 0.562500 +vt -0.000000 0.546875 +vt -0.000000 0.609375 +vt 0.058824 0.687500 +vt -0.000000 0.640625 +vt -0.000000 0.734375 +vt -0.000000 0.796875 +vt -0.000000 0.828125 +vt -0.000000 0.921875 +vt 0.058824 1.000000 +vt -0.000000 0.953125 +vt -0.000000 0.015625 +vt 0.058824 0.000000 +vt -0.000000 0.109375 +vt -0.000000 0.171875 +vt -0.000000 0.234375 +vt 0.058824 0.250000 +vt -0.000000 0.296875 +vt -0.000000 0.359375 +vt -0.000000 0.421875 +vt 0.894968 0.164294 +vt 0.933606 0.205346 +vt 0.894968 0.304456 +vt 0.588235 0.437500 +vt 0.647059 0.484375 +vt 0.647059 0.421875 +vt 0.647059 0.359375 +vt 0.647059 0.265625 +vt 0.647059 0.203125 +vt 0.647059 0.140625 +vt 0.647059 0.078125 +vt 0.588235 0.000000 +vt 0.647059 0.046875 +vt 0.647059 0.953125 +vt 0.588235 1.000000 +vt 0.647059 0.890625 +vt 0.647059 0.828125 +vt 0.588235 0.812500 +vt 0.647059 0.765625 +vt 0.647059 0.703125 +vt 0.588235 0.687500 +vt 0.647059 0.640625 +vt 0.588235 0.562500 +vt 0.647059 0.609375 +vt 0.647059 0.515625 +vt 0.794118 0.578125 +vt 0.764706 0.585938 +vt 0.764706 0.578125 +vt 1.000000 0.578125 +vt 0.970588 0.585938 +vt 0.911765 0.578125 +vt 0.882353 0.585938 +vt 0.823529 0.578125 +vt 0.794118 0.585938 +vt 0.676471 0.578125 +vt 0.647059 0.585938 +vt 0.647059 0.578125 +vt 0.911765 0.585938 +vt 0.823529 0.585938 +vt 0.676471 0.585938 +vt 0.735294 0.585938 +vt 0.757353 0.851562 +vt 0.764706 0.843750 +vt 0.764706 0.851562 +vt 0.808824 0.851562 +vt 0.816176 0.843750 +vt 0.816176 0.851562 +vt 0.823529 0.851562 +vt 0.830882 0.843750 +vt 0.830882 0.851562 +vt 0.786765 0.851562 +vt 0.794118 0.843750 +vt 0.794118 0.851562 +vt 0.772059 0.843750 +vt 0.772059 0.851562 +vt 0.838235 0.843750 +vt 0.838235 0.851562 +vt 0.801471 0.843750 +vt 0.801471 0.851562 +vt 0.779412 0.843750 +vt 0.779412 0.851562 +vt 0.750000 0.851562 +vt 0.757353 0.843750 +vt 0.808824 0.843750 +vt 0.823529 0.843750 +vt 0.786765 0.843750 +vt 0.558824 0.500000 +vt 0.088235 0.437500 +vt 0.558824 0.437500 +vt 0.558824 0.375000 +vt 0.088235 0.375000 +vt 0.558824 0.312500 +vt 0.088235 0.125000 +vt 0.558824 0.062500 +vt 0.558824 0.125000 +vt 0.088235 0.687500 +vt 0.558824 0.625000 +vt 0.558824 0.687500 +vt 0.088235 0.562500 +vt 0.558824 0.562500 +vt 0.088235 0.250000 +vt 0.558824 0.187500 +vt 0.558824 0.250000 +vt 0.088235 0.000000 +vt 0.088235 0.062500 +vt 0.088235 0.937500 +vt 0.558824 1.000000 +vt 0.088235 1.000000 +vt 0.558824 0.875000 +vt 0.558824 0.937500 +vt 0.088235 0.875000 +vt 0.558824 0.812500 +vt 0.088235 0.812500 +vt 0.558824 0.750000 +vt 0.088235 0.187500 +vt 0.088235 0.312500 +vt 0.088235 0.750000 +vt 0.823529 0.570312 +vt 0.852941 0.414062 +vt 0.911765 0.570312 +vt 0.941176 0.414062 +vt 0.647059 0.570312 +vt 0.676471 0.414062 +vt 0.794118 0.570312 +vt 0.823529 0.414062 +vt 0.911765 0.414062 +vt 1.000000 0.414062 +vt 1.000000 0.570312 +vt 0.794118 0.414062 +vt 0.735294 0.414062 +vt -0.000000 0.453125 +vt 0.895539 0.149671 +vt 0.867647 0.155566 +vt 0.839755 0.149671 +vt 0.816109 0.132884 +vt 0.800310 0.107760 +vt 0.794762 0.078125 +vt 0.800310 0.048490 +vt 0.839755 0.006579 +vt 0.867647 0.000685 +vt 0.895539 0.006579 +vt 0.934984 0.048490 +vt 0.940532 0.078125 +vt 0.934984 0.107760 +vt -0.000000 0.515625 +vt -0.000000 0.578125 +vt -0.000000 0.671875 +vt -0.000000 0.703125 +vt -0.000000 0.765625 +vt -0.000000 0.859375 +vt -0.000000 0.890625 +vt -0.000000 0.984375 +vt -0.000000 0.046875 +vt -0.000000 0.078125 +vt -0.000000 0.140625 +vt -0.000000 0.203125 +vt -0.000000 0.265625 +vt -0.000000 0.328125 +vt -0.000000 0.390625 +vt 0.867647 0.310231 +vt 0.840326 0.304456 +vt 0.817164 0.288013 +vt 0.801688 0.263404 +vt 0.796254 0.234375 +vt 0.840326 0.164294 +vt 0.801688 0.205346 +vt 0.817164 0.180737 +vt 0.867647 0.158519 +vt 0.918130 0.180737 +vt 0.939041 0.234375 +vt 0.933606 0.263404 +vt 0.918130 0.288013 +vt 0.647059 0.453125 +vt 0.647059 0.390625 +vt 0.647059 0.328125 +vt 0.647059 0.296875 +vt 0.647059 0.234375 +vt 0.647059 0.171875 +vt 0.647059 0.109375 +vt 0.647059 0.015625 +vt 0.647059 0.984375 +vt 0.647059 0.921875 +vt 0.647059 0.859375 +vt 0.647059 0.796875 +vt 0.647059 0.734375 +vt 0.647059 0.671875 +vt 0.647059 0.578125 +vt 0.647059 0.546875 +vt 1.000000 0.585938 +vt 0.750000 0.843750 +vt 0.088235 0.500000 +vt 0.088235 0.625000 +vt 0.558824 0.000000 +vt 0.647059 0.414062 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn 0.0000 0.2566 0.9665 +vn 0.2777 0.6705 0.6879 +vn 0.0000 0.7258 0.6879 +vn -0.1814 -0.1814 0.9665 +vn 0.1814 -0.1814 0.9665 +vn 0.1814 0.1814 0.9665 +vn 0.3423 0.8263 0.4472 +vn 0.0000 0.8944 0.4472 +vn -0.2777 0.6705 0.6879 +vn -0.3423 0.8263 0.4472 +vn -0.6324 0.6324 0.4472 +vn -0.8263 0.3423 0.4472 +vn -0.5132 0.5132 0.6879 +vn -0.7258 0.0000 0.6879 +vn -0.8944 0.0000 0.4472 +vn -0.6705 -0.2777 0.6879 +vn -0.8263 -0.3423 0.4472 +vn -0.5132 -0.5132 0.6879 +vn -0.6324 -0.6324 0.4472 +vn -0.2777 -0.6705 0.6879 +vn -0.3423 -0.8263 0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.2777 -0.6705 0.6879 +vn 0.3423 -0.8263 0.4472 +vn 0.5132 -0.5132 0.6879 +vn 0.6324 -0.6324 0.4472 +vn 0.8263 -0.3423 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.6705 -0.2777 0.6879 +vn 0.6705 0.2777 0.6879 +vn 0.8263 0.3423 0.4472 +vn 0.5132 0.5132 0.6879 +vn 0.6324 0.6324 0.4472 +vn 0.3423 0.8263 -0.4472 +vn 0.0000 0.7258 -0.6879 +vn 0.0000 0.8944 -0.4472 +vn 0.5132 0.5132 -0.6879 +vn 0.6324 0.6324 -0.4472 +vn 0.6705 0.2777 -0.6879 +vn 0.8263 0.3423 -0.4472 +vn 0.7258 0.0000 -0.6879 +vn 0.8944 0.0000 -0.4472 +vn 0.6705 -0.2777 -0.6879 +vn 0.8263 -0.3423 -0.4472 +vn 0.5132 -0.5132 -0.6879 +vn 0.6324 -0.6324 -0.4472 +vn 0.3423 -0.8263 -0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.2777 -0.6705 -0.6879 +vn -0.2777 -0.6705 -0.6879 +vn -0.3423 -0.8263 -0.4472 +vn -0.6324 -0.6324 -0.4472 +vn -0.8263 -0.3423 -0.4472 +vn -0.5132 -0.5132 -0.6879 +vn -0.7258 0.0000 -0.6879 +vn -0.8944 0.0000 -0.4472 +vn -0.8263 0.3423 -0.4472 +vn -0.5132 0.5132 -0.6879 +vn -0.6324 0.6324 -0.4472 +vn -0.3423 0.8263 -0.4472 +vn -0.0982 0.2370 0.9665 +vn -0.1814 0.1814 0.9665 +vn -0.6705 0.2777 0.6879 +vn -0.2566 0.0000 0.9665 +vn -0.2370 -0.0982 0.9665 +vn -0.0982 -0.2370 0.9665 +vn 0.0000 -0.7258 0.6879 +vn 0.0000 -0.2566 0.9665 +vn 0.2370 -0.0982 0.9665 +vn 0.2566 0.0000 0.9665 +vn 0.7258 0.0000 0.6879 +vn 0.2370 0.0982 0.9665 +vn 0.0982 0.2370 0.9665 +vn -0.0982 -0.2370 -0.9665 +vn -0.2370 -0.0982 -0.9665 +vn -0.0982 0.2370 -0.9665 +vn 0.2777 0.6705 -0.6879 +vn 0.0000 0.2566 -0.9665 +vn 0.0982 0.2370 -0.9665 +vn 0.1814 0.1814 -0.9665 +vn 0.2566 0.0000 -0.9665 +vn 0.2370 -0.0982 -0.9665 +vn 0.1814 -0.1814 -0.9665 +vn 0.0982 -0.2370 -0.9665 +vn 0.0000 -0.7258 -0.6879 +vn -0.1814 -0.1814 -0.9665 +vn -0.6705 -0.2777 -0.6879 +vn -0.2566 0.0000 -0.9665 +vn -0.2370 0.0982 -0.9665 +vn -0.6705 0.2777 -0.6879 +vn -0.1814 0.1814 -0.9665 +vn -0.2777 0.6705 -0.6879 +vn -0.8660 0.0000 -0.5000 +vn 0.3827 0.9239 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.9239 -0.3827 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.2370 0.0982 0.9665 +vn 0.0982 -0.2370 0.9665 +vn 0.2370 0.0982 -0.9665 +vn 0.0000 -0.2566 -0.9665 +s off +f 108/9/3 116/10/3 115/11/3 +f 107/12/4 114/13/4 116/10/4 +f 110/14/5 111/15/5 112/16/5 +f 115/17/6 114/18/6 113/19/6 +f 118/20/6 119/21/6 120/22/6 +f 107/23/5 106/24/5 105/25/5 +f 106/26/7 114/13/7 105/27/7 +f 115/28/8 106/26/8 108/29/8 +f 119/30/4 110/31/4 112/32/4 +f 117/33/3 109/34/3 110/31/3 +f 119/30/7 111/35/7 120/36/7 +f 111/35/8 118/37/8 120/36/8 +f 128/38/4 139/39/4 140/40/4 +f 126/41/4 139/39/4 127/42/4 +f 125/43/4 138/44/4 126/41/4 +f 124/45/4 137/46/4 125/43/4 +f 132/47/4 134/48/4 121/49/4 +f 121/49/4 133/50/4 122/51/4 +f 123/52/4 136/53/4 124/54/4 +f 131/55/4 144/56/4 132/47/4 +f 122/51/4 135/57/4 123/52/4 +f 130/58/4 143/59/4 131/55/4 +f 129/60/4 142/61/4 130/58/4 +f 129/60/4 140/40/4 141/62/4 +f 151/63/4 149/64/4 147/65/4 +f 186/66/4 188/67/4 190/68/4 +f 195/69/8 194/70/8 193/71/8 +f 203/72/8 202/73/8 201/74/8 +f 196/75/6 198/76/6 194/77/6 +f 194/77/7 197/78/7 193/79/7 +f 193/80/5 199/81/5 195/82/5 +f 196/83/3 199/81/3 200/84/3 +f 204/85/6 206/86/6 202/87/6 +f 202/87/7 205/88/7 201/89/7 +f 201/90/5 207/91/5 203/92/5 +f 204/93/3 207/91/3 208/94/3 +f 108/9/3 107/12/3 116/10/3 +f 107/12/4 105/27/4 114/13/4 +f 110/14/5 109/95/5 111/15/5 +f 115/17/6 116/96/6 114/18/6 +f 118/20/6 117/97/6 119/21/6 +f 107/23/5 108/98/5 106/24/5 +f 106/26/7 113/99/7 114/13/7 +f 115/28/8 113/99/8 106/26/8 +f 119/30/4 117/33/4 110/31/4 +f 117/33/3 118/100/3 109/34/3 +f 119/30/7 112/32/7 111/35/7 +f 111/35/8 109/101/8 118/37/8 +f 128/38/4 127/42/4 139/39/4 +f 126/41/4 138/44/4 139/39/4 +f 125/43/4 137/46/4 138/44/4 +f 124/45/4 136/102/4 137/46/4 +f 132/47/4 144/56/4 134/48/4 +f 121/49/4 134/48/4 133/50/4 +f 123/52/4 135/57/4 136/53/4 +f 131/55/4 143/59/4 144/56/4 +f 122/51/4 133/50/4 135/57/4 +f 130/58/4 142/61/4 143/59/4 +f 129/60/4 141/62/4 142/61/4 +f 129/60/4 128/38/4 140/40/4 +f 147/65/4 145/103/4 146/104/4 +f 146/104/4 156/105/4 155/106/4 +f 155/106/4 154/107/4 153/108/4 +f 153/108/4 152/109/4 151/63/4 +f 151/63/4 150/110/4 149/64/4 +f 149/64/4 148/111/4 147/65/4 +f 147/65/4 146/104/4 155/106/4 +f 155/106/4 153/108/4 147/65/4 +f 153/108/4 151/63/4 147/65/4 +f 190/68/4 192/112/4 191/113/4 +f 191/113/4 181/114/4 190/68/4 +f 181/114/4 182/115/4 190/68/4 +f 182/115/4 183/116/4 184/117/4 +f 184/117/4 185/118/4 186/66/4 +f 186/66/4 187/119/4 188/67/4 +f 188/67/4 189/120/4 190/68/4 +f 182/115/4 184/117/4 190/68/4 +f 184/117/4 186/66/4 190/68/4 +f 195/69/8 196/121/8 194/70/8 +f 203/72/8 204/122/8 202/73/8 +f 196/75/6 200/123/6 198/76/6 +f 194/77/7 198/76/7 197/78/7 +f 193/80/5 197/124/5 199/81/5 +f 196/83/3 195/82/3 199/81/3 +f 204/85/6 208/125/6 206/86/6 +f 202/87/7 206/86/7 205/88/7 +f 201/90/5 205/126/5 207/91/5 +f 204/93/3 203/92/3 207/91/3 +s 1 +f 243/127/9 278/128/10 242/129/10 +f 241/130/7 288/131/11 252/132/11 +f 246/133/12 281/134/13 245/135/13 +f 249/136/14 284/137/15 248/138/15 +f 257/139/13 270/140/12 258/141/12 +f 74/142/16 41/143/17 42/144/18 +f 260/145/15 273/146/14 261/147/14 +f 254/148/7 265/149/10 253/150/10 +f 80/151/19 84/152/20 88/153/21 +f 42/144/18 12/154/22 10/155/23 +f 43/156/24 10/155/23 40/157/25 +f 38/158/26 43/156/24 40/157/25 +f 36/159/27 44/160/28 38/158/26 +f 46/161/29 36/159/27 34/162/30 +f 47/163/31 34/162/30 32/164/32 +f 48/165/33 32/164/32 30/166/34 +f 49/167/35 30/166/34 28/168/36 +f 26/169/37 49/167/35 28/168/36 +f 51/170/38 26/171/37 24/172/39 +f 52/173/40 24/172/39 22/174/41 +f 20/175/42 52/173/40 22/174/41 +f 18/176/43 53/177/44 20/175/42 +f 55/178/45 18/176/43 16/179/46 +f 56/180/47 16/179/46 14/181/48 +f 41/143/17 14/181/48 12/154/22 +f 11/182/49 57/183/50 9/184/51 +f 59/185/52 11/182/49 13/186/53 +f 60/187/54 13/186/53 15/188/55 +f 61/189/56 15/188/55 17/190/57 +f 62/191/58 17/190/57 19/192/59 +f 63/193/60 19/192/59 21/194/61 +f 23/195/62 63/193/60 21/194/61 +f 25/196/63 64/197/64 23/195/62 +f 66/198/65 25/199/63 27/200/66 +f 29/201/67 66/198/65 27/200/66 +f 31/202/68 67/203/69 29/201/67 +f 69/204/70 31/202/68 33/205/71 +f 35/206/72 69/204/70 33/205/71 +f 71/207/73 35/206/72 37/208/74 +f 39/209/75 71/207/73 37/208/74 +f 57/183/50 39/209/75 9/184/51 +f 75/210/76 42/144/18 43/156/24 +f 76/211/77 43/156/24 44/160/28 +f 45/212/78 76/213/77 44/160/28 +f 78/214/79 45/212/78 46/161/29 +f 79/215/80 46/161/29 47/163/31 +f 48/165/33 79/216/80 47/163/31 +f 81/217/81 48/165/33 49/167/35 +f 50/218/82 81/219/81 49/167/35 +f 51/170/38 82/220/83 50/221/82 +f 84/222/20 51/170/38 52/173/40 +f 85/223/84 52/173/40 53/177/44 +f 86/224/85 53/177/44 54/225/86 +f 87/226/87 54/225/86 55/178/45 +f 88/227/21 55/178/45 56/180/47 +f 73/228/88 56/180/47 41/143/17 +f 98/229/89 100/230/90 104/231/91 +f 58/232/92 89/233/93 57/183/50 +f 59/185/52 90/234/94 58/232/92 +f 60/187/54 91/235/95 59/185/52 +f 93/236/96 60/187/54 61/189/56 +f 94/237/97 61/189/56 62/191/58 +f 95/238/98 62/191/58 63/193/60 +f 96/239/99 63/193/60 64/197/64 +f 65/240/100 96/241/99 64/197/64 +f 98/242/89 65/243/100 66/198/65 +f 99/244/101 66/198/65 67/203/69 +f 100/245/90 67/203/69 68/246/102 +f 101/247/103 68/246/102 69/204/70 +f 102/248/104 69/204/70 70/249/105 +f 103/250/106 70/249/105 71/207/73 +f 72/251/107 103/252/106 71/207/73 +f 89/253/93 72/251/107 57/183/50 +f 263/254/108 276/255/11 264/256/11 +f 256/257/5 269/258/13 257/139/13 +f 259/259/3 272/260/15 260/145/15 +f 262/261/6 275/262/108 263/254/108 +f 255/263/9 268/264/5 256/265/5 +f 258/141/12 271/266/3 259/259/3 +f 261/147/14 274/267/6 262/261/6 +f 253/150/10 267/268/9 255/263/9 +f 264/256/11 266/269/7 254/148/7 +f 161/270/13 174/271/12 162/272/12 +f 168/273/11 170/274/7 158/275/7 +f 157/276/10 171/277/9 159/278/9 +f 165/279/14 178/280/6 166/281/6 +f 162/272/12 175/282/3 163/283/3 +f 159/278/9 172/284/5 160/285/5 +f 166/281/6 179/286/108 167/287/108 +f 163/283/3 176/288/15 164/289/15 +f 160/290/5 173/291/13 161/270/13 +f 167/287/108 180/292/11 168/273/11 +f 158/275/7 169/293/10 157/276/10 +f 164/289/15 177/294/14 165/279/14 +f 209/295/4 212/296/109 211/297/109 +f 212/296/109 213/298/110 211/297/109 +f 214/299/110 215/300/111 213/298/110 +f 222/301/112 223/302/113 221/303/112 +f 236/304/114 237/305/115 235/306/114 +f 240/307/116 209/295/4 239/308/116 +f 237/305/115 240/307/116 239/308/116 +f 218/309/5 219/310/117 217/311/5 +f 226/312/8 223/302/113 224/313/113 +f 228/314/118 225/315/8 226/316/8 +f 228/314/118 229/317/119 227/318/118 +f 230/319/119 231/320/120 229/317/119 +f 232/321/120 233/322/6 231/320/120 +f 220/323/117 221/303/112 219/310/117 +f 217/311/5 216/324/111 218/309/5 +f 236/304/114 233/322/6 234/325/6 +f 250/326/6 285/327/14 249/136/14 +f 247/328/3 282/329/12 246/133/12 +f 244/330/5 279/331/9 243/127/9 +f 251/332/108 286/333/6 250/326/6 +f 248/138/15 283/334/3 247/328/3 +f 245/135/13 280/335/5 244/336/5 +f 252/132/11 287/337/108 251/332/108 +f 242/129/10 277/338/7 241/130/7 +f 243/127/9 279/331/9 278/128/10 +f 241/130/7 277/338/7 288/131/11 +f 246/133/12 282/329/12 281/134/13 +f 249/136/14 285/327/14 284/137/15 +f 257/139/13 269/258/13 270/140/12 +f 74/142/16 73/339/88 41/143/17 +f 260/145/15 272/260/15 273/146/14 +f 254/148/7 266/269/7 265/149/10 +f 88/153/21 73/340/88 74/341/16 +f 74/341/16 75/342/76 76/343/77 +f 76/343/77 77/344/121 78/345/79 +f 78/345/79 79/346/80 80/151/19 +f 80/151/19 81/347/81 82/348/83 +f 82/348/83 83/349/122 80/151/19 +f 83/349/122 84/152/20 80/151/19 +f 84/152/20 85/350/84 86/351/85 +f 86/351/85 87/352/87 84/152/20 +f 87/352/87 88/153/21 84/152/20 +f 88/153/21 74/341/16 76/343/77 +f 76/343/77 78/345/79 88/153/21 +f 78/345/79 80/151/19 88/153/21 +f 42/144/18 41/143/17 12/154/22 +f 43/156/24 42/144/18 10/155/23 +f 38/158/26 44/160/28 43/156/24 +f 36/159/27 45/212/78 44/160/28 +f 46/161/29 45/212/78 36/159/27 +f 47/163/31 46/161/29 34/162/30 +f 48/165/33 47/163/31 32/164/32 +f 49/167/35 48/165/33 30/166/34 +f 26/169/37 50/218/82 49/167/35 +f 51/170/38 50/221/82 26/171/37 +f 52/173/40 51/170/38 24/172/39 +f 20/175/42 53/177/44 52/173/40 +f 18/176/43 54/225/86 53/177/44 +f 55/178/45 54/225/86 18/176/43 +f 56/180/47 55/178/45 16/179/46 +f 41/143/17 56/180/47 14/181/48 +f 11/182/49 58/232/92 57/183/50 +f 59/185/52 58/232/92 11/182/49 +f 60/187/54 59/185/52 13/186/53 +f 61/189/56 60/187/54 15/188/55 +f 62/191/58 61/189/56 17/190/57 +f 63/193/60 62/191/58 19/192/59 +f 23/195/62 64/197/64 63/193/60 +f 25/196/63 65/240/100 64/197/64 +f 66/198/65 65/243/100 25/199/63 +f 29/201/67 67/203/69 66/198/65 +f 31/202/68 68/246/102 67/203/69 +f 69/204/70 68/246/102 31/202/68 +f 35/206/72 70/249/105 69/204/70 +f 71/207/73 70/249/105 35/206/72 +f 39/209/75 72/251/107 71/207/73 +f 57/183/50 72/251/107 39/209/75 +f 75/210/76 74/353/16 42/144/18 +f 76/211/77 75/354/76 43/156/24 +f 45/212/78 77/355/121 76/213/77 +f 78/214/79 77/356/121 45/212/78 +f 79/215/80 78/357/79 46/161/29 +f 48/165/33 80/358/19 79/216/80 +f 81/217/81 80/359/19 48/165/33 +f 50/218/82 82/360/83 81/219/81 +f 51/170/38 83/361/122 82/220/83 +f 84/222/20 83/362/122 51/170/38 +f 85/223/84 84/363/20 52/173/40 +f 86/224/85 85/364/84 53/177/44 +f 87/226/87 86/365/85 54/225/86 +f 88/227/21 87/366/87 55/178/45 +f 73/228/88 88/367/21 56/180/47 +f 104/231/91 89/368/93 90/369/94 +f 90/369/94 91/370/95 92/371/123 +f 92/371/123 93/372/96 96/373/99 +f 93/372/96 94/374/97 96/373/99 +f 94/374/97 95/375/98 96/373/99 +f 96/373/99 97/376/124 98/229/89 +f 98/229/89 99/377/101 100/230/90 +f 100/230/90 101/378/103 102/379/104 +f 102/379/104 103/380/106 100/230/90 +f 103/380/106 104/231/91 100/230/90 +f 104/231/91 90/369/94 96/373/99 +f 90/369/94 92/371/123 96/373/99 +f 96/373/99 98/229/89 104/231/91 +f 58/232/92 90/381/94 89/233/93 +f 59/185/52 91/382/95 90/234/94 +f 60/187/54 92/383/123 91/235/95 +f 93/236/96 92/384/123 60/187/54 +f 94/237/97 93/385/96 61/189/56 +f 95/238/98 94/386/97 62/191/58 +f 96/239/99 95/387/98 63/193/60 +f 65/240/100 97/388/124 96/241/99 +f 98/242/89 97/389/124 65/243/100 +f 99/244/101 98/390/89 66/198/65 +f 100/245/90 99/391/101 67/203/69 +f 101/247/103 100/392/90 68/246/102 +f 102/248/104 101/393/103 69/204/70 +f 103/250/106 102/394/104 70/249/105 +f 72/251/107 104/395/91 103/252/106 +f 89/253/93 104/396/91 72/251/107 +f 263/254/108 275/262/108 276/255/11 +f 256/257/5 268/397/5 269/258/13 +f 259/259/3 271/266/3 272/260/15 +f 262/261/6 274/267/6 275/262/108 +f 255/263/9 267/268/9 268/264/5 +f 258/141/12 270/140/12 271/266/3 +f 261/147/14 273/146/14 274/267/6 +f 253/150/10 265/149/10 267/268/9 +f 264/256/11 276/255/11 266/269/7 +f 161/270/13 173/291/13 174/271/12 +f 168/273/11 180/292/11 170/274/7 +f 157/276/10 169/293/10 171/277/9 +f 165/279/14 177/294/14 178/280/6 +f 162/272/12 174/271/12 175/282/3 +f 159/278/9 171/277/9 172/284/5 +f 166/281/6 178/280/6 179/286/108 +f 163/283/3 175/282/3 176/288/15 +f 160/290/5 172/398/5 173/291/13 +f 167/287/108 179/286/108 180/292/11 +f 158/275/7 170/274/7 169/293/10 +f 164/289/15 176/288/15 177/294/14 +f 209/295/4 210/399/4 212/296/109 +f 212/296/109 214/299/110 213/298/110 +f 214/299/110 216/324/111 215/300/111 +f 222/301/112 224/313/113 223/302/113 +f 236/304/114 238/400/115 237/305/115 +f 240/307/116 210/399/4 209/295/4 +f 237/305/115 238/400/115 240/307/116 +f 218/309/5 220/323/117 219/310/117 +f 226/312/8 225/401/8 223/302/113 +f 228/314/118 227/318/118 225/315/8 +f 228/314/118 230/319/119 229/317/119 +f 230/319/119 232/321/120 231/320/120 +f 232/321/120 234/325/6 233/322/6 +f 220/323/117 222/301/112 221/303/112 +f 217/311/5 215/300/111 216/324/111 +f 236/304/114 235/306/114 233/322/6 +f 250/326/6 286/333/6 285/327/14 +f 247/328/3 283/334/3 282/329/12 +f 244/330/5 280/402/5 279/331/9 +f 251/332/108 287/337/108 286/333/6 +f 248/138/15 284/137/15 283/334/3 +f 245/135/13 281/134/13 280/335/5 +f 252/132/11 288/131/11 287/337/108 +f 242/129/10 278/128/10 277/338/7 diff --git a/src/main/java/assets/hbm/models/fluidtank_label.obj b/src/main/java/assets/hbm/models/fluidtank_label.obj deleted file mode 100644 index 4126e941a..000000000 --- a/src/main/java/assets/hbm/models/fluidtank_label.obj +++ /dev/null @@ -1,38 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'fluidtank_label.blend' -# www.blender.org -o Cube.001_Cube.000 -v -1.260000 1.750000 0.875000 -v -1.260000 1.750000 -1.000000 -v -1.260000 1.750000 1.000000 -v -1.164849 2.228354 -1.000000 -v -1.164849 2.228355 1.000000 -v -1.260000 1.750000 -0.875000 -v 1.260000 1.750000 0.875000 -v 1.164849 2.228354 -1.000000 -v 1.164849 2.228354 1.000000 -v 1.260000 1.750000 -1.000000 -v 1.260000 1.750000 1.000000 -v 1.260000 1.750000 -0.875000 -vt 0.000697 0.000139 -vt 0.937966 0.487721 -vt 0.071437 0.487780 -vt 0.935055 0.505640 -vt 0.997387 0.992019 -vt 0.062467 0.505674 -vt 0.000139 0.487453 -vt 0.999693 -0.000208 -vt 0.999861 0.487717 -vt 0.000139 0.505676 -vt 0.000144 0.992057 -vt 0.997383 0.505637 -vn -0.980800 0.195100 0.000000 -vn 0.980800 0.195100 0.000000 -s off -f 5/1/1 6/2/1 1/3/1 -f 12/4/2 8/5/2 7/6/2 -f 1/3/1 3/7/1 5/1/1 -f 5/1/1 4/8/1 6/2/1 -f 2/9/1 6/2/1 4/8/1 -f 11/10/2 7/6/2 9/11/2 -f 12/4/2 10/12/2 8/5/2 -f 8/5/2 9/11/2 7/6/2 diff --git a/src/main/java/assets/hbm/models/fluidtank_main.obj b/src/main/java/assets/hbm/models/fluidtank_main.obj deleted file mode 100644 index a1f065dd2..000000000 --- a/src/main/java/assets/hbm/models/fluidtank_main.obj +++ /dev/null @@ -1,1118 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'fluidtank_main.blend' -# www.blender.org -o Cube_Cube.001 -v 1.250000 1.750000 1.750000 -v -1.250000 1.750000 1.750000 -v -1.250000 0.000000 2.000000 -v -1.250000 0.000000 1.750000 -v 1.250000 0.000000 1.750000 -v 0.000000 3.000000 -2.000000 -v 0.000000 3.000000 2.000000 -v 0.478354 2.904849 -2.000000 -v 0.478354 2.904850 2.000000 -v 0.883883 2.633883 -2.000000 -v 0.883883 2.633883 2.000000 -v 1.154849 2.228354 -2.000000 -v 1.154849 2.228354 2.000000 -v 1.250000 1.750000 -2.000000 -v 1.250000 1.750000 2.000000 -v 1.154849 1.271646 -2.000000 -v 1.154849 1.271646 2.000000 -v 0.883883 0.866117 -2.000000 -v 0.883883 0.866117 2.000000 -v 0.478354 0.595150 -2.000000 -v 0.478354 0.595151 2.000000 -v 0.000000 0.500000 -2.000000 -v 0.000000 0.500000 2.000000 -v -0.478354 0.595150 -2.000000 -v -0.478354 0.595150 2.000000 -v -0.883883 0.866116 -2.000000 -v -0.883883 0.866116 2.000000 -v -1.154849 1.271646 -2.000000 -v -1.154849 1.271646 2.000000 -v -1.250000 1.750000 -2.000000 -v -1.250000 1.750000 2.000000 -v -1.154849 2.228354 -2.000000 -v -1.154849 2.228355 2.000000 -v -0.883883 2.633884 -2.000000 -v -0.883883 2.633884 2.000000 -v -0.478354 2.904850 -2.000000 -v -0.478354 2.904850 2.000000 -v 0.430519 2.789365 2.250000 -v 0.000000 2.875000 2.250000 -v -0.430518 2.789365 2.250000 -v -0.795495 2.545496 2.250000 -v -1.039364 2.180519 2.250000 -v -1.125000 1.750000 2.250000 -v -1.039364 1.319481 2.250000 -v -0.795495 0.954505 2.250000 -v -0.430519 0.710635 2.250000 -v 0.000000 0.625000 2.250000 -v 0.430519 0.710636 2.250000 -v 0.795495 0.954505 2.250000 -v 1.039364 1.319481 2.250000 -v 1.125000 1.750000 2.250000 -v 1.039364 2.180519 2.250000 -v 0.795495 2.545495 2.250000 -v 0.000000 2.875000 -2.250000 -v 0.430519 2.789364 -2.250000 -v 0.795495 2.545495 -2.250000 -v 1.039364 2.180519 -2.250000 -v 1.125000 1.750000 -2.250000 -v 1.039364 1.319481 -2.250000 -v 0.795495 0.954505 -2.250000 -v 0.430519 0.710635 -2.250000 -v 0.000000 0.625000 -2.250000 -v -0.430519 0.710635 -2.250000 -v -0.795495 0.954504 -2.250000 -v -1.039364 1.319481 -2.250000 -v -1.125000 1.750000 -2.250000 -v -1.039364 2.180519 -2.250000 -v -0.795495 2.545495 -2.250000 -v -0.430518 2.789365 -2.250000 -v 0.239177 2.327425 2.500000 -v 0.000000 2.375000 2.500000 -v -0.239177 2.327425 2.500000 -v -0.441941 2.191942 2.500000 -v -0.577425 1.989177 2.500000 -v -0.625000 1.750000 2.500000 -v -0.577425 1.510823 2.500000 -v -0.441942 1.308058 2.500000 -v -0.239177 1.172575 2.500000 -v 0.000000 1.125000 2.500000 -v 0.239177 1.172575 2.500000 -v 0.441942 1.308058 2.500000 -v 0.577425 1.510823 2.500000 -v 0.625000 1.750000 2.500000 -v 0.577425 1.989177 2.500000 -v 0.441942 2.191942 2.500000 -v 0.000000 2.375000 -2.500000 -v 0.239177 2.327425 -2.500000 -v 0.441942 2.191942 -2.500000 -v 0.577425 1.989177 -2.500000 -v 0.625000 1.750000 -2.500000 -v 0.577425 1.510823 -2.500000 -v 0.441942 1.308058 -2.500000 -v 0.239177 1.172575 -2.500000 -v 0.000000 1.125000 -2.500000 -v -0.239177 1.172575 -2.500000 -v -0.441942 1.308058 -2.500000 -v -0.577425 1.510823 -2.500000 -v -0.625000 1.750000 -2.500000 -v -0.577425 1.989177 -2.500000 -v -0.441942 2.191942 -2.500000 -v -0.239177 2.327425 -2.500000 -v 1.250000 0.000000 2.000000 -v 1.154849 1.271646 1.750000 -v 0.883883 0.866117 1.750000 -v 0.478354 0.595151 1.750000 -v 0.000000 0.500000 1.750000 -v -0.478354 0.595150 1.750000 -v -0.883883 0.866116 1.750000 -v -1.154849 1.271646 1.750000 -v 1.250000 1.750000 -1.750000 -v -1.250000 1.750000 -1.750000 -v 1.154849 1.271646 -1.750000 -v 0.883883 0.866117 -1.750000 -v 0.478354 0.595151 -1.750000 -v 0.000000 0.500000 -1.750000 -v -0.478354 0.595150 -1.750000 -v -0.883883 0.866116 -1.750000 -v -1.154849 1.271646 -1.750000 -v -1.250000 0.000000 -1.750000 -v -1.250000 0.000000 -2.000000 -v 1.250000 0.000000 -2.000000 -v 1.250000 0.000000 -1.750000 -v 1.500000 0.656250 -1.156250 -v 1.500000 0.343750 -1.156250 -v 1.500000 0.656250 -0.843750 -v 1.500000 0.343750 -0.843750 -v 1.500000 0.343750 1.156250 -v 1.500000 0.656250 1.156250 -v 1.500000 0.343750 0.843750 -v 1.500000 0.656250 0.843750 -v -1.500000 0.343750 -1.156250 -v -1.500000 0.656250 -1.156250 -v -1.500000 0.343750 -0.843750 -v -1.500000 0.656250 -0.843750 -v -1.500000 0.656250 1.156250 -v -1.500000 0.343750 1.156250 -v -1.500000 0.656250 0.843750 -v -1.500000 0.343750 0.843750 -v -0.750000 2.700000 -2.000000 -v -0.750000 3.000000 -2.000000 -v -0.500000 2.850000 -1.933013 -v -0.500000 3.000000 -1.933013 -v -0.316987 2.900000 -1.750000 -v -0.316987 3.000000 -1.750000 -v -0.250000 2.900000 -1.500000 -v -0.250000 3.000000 -1.500000 -v -0.316987 2.900000 -1.250000 -v -0.316987 3.000000 -1.250000 -v -0.500000 2.850000 -1.066987 -v -0.500000 3.000000 -1.066987 -v -0.750000 2.700000 -1.000000 -v -0.750000 3.000000 -1.000000 -v -1.000000 2.400000 -1.066987 -v -1.000000 3.000000 -1.066987 -v -1.183013 2.000000 -1.250000 -v -1.183013 3.000000 -1.250000 -v -1.250000 1.750000 -1.500000 -v -1.250000 3.000000 -1.500000 -v -1.183013 2.000000 -1.750000 -v -1.183013 3.000000 -1.750000 -v -1.000000 2.400000 -1.933012 -v -1.000000 3.000000 -1.933012 -v -0.537500 3.000000 -1.868061 -v -0.750000 3.000000 -1.925000 -v -0.381939 3.000000 -1.712500 -v -0.325000 3.000000 -1.500000 -v -0.381939 3.000000 -1.287500 -v -0.537500 3.000000 -1.131939 -v -0.750000 3.000000 -1.075000 -v -0.962500 3.000000 -1.131939 -v -1.118061 3.000000 -1.287500 -v -1.175000 3.000000 -1.500000 -v -1.118061 3.000000 -1.712500 -v -0.962500 3.000000 -1.868061 -v -0.537500 3.050000 -1.868061 -v -0.750000 3.050000 -1.925000 -v -0.381939 3.050000 -1.712500 -v -0.325000 3.050000 -1.500000 -v -0.381939 3.050000 -1.287500 -v -0.537500 3.050000 -1.131939 -v -0.750000 3.050000 -1.075000 -v -0.962500 3.050000 -1.131939 -v -1.118061 3.050000 -1.287500 -v -1.175000 3.050000 -1.500000 -v -1.118061 3.050000 -1.712500 -v -0.962500 3.050000 -1.868061 -v -0.918125 3.050000 -1.355209 -v -0.950000 3.050000 -1.363750 -v -0.894791 3.050000 -1.331875 -v -0.886250 3.050000 -1.300000 -v -0.894791 3.050000 -1.268125 -v -0.918125 3.050000 -1.244791 -v -0.950000 3.050000 -1.236250 -v -0.981875 3.050000 -1.244791 -v -1.005209 3.050000 -1.268125 -v -1.013750 3.050000 -1.300000 -v -1.005209 3.050000 -1.331875 -v -0.981875 3.050000 -1.355209 -v -0.918125 3.075000 -1.355209 -v -0.950000 3.075000 -1.363750 -v -0.894791 3.075000 -1.331875 -v -0.886250 3.075000 -1.300000 -v -0.894791 3.075000 -1.268125 -v -0.918125 3.075000 -1.244791 -v -0.950000 3.075000 -1.236250 -v -0.981875 3.075000 -1.244791 -v -1.005209 3.075000 -1.268125 -v -1.013750 3.075000 -1.300000 -v -1.005209 3.075000 -1.331875 -v -0.981875 3.075000 -1.355209 -vt 0.007264 0.482161 -vt 0.007314 0.442568 -vt 0.332035 0.442981 -vt 0.007365 0.402974 -vt 0.332086 0.403387 -vt 0.007415 0.363380 -vt 0.332136 0.363793 -vt 0.488222 0.487464 -vt 0.346312 0.487464 -vt 0.346312 0.467192 -vt 0.832860 0.467191 -vt 0.832860 0.487464 -vt 0.690951 0.487464 -vt 0.312193 0.086611 -vt 0.028063 0.086250 -vt 0.028113 0.046657 -vt 0.007113 0.600942 -vt 0.007163 0.561349 -vt 0.331884 0.561761 -vt 0.693411 0.854768 -vt 0.701321 0.810132 -vt 0.721096 0.810132 -vt 0.007214 0.521755 -vt 0.331985 0.482574 -vt 0.331935 0.522168 -vt 0.683051 0.718283 -vt 0.753349 0.732266 -vt 0.739366 0.802564 -vt 0.691434 0.877347 -vt 0.729006 0.854768 -vt 0.658662 0.840775 -vt 0.691548 0.854397 -vt 0.684734 0.876014 -vt 0.631912 0.814550 -vt 0.657082 0.839720 -vt 0.642514 0.857084 -vt 0.617235 0.780085 -vt 0.630857 0.812970 -vt 0.610753 0.823438 -vt 0.616864 0.742626 -vt 0.616864 0.778221 -vt 0.594285 0.780199 -vt 0.610753 0.697409 -vt 0.630857 0.707877 -vt 0.617235 0.740762 -vt 0.657082 0.681127 -vt 0.631912 0.706297 -vt 0.614548 0.691729 -vt 0.691548 0.666450 -vt 0.658662 0.680072 -vt 0.648194 0.659968 -vt 0.729006 0.666079 -vt 0.693411 0.666079 -vt 0.691433 0.643500 -vt 0.763756 0.680072 -vt 0.730870 0.666450 -vt 0.737684 0.644833 -vt 0.807869 0.691729 -vt 0.790505 0.706297 -vt 0.765335 0.681127 -vt 0.805182 0.740762 -vt 0.791561 0.707877 -vt 0.811664 0.697409 -vt 0.805553 0.778221 -vt 0.805553 0.742626 -vt 0.828132 0.740648 -vt 0.791561 0.812970 -vt 0.805182 0.780085 -vt 0.826800 0.786898 -vt 0.779903 0.857084 -vt 0.765335 0.839720 -vt 0.790505 0.814550 -vt 0.730870 0.854397 -vt 0.763756 0.840775 -vt 0.774223 0.860879 -vt 0.559896 0.691729 -vt 0.542532 0.706297 -vt 0.517362 0.681127 -vt 0.557209 0.740763 -vt 0.543588 0.707877 -vt 0.563691 0.697409 -vt 0.580159 0.780199 -vt 0.557580 0.778221 -vt 0.557580 0.742626 -vt 0.543587 0.812970 -vt 0.557209 0.780085 -vt 0.578826 0.786899 -vt 0.517362 0.839720 -vt 0.542532 0.814550 -vt 0.559896 0.829118 -vt 0.482897 0.854397 -vt 0.515783 0.840775 -vt 0.526250 0.860879 -vt 0.445438 0.854768 -vt 0.481033 0.854768 -vt 0.483011 0.877347 -vt 0.400221 0.860879 -vt 0.410689 0.840775 -vt 0.443574 0.854397 -vt 0.383939 0.814550 -vt 0.409109 0.839720 -vt 0.394541 0.857084 -vt 0.369262 0.780085 -vt 0.382884 0.812970 -vt 0.362780 0.823438 -vt 0.346312 0.740648 -vt 0.368891 0.742626 -vt 0.368891 0.778221 -vt 0.382884 0.707877 -vt 0.369262 0.740762 -vt 0.347645 0.733949 -vt 0.409109 0.681127 -vt 0.383939 0.706297 -vt 0.366575 0.691729 -vt 0.443575 0.666450 -vt 0.410689 0.680072 -vt 0.400221 0.659968 -vt 0.483011 0.643500 -vt 0.481033 0.666079 -vt 0.445438 0.666079 -vt 0.515783 0.680072 -vt 0.482897 0.666450 -vt 0.489711 0.644833 -vt 0.683051 0.802564 -vt 0.669068 0.788581 -vt 0.661500 0.770311 -vt 0.661500 0.750536 -vt 0.669068 0.732266 -vt 0.701321 0.710715 -vt 0.721096 0.710715 -vt 0.739366 0.718283 -vt 0.760917 0.750536 -vt 0.760917 0.770311 -vt 0.753349 0.788581 -vt 0.453348 0.810132 -vt 0.413527 0.750536 -vt 0.473123 0.710715 -vt 0.505376 0.732266 -vt 0.491393 0.718283 -vt 0.512944 0.750536 -vt 0.512944 0.770311 -vt 0.505376 0.788581 -vt 0.491393 0.802564 -vt 0.473123 0.810132 -vt 0.435078 0.802564 -vt 0.421095 0.788581 -vt 0.413527 0.770311 -vt 0.421095 0.732266 -vt 0.435078 0.718283 -vt 0.453348 0.710715 -vt 0.488222 0.467192 -vt 0.690951 0.467191 -vt 0.028163 0.007063 -vt 0.312294 0.007424 -vt 0.589586 0.528010 -vt 0.312143 0.126205 -vt 0.028012 0.125844 -vt 0.312093 0.165799 -vt 0.027962 0.165438 -vt 0.312042 0.205393 -vt 0.027912 0.205031 -vt 0.311992 0.244986 -vt 0.027861 0.244625 -vt 0.311942 0.284580 -vt 0.311891 0.324174 -vt 0.027761 0.323812 -vt 0.027811 0.284219 -vt 0.331834 0.601355 -vt 0.313462 0.638064 -vt 0.051328 0.640592 -vt 0.589586 0.426646 -vt 0.550796 0.418930 -vt 0.517911 0.396957 -vt 0.488222 0.325282 -vt 0.495938 0.364072 -vt 0.628377 0.418930 -vt 0.661262 0.396957 -vt 0.683235 0.364072 -vt 0.690951 0.325282 -vt 0.628377 0.535726 -vt 0.661262 0.557699 -vt 0.683235 0.590584 -vt 0.690951 0.629374 -vt 0.550796 0.535726 -vt 0.517911 0.557699 -vt 0.495938 0.590584 -vt 0.488222 0.629374 -vt 0.488222 0.148973 -vt 0.690951 0.148973 -vt 0.690951 0.169245 -vt 0.589587 0.209791 -vt 0.488222 0.169246 -vt 0.589587 0.108427 -vt 0.628377 0.100711 -vt 0.628377 0.217507 -vt 0.550796 0.217507 -vt 0.550796 0.100711 -vt 0.517911 0.239480 -vt 0.495938 0.272365 -vt 0.488223 0.311156 -vt 0.346312 0.148973 -vt 0.517911 0.078738 -vt 0.495938 0.045853 -vt 0.488222 0.007063 -vt 0.661262 0.239480 -vt 0.683235 0.272365 -vt 0.690951 0.311155 -vt 0.832860 0.148973 -vt 0.683235 0.045853 -vt 0.690951 0.007063 -vt 0.661262 0.078738 -vt 0.275678 0.820890 -vt 0.275678 0.846231 -vt 0.032404 0.846231 -vt 0.275678 0.871572 -vt 0.032404 0.871572 -vt 0.301019 0.705400 -vt 0.275678 0.705400 -vt 0.275678 0.680059 -vt 0.032404 0.820890 -vt 0.007063 0.820890 -vt 0.007063 0.795549 -vt 0.032404 0.705400 -vt 0.007063 0.705400 -vt 0.007063 0.680059 -vt 0.301019 0.820890 -vt 0.275678 0.795549 -vt 0.032404 0.795549 -vt 0.032404 0.770208 -vt 0.032404 0.756082 -vt 0.032404 0.730741 -vt 0.275678 0.730741 -vt 0.032404 0.654718 -vt 0.275678 0.654718 -vt 0.070027 0.987062 -vt 0.049039 0.987062 -vt 0.049039 0.974899 -vt 0.028051 0.987062 -vt 0.028051 0.978953 -vt 0.007063 0.987062 -vt 0.007063 0.978953 -vt 0.258919 0.987062 -vt 0.237931 0.987062 -vt 0.237931 0.978953 -vt 0.216943 0.987062 -vt 0.216943 0.974899 -vt 0.195955 0.987062 -vt 0.195955 0.962735 -vt 0.174967 0.987062 -vt 0.174967 0.938408 -vt 0.153979 0.987062 -vt 0.153979 0.905971 -vt 0.132991 0.987062 -vt 0.112003 0.987062 -vt 0.112003 0.905971 -vt 0.194381 0.992937 -vt 0.091015 0.987062 -vt 0.070027 0.962735 -vt 0.091015 0.938408 -vt 0.916946 0.689764 -vt 0.912892 0.689764 -vt 0.912892 0.671924 -vt 0.215369 0.992937 -vt 0.197529 0.992937 -vt 0.236357 0.992937 -vt 0.218517 0.992937 -vt 0.257345 0.992937 -vt 0.239505 0.992937 -vt 0.089441 0.992937 -vt 0.071601 0.992937 -vt 0.068453 0.992937 -vt 0.050613 0.992937 -vt 0.026477 0.992937 -vt 0.008637 0.992937 -vt 0.110429 0.992937 -vt 0.092589 0.992937 -vt 0.047465 0.992937 -vt 0.029625 0.992937 -vt 0.131417 0.992937 -vt 0.113577 0.992937 -vt 0.152405 0.992937 -vt 0.134565 0.992937 -vt 0.173393 0.992937 -vt 0.846313 0.671924 -vt 0.855232 0.656474 -vt 0.864478 0.697052 -vt 0.905999 0.652963 -vt 0.903972 0.656474 -vt 0.888522 0.647554 -vt 0.870682 0.718188 -vt 0.870682 0.714133 -vt 0.888522 0.714134 -vt 0.842258 0.671924 -vt 0.846312 0.689764 -vt 0.888522 0.643500 -vt 0.870682 0.647555 -vt 0.890549 0.717645 -vt 0.903972 0.705214 -vt 0.842801 0.691791 -vt 0.855232 0.705214 -vt 0.868655 0.644043 -vt 0.907483 0.707241 -vt 0.916403 0.669897 -vt 0.853205 0.708725 -vt 0.851721 0.654447 -vt 0.325382 0.655411 -vt 0.324857 0.657369 -vt 0.322273 0.656676 -vt 0.873127 0.702045 -vt 0.873127 0.699369 -vt 0.871789 0.697052 -vt 0.866796 0.705701 -vt 0.869472 0.705701 -vt 0.863140 0.699369 -vt 0.869472 0.695714 -vt 0.871789 0.704363 -vt 0.863140 0.702045 -vt 0.866796 0.695714 -vt 0.864478 0.704363 -vt 0.317103 0.661846 -vt 0.319688 0.657369 -vt 0.327442 0.661846 -vt 0.322797 0.668974 -vt 0.322273 0.667015 -vt 0.324857 0.666323 -vt 0.328708 0.664955 -vt 0.326750 0.664431 -vt 0.315145 0.662371 -vt 0.317796 0.664431 -vt 0.321748 0.654718 -vt 0.329400 0.661321 -vt 0.326750 0.659261 -vt 0.316362 0.665864 -vt 0.319688 0.666323 -vt 0.318254 0.655935 -vt 0.317796 0.659261 -vt 0.328183 0.657828 -vt 0.319163 0.668281 -vt 0.326291 0.667756 -vt 0.315838 0.658736 -vt 0.312244 0.047018 -vt 0.730984 0.877347 -vt 0.648194 0.860879 -vt 0.614548 0.829118 -vt 0.595618 0.786898 -vt 0.594285 0.740648 -vt 0.595618 0.733949 -vt 0.642514 0.663763 -vt 0.684734 0.644833 -vt 0.730984 0.643500 -vt 0.774223 0.659968 -vt 0.779903 0.663763 -vt 0.826800 0.733949 -vt 0.828132 0.780199 -vt 0.811664 0.823438 -vt 0.807869 0.829118 -vt 0.737684 0.876014 -vt 0.531930 0.663763 -vt 0.578827 0.733949 -vt 0.580159 0.740649 -vt 0.563691 0.823438 -vt 0.531930 0.857084 -vt 0.489710 0.876015 -vt 0.443460 0.877347 -vt 0.436761 0.876015 -vt 0.366575 0.829118 -vt 0.347645 0.786898 -vt 0.346312 0.780199 -vt 0.362780 0.697409 -vt 0.394541 0.663763 -vt 0.436761 0.644833 -vt 0.443461 0.643500 -vt 0.526250 0.659968 -vt 0.007465 0.323787 -vt 0.332186 0.324200 -vt 0.007063 0.640536 -vt 0.332186 0.637883 -vt 0.346312 0.169246 -vt 0.832860 0.169245 -vt 0.301019 0.680059 -vt 0.032404 0.680059 -vt 0.301019 0.795549 -vt 0.275678 0.770208 -vt 0.275678 0.756082 -vt 0.258919 0.978953 -vt 0.132991 0.885698 -vt 0.176541 0.992937 -vt 0.916946 0.671924 -vt 0.155553 0.992937 -vt 0.890549 0.644043 -vt 0.888522 0.718188 -vt 0.842258 0.689764 -vt 0.870682 0.643500 -vt 0.905999 0.708725 -vt 0.851721 0.707241 -vt 0.853205 0.652963 -vt 0.916403 0.691791 -vt 0.907483 0.654447 -vt 0.868655 0.717645 -vt 0.842801 0.669897 -vt 0.322797 0.654718 -vt 0.325382 0.668281 -vt 0.329400 0.662371 -vt 0.315838 0.664955 -vt 0.319163 0.655411 -vt 0.328708 0.658736 -vt 0.318254 0.667756 -vt 0.316362 0.657828 -vt 0.326291 0.655935 -vt 0.321748 0.668974 -vt 0.328183 0.665864 -vt 0.315145 0.661321 -vn 0.195100 0.980800 -0.000000 -vn 0.555600 0.831500 0.000000 -vn 0.831500 0.555600 0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -0.831500 -0.555600 0.000000 -vn -0.831500 0.555600 -0.000000 -vn 0.088600 0.445500 0.890900 -vn -0.195100 0.980800 0.000000 -vn -0.555600 0.831500 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.175200 0.880600 0.440300 -vn -0.175200 0.880600 0.440300 -vn -0.498800 0.746500 0.440300 -vn -0.746500 0.498800 0.440300 -vn -0.880600 0.175200 0.440300 -vn -0.880600 -0.175200 0.440300 -vn -0.746500 -0.498800 0.440300 -vn -0.498800 -0.746500 0.440300 -vn -0.175200 -0.880600 0.440300 -vn 0.175200 -0.880600 0.440300 -vn 0.498800 -0.746500 0.440300 -vn 0.746500 -0.498800 0.440300 -vn 0.880600 -0.175200 0.440300 -vn 0.880600 0.175200 0.440300 -vn 0.746500 0.498800 0.440300 -vn 0.498800 0.746500 0.440300 -vn 0.175200 0.880600 -0.440300 -vn 0.498800 0.746500 -0.440300 -vn 0.746500 0.498800 -0.440300 -vn 0.880600 0.175200 -0.440300 -vn 0.880600 -0.175200 -0.440300 -vn 0.746500 -0.498800 -0.440300 -vn 0.498800 -0.746500 -0.440300 -vn 0.175200 -0.880600 -0.440300 -vn -0.175200 -0.880600 -0.440300 -vn -0.498800 -0.746500 -0.440300 -vn -0.746500 -0.498800 -0.440300 -vn -0.880600 -0.175200 -0.440300 -vn -0.880600 0.175200 -0.440300 -vn -0.746500 0.498800 -0.440300 -vn -0.498800 0.746500 -0.440300 -vn -0.175200 0.880600 -0.440300 -vn -0.088600 0.445500 0.890900 -vn -0.252300 0.377600 0.890900 -vn -0.377600 0.252300 0.890900 -vn -0.445500 0.088600 0.890900 -vn -0.445500 -0.088600 0.890900 -vn -0.377600 -0.252300 0.890900 -vn -0.252300 -0.377600 0.890900 -vn -0.088600 -0.445500 0.890900 -vn 0.088600 -0.445500 0.890900 -vn 0.252300 -0.377600 0.890900 -vn 0.377600 -0.252300 0.890900 -vn 0.445500 -0.088600 0.890900 -vn 0.445500 0.088600 0.890900 -vn 0.377600 0.252300 0.890900 -vn 0.252300 0.377600 0.890900 -vn 0.000000 0.000000 -1.000000 -vn 0.088600 0.445500 -0.890900 -vn 0.252300 0.377600 -0.890900 -vn 0.377600 0.252300 -0.890900 -vn 0.445500 0.088600 -0.890900 -vn 0.445500 -0.088600 -0.890900 -vn 0.377600 -0.252300 -0.890900 -vn 0.252300 -0.377600 -0.890900 -vn 0.088600 -0.445500 -0.890900 -vn -0.088600 -0.445500 -0.890900 -vn -0.252300 -0.377600 -0.890900 -vn -0.377600 -0.252300 -0.890900 -vn -0.445500 -0.088600 -0.890900 -vn -0.445500 0.088600 -0.890900 -vn -0.377600 0.252300 -0.890900 -vn -0.252300 0.377600 -0.890900 -vn -0.088600 0.445500 -0.890900 -vn 0.000000 -1.000000 0.000000 -vn -0.980800 -0.195100 0.000000 -vn -0.555600 -0.831500 0.000000 -vn -0.195100 -0.980800 0.000000 -vn 0.195100 -0.980800 0.000000 -vn 0.555600 -0.831500 0.000000 -vn 0.831500 -0.555600 0.000000 -vn 0.980800 -0.195100 0.000000 -vn 0.980800 0.195100 0.000000 -vn -0.980800 0.195100 0.000000 -vn 0.000000 1.000000 0.000000 -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.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -s off -f 7/1/1 9/2/1 8/3/1 -f 9/2/2 11/4/2 10/5/2 -f 11/4/3 13/6/3 12/7/3 -f 3/8/4 31/9/4 2/10/4 -f 1/11/5 15/12/5 102/13/5 -f 117/14/6 108/15/6 109/16/6 -f 33/17/7 35/18/7 34/19/7 -f 39/20/8 71/21/8 70/22/8 -f 37/23/9 7/1/9 6/24/9 -f 35/18/10 37/23/10 36/25/10 -f 77/26/11 81/27/11 85/28/11 -f 7/29/12 39/20/12 38/30/12 -f 40/31/13 39/32/13 7/33/13 -f 41/34/14 40/35/14 37/36/14 -f 42/37/15 41/38/15 35/39/15 -f 43/40/16 42/41/16 33/42/16 -f 29/43/17 44/44/17 43/45/17 -f 45/46/18 44/47/18 29/48/18 -f 46/49/19 45/50/19 27/51/19 -f 47/52/20 46/53/20 25/54/20 -f 48/55/21 47/56/21 23/57/21 -f 19/58/22 49/59/22 48/60/22 -f 50/61/23 49/62/23 19/63/23 -f 51/64/24 50/65/24 17/66/24 -f 52/67/25 51/68/25 15/69/25 -f 11/70/26 53/71/26 52/72/26 -f 38/73/27 53/74/27 11/75/27 -f 8/76/28 55/77/28 54/78/28 -f 56/79/29 55/80/29 8/81/29 -f 12/82/30 57/83/30 56/84/30 -f 58/85/31 57/86/31 12/87/31 -f 59/88/32 58/89/32 14/90/32 -f 60/91/33 59/92/33 16/93/33 -f 61/94/34 60/95/34 18/96/34 -f 22/97/35 62/98/35 61/99/35 -f 63/100/36 62/101/36 22/102/36 -f 64/103/37 63/104/37 24/105/37 -f 28/106/38 65/107/38 64/108/38 -f 66/109/39 65/110/39 28/111/39 -f 67/112/40 66/113/40 30/114/40 -f 68/115/41 67/116/41 32/117/41 -f 36/118/42 69/119/42 68/120/42 -f 54/121/43 69/122/43 36/123/43 -f 72/124/44 71/21/44 39/32/44 -f 41/34/45 73/125/45 72/124/45 -f 42/37/46 74/126/46 73/125/46 -f 43/40/47 75/127/47 74/126/47 -f 76/128/48 75/127/48 43/45/48 -f 45/46/49 77/26/49 76/128/49 -f 46/49/50 78/129/50 77/26/50 -f 79/130/51 78/129/51 46/53/51 -f 48/55/52 80/131/52 79/130/52 -f 81/27/53 80/131/53 48/60/53 -f 50/61/54 82/132/54 81/27/54 -f 83/133/55 82/132/55 50/65/55 -f 84/134/56 83/133/56 51/68/56 -f 85/28/57 84/134/57 52/72/57 -f 70/22/58 85/28/58 53/74/58 -f 93/135/59 97/136/59 101/137/59 -f 55/77/60 87/138/60 86/139/60 -f 88/140/61 87/138/61 55/80/61 -f 57/83/62 89/141/62 88/140/62 -f 90/142/63 89/141/63 57/86/63 -f 91/143/64 90/142/64 58/89/64 -f 92/144/65 91/143/65 59/92/65 -f 93/135/66 92/144/66 60/95/66 -f 62/98/67 94/145/67 93/135/67 -f 95/146/68 94/145/68 62/101/68 -f 96/147/69 95/146/69 63/104/69 -f 65/107/70 97/136/70 96/147/70 -f 98/148/71 97/136/71 65/110/71 -f 67/112/72 99/149/72 98/148/72 -f 100/150/73 99/149/73 67/116/73 -f 101/137/74 100/150/74 68/120/74 -f 54/121/75 86/139/75 101/137/75 -f 4/151/76 5/152/76 102/13/76 -f 109/16/77 2/153/77 111/154/77 -f 102/13/11 23/155/11 3/8/11 -f 108/15/78 117/14/78 116/156/78 -f 107/157/79 116/156/79 115/158/79 -f 106/159/80 115/158/80 114/160/80 -f 105/161/81 114/160/81 113/162/81 -f 104/163/82 113/162/82 112/164/82 -f 110/165/83 1/166/83 103/167/83 -f 110/165/84 13/6/84 1/166/84 -f 32/168/85 111/169/85 2/170/85 -f 106/171/59 5/152/59 4/151/59 -f 106/171/59 4/151/59 107/172/59 -f 107/172/59 4/151/59 108/173/59 -f 2/174/59 109/175/59 4/151/59 -f 109/175/59 108/173/59 4/151/59 -f 106/171/59 105/176/59 5/152/59 -f 104/177/59 5/152/59 105/176/59 -f 103/178/59 5/152/59 104/177/59 -f 5/152/59 103/178/59 1/179/59 -f 23/155/11 102/13/11 21/180/11 -f 19/181/11 21/180/11 102/13/11 -f 17/182/11 19/181/11 102/13/11 -f 15/183/11 17/182/11 102/13/11 -f 23/155/11 25/184/11 3/8/11 -f 25/184/11 27/185/11 3/8/11 -f 27/185/11 29/186/11 3/8/11 -f 3/8/11 29/186/11 31/187/11 -f 120/188/76 121/189/76 122/190/76 -f 122/190/11 115/191/11 119/192/11 -f 22/193/59 121/189/59 120/188/59 -f 22/193/59 20/194/59 121/189/59 -f 115/191/11 122/190/11 114/195/11 -f 115/191/11 116/196/11 119/192/11 -f 24/197/59 22/193/59 120/188/59 -f 116/196/11 117/198/11 119/192/11 -f 117/198/11 118/199/11 119/192/11 -f 118/199/11 111/200/11 119/192/11 -f 30/201/4 120/188/4 119/192/4 -f 26/202/59 24/197/59 120/188/59 -f 28/203/59 26/202/59 120/188/59 -f 30/204/59 28/203/59 120/188/59 -f 113/205/11 114/195/11 122/190/11 -f 112/206/11 113/205/11 122/190/11 -f 112/206/11 122/190/11 110/207/11 -f 122/190/5 121/189/5 14/208/5 -f 16/209/59 14/210/59 121/189/59 -f 18/211/59 16/209/59 121/189/59 -f 20/194/59 18/211/59 121/189/59 -f 126/212/11 125/213/11 134/214/11 -f 125/213/86 123/215/86 132/216/86 -f 128/217/5 127/218/5 129/219/5 -f 133/220/4 134/221/4 132/222/4 -f 136/223/4 135/224/4 137/225/4 -f 125/226/5 126/212/5 124/227/5 -f 124/227/59 131/228/59 132/229/59 -f 133/220/76 131/228/76 124/227/76 -f 137/230/86 135/231/86 128/232/86 -f 135/231/11 136/223/11 127/218/11 -f 137/233/59 130/234/59 129/219/59 -f 129/219/76 127/218/76 136/223/76 -f 140/235/87 142/236/87 141/237/87 -f 142/236/88 144/238/88 143/239/88 -f 144/238/89 146/240/89 145/241/89 -f 146/242/90 148/243/90 147/244/90 -f 147/244/91 148/243/91 150/245/91 -f 149/246/92 150/245/92 152/247/92 -f 151/248/93 152/247/93 154/249/93 -f 153/250/94 154/249/94 156/251/94 -f 155/252/95 156/251/95 158/253/95 -f 158/253/96 160/254/96 159/255/96 -f 154/249/86 152/247/86 169/256/86 -f 162/257/97 140/235/97 139/258/97 -f 160/254/98 162/257/98 161/259/98 -f 174/260/97 186/261/97 176/262/97 -f 150/245/86 168/263/86 169/264/86 -f 148/243/86 167/265/86 168/266/86 -f 146/242/86 166/267/86 167/268/86 -f 162/257/86 174/269/86 164/270/86 -f 140/235/86 164/271/86 163/272/86 -f 144/238/86 165/273/86 166/274/86 -f 160/254/86 173/275/86 174/276/86 -f 142/236/86 163/277/86 165/278/86 -f 158/253/86 172/279/86 173/280/86 -f 156/251/86 171/281/86 172/282/86 -f 156/251/86 154/249/86 170/283/86 -f 180/284/86 179/285/86 191/286/86 -f 163/287/88 175/288/88 177/289/88 -f 171/290/95 183/291/95 184/292/95 -f 168/293/92 180/284/92 181/294/92 -f 165/295/89 177/289/89 178/296/89 -f 172/297/96 184/292/96 185/298/96 -f 169/299/93 181/294/93 182/300/93 -f 166/301/90 178/296/90 179/285/90 -f 173/302/98 185/298/98 186/261/98 -f 164/303/87 176/262/87 175/288/87 -f 170/304/94 182/300/94 183/291/94 -f 167/305/91 179/285/91 180/284/91 -f 191/306/91 203/307/91 204/308/91 -f 186/261/86 198/309/86 188/310/86 -f 177/289/86 175/288/86 187/311/86 -f 183/291/86 195/312/86 196/313/86 -f 181/294/86 180/284/86 192/314/86 -f 178/296/86 177/289/86 189/315/86 -f 184/292/86 196/313/86 197/316/86 -f 182/300/86 181/294/86 193/317/86 -f 179/285/86 178/296/86 190/318/86 -f 185/298/86 197/316/86 198/309/86 -f 176/262/86 188/310/86 187/311/86 -f 183/291/86 182/300/86 194/319/86 -f 207/320/86 205/321/86 201/322/86 -f 198/323/97 210/324/97 200/325/97 -f 187/326/88 199/327/88 201/322/88 -f 195/328/95 207/320/95 208/329/95 -f 192/330/92 204/308/92 205/321/92 -f 189/331/89 201/322/89 202/332/89 -f 196/333/96 208/329/96 209/334/96 -f 193/335/93 205/321/93 206/336/93 -f 190/337/90 202/332/90 203/307/90 -f 197/338/98 209/334/98 210/324/98 -f 188/339/87 200/325/87 199/327/87 -f 194/340/94 206/336/94 207/320/94 -f 6/24/1 7/1/1 8/3/1 -f 8/3/2 9/2/2 10/5/2 -f 10/5/3 11/4/3 12/7/3 -f 4/151/4 3/8/4 2/10/4 -f 5/152/5 1/11/5 102/13/5 -f 118/341/6 117/14/6 109/16/6 -f 32/168/7 33/17/7 34/19/7 -f 38/30/8 39/20/8 70/22/8 -f 36/25/9 37/23/9 6/24/9 -f 34/19/10 35/18/10 36/25/10 -f 85/28/11 70/22/11 71/21/11 -f 71/21/11 72/124/11 73/125/11 -f 73/125/11 74/126/11 75/127/11 -f 75/127/11 76/128/11 77/26/11 -f 77/26/11 78/129/11 79/130/11 -f 79/130/11 80/131/11 77/26/11 -f 81/27/11 82/132/11 83/133/11 -f 83/133/11 84/134/11 85/28/11 -f 85/28/11 71/21/11 77/26/11 -f 73/125/11 75/127/11 77/26/11 -f 77/26/11 80/131/11 81/27/11 -f 81/27/11 83/133/11 85/28/11 -f 71/21/11 73/125/11 77/26/11 -f 9/342/12 7/29/12 38/30/12 -f 37/343/13 40/31/13 7/33/13 -f 35/344/14 41/34/14 37/36/14 -f 33/345/15 42/37/15 35/39/15 -f 31/346/16 43/40/16 33/42/16 -f 31/347/17 29/43/17 43/45/17 -f 27/348/18 45/46/18 29/48/18 -f 25/349/19 46/49/19 27/51/19 -f 23/350/20 47/52/20 25/54/20 -f 21/351/21 48/55/21 23/57/21 -f 21/352/22 19/58/22 48/60/22 -f 17/353/23 50/61/23 19/63/23 -f 15/354/24 51/64/24 17/66/24 -f 13/355/25 52/67/25 15/69/25 -f 13/356/26 11/70/26 52/72/26 -f 9/357/27 38/73/27 11/75/27 -f 6/358/28 8/76/28 54/78/28 -f 10/359/29 56/79/29 8/81/29 -f 10/360/30 12/82/30 56/84/30 -f 14/361/31 58/85/31 12/87/31 -f 16/362/32 59/88/32 14/90/32 -f 18/363/33 60/91/33 16/93/33 -f 20/364/34 61/94/34 18/96/34 -f 20/365/35 22/97/35 61/99/35 -f 24/366/36 63/100/36 22/102/36 -f 26/367/37 64/103/37 24/105/37 -f 26/368/38 28/106/38 64/108/38 -f 30/369/39 66/109/39 28/111/39 -f 32/370/40 67/112/40 30/114/40 -f 34/371/41 68/115/41 32/117/41 -f 34/372/42 36/118/42 68/120/42 -f 6/373/43 54/121/43 36/123/43 -f 40/31/44 72/124/44 39/32/44 -f 40/35/45 41/34/45 72/124/45 -f 41/38/46 42/37/46 73/125/46 -f 42/41/47 43/40/47 74/126/47 -f 44/44/48 76/128/48 43/45/48 -f 44/47/49 45/46/49 76/128/49 -f 45/50/50 46/49/50 77/26/50 -f 47/52/51 79/130/51 46/53/51 -f 47/56/52 48/55/52 79/130/52 -f 49/59/53 81/27/53 48/60/53 -f 49/62/54 50/61/54 81/27/54 -f 51/64/55 83/133/55 50/65/55 -f 52/67/56 84/134/56 51/68/56 -f 53/71/57 85/28/57 52/72/57 -f 38/73/58 70/22/58 53/74/58 -f 101/137/59 86/139/59 87/138/59 -f 87/138/59 88/140/59 89/141/59 -f 89/141/59 90/142/59 91/143/59 -f 91/143/59 92/144/59 89/141/59 -f 93/135/59 94/145/59 95/146/59 -f 95/146/59 96/147/59 97/136/59 -f 97/136/59 98/148/59 99/149/59 -f 99/149/59 100/150/59 97/136/59 -f 101/137/59 87/138/59 93/135/59 -f 89/141/59 92/144/59 93/135/59 -f 93/135/59 95/146/59 97/136/59 -f 97/136/59 100/150/59 101/137/59 -f 87/138/59 89/141/59 93/135/59 -f 54/78/60 55/77/60 86/139/60 -f 56/79/61 88/140/61 55/80/61 -f 56/84/62 57/83/62 88/140/62 -f 58/85/63 90/142/63 57/86/63 -f 59/88/64 91/143/64 58/89/64 -f 60/91/65 92/144/65 59/92/65 -f 61/94/66 93/135/66 60/95/66 -f 61/99/67 62/98/67 93/135/67 -f 63/100/68 95/146/68 62/101/68 -f 64/103/69 96/147/69 63/104/69 -f 64/108/70 65/107/70 96/147/70 -f 66/109/71 98/148/71 65/110/71 -f 66/113/72 67/112/72 98/148/72 -f 68/115/73 100/150/73 67/116/73 -f 69/119/74 101/137/74 68/120/74 -f 69/122/75 54/121/75 101/137/75 -f 3/8/76 4/151/76 102/13/76 -f 118/341/77 109/16/77 111/154/77 -f 107/157/78 108/15/78 116/156/78 -f 106/159/79 107/157/79 115/158/79 -f 105/161/80 106/159/80 114/160/80 -f 104/163/81 105/161/81 113/162/81 -f 103/167/82 104/163/82 112/164/82 -f 112/164/83 110/165/83 103/167/83 -f 15/374/84 1/166/84 13/6/84 -f 110/165/84 14/375/84 12/7/84 -f 12/7/84 13/6/84 110/165/84 -f 2/170/85 31/376/85 33/17/85 -f 33/17/85 32/168/85 2/170/85 -f 30/377/85 111/169/85 32/168/85 -f 119/192/76 120/188/76 122/190/76 -f 111/378/4 30/201/4 119/192/4 -f 110/379/5 122/190/5 14/208/5 -f 133/220/11 126/212/11 134/214/11 -f 134/214/86 125/213/86 132/216/86 -f 130/380/5 128/217/5 129/219/5 -f 131/228/4 133/220/4 132/222/4 -f 138/381/4 136/223/4 137/225/4 -f 123/382/5 125/226/5 124/227/5 -f 123/383/59 124/227/59 132/229/59 -f 126/212/76 133/220/76 124/227/76 -f 130/384/86 137/230/86 128/232/86 -f 128/232/11 135/231/11 127/218/11 -f 138/381/59 137/233/59 129/219/59 -f 138/381/76 129/219/76 136/223/76 -f 139/258/87 140/235/87 141/237/87 -f 141/237/88 142/236/88 143/239/88 -f 143/239/89 144/238/89 145/241/89 -f 145/385/90 146/242/90 147/244/90 -f 149/246/91 147/244/91 150/245/91 -f 151/248/92 149/246/92 152/247/92 -f 153/250/93 151/248/93 154/249/93 -f 155/252/94 153/250/94 156/251/94 -f 157/386/95 155/252/95 158/253/95 -f 157/386/96 158/253/96 159/255/96 -f 170/387/86 154/249/86 169/256/86 -f 161/259/97 162/257/97 139/258/97 -f 159/255/98 160/254/98 161/259/98 -f 164/388/97 174/260/97 176/262/97 -f 152/247/86 150/245/86 169/264/86 -f 150/245/86 148/243/86 168/266/86 -f 148/243/86 146/242/86 167/268/86 -f 140/235/86 162/257/86 164/270/86 -f 142/236/86 140/235/86 163/272/86 -f 146/240/86 144/238/86 166/274/86 -f 162/257/86 160/254/86 174/276/86 -f 144/238/86 142/236/86 165/278/86 -f 160/254/86 158/253/86 173/280/86 -f 158/253/86 156/251/86 172/282/86 -f 171/389/86 156/251/86 170/283/86 -f 192/314/86 180/284/86 191/286/86 -f 165/390/88 163/287/88 177/289/88 -f 172/391/95 171/290/95 184/292/95 -f 169/392/92 168/293/92 181/294/92 -f 166/393/89 165/295/89 178/296/89 -f 173/394/96 172/297/96 185/298/96 -f 170/395/93 169/299/93 182/300/93 -f 167/396/90 166/301/90 179/285/90 -f 174/397/98 173/302/98 186/261/98 -f 163/398/87 164/303/87 175/288/87 -f 171/399/94 170/304/94 183/291/94 -f 168/400/91 167/305/91 180/284/91 -f 192/401/91 191/306/91 204/308/91 -f 176/262/86 186/261/86 188/310/86 -f 189/315/86 177/289/86 187/311/86 -f 184/292/86 183/291/86 196/313/86 -f 193/317/86 181/294/86 192/314/86 -f 190/318/86 178/296/86 189/315/86 -f 185/298/86 184/292/86 197/316/86 -f 194/319/86 182/300/86 193/317/86 -f 191/286/86 179/285/86 190/318/86 -f 186/261/86 185/298/86 198/309/86 -f 175/288/86 176/262/86 187/311/86 -f 195/312/86 183/291/86 194/319/86 -f 201/322/86 199/327/86 200/325/86 -f 200/325/86 210/324/86 201/322/86 -f 209/334/86 208/329/86 207/320/86 -f 207/320/86 206/336/86 205/321/86 -f 205/321/86 204/308/86 203/307/86 -f 203/307/86 202/332/86 201/322/86 -f 201/322/86 210/324/86 209/334/86 -f 209/334/86 207/320/86 201/322/86 -f 205/321/86 203/307/86 201/322/86 -f 188/402/97 198/323/97 200/325/97 -f 189/403/88 187/326/88 201/322/88 -f 196/404/95 195/328/95 208/329/95 -f 193/405/92 192/330/92 205/321/92 -f 190/406/89 189/331/89 202/332/89 -f 197/407/96 196/333/96 209/334/96 -f 194/408/93 193/335/93 206/336/93 -f 191/409/90 190/337/90 203/307/90 -f 198/410/98 197/338/98 210/324/98 -f 187/411/87 188/339/87 199/327/87 -f 195/412/94 194/340/94 207/320/94 diff --git a/src/main/java/assets/hbm/sounds.json b/src/main/java/assets/hbm/sounds.json index d952e31b6..87720f83e 100644 --- a/src/main/java/assets/hbm/sounds.json +++ b/src/main/java/assets/hbm/sounds.json @@ -136,6 +136,7 @@ "weapon.fstbmbPing": {"category": "player", "sounds": [{"name": "weapon/fstbmbPing", "stream": false}]}, "weapon.sauergun": {"category": "player", "sounds": ["weapon/sauergun1", "weapon/sauergun2", "weapon/sauergun3"]}, "weapon.whack": {"category": "player", "sounds": [{"name": "weapon/whack", "stream": false}]}, + "weapon.chainsaw": {"category": "player", "sounds": [{"name": "weapon/chainsaw", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, @@ -159,6 +160,7 @@ "entity.cybercrab": {"category": "hostile", "sounds": ["entity/radio_random1", "entity/radio_random2", "entity/radio_random3", "entity/radio_random4", "entity/radio_random5", "entity/radio_random6", "entity/radio_random7", "entity/radio_random8", "entity/radio_random9", "entity/radio_random10", "entity/radio_random11", "entity/radio_random12", "entity/radio_random13", "entity/radio_random14", "entity/radio_random15"]}, "entity.ducc": {"category": "neutral", "sounds": ["entity/ducc1", "entity/ducc2"]}, "entity.slicer": {"category": "neutral", "sounds": ["entity/slicer1", "entity/slicer2", "entity/slicer3", "entity/slicer4"]}, + "entity.megaquacc": {"category": "hostile", "sounds": [{"name": "entity/megaquacc", "stream": false}]}, "step.metal": {"category": "player", "sounds": [{"name": "footsteps/metal", "stream": false}]}, "step.iron_jump": {"category": "player", "sounds": [{"name": "footsteps/iron_jump", "stream": false}]}, diff --git a/src/main/java/assets/hbm/sounds/weapon/chainsaw.ogg b/src/main/java/assets/hbm/sounds/weapon/chainsaw.ogg new file mode 100644 index 000000000..5749c5e6c Binary files /dev/null and b/src/main/java/assets/hbm/sounds/weapon/chainsaw.ogg differ diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier1.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier1.png new file mode 100644 index 000000000..e03cd98e5 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/block_plating_tier1.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png new file mode 100644 index 000000000..4a68fde13 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/block_plating_tier2.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier3.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier3.png new file mode 100644 index 000000000..19603357d Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/block_plating_tier3.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier4.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier4.png new file mode 100644 index 000000000..3a0b545da Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/block_plating_tier4.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/block_plating_tier5.png b/src/main/java/assets/hbm/textures/blocks/block_plating_tier5.png new file mode 100644 index 000000000..ba73ebb25 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/block_plating_tier5.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/coil_alloy.png b/src/main/java/assets/hbm/textures/blocks/coil_alloy.png new file mode 100644 index 000000000..3fb4c9d16 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/coil_alloy.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/coil_base.png b/src/main/java/assets/hbm/textures/blocks/coil_base.png new file mode 100644 index 000000000..57769ed09 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/coil_base.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/coil_schrabidium.png b/src/main/java/assets/hbm/textures/blocks/coil_schrabidium.png new file mode 100644 index 000000000..e1f73bd6a Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/coil_schrabidium.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/coil_starmetal.png b/src/main/java/assets/hbm/textures/blocks/coil_starmetal.png new file mode 100644 index 000000000..36966f4b1 Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/coil_starmetal.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/machine_microwave.png b/src/main/java/assets/hbm/textures/blocks/machine_microwave.png new file mode 100644 index 000000000..988c18f4b Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/machine_microwave.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/particle_diode_in.png b/src/main/java/assets/hbm/textures/blocks/particle_diode_in.png new file mode 100644 index 000000000..5126d229e Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/particle_diode_in.png differ diff --git a/src/main/java/assets/hbm/textures/blocks/particle_diode_out.png b/src/main/java/assets/hbm/textures/blocks/particle_diode_out.png new file mode 100644 index 000000000..59e93fffd Binary files /dev/null and b/src/main/java/assets/hbm/textures/blocks/particle_diode_out.png differ diff --git a/src/main/java/assets/hbm/textures/entity/duck.png b/src/main/java/assets/hbm/textures/entity/duck.png index 515955323..49f7ecac9 100644 Binary files a/src/main/java/assets/hbm/textures/entity/duck.png and b/src/main/java/assets/hbm/textures/entity/duck.png differ diff --git a/src/main/java/assets/hbm/textures/gui/storage/gui_tank.png b/src/main/java/assets/hbm/textures/gui/storage/gui_tank.png index eafeb8d60..ec0dc3ff2 100644 Binary files a/src/main/java/assets/hbm/textures/gui/storage/gui_tank.png and b/src/main/java/assets/hbm/textures/gui/storage/gui_tank.png differ diff --git a/src/main/java/assets/hbm/textures/items/plate_armor_lunar.png b/src/main/java/assets/hbm/textures/items/plate_armor_lunar.png new file mode 100644 index 000000000..fd92d71f3 Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/plate_armor_lunar.png differ diff --git a/src/main/java/assets/hbm/textures/items/plate_armor_titanium.png b/src/main/java/assets/hbm/textures/items/plate_armor_titanium.png new file mode 100644 index 000000000..19ce9907f Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/plate_armor_titanium.png differ diff --git a/src/main/java/assets/hbm/textures/items/powder_steel_tiny.png b/src/main/java/assets/hbm/textures/items/powder_steel_tiny.png new file mode 100644 index 000000000..1e355e5fe Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/powder_steel_tiny.png differ diff --git a/src/main/java/assets/hbm/textures/items/ring_starmetal.png b/src/main/java/assets/hbm/textures/items/ring_starmetal.png new file mode 100644 index 000000000..032d660b3 Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/ring_starmetal.png differ diff --git a/src/main/java/assets/hbm/textures/items/ring_starmetal_alt.png b/src/main/java/assets/hbm/textures/items/ring_starmetal_alt.png new file mode 100644 index 000000000..ebdca2cc5 Binary files /dev/null and b/src/main/java/assets/hbm/textures/items/ring_starmetal_alt.png differ diff --git a/src/main/java/assets/hbm/textures/items/t45_boots.png b/src/main/java/assets/hbm/textures/items/t45_boots.png index 43fbc29c3..a9158c5cb 100644 Binary files a/src/main/java/assets/hbm/textures/items/t45_boots.png and b/src/main/java/assets/hbm/textures/items/t45_boots.png differ diff --git a/src/main/java/assets/hbm/textures/items/t45_helmet.png b/src/main/java/assets/hbm/textures/items/t45_helmet.png index 7d2bf045e..a946f3276 100644 Binary files a/src/main/java/assets/hbm/textures/items/t45_helmet.png and b/src/main/java/assets/hbm/textures/items/t45_helmet.png differ diff --git a/src/main/java/assets/hbm/textures/items/t45_legs.png b/src/main/java/assets/hbm/textures/items/t45_legs.png index 858361b71..32ac3d9fc 100644 Binary files a/src/main/java/assets/hbm/textures/items/t45_legs.png and b/src/main/java/assets/hbm/textures/items/t45_legs.png differ diff --git a/src/main/java/assets/hbm/textures/items/t45_plate.png b/src/main/java/assets/hbm/textures/items/t45_plate.png index d8f78a949..b5442637e 100644 Binary files a/src/main/java/assets/hbm/textures/items/t45_plate.png and b/src/main/java/assets/hbm/textures/items/t45_plate.png differ diff --git a/src/main/java/assets/hbm/textures/models/T45Boots.png b/src/main/java/assets/hbm/textures/models/T45Boots.png index d418ac7ae..828f84f13 100644 Binary files a/src/main/java/assets/hbm/textures/models/T45Boots.png and b/src/main/java/assets/hbm/textures/models/T45Boots.png differ diff --git a/src/main/java/assets/hbm/textures/models/T45Chest.png b/src/main/java/assets/hbm/textures/models/T45Chest.png index 5bed23d4a..3d4715ea2 100644 Binary files a/src/main/java/assets/hbm/textures/models/T45Chest.png and b/src/main/java/assets/hbm/textures/models/T45Chest.png differ diff --git a/src/main/java/assets/hbm/textures/models/T45Helmet.png b/src/main/java/assets/hbm/textures/models/T45Helmet.png index ff32fcfaa..6b962409c 100644 Binary files a/src/main/java/assets/hbm/textures/models/T45Helmet.png and b/src/main/java/assets/hbm/textures/models/T45Helmet.png differ diff --git a/src/main/java/assets/hbm/textures/models/T45Legs.png b/src/main/java/assets/hbm/textures/models/T45Legs.png index 11190a005..98bdafbd7 100644 Binary files a/src/main/java/assets/hbm/textures/models/T45Legs.png and b/src/main/java/assets/hbm/textures/models/T45Legs.png differ diff --git a/src/main/java/assets/hbm/textures/models/capes/CapeBlaze.png b/src/main/java/assets/hbm/textures/models/capes/CapeBlaze.png new file mode 100644 index 000000000..973e18bf5 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/capes/CapeBlaze.png differ diff --git a/src/main/java/assets/hbm/textures/models/capes/CapeGodTM.png b/src/main/java/assets/hbm/textures/models/capes/CapeGodTM.png deleted file mode 100644 index 8c4b227dd..000000000 Binary files a/src/main/java/assets/hbm/textures/models/capes/CapeGodTM.png and /dev/null differ diff --git a/src/main/java/assets/hbm/textures/models/explosion/dust.png b/src/main/java/assets/hbm/textures/models/explosion/dust.png new file mode 100644 index 000000000..99b0a2951 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/explosion/dust.png differ diff --git a/src/main/java/assets/hbm/textures/models/plate_armor_overlay.png b/src/main/java/assets/hbm/textures/models/plate_armor_overlay.png new file mode 100644 index 000000000..c861071e3 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/plate_armor_overlay.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank.png b/src/main/java/assets/hbm/textures/models/tank.png index 66098bb2b..271cf07c6 100755 Binary files a/src/main/java/assets/hbm/textures/models/tank.png and b/src/main/java/assets/hbm/textures/models/tank.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_ACID.png b/src/main/java/assets/hbm/textures/models/tank_ACID.png index 5c7e0c40e..53be3edbd 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_ACID.png and b/src/main/java/assets/hbm/textures/models/tank_ACID.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_AMAT.png b/src/main/java/assets/hbm/textures/models/tank_AMAT.png index ec9b69f91..66860b8b6 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_AMAT.png and b/src/main/java/assets/hbm/textures/models/tank_AMAT.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_ASCHRAB.png b/src/main/java/assets/hbm/textures/models/tank_ASCHRAB.png index 3d92a25a0..9369d67dc 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_ASCHRAB.png and b/src/main/java/assets/hbm/textures/models/tank_ASCHRAB.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_BALEFIRE.png b/src/main/java/assets/hbm/textures/models/tank_BALEFIRE.png index 85e10a908..248ace5f3 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_BALEFIRE.png and b/src/main/java/assets/hbm/textures/models/tank_BALEFIRE.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_BIOFUEL.png b/src/main/java/assets/hbm/textures/models/tank_BIOFUEL.png index 86efa61ad..e87915034 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_BIOFUEL.png and b/src/main/java/assets/hbm/textures/models/tank_BIOFUEL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_BIOGAS.png b/src/main/java/assets/hbm/textures/models/tank_BIOGAS.png index c8c03ce09..cf1bf2d1a 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_BIOGAS.png and b/src/main/java/assets/hbm/textures/models/tank_BIOGAS.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_BITUMEN.png b/src/main/java/assets/hbm/textures/models/tank_BITUMEN.png index 302d43eeb..114966aff 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_BITUMEN.png and b/src/main/java/assets/hbm/textures/models/tank_BITUMEN.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_COOLANT.png b/src/main/java/assets/hbm/textures/models/tank_COOLANT.png index fa75ede0c..05acc82a7 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_COOLANT.png and b/src/main/java/assets/hbm/textures/models/tank_COOLANT.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_CRYOGEL.png b/src/main/java/assets/hbm/textures/models/tank_CRYOGEL.png index 38f82c090..1bb161690 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_CRYOGEL.png and b/src/main/java/assets/hbm/textures/models/tank_CRYOGEL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_DEUTERIUM.png b/src/main/java/assets/hbm/textures/models/tank_DEUTERIUM.png index 2c79dc66e..4b1347897 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_DEUTERIUM.png and b/src/main/java/assets/hbm/textures/models/tank_DEUTERIUM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_DIESEL.png b/src/main/java/assets/hbm/textures/models/tank_DIESEL.png index 6f5b73477..59d146be3 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_DIESEL.png and b/src/main/java/assets/hbm/textures/models/tank_DIESEL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_GAS.png b/src/main/java/assets/hbm/textures/models/tank_GAS.png index de0c11c1b..50ea89993 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_GAS.png and b/src/main/java/assets/hbm/textures/models/tank_GAS.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_HEATINGOIL.png b/src/main/java/assets/hbm/textures/models/tank_HEATINGOIL.png index 0caf88878..1c4805809 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_HEATINGOIL.png and b/src/main/java/assets/hbm/textures/models/tank_HEATINGOIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_HEAVYOIL.png b/src/main/java/assets/hbm/textures/models/tank_HEAVYOIL.png index 27356c602..231900ccd 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_HEAVYOIL.png and b/src/main/java/assets/hbm/textures/models/tank_HEAVYOIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_HOTOIL.png b/src/main/java/assets/hbm/textures/models/tank_HOTOIL.png index bf1b4bd6a..339bb57fc 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_HOTOIL.png and b/src/main/java/assets/hbm/textures/models/tank_HOTOIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_HOTSTEAM.png b/src/main/java/assets/hbm/textures/models/tank_HOTSTEAM.png index 8b5305bcc..cabdd4b9f 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_HOTSTEAM.png and b/src/main/java/assets/hbm/textures/models/tank_HOTSTEAM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_HYDROGEN.png b/src/main/java/assets/hbm/textures/models/tank_HYDROGEN.png index 11db8b7fa..4547ecd90 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_HYDROGEN.png and b/src/main/java/assets/hbm/textures/models/tank_HYDROGEN.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_KEROSENE.png b/src/main/java/assets/hbm/textures/models/tank_KEROSENE.png index 74fe4c934..76fc5f1f6 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_KEROSENE.png and b/src/main/java/assets/hbm/textures/models/tank_KEROSENE.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_LAVA.png b/src/main/java/assets/hbm/textures/models/tank_LAVA.png index 7611062f0..1435a8db4 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_LAVA.png and b/src/main/java/assets/hbm/textures/models/tank_LAVA.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_LIGHTOIL.png b/src/main/java/assets/hbm/textures/models/tank_LIGHTOIL.png index e1e1e2714..444002897 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_LIGHTOIL.png and b/src/main/java/assets/hbm/textures/models/tank_LIGHTOIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_LUBRICANT.png b/src/main/java/assets/hbm/textures/models/tank_LUBRICANT.png index eb439da73..aa17b3c0a 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_LUBRICANT.png and b/src/main/java/assets/hbm/textures/models/tank_LUBRICANT.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_MERCURY.png b/src/main/java/assets/hbm/textures/models/tank_MERCURY.png index a375f4abd..a384a88f5 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_MERCURY.png and b/src/main/java/assets/hbm/textures/models/tank_MERCURY.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_NAPHTHA.png b/src/main/java/assets/hbm/textures/models/tank_NAPHTHA.png index 6c59fa6e6..e5cb85cd9 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_NAPHTHA.png and b/src/main/java/assets/hbm/textures/models/tank_NAPHTHA.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_NITAN.png b/src/main/java/assets/hbm/textures/models/tank_NITAN.png index 6b6bd88b2..a55afcf6f 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_NITAN.png and b/src/main/java/assets/hbm/textures/models/tank_NITAN.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_NONE.png b/src/main/java/assets/hbm/textures/models/tank_NONE.png index 143f752d9..0625b71f7 100755 Binary files a/src/main/java/assets/hbm/textures/models/tank_NONE.png and b/src/main/java/assets/hbm/textures/models/tank_NONE.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_OIL.png b/src/main/java/assets/hbm/textures/models/tank_OIL.png index c32da3e94..bffde26a7 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_OIL.png and b/src/main/java/assets/hbm/textures/models/tank_OIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_OXYGEN.png b/src/main/java/assets/hbm/textures/models/tank_OXYGEN.png index 58b43dc45..256fb313e 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_OXYGEN.png and b/src/main/java/assets/hbm/textures/models/tank_OXYGEN.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_PETROIL.png b/src/main/java/assets/hbm/textures/models/tank_PETROIL.png index a3eace10d..3e6fce62f 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_PETROIL.png and b/src/main/java/assets/hbm/textures/models/tank_PETROIL.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_PETROLEUM.png b/src/main/java/assets/hbm/textures/models/tank_PETROLEUM.png index 800ab35c6..37a66900a 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_PETROLEUM.png and b/src/main/java/assets/hbm/textures/models/tank_PETROLEUM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_PUF6.png b/src/main/java/assets/hbm/textures/models/tank_PUF6.png index 23d7d36bc..4246191de 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_PUF6.png and b/src/main/java/assets/hbm/textures/models/tank_PUF6.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_RECLAIMED.png b/src/main/java/assets/hbm/textures/models/tank_RECLAIMED.png index f51afe9e4..1dcdda3fd 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_RECLAIMED.png and b/src/main/java/assets/hbm/textures/models/tank_RECLAIMED.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_SAS3.png b/src/main/java/assets/hbm/textures/models/tank_SAS3.png index 59cbfbb70..e2464ae47 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_SAS3.png and b/src/main/java/assets/hbm/textures/models/tank_SAS3.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_SMEAR.png b/src/main/java/assets/hbm/textures/models/tank_SMEAR.png index c4116c89c..deab5a086 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_SMEAR.png and b/src/main/java/assets/hbm/textures/models/tank_SMEAR.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_STEAM.png b/src/main/java/assets/hbm/textures/models/tank_STEAM.png index d3bbf3b34..093bac3c4 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_STEAM.png and b/src/main/java/assets/hbm/textures/models/tank_STEAM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png b/src/main/java/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png index eab90f712..ac8fc1953 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png and b/src/main/java/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_TRITIUM.png b/src/main/java/assets/hbm/textures/models/tank_TRITIUM.png index 34b873ed4..1517a3f77 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_TRITIUM.png and b/src/main/java/assets/hbm/textures/models/tank_TRITIUM.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_UF6.png b/src/main/java/assets/hbm/textures/models/tank_UF6.png index 8acf17f4c..4e7cb599e 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_UF6.png and b/src/main/java/assets/hbm/textures/models/tank_UF6.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_WATER.png b/src/main/java/assets/hbm/textures/models/tank_WATER.png index 3fe168322..a0b5fdb40 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_WATER.png and b/src/main/java/assets/hbm/textures/models/tank_WATER.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_WATZ.png b/src/main/java/assets/hbm/textures/models/tank_WATZ.png index 7e6f37290..f919d20ba 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_WATZ.png and b/src/main/java/assets/hbm/textures/models/tank_WATZ.png differ diff --git a/src/main/java/assets/hbm/textures/models/tank_XENON.png b/src/main/java/assets/hbm/textures/models/tank_XENON.png index e1eb32e5b..6e1025f2d 100644 Binary files a/src/main/java/assets/hbm/textures/models/tank_XENON.png and b/src/main/java/assets/hbm/textures/models/tank_XENON.png differ diff --git a/src/main/java/assets/hbm/textures/models/weapons/egon.png b/src/main/java/assets/hbm/textures/models/weapons/egon.png index 0532b1441..c79291590 100644 Binary files a/src/main/java/assets/hbm/textures/models/weapons/egon.png and b/src/main/java/assets/hbm/textures/models/weapons/egon.png differ diff --git a/src/main/java/assets/hbm/textures/models/weapons/egon_display.png b/src/main/java/assets/hbm/textures/models/weapons/egon_display.png new file mode 100644 index 000000000..841b66973 Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/weapons/egon_display.png differ diff --git a/src/main/java/assets/hbm/textures/models/weapons/egon_hose.png b/src/main/java/assets/hbm/textures/models/weapons/egon_hose.png new file mode 100644 index 000000000..43b21f30a Binary files /dev/null and b/src/main/java/assets/hbm/textures/models/weapons/egon_hose.png differ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 544bbc233..626a511b1 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -976,14 +976,14 @@ public class ModBlocks { block_daffergon = new BlockGeneric(Material.iron).setBlockName("block_daffergon").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_daffergon"); block_verticium = new BlockGeneric(Material.iron).setBlockName("block_verticium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_verticium"); - block_cap_nuka = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_nuka_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_nuka").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_nuka"); - block_cap_quantum = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_quantum_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_quantum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_quantum"); - block_cap_rad = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_rad_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_rad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_rad"); - block_cap_sparkle = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_sparkle_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sparkle").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sparkle"); - block_cap_korl = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_korl_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_korl").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_korl"); - block_cap_fritz = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_fritz_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_fritz"); - block_cap_sunset = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_sunset_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sunset").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sunset"); - block_cap_star = new BlockPillar(Material.iron, RefStrings.MODID + ":block_cap_star_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_star").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_star"); + block_cap_nuka = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_nuka_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_nuka").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_nuka"); + block_cap_quantum = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_quantum_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_quantum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_quantum"); + block_cap_rad = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_rad_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_rad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_rad"); + block_cap_sparkle = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_sparkle_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sparkle").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sparkle"); + block_cap_korl = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_korl_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_korl").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_korl"); + block_cap_fritz = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_fritz_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_fritz"); + block_cap_sunset = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_sunset_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sunset").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sunset"); + block_cap_star = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_star_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_star").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_star"); deco_titanium = new BlockOre(Material.iron).setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium"); deco_red_copper = new BlockOre(Material.iron).setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper"); @@ -1175,7 +1175,7 @@ public class ModBlocks { machine_electric_furnace_on = new MachineElectricFurnace(true).setBlockName("machine_electric_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); machine_arc_furnace_off = new MachineArcFurnace(false).setBlockName("machine_arc_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_arc_furnace_on = new MachineArcFurnace(true).setBlockName("machine_arc_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_microwave = new MachineMicrowave(Material.iron).setBlockName("machine_microwave").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_microwave = new MachineMicrowave(Material.iron).setBlockName("machine_microwave").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_microwave"); //machine_deuterium = new MachineDeuterium(Material.iron).setBlockName("machine_deuterium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -1816,7 +1816,7 @@ public class ModBlocks { GameRegistry.registerBlock(turret_flamer, turret_flamer.getUnlocalizedName()); GameRegistry.registerBlock(turret_tau, turret_tau.getUnlocalizedName()); GameRegistry.registerBlock(turret_spitfire, turret_spitfire.getUnlocalizedName()); - GameRegistry.registerBlock(turret_cwis, turret_cwis.getUnlocalizedName()); + GameRegistry.registerBlock(turret_cwis, ItemBlockLore.class, turret_cwis.getUnlocalizedName()); GameRegistry.registerBlock(turret_cheapo, turret_cheapo.getUnlocalizedName()); //Mines diff --git a/src/main/java/com/hbm/blocks/generic/BlockCap.java b/src/main/java/com/hbm/blocks/generic/BlockCap.java new file mode 100644 index 000000000..798255f0a --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockCap.java @@ -0,0 +1,45 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.BlockPillar; +import com.hbm.items.ModItems; + +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; + +public class BlockCap extends BlockPillar { + + public BlockCap(Material mat, String tex) { + super(mat, tex); + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + + if(this == ModBlocks.block_cap_nuka) + return ModItems.cap_nuka; + if(this == ModBlocks.block_cap_quantum) + return ModItems.cap_quantum; + if(this == ModBlocks.block_cap_sparkle) + return ModItems.cap_sparkle; + if(this == ModBlocks.block_cap_rad) + return ModItems.cap_rad; + if(this == ModBlocks.block_cap_korl) + return ModItems.cap_korl; + if(this == ModBlocks.block_cap_fritz) + return ModItems.cap_fritz; + if(this == ModBlocks.block_cap_sunset) + return ModItems.cap_sunset; + if(this == ModBlocks.block_cap_star) + return ModItems.cap_star; + + return null; + } + + @Override + public int quantityDropped(Random rand) { + return 128; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockCrate.java b/src/main/java/com/hbm/blocks/generic/BlockCrate.java index ba486c7b9..7ef7331bf 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCrate.java @@ -67,32 +67,14 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver, 7); BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_gold, 4); BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_lead, 6); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_schrabidium, 1); BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_cursed, 5); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_nightmare, 3); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_nightmare2, 2); BlockCrate.addToListWithWeight(crateList, ModItems.clip_rpg, 5); BlockCrate.addToListWithWeight(crateList, ModItems.clip_fatman, 1); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_mirv, 2); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_bf, 1); BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp40, 7); BlockCrate.addToListWithWeight(crateList, ModItems.clip_uzi, 7); BlockCrate.addToListWithWeight(crateList, ModItems.clip_uboinik, 7); BlockCrate.addToListWithWeight(crateList, ModItems.clip_lever_action, 5); BlockCrate.addToListWithWeight(crateList, ModItems.clip_bolt_action, 5); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_osipr, 7); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_immolator, 4); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_cryolator, 4); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp, 3); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_xvl1456, 5); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_emp, 3); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_defabricator, 3); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_euthanasia, 2); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_hp, 2); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_jack, 2); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_pip, 3); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_spark, 2); - //BlockCrate.addToListWithWeight(crateList, ModItems.clip_stinger, 5); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6); BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4); @@ -104,44 +86,19 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver, 9); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_gold, 7); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_lead, 8); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_schrabidium, 1); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_cursed, 7); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_nightmare, 5); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_nightmare2, 4); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_pip, 3); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_calamity, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_calamity_dual, 2); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_rpg, 7); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_karl, 4); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_panzerschreck, 6); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hk69, 8); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_stinger, 7); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_fatman, 5); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_proto, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mirv, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bf, 1); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp40, 9); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi, 6); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_silencer, 5); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_saturnite, 4); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_saturnite_silencer, 3); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uboinik, 8); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action, 7); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action_dark, 6); BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action, 7); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action_green, 6); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_xvl1456, 4); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_osipr, 6); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_immolator, 5); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_cryolator, 5); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp, 2); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_emp, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_jack, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_spark, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hp, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_euthanasia, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_skystinger, 3); - //BlockCrate.addToListWithWeight(weaponList, ModItems.gun_defabricator, 2); //Lead Crate BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium, 10); @@ -174,40 +131,26 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg_weak, 7); BlockCrate.addToListWithWeight(leadList, ModItems.tritium_deuterium_cake, 5); BlockCrate.addToListWithWeight(leadList, ModItems.powder_yellowcake, 10); - //BlockCrate.addToListWithWeight(leadList, ModItems.nugget_schrabidium, 1); //Metal Crate BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_centrifuge), 5); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor), 6); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_furnace_off), 5); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_coal_off), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_industrial_generator), 6); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_radgen), 5); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_lithium_battery), 5); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 8); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_assembler), 10); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_chemplant), 7); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_small), 4); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_fluidtank), 7); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_shredder), 8); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_well), 6); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_pumpjack), 5); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_flare), 7); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_refinery), 5); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_drill), 4); - //BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_turbofan), 4); BlockCrate.addToListWithWeight(metalList, ModItems.centrifuge_element, 6); BlockCrate.addToListWithWeight(metalList, ModItems.motor, 8); BlockCrate.addToListWithWeight(metalList, ModItems.coil_tungsten, 7); - //BlockCrate.addToListWithWeight(metalList, ModItems.rtg_unit, 4); BlockCrate.addToListWithWeight(metalList, ModItems.photo_panel, 3); BlockCrate.addToListWithWeight(metalList, ModItems.coil_copper, 10); BlockCrate.addToListWithWeight(metalList, ModItems.tank_steel, 9); @@ -219,7 +162,10 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(redList, ModItems.mysteryshovel, 1); BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_pip, 1); BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_blackjack, 1); - BlockCrate.addToListWithWeight(redList, ModItems.clip_revolver_pip, 1); + BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_silver, 1); + BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_pip, 1); + BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_bj, 1); + BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_silver, 1); BlockCrate.addToListWithWeight(redList, ModItems.gun_calamity_dual, 1); BlockCrate.addToListWithWeight(redList, ModItems.gun_b92, 1); BlockCrate.addToListWithWeight(redList, ModItems.weaponized_starblaster_cell, 1); @@ -227,6 +173,7 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(redList, ModItems.bottle_sparkle, 1); BlockCrate.addToListWithWeight(redList, ModItems.bottle_rad, 1); BlockCrate.addToListWithWeight(redList, ModItems.missile_taint, 1); + BlockCrate.addToListWithWeight(redList, ModItems.ring_starmetal, 1); BlockCrate.addToListWithWeight(redList, ModItems.flame_pony, 1); BlockCrate.addToListWithWeight(redList, ModItems.burnt_bark, 1); BlockCrate.addToListWithWeight(redList, ModItems.crystal_horn, 1); diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index 62c96743a..404452297 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -172,7 +172,7 @@ public class BlockOre extends Block { { return ModItems.ingot_asbestos; } - if(this == ModBlocks.ore_asbestos) + if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos) { return ModItems.ingot_asbestos; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java index fd77ab5ac..d5ded328d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java @@ -10,12 +10,16 @@ import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineFluidTank; 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.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -254,5 +258,59 @@ public class MachineFluidTank extends BlockContainer implements IMultiblock { world.func_147480_a(x, y, z, true); } } + + private final Random field_149933_a = new Random(); + private static boolean keepInventory; + + @Override + public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) + { + if (!keepInventory) + { + ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + if (tileentityfurnace != null) + { + for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) + { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + + if (itemstack != null) + { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) + { + int j1 = this.field_149933_a.nextInt(21) + 10; + + if (j1 > itemstack.stackSize) + { + j1 = itemstack.stackSize; + } + + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) + { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; + p_149749_1_.spawnEntityInWorld(entityitem); + } + } + } + + p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + } + } + + super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineITER.java b/src/main/java/com/hbm/blocks/machine/MachineITER.java index 3b721adce..22b67a51a 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineITER.java +++ b/src/main/java/com/hbm/blocks/machine/MachineITER.java @@ -37,7 +37,7 @@ public class MachineITER extends BlockDummyable { return new TileEntityITER(); if(meta >= 6) - return new TileEntityProxyCombo(false, true, true); + return new TileEntityProxyCombo(true, true, true); return null; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java b/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java index c8133ab92..1e38531fb 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java +++ b/src/main/java/com/hbm/blocks/machine/MachineLargeTurbine.java @@ -60,7 +60,6 @@ public class MachineLargeTurbine extends BlockDummyable { FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_machine_large_turbine, world, pos[0], pos[1], pos[2]); return true; } else { - player.addChatComponentMessage(new ChatComponentText("" + world.getBlockMetadata(x, y, z))); return true; } } diff --git a/src/main/java/com/hbm/blocks/machine/Radiobox.java b/src/main/java/com/hbm/blocks/machine/Radiobox.java index 6fcf01a6c..b7eea5519 100644 --- a/src/main/java/com/hbm/blocks/machine/Radiobox.java +++ b/src/main/java/com/hbm/blocks/machine/Radiobox.java @@ -1,10 +1,14 @@ package com.hbm.blocks.machine; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBattery; import com.hbm.tileentity.machine.TileEntityRadiobox; +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.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -68,6 +72,16 @@ public class Radiobox extends BlockContainer { return true; } else if(!player.isSneaking()) { + TileEntityRadiobox box = (TileEntityRadiobox)world.getTileEntity(x, y, z); + + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.battery_spark && !box.infinite) { + player.getHeldItem().stackSize--; + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:item.upgradePlug", 1.5F, 1.0F); + box.infinite = true; + box.markDirty(); + return true; + } + int meta = world.getBlockMetadata(x, y, z); if(meta <= 5) { world.setBlockMetadataWithNotify(x, y, z, meta + 4, 2); @@ -143,4 +157,14 @@ public class Radiobox extends BlockContainer { return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + public void breakBlock(World world, int x, int y, int z, Block b, int m) { + + TileEntityRadiobox box = (TileEntityRadiobox)world.getTileEntity(x, y, z); + + if(box.infinite) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, ItemBattery.getEmptyBattery(ModItems.battery_spark))); + } + + super.breakBlock(world, x, y, z, b, m); + } } diff --git a/src/main/java/com/hbm/blocks/test/TestEventTester.java b/src/main/java/com/hbm/blocks/test/TestEventTester.java index 545627774..146a581ac 100644 --- a/src/main/java/com/hbm/blocks/test/TestEventTester.java +++ b/src/main/java/com/hbm/blocks/test/TestEventTester.java @@ -7,6 +7,7 @@ import java.util.Random; import java.util.Map.Entry; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.saveddata.RadiationSavedData; @@ -224,6 +225,12 @@ public class TestEventTester extends Block { System.out.println(data.getRadNumFromCoord(chunk.xPosition, chunk.zPosition)); } + if(!worldObj.isRemote) { + + worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFac(worldObj, x1, y1 + 5, z1, 100)); + worldObj.setBlockToAir(x1, y1, z1); + } + } } @@ -383,13 +390,18 @@ public class TestEventTester extends Block { worldObj.spawnEntityInWorld(tom); }*/ - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { worldObj.setBlockToAir(par2, par3, par4); ExplosionNT ex = new ExplosionNT(worldObj, null, par2 + 0.5, par3 + 2, par4 + 0.5, 5); ex.addAttrib(ExAttrib.ALLDROP); ex.doExplosionA(); ex.doExplosionB(false); + }*/ + + if(!worldObj.isRemote) { + + worldObj.spawnEntityInWorld(EntityNukeCloudSmall.statFacBale(worldObj, par2, par3 + 5, par4, 100, 0)); } return true; diff --git a/src/main/java/com/hbm/config/ToolConfig.java b/src/main/java/com/hbm/config/ToolConfig.java index 7df3d0ca5..5105d99a0 100644 --- a/src/main/java/com/hbm/config/ToolConfig.java +++ b/src/main/java/com/hbm/config/ToolConfig.java @@ -16,6 +16,8 @@ public class ToolConfig { public static boolean abilityShredder = true; public static boolean abilityCentrifuge = true; public static boolean abilityCrystallizer = true; + public static boolean abilityMercury = true; + public static boolean abilityExplosion = true; public static void loadFromConfig(Configuration config) { @@ -32,5 +34,7 @@ public class ToolConfig { abilityShredder = config.get(CATEGORY_TOOLS, "11.08_abilityShredder", true).getBoolean(true); abilityCentrifuge = config.get(CATEGORY_TOOLS, "11.09_abilityCentrifuge", true).getBoolean(true); abilityCrystallizer = config.get(CATEGORY_TOOLS, "11.10_abilityCrystallizer", true).getBoolean(true); + abilityMercury = config.get(CATEGORY_TOOLS, "11.11_abilityMercury", true).getBoolean(true); + abilityExplosion = config.get(CATEGORY_TOOLS, "11.12_abilityExplosion", true).getBoolean(true); } } diff --git a/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java b/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java index 2e1e3b7af..530d426c0 100644 --- a/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java +++ b/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java @@ -1,57 +1,77 @@ package com.hbm.entity.effect; +import java.util.ArrayList; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; -import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityNukeCloudSmall extends Entity { public int maxAge = 1000; public int age; + + public static int cloudletLife = 50; + public ArrayList cloudlets = new ArrayList(); public EntityNukeCloudSmall(World p_i1582_1_) { super(p_i1582_1_); - this.setSize(1, 80); + this.setSize(20, 40); this.ignoreFrustumCheck = true; this.isImmuneToFire = true; this.age = 0; + this.noClip = true; } - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } - public EntityNukeCloudSmall(World p_i1582_1_, int maxAge, float scale) { super(p_i1582_1_); this.setSize(20, 40); this.isImmuneToFire = true; this.maxAge = maxAge; + this.noClip = true; this.dataWatcher.updateObject(18, scale); } @Override public void onUpdate() { - //super.onUpdate(); + this.age++; - this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY + 400, this.posZ)); + + this.worldObj.lastLightningBolt = 2; if(this.age >= this.maxAge) { this.age = 0; this.setDead(); } + + int cloudCount = age * 3; + + Vec3 vec = Vec3.createVectorHelper(age * 2, 0, 0); + + int toRem = 0; + + for(int i = 0; i < this.cloudlets.size(); i++) { + + if(age > cloudlets.get(i).age + cloudletLife) + toRem = i; + else + break; + } + + for(int i = 0; i < toRem; i++) + this.cloudlets.remove(0); + + if(age < 200) { + for(int i = 0; i < cloudCount; i++) { + vec.rotateAroundY((float)(Math.PI * 2 * worldObj.rand.nextDouble())); + + this.cloudlets.add(new Cloudlet(vec.xCoord, worldObj.getHeightValue((int) (vec.xCoord + posX), (int) (vec.zCoord + posZ)), vec.zCoord, age)); + } + } this.dataWatcher.updateObject(16, (short)maxAge); this.dataWatcher.updateObject(17, (short)age); @@ -70,6 +90,7 @@ public class EntityNukeCloudSmall extends Entity { maxAge = p_70037_1_.getShort("maxAge"); age = p_70037_1_.getShort("age"); this.dataWatcher.updateObject(18, p_70037_1_.getFloat("scale")); + this.dataWatcher.updateObject(19, p_70037_1_.getByte("type")); } @Override @@ -77,6 +98,7 @@ public class EntityNukeCloudSmall extends Entity { p_70014_1_.setShort("maxAge", (short)maxAge); p_70014_1_.setShort("age", (short)age); p_70014_1_.setFloat("scale", this.dataWatcher.getWatchableObjectFloat(18)); + p_70014_1_.setByte("type", this.dataWatcher.getWatchableObjectByte(19)); } @@ -108,5 +130,20 @@ public class EntityNukeCloudSmall extends Entity { { return distance < 25000; } + + public static class Cloudlet { + + public double posX; + public double posY; + public double posZ; + public int age; + + public Cloudlet(double posX, double posY, double posZ, int age) { + this.posX = posX; + this.posY = posY; + this.posZ = posZ; + this.age = age; + } + } } diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java index 14658856d..874996262 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyBase.java @@ -129,7 +129,7 @@ public abstract class EntityGrenadeBouncyBase extends Entity implements IProject boolean bounce = false; Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec3, vec31, false, true, false); if (movingobjectposition != null) { diff --git a/src/main/java/com/hbm/entity/mob/EntityDuck.java b/src/main/java/com/hbm/entity/mob/EntityDuck.java index 953994844..c263eeb93 100644 --- a/src/main/java/com/hbm/entity/mob/EntityDuck.java +++ b/src/main/java/com/hbm/entity/mob/EntityDuck.java @@ -26,5 +26,4 @@ public class EntityDuck extends EntityChicken { { return new EntityDuck(this.worldObj); } - } diff --git a/src/main/java/com/hbm/entity/mob/EntityQuackos.java b/src/main/java/com/hbm/entity/mob/EntityQuackos.java new file mode 100644 index 000000000..0b5101867 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityQuackos.java @@ -0,0 +1,92 @@ +package com.hbm.entity.mob; + +import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +/** + * BOW + */ +public class EntityQuackos extends EntityDuck implements IBossDisplayData { + + /** + * BOW + */ + public EntityQuackos(World world) { + super(world); + this.setSize(0.3F * 25, 0.7F * 25); + } + + /** + * BOW + */ + protected String getLivingSound() { + return "hbm:entity.megaquacc"; + } + + /** + * BOW + */ + protected String getHurtSound() { + return "hbm:entity.megaquacc"; + } + + /** + * BOW + */ + protected String getDeathSound() { + return "hbm:entity.megaquacc"; + } + + /** + * BOW + */ + public EntityQuackos createChild(EntityAgeable entity) + { + return new EntityQuackos(this.worldObj); + } + + /** + * BOW + */ + public boolean isEntityInvulnerable() { + return true; + } + + /** + * BOW + */ + public boolean interact(EntityPlayer player) { + + if(super.interact(player)) { + return true; + + } else if(!this.worldObj.isRemote && (this.riddenByEntity == null || this.riddenByEntity == player)) { + player.mountEntity(this); + return true; + + } else { + return false; + } + } + + /** + * BOW + */ + public void updateRiderPosition() { + + super.updateRiderPosition(); + float f = MathHelper.sin(this.renderYawOffset * (float)Math.PI / 180.0F); + float f1 = MathHelper.cos(this.renderYawOffset * (float)Math.PI / 180.0F); + float f2 = 0.1F; + float f3 = 0.0F; + this.riddenByEntity.setPosition(this.posX + (double)(f2 * f), this.posY + (double)(this.height - 0.125F) + this.riddenByEntity.getYOffset() + (double)f3, this.posZ - (double)(f2 * f1)); + + if (this.riddenByEntity instanceof EntityLivingBase) { + ((EntityLivingBase)this.riddenByEntity).renderYawOffset = this.renderYawOffset; + } + } +} diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 382b0424e..a4a0b025a 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -1504,15 +1504,6 @@ public class GUIHandler implements IGuiHandler { return null; } - case ModBlocks.guiID_radiobox: - { - if(entity instanceof TileEntityRadiobox) - { - return new GUIRadiobox(player.inventory, (TileEntityRadiobox) entity); - } - return null; - } - case ModBlocks.guiID_telelinker: { if(entity instanceof TileEntityMachineTeleLinker) diff --git a/src/main/java/com/hbm/handler/HazmatRegistry.java b/src/main/java/com/hbm/handler/HazmatRegistry.java index 74e619c90..9c93d6e1d 100644 --- a/src/main/java/com/hbm/handler/HazmatRegistry.java +++ b/src/main/java/com/hbm/handler/HazmatRegistry.java @@ -10,26 +10,14 @@ import net.minecraft.item.ItemStack; public class HazmatRegistry { - public static final HazmatRegistry instance = new HazmatRegistry(); private static HashMap entries = new HashMap(); - private class HazmatEntry { - - private Item item; - private float resistance; - - private HazmatEntry(Item item, float resistance) { - this.item = item; - this.resistance = resistance; - } - } - - public void registerHazmat(Item item, float resistance) { + public static void registerHazmat(Item item, float resistance) { entries.put(item, resistance); } - public float getResistance(ItemStack stack) { + public static float getResistance(ItemStack stack) { if(stack == null) return 0; @@ -44,7 +32,7 @@ public class HazmatRegistry { return cladding; } - public float getCladding(ItemStack stack) { + public static float getCladding(ItemStack stack) { if(stack.hasTagCompound() && stack.stackTagCompound.getFloat("hfr_cladding") > 0) return stack.stackTagCompound.getFloat("hfr_cladding"); @@ -52,7 +40,7 @@ public class HazmatRegistry { return 0; } - public float getResistance(EntityPlayer player) { + public static float getResistance(EntityPlayer player) { float res = 0.0F; diff --git a/src/main/java/com/hbm/handler/ToolAbility.java b/src/main/java/com/hbm/handler/ToolAbility.java index cf21376fd..d206bce8e 100644 --- a/src/main/java/com/hbm/handler/ToolAbility.java +++ b/src/main/java/com/hbm/handler/ToolAbility.java @@ -34,6 +34,7 @@ public abstract class ToolAbility { public abstract String getName(); public abstract String getFullName(); public abstract String getExtension(); + public abstract boolean isAllowed(); public static class RecursionAbility extends ToolAbility { @@ -136,7 +137,11 @@ public abstract class ToolAbility { public String getExtension() { return " (" + radius + ")"; } - + + @Override + public boolean isAllowed() { + return ToolConfig.abilityVein; + } } public static class HammerAbility extends ToolAbility { @@ -177,6 +182,11 @@ public abstract class ToolAbility { public String getExtension() { return " (" + range + ")"; } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityHammer; + } } public static class SilkAbility extends ToolAbility { @@ -212,6 +222,11 @@ public abstract class ToolAbility { public String getExtension() { return ""; } + + @Override + public boolean isAllowed() { + return ToolConfig.abilitySilk; + } } public static class LuckAbility extends ToolAbility { @@ -253,6 +268,11 @@ public abstract class ToolAbility { public String getExtension() { return " (" + luck + ")"; } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityLuck; + } } public static class SmelterAbility extends ToolAbility { @@ -287,6 +307,11 @@ public abstract class ToolAbility { public String getExtension() { return ""; } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityFurnace; + } } public static class ShredderAbility extends ToolAbility { @@ -321,6 +346,11 @@ public abstract class ToolAbility { public String getExtension() { return ""; } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityShredder; + } } public static class CentrifugeAbility extends ToolAbility { @@ -359,6 +389,11 @@ public abstract class ToolAbility { public String getFullName() { return I18n.format(getName()); } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityCentrifuge; + } } public static class CrystallizerAbility extends ToolAbility { @@ -393,6 +428,11 @@ public abstract class ToolAbility { public String getFullName() { return I18n.format(getName()); } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityCrystallizer; + } } public static class MercuryAbility extends ToolAbility { @@ -431,6 +471,11 @@ public abstract class ToolAbility { public String getFullName() { return I18n.format(getName()); } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityMercury; + } } public static class ExplosionAbility extends ToolAbility { @@ -468,5 +513,10 @@ public abstract class ToolAbility { public String getFullName() { return I18n.format(getName()) + getExtension(); } + + @Override + public boolean isAllowed() { + return ToolConfig.abilityExplosion; + } } } \ No newline at end of file diff --git a/src/main/java/com/hbm/handler/WeaponAbility.java b/src/main/java/com/hbm/handler/WeaponAbility.java index 13c34c78e..f8200ae87 100644 --- a/src/main/java/com/hbm/handler/WeaponAbility.java +++ b/src/main/java/com/hbm/handler/WeaponAbility.java @@ -1,15 +1,30 @@ package com.hbm.handler; +import com.hbm.items.ModItems; import com.hbm.items.tool.IItemAbility; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.util.ContaminationUtil; +import com.hbm.util.WeightedRandomObject; +import net.minecraft.block.Block; import net.minecraft.client.resources.I18n; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; public abstract class WeaponAbility { @@ -134,5 +149,122 @@ public abstract class WeaponAbility { return I18n.format(getName()) + " (" + duration + ")"; } } + + public static class ChainsawAbility extends WeaponAbility { + + int divider; + + public ChainsawAbility(int divider) { + this.divider = divider; + } + @Override + public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { + + if(victim instanceof EntityLivingBase) { + + EntityLivingBase living = (EntityLivingBase) victim; + + if(living.getHealth() <= 0.0F) { + + WeightedRandomObject[] ammo = new WeightedRandomObject[] { + new WeightedRandomObject(ModItems.ammo_12gauge, 10), + new WeightedRandomObject(ModItems.ammo_12gauge_shrapnel, 5), + new WeightedRandomObject(ModItems.ammo_12gauge_du, 3), + new WeightedRandomObject(ModItems.ammo_20gauge, 10), + new WeightedRandomObject(ModItems.ammo_20gauge_flechette, 5), + new WeightedRandomObject(ModItems.ammo_20gauge_slug, 5), + new WeightedRandomObject(ModItems.ammo_9mm, 10), + new WeightedRandomObject(ModItems.ammo_9mm_ap, 5), + new WeightedRandomObject(ModItems.ammo_5mm, 10), + new WeightedRandomObject(ModItems.ammo_5mm_du, 3), + new WeightedRandomObject(ModItems.ammo_556, 10), + new WeightedRandomObject(ModItems.ammo_556_phosphorus, 5), + new WeightedRandomObject(ModItems.ammo_556_flechette, 10), + new WeightedRandomObject(ModItems.ammo_556_flechette_phosphorus, 5), + new WeightedRandomObject(ModItems.ammo_50bmg, 10), + new WeightedRandomObject(ModItems.ammo_50bmg_incendiary, 5), + new WeightedRandomObject(ModItems.ammo_50bmg_ap, 5), + new WeightedRandomObject(ModItems.ammo_grenade, 5), + new WeightedRandomObject(ModItems.ammo_grenade_concussion, 3), + new WeightedRandomObject(ModItems.ammo_grenade_phosphorus, 3), + new WeightedRandomObject(ModItems.ammo_rocket, 5), + new WeightedRandomObject(ModItems.ammo_rocket_glare, 5), + new WeightedRandomObject(ModItems.ammo_rocket_phosphorus, 5), + new WeightedRandomObject(ModItems.ammo_rocket_rpc, 1), + new WeightedRandomObject(ModItems.syringe_metal_stimpak, 25), + }; + + int count = Math.min((int)Math.ceil(living.getMaxHealth() / divider), 250); //safeguard to prevent funnies from bosses with obscene health + + for(int i = 0; i < count; i++) { + + living.dropItem(((WeightedRandomObject)WeightedRandom.getRandomItem(living.getRNG(), ammo)).asItem(), 1); + world.spawnEntityInWorld(new EntityXPOrb(world, living.posX, living.posY, living.posZ, 1)); + } + + if(player instanceof EntityPlayerMP) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaburst"); + data.setInteger("count", count * 4); + data.setDouble("motion", 0.1D); + data.setString("mode", "blockdust"); + data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); + PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, living.posX, living.posY + living.height * 0.5, living.posZ), (EntityPlayerMP)player); + } + + world.playSoundEffect(living.posX, living.posY + living.height * 0.5, living.posZ, "hbm:weapon.chainsaw", 0.5F, 1.0F); + } + } + } + + @Override + public String getName() { + return "weapon.ability.chainsaw"; + } + + @Override + public String getFullName() { + return I18n.format(getName()) + " (1:" + divider + ")"; + } + } + + public static class BeheaderAbility extends WeaponAbility { + + @Override + public void onHit(World world, EntityPlayer player, Entity victim, IItemAbility tool) { + + if(victim instanceof EntityLivingBase && ((EntityLivingBase) victim).getHealth() <= 0.0F) { + + EntityLivingBase living = (EntityLivingBase) victim; + + if(living instanceof EntitySkeleton) { + living.entityDropItem(new ItemStack(Items.skull, 1, ((EntitySkeleton)living).getSkeletonType()), 0.0F); + } else if(living instanceof EntityZombie) { + living.entityDropItem(new ItemStack(Items.skull, 1, 2), 0.0F); + } else if(living instanceof EntityCreeper) { + living.entityDropItem(new ItemStack(Items.skull, 1, 4), 0.0F); + } else if(living instanceof EntityPlayer) { + + ItemStack head = new ItemStack(Items.skull, 1, 3); + head.stackTagCompound = new NBTTagCompound(); + head.stackTagCompound.setString("SkullOwner", ((EntityPlayer) living).getDisplayName()); + living.entityDropItem(head, 0.0F); + } else { + living.entityDropItem(new ItemStack(Items.rotten_flesh, 3, 0), 0.0F); + living.entityDropItem(new ItemStack(Items.bone, 2, 0), 0.0F); + } + } + } + + @Override + public String getName() { + return "weapon.ability.beheader"; + } + + @Override + public String getFullName() { + return I18n.format(getName()); + } + } } diff --git a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java index b7803ae36..a4375dc8b 100644 --- a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -304,12 +304,15 @@ public class BulletConfigFactory { PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true); PotionEffect eff1 = new PotionEffect(Potion.digSlowdown.id, duration, 2, true); PotionEffect eff2 = new PotionEffect(Potion.weakness.id, duration, 4, true); + PotionEffect eff3 = new PotionEffect(Potion.wither.id, (int)Math.ceil(duration * 0.1), 0, true); eff0.getCurativeItems().clear(); eff1.getCurativeItems().clear(); eff2.getCurativeItems().clear(); + eff3.getCurativeItems().clear(); ((EntityLivingBase)e).addPotionEffect(eff0); ((EntityLivingBase)e).addPotionEffect(eff1); ((EntityLivingBase)e).addPotionEffect(eff2); + ((EntityLivingBase)e).addPotionEffect(eff3); } } } @@ -409,7 +412,7 @@ public class BulletConfigFactory { Vec3 delta = Vec3.createVectorHelper(e.posX - bullet.posX, e.posY + e.height / 2 - bullet.posY, e.posZ - bullet.posZ); - if(bullet.worldObj.rayTraceBlocks(Vec3.createVectorHelper(bullet.posX, bullet.posY, bullet.posZ), Vec3.createVectorHelper(e.posX, e.posY + e.height / 2, e.posZ)) != null) + if(bullet.worldObj.func_147447_a(Vec3.createVectorHelper(bullet.posX, bullet.posY, bullet.posZ), Vec3.createVectorHelper(e.posX, e.posY + e.height / 2, e.posZ), false, true, false) != null) continue; double dist = e.getDistanceSqToEntity(bullet); diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 41cb98024..b6c2df999 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -18,6 +18,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.Untested; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; @@ -160,7 +161,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new OreDictStack("plateLead", 16), new OreDictStack("plateDenseLead", 4), new ComparableStack(ModItems.singularity_counter_resonant, 1), new ComparableStack(ModItems.singularity_super_heated, 1), new ComparableStack(ModItems.powder_power, 4), },200); makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack("plateSteel", 15), new OreDictStack("ingotLead", 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200); makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack("ingotSteel", 2), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_kerosene, 3), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); - makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, 21), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack("plateTitanium", 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800); + makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, FluidType.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack("plateTitanium", 24), new ComparableStack(ModItems.plate_polymer, 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800); makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack("plateTitanium", 5), new OreDictStack("plateSteel", 3), new ComparableStack(Blocks.tnt, 2), },100); makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack("plateTitanium", 8), new OreDictStack("plateSteel", 5), new ComparableStack(Blocks.tnt, 4), },150); makeRecipe(new ComparableStack(ModItems.warhead_generic_large, 1), new AStack[] {new OreDictStack("plateTitanium", 15), new OreDictStack("plateSteel", 8), new ComparableStack(Blocks.tnt, 8), },200); @@ -185,14 +186,14 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.thruster_medium, 1), new AStack[] {new ComparableStack(ModItems.thruster_small, 1), new OreDictStack("plateSteel", 2), new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.wire_copper, 4), },150); makeRecipe(new ComparableStack(ModItems.thruster_large, 1), new AStack[] {new ComparableStack(ModItems.thruster_medium, 1), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModItems.thruster_nuclear, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.board_copper, 6), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModBlocks.machine_reactor_small, 1), },600); - makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, 21), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500); + makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.KEROSENE.ordinal()), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500); makeRecipe(new ComparableStack(ModItems.sat_head_mapper, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateSteel", 6), new ComparableStack(ModItems.hull_small_steel, 3), new ComparableStack(ModItems.plate_desh, 2), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(Items.redstone, 6), new ComparableStack(Items.diamond, 1), new ComparableStack(Blocks.glass_pane, 6), },400); makeRecipe(new ComparableStack(ModItems.sat_head_scanner, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new OreDictStack("plateTitanium", 32), new ComparableStack(ModItems.plate_desh, 6), new ComparableStack(ModItems.magnetron, 6), new ComparableStack(ModItems.coil_advanced_torus, 2), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(Items.diamond, 1), },400); makeRecipe(new ComparableStack(ModItems.sat_head_radar, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateTitanium", 32), new ComparableStack(ModItems.magnetron, 12), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.wire_red_copper, 16), new ComparableStack(ModItems.coil_gold, 3), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(Items.diamond, 1), },400); makeRecipe(new ComparableStack(ModItems.sat_head_laser, 1), new AStack[] {new OreDictStack("ingotSteel", 12), new OreDictStack("ingotTungsten", 16), new ComparableStack(ModItems.ingot_polymer, 6), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.board_copper, 24), new ComparableStack(ModItems.circuit_targeting_tier5, 2), new ComparableStack(Items.redstone, 16), new ComparableStack(Items.diamond, 5), new ComparableStack(Blocks.glass_pane, 16), },450); makeRecipe(new ComparableStack(ModItems.sat_head_resonator, 1), new AStack[] {new OreDictStack("ingotSteel", 32), new ComparableStack(ModItems.ingot_polymer, 48), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.crystal_xen, 1), new ComparableStack(ModItems.ingot_starmetal, 7), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.circuit_targeting_tier6, 2), },1000); - makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack("plateSteel", 8), new OreDictStack("plateTitanium", 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, 1), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.rod_quad_uranium_fuel, 2), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200); - makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new ComparableStack(ModItems.plate_saturnite, 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, 21), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); + makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack("plateSteel", 8), new OreDictStack("plateTitanium", 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.HYDROGEN.ordinal()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.rod_quad_uranium_fuel, 2), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200); + makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new ComparableStack(ModItems.plate_saturnite, 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, FluidType.KEROSENE.ordinal()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.plate_polymer, 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.ingot_combine_steel, 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300); makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new ComparableStack(ModItems.plate_combine_steel, 4), new ComparableStack(ModItems.ingot_combine_steel, 2), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150); makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new ComparableStack(ModItems.ingot_combine_steel, 26), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350); @@ -274,7 +275,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), },250); makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.block_steel, 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack("ingotSteel", 24), new OreDictStack("plateSteel", 16), new OreDictStack("plateAluminum", 6), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 8), },400); makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 28), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.thermo_element, 3), },200); - makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {new OreDictStack("ingotSteel", 16), new OreDictStack("plateSteel", 24), new OreDictStack("plateCopper", 16), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.coil_tungsten, 10), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.plate_polymer, 8), },350); + makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {new OreDictStack("ingotSteel", 16), new OreDictStack("plateSteel", 20), new OreDictStack("plateCopper", 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.coil_tungsten, 8), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },350); makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack("plateSteel", 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_canola, 1), },160); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("plateCopper", 6), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.wire_red_copper, 16), new ComparableStack(ModItems.wire_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 4), new ComparableStack(ModItems.circuit_red_copper, 2), new ComparableStack(ModItems.plate_polymer, 8), },200); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 4), new OreDictStack("ingotDesh", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack("ingotSteel", 16), new OreDictStack("plateTitanium", 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); @@ -519,6 +520,27 @@ public class AssemblerRecipes { new ComparableStack(ModItems.powder_magic, 4), new OreDictStack("ingotAsbestos", 8) }, 200); + + makeRecipe(new ComparableStack(ModBlocks.machine_industrial_generator, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_coal_off, 2), + new ComparableStack(ModBlocks.machine_boiler_off, 2), + new ComparableStack(ModBlocks.machine_large_turbine, 1), + new ComparableStack(ModBlocks.machine_transformer, 1), + new ComparableStack(ModBlocks.steel_scaffold, 20), + new OreDictStack("ingotSteel", 12), + new OreDictStack("plateLead", 8), + new OreDictStack("plateAluminum", 12), + new ComparableStack(ModItems.pipes_steel, 1) + }, 200); + + makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_sparkle, 1), new AStack[] { new ComparableStack(ModItems.cap_sparkle, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_rad, 1), new AStack[] { new ComparableStack(ModItems.cap_rad, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_korl, 1), new AStack[] { new ComparableStack(ModItems.cap_korl, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_fritz, 1), new AStack[] { new ComparableStack(ModItems.cap_fritz, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_sunset, 1), new AStack[] { new ComparableStack(ModItems.cap_sunset, 128) }, 10); + makeRecipe(new ComparableStack(ModBlocks.block_cap_star, 1), new AStack[] { new ComparableStack(ModItems.cap_star, 128) }, 10); } private static void makeRecipe(ComparableStack out, AStack[] in, int duration) { diff --git a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java index 6cc0988ad..f8e5b575d 100644 --- a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java @@ -54,6 +54,7 @@ public class CrystallizerRecipes { recipes.put(new ComparableStack(Blocks.cobblestone), new ItemStack(ModBlocks.reinforced_stone)); recipes.put(new ComparableStack(ModBlocks.gravel_obsidian), new ItemStack(ModBlocks.brick_obsidian)); recipes.put("blockRedstone", new ItemStack(ModItems.nugget_mercury)); + recipes.put(new ComparableStack(Items.rotten_flesh), new ItemStack(Items.leather)); recipes.put(new ComparableStack(ModItems.powder_diamond), new ItemStack(Items.diamond)); recipes.put(new ComparableStack(ModItems.powder_emerald), new ItemStack(Items.emerald)); diff --git a/src/main/java/com/hbm/inventory/FusionRecipes.java b/src/main/java/com/hbm/inventory/FusionRecipes.java index 446b3a6a2..d0f6765b7 100644 --- a/src/main/java/com/hbm/inventory/FusionRecipes.java +++ b/src/main/java/com/hbm/inventory/FusionRecipes.java @@ -15,8 +15,8 @@ public class FusionRecipes { case PLASMA_DT: return 1200; case PLASMA_HD: return 1200; case PLASMA_HT: return 1200; - case PLASMA_XM: return 3600; - case PLASMA_BF: return 1200; + case PLASMA_XM: return 2400; + case PLASMA_BF: return 150; default: return 0; } } diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index b41666170..5c88737b8 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -1905,7 +1905,7 @@ public class MachineRecipes { break; case SATURN: input[0] = new FluidStack(100, FluidType.ACID); - input[1] = new FluidStack(200, FluidType.MERCURY); + input[1] = new FluidStack(50, FluidType.MERCURY); break; case BALEFIRE: input[0] = new FluidStack(6000, FluidType.KEROSENE); @@ -2037,7 +2037,7 @@ public class MachineRecipes { output[0] = new ItemStack(ModItems.rocket_fuel, 1); break; case SATURN: - output[0] = new ItemStack(ModItems.ingot_saturnite, 1); + output[0] = new ItemStack(ModItems.ingot_saturnite, 2); break; case BALEFIRE: output[0] = new ItemStack(ModItems.powder_balefire, 1); diff --git a/src/main/java/com/hbm/inventory/ShredderRecipes.java b/src/main/java/com/hbm/inventory/ShredderRecipes.java index 751ef1453..4e60eac8e 100644 --- a/src/main/java/com/hbm/inventory/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/ShredderRecipes.java @@ -124,7 +124,7 @@ public class ShredderRecipes { ShredderRecipes.setRecipe(Blocks.clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.hardened_clay, new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(Blocks.tnt, new ItemStack(Items.gunpowder, 5)); - ShredderRecipes.setRecipe(ModItems.powder_quartz, new ItemStack(ModItems.powder_lithium_tiny, 1)); + ShredderRecipes.setRecipe(ModBlocks.stone_gneiss, new ItemStack(ModItems.powder_lithium_tiny, 1)); ShredderRecipes.setRecipe(ModItems.powder_lapis, new ItemStack(ModItems.powder_cobalt_tiny, 1)); ShredderRecipes.setRecipe(ModItems.fragment_neodymium, new ItemStack(ModItems.powder_neodymium_tiny, 1)); ShredderRecipes.setRecipe(ModItems.fragment_cobalt, new ItemStack(ModItems.powder_cobalt_tiny, 1)); @@ -172,6 +172,24 @@ public class ShredderRecipes { ShredderRecipes.setRecipe(ModItems.crystal_lithium, new ItemStack(ModItems.powder_lithium, 3)); ShredderRecipes.setRecipe(ModItems.crystal_starmetal, new ItemStack(ModItems.powder_dura_steel, 6)); + ShredderRecipes.setRecipe(ModBlocks.steel_poles, new ItemStack(ModItems.powder_steel_tiny, 3)); + ShredderRecipes.setRecipe(ModBlocks.pole_top, new ItemStack(ModItems.powder_tungsten, 4)); + ShredderRecipes.setRecipe(ModBlocks.tape_recorder, new ItemStack(ModItems.powder_steel, 1)); + ShredderRecipes.setRecipe(ModBlocks.pole_satellite_receiver, new ItemStack(ModItems.powder_steel, 5)); + ShredderRecipes.setRecipe(ModBlocks.steel_roof, new ItemStack(ModItems.powder_steel_tiny, 13)); + ShredderRecipes.setRecipe(ModBlocks.steel_wall, new ItemStack(ModItems.powder_steel_tiny, 13)); + ShredderRecipes.setRecipe(ModBlocks.steel_corner, new ItemStack(ModItems.powder_steel_tiny, 26)); + ShredderRecipes.setRecipe(ModBlocks.steel_beam, new ItemStack(ModItems.powder_steel_tiny, 3)); + ShredderRecipes.setRecipe(ModBlocks.steel_scaffold, new ItemStack(ModItems.powder_steel_tiny, 7)); + ShredderRecipes.setRecipe(ModItems.coil_copper, new ItemStack(ModItems.powder_red_copper, 1)); + ShredderRecipes.setRecipe(ModItems.coil_copper_torus, new ItemStack(ModItems.powder_red_copper, 2)); + ShredderRecipes.setRecipe(ModItems.coil_advanced_alloy, new ItemStack(ModItems.powder_advanced_alloy, 1)); + ShredderRecipes.setRecipe(ModItems.coil_advanced_torus, new ItemStack(ModItems.powder_advanced_alloy, 2)); + ShredderRecipes.setRecipe(ModItems.coil_gold, new ItemStack(ModItems.powder_advanced_alloy, 1)); + ShredderRecipes.setRecipe(ModItems.coil_gold_torus, new ItemStack(ModItems.powder_advanced_alloy, 2)); + ShredderRecipes.setRecipe(ModItems.coil_tungsten, new ItemStack(ModItems.powder_tungsten, 1)); + ShredderRecipes.setRecipe(ModItems.coil_magnetized_tungsten, new ItemStack(ModItems.powder_magnetized_tungsten, 1)); + for(int i = 0; i < 16; i++) { ShredderRecipes.setRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, i), new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(new ItemStack(Blocks.wool, 1, i), new ItemStack(Items.string, 4)); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineBoiler.java b/src/main/java/com/hbm/inventory/gui/GUIMachineBoiler.java index 0a420ae0f..101c86595 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineBoiler.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineBoiler.java @@ -29,12 +29,17 @@ public class GUIMachineBoiler extends GuiInfoContainer { @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); + + TileEntityMachineBoiler dud = diFurnace; + + if(diFurnace.isInvalid() && diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord) instanceof TileEntityMachineBoiler) + dud = (TileEntityMachineBoiler) diFurnace.getWorldObj().getTileEntity(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord); - diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 16, 52); - diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52); + dud.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 62, guiTop + 69 - 52, 16, 52); + dud.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 102, guiTop + 16, 8, 18, mouseX, mouseY, new String[] { String.valueOf((int)((double)diFurnace.heat / 100D)) + "°C"}); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 97, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { String.valueOf((int)(Math.ceil((double)diFurnace.burnTime / 20D))) + "s"}); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 102, guiTop + 16, 8, 18, mouseX, mouseY, new String[] { String.valueOf((int)((double)dud.heat / 100D)) + "°C"}); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 97, guiTop + 34, 18, 18, mouseX, mouseY, new String[] { String.valueOf((int)(Math.ceil((double)dud.burnTime / 20D))) + "s"}); String[] text = new String[] { "Heat produced:", " 0.5°C/t", @@ -53,7 +58,7 @@ public class GUIMachineBoiler extends GuiInfoContainer { " of boiling points reached" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); - if(diFurnace.tanks[1].getTankType().name().equals(FluidType.NONE.name())) { + if(dud.tanks[1].getTankType().name().equals(FluidType.NONE.name())) { String[] text2 = new String[] { "Error: Liquid can not be boiled!" }; this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java b/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java index 04c14766f..62b419c3f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineFluidTank.java @@ -5,9 +5,12 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.FluidTank; import com.hbm.inventory.container.ContainerMachineFluidTank; import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxButtonPacket; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineFluidTank; import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; @@ -30,11 +33,6 @@ public class GUIMachineFluidTank extends GuiInfoContainer { super.drawScreen(mouseX, mouseY, f); tank.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 71, guiTop + 69 - 52, 34, 52); - - String[] text = new String[] { - "Inserting a fuse into the marked", - "slot will set the tank to output mode" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); } @Override @@ -45,16 +43,24 @@ public class GUIMachineFluidTank extends GuiInfoContainer { this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 151 <= x && guiLeft + 151 + 18 > x && guiTop + 35 < y && guiTop + 35 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(tank.xCoord, tank.yCoord, tank.zCoord, 0, 0)); + } + } + @Override protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(tank.dna()) - drawTexturedModalRect(guiLeft + 152, guiTop + 53, 176, 0, 16, 16); - - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); + int i = tank.mode; + drawTexturedModalRect(guiLeft + 151, guiTop + 34, 176, i * 18, 18, 18); Minecraft.getMinecraft().getTextureManager().bindTexture(tank.tank.getSheet()); tank.tank.renderTank(this, guiLeft + 71, guiTop + 69, tank.tank.getTankType().textureX() * FluidTank.x, tank.tank.getTankType().textureY() * FluidTank.y, 16, 52); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java index d6079bbea..bc64a398e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMicrowave.java @@ -61,7 +61,7 @@ public class GUIMicrowave extends GuiInfoContainer { int i = (int)microwave.getPowerScaled(34); drawTexturedModalRect(guiLeft + 8, guiTop + 51 - i, 176, 34 - i, 16, i); - int j = microwave.getProgressScaled(23); + int j = Math.min(microwave.getProgressScaled(23), 22); drawTexturedModalRect(guiLeft + 104, guiTop + 34, 192, 0, j, 16); int k = microwave.getSpeedScaled(34); diff --git a/src/main/java/com/hbm/inventory/gui/GUIRadiobox.java b/src/main/java/com/hbm/inventory/gui/GUIRadiobox.java deleted file mode 100644 index 8ba4fadfb..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIRadiobox.java +++ /dev/null @@ -1,278 +0,0 @@ -package com.hbm.inventory.gui; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.commons.lang3.math.NumberUtils; -import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerRadiobox; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityRadiobox; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIRadiobox extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_radiobox.png"); - private TileEntityRadiobox diFurnace; - - private int type; - private int music; - - private GuiTextField freqField; - private GuiTextField messageField; - - List buttons = new ArrayList(); - - - public GUIRadiobox(InventoryPlayer invPlayer, TileEntityRadiobox tedf) { - super(new ContainerRadiobox(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 90; - - this.type = diFurnace.type; - this.music = diFurnace.music; - } - - public void initGui() { - - super.initGui(); - - buttons.clear(); - buttons.add(new RadioButton(guiLeft + 25, guiTop + 16, 0, "Save")); - buttons.add(new RadioButton(guiLeft + 61, guiTop + 16, 1, "Cycle")); - buttons.add(new RadioButton(guiLeft + 25, guiTop + 52, 2, "1")); - buttons.add(new RadioButton(guiLeft + 61, guiTop + 52, 3, "2")); - buttons.add(new RadioButton(guiLeft + 97, guiTop + 52, 4, "3")); - buttons.add(new RadioButton(guiLeft + 133, guiTop + 52, 5, "4")); - - Keyboard.enableRepeatEvents(true); - this.freqField = new GuiTextField(this.fontRendererObj, guiLeft + 100, guiTop + 21, 48, 12); - this.freqField.setTextColor(-1); - this.freqField.setDisabledTextColour(-1); - this.freqField.setEnableBackgroundDrawing(false); - this.freqField.setMaxStringLength(5); - this.freqField.setText(String.valueOf(diFurnace.freq)); - - this.messageField = new GuiTextField(this.fontRendererObj, guiLeft + 28, guiTop + 57, 120, 12); - this.messageField.setTextColor(-1); - this.messageField.setDisabledTextColour(-1); - this.messageField.setEnableBackgroundDrawing(false); - this.messageField.setMaxStringLength(20); - if(diFurnace.message != null) - this.messageField.setText(diFurnace.message); - - if(diFurnace.freq == 0) { - double d = 100 + diFurnace.getWorldObj().rand.nextInt(900); - d += (diFurnace.getWorldObj().rand.nextInt(10) * 0.1D); - this.freqField.setText(String.valueOf(d)); - } - - rectify(); - } - - @Override - public void drawScreen(int i, int j, float f) { - super.drawScreen(i, j, f); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - this.freqField.drawTextBox(); - this.messageField.drawTextBox(); - - for(RadioButton b : buttons) - if(b.isMouseOnButton(i, j)) - b.drawString(i, j); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = I18n.format("container.radiobox"); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(freqField.isFocused()) - drawTexturedModalRect(guiLeft + 97, guiTop + 16, 0, 184 + 18, 54, 18); - else - drawTexturedModalRect(guiLeft + 97, guiTop + 16, 0, 184, 54, 18); - - if(messageField.getVisible()) { - if(messageField.isFocused()) - drawTexturedModalRect(guiLeft + 25, guiTop + 52, 0, 220 + 18, 126, 18); - else - drawTexturedModalRect(guiLeft + 25, guiTop + 52, 0, 220, 126, 18); - } - - //if(type == 2) - for(RadioButton b : buttons) - b.drawButton(); - } - - public void updateScreen() { - - if(type == 2 && messageField.getVisible()) - messageField.setVisible(false); - - if(type != 2 && !messageField.getVisible()) - messageField.setVisible(true); - } - - protected void keyTyped(char p_73869_1_, int p_73869_2_) - { - if (this.freqField.textboxKeyTyped(p_73869_1_, p_73869_2_)) { } - else if(this.messageField.textboxKeyTyped(p_73869_1_, p_73869_2_)) { } - else { - super.keyTyped(p_73869_1_, p_73869_2_); - } - } - - protected void rectify() { - String s = freqField.getText(); - - if(NumberUtils.isNumber(s)) { - double d = Double.parseDouble(s); - d = Math.max(100, Math.min(999.9, d)); - d = truncateDecimal(d, 1).doubleValue(); - s = String.valueOf(d); - } else { - s = "100.0"; - } - - freqField.setText(s); - } - - private BigDecimal truncateDecimal(double x, int numberofDecimals) - { - if (x > 0) { - return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_FLOOR); - } else { - return new BigDecimal(String.valueOf(x)).setScale(numberofDecimals, BigDecimal.ROUND_CEILING); - } - } - - protected void mouseClicked(int i, int j, int k) - { - super.mouseClicked(i, j, k); - this.freqField.mouseClicked(i, j, k); - this.messageField.mouseClicked(i, j, k); - - //if(type == 2) - for(RadioButton b : buttons) - if(b.isMouseOnButton(i, j)) - b.executeAction(); - } - - protected void cycleType() { - this.type++; - if(type >= 3) - type -=3; - } - - protected void save() { - - rectify(); - } - - - class RadioButton { - - int xPos; - int yPos; - int buttonType; - String info; - - //0: save - //1: type - //2: music 1 - //3: music 2 - //4: music 3 - //5: music 4 - - public RadioButton(int x, int y, int t, String i) { - xPos = x; - yPos = y; - buttonType = t; - info = i; - } - - public boolean isMouseOnButton(int mouseX, int mouseY) { - return xPos <= mouseX && xPos + 18 > mouseX && yPos < mouseY && yPos + 18 >= mouseY; - } - - public void drawButton() { - - if(buttonType > 1 && type != 2) - return; - - switch(buttonType) { - case 0: - drawTexturedModalRect(xPos, yPos, 176 + 18 * 0, 18 * 0, 18, 18); break; - case 1: - drawTexturedModalRect(xPos, yPos, 176 + 18 * (type + 1), 18 * 0, 18, 18); break; - case 2: - drawTexturedModalRect(xPos, yPos, 176 + 18 * 0, 18 * (music == 0 ? 2 : 1), 18, 18); break; - case 3: - drawTexturedModalRect(xPos, yPos, 176 + 18 * 1, 18 * (music == 1 ? 2 : 1), 18, 18); break; - case 4: - drawTexturedModalRect(xPos, yPos, 176 + 18 * 2, 18 * (music == 2 ? 2 : 1), 18, 18); break; - case 5: - drawTexturedModalRect(xPos, yPos, 176 + 18 * 3, 18 * (music == 3 ? 2 : 1), 18, 18); break; - } - } - - public void drawString(int x, int y) { - if(info == null || info.isEmpty()) - return; - - if(buttonType > 1 && type != 2) - return; - - String s = info; - - if(buttonType == 1) { - switch(type) { - case 0: s = "Morse"; break; - case 1: s = "Vocals"; break; - case 2: s = "Recordings"; break; - } - } - - func_146283_a(Arrays.asList(new String[] { s }), x, y); - } - - public void executeAction() { - - if(buttonType > 1 && type != 2) - return; - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - - switch(buttonType) { - case 0: rectify(); break; - case 1: cycleType(); break; - case 2: music = 0; break; - case 3: music = 1; break; - case 4: music = 2; break; - case 5: music = 3; break; - } - } - } -} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 56a53659d..2633af301 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -194,6 +194,9 @@ public class ModItems { public static Item ingot_lanthanium; public static Item ingot_actinium; + public static Item plate_armor_titanium; + public static Item plate_armor_lunar; + public static Item solid_fuel; public static Item rocket_fuel; @@ -276,7 +279,8 @@ public class ModItems { public static Item powder_polymer; public static Item powder_euphemium; public static Item powder_meteorite; - + + public static Item powder_steel_tiny; public static Item powder_lithium_tiny; public static Item powder_neodymium_tiny; public static Item powder_cobalt_tiny; @@ -419,6 +423,7 @@ public class ModItems { public static Item blade_tungsten; public static Item turbine_tungsten; public static Item pellet_coal; + public static Item ring_starmetal; public static Item toothpicks; public static Item ducttape; @@ -1380,6 +1385,7 @@ public class ModItems { public static Item definitelyfood; public static Item loops; public static Item loop_stew; + public static Item spongebob_macaroni; public static Item fooditem; public static Item twinkie; public static Item static_sandwich; @@ -2089,6 +2095,9 @@ public class ModItems { ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium"); ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium"); + plate_armor_titanium = new Item().setUnlocalizedName("plate_armor_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_titanium"); + plate_armor_lunar = new Item().setUnlocalizedName("plate_armor_lunar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_armor_lunar"); + solid_fuel = new Item().setUnlocalizedName("solid_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":solid_fuel"); rocket_fuel = new Item().setUnlocalizedName("rocket_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rocket_fuel"); coke = new Item().setUnlocalizedName("coke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":coke"); @@ -2220,6 +2229,7 @@ public class ModItems { powder_nitan_mix = new Item().setUnlocalizedName("powder_nitan_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_nitan_mix"); powder_spark_mix = new Item().setUnlocalizedName("powder_spark_mix").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_spark_mix"); powder_desh = new Item().setUnlocalizedName("powder_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_desh"); + powder_steel_tiny = new Item().setUnlocalizedName("powder_steel_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_steel_tiny"); powder_lithium_tiny = new Item().setUnlocalizedName("powder_lithium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lithium_tiny"); powder_neodymium_tiny = new Item().setUnlocalizedName("powder_neodymium_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_neodymium_tiny"); powder_cobalt_tiny = new Item().setUnlocalizedName("powder_cobalt_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cobalt_tiny"); @@ -2273,6 +2283,7 @@ public class ModItems { 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"); + ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal"); 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"); @@ -3257,6 +3268,7 @@ public class ModItems { med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); loops = new ItemLemon(4, 5, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); loop_stew = new ItemLemon(10, 10, false).setUnlocalizedName("loop_stew").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); + spongebob_macaroni = new ItemLemon(5, 5, false).setUnlocalizedName("spongebob_macaroni").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spongebob_macaroni"); fooditem = new ItemLemon(2, 5, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); twinkie = new ItemLemon(3, 5, false).setUnlocalizedName("twinkie").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":twinkie"); static_sandwich = new ItemLemon(6, 5, false).setUnlocalizedName("static_sandwich").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":static_sandwich"); @@ -3349,7 +3361,7 @@ public class ModItems { battery_su_l = new ItemBattery(3500, 0, 100).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_su_l"); battery_steam = new ItemBattery(60000, 300, 6000).setUnlocalizedName("battery_steam").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_steam"); battery_steam_large = new ItemBattery(100000, 500, 10000).setUnlocalizedName("battery_steam_large").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_steam_large"); - fusion_core = new ItemBattery(20000000, 0, 2500).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core"); + fusion_core = new ItemFusionCore().setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core"); fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core_infinite"); energy_core = new ItemBattery(10000000, 0, 1000).setUnlocalizedName("energy_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":energy_core"); fuse = new ItemCustomLore().setUnlocalizedName("fuse").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse"); @@ -3559,10 +3571,16 @@ public class ModItems { gas_mask_m65 = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("gas_mask_m65").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":gas_mask_m65"); //oxy_mask = new ArmorModel(ArmorMaterial.IRON, 7, 0).setUnlocalizedName("oxy_mask").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":oxy_mask"); - t45_helmet = new ArmorT45(MainRegistry.aMatT45, 2, 0).setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); - t45_plate = new ArmorT45(MainRegistry.aMatT45, 2, 1).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); - t45_legs = new ArmorT45(MainRegistry.aMatT45, 2, 2).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); - t45_boots = new ArmorT45(MainRegistry.aMatT45, 2, 3).setUnlocalizedName("t45_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_boots"); + t45_helmet = new ArmorT45(MainRegistry.aMatT45, 2, 0, 1000000, 10000, 1000).setCap(6.5F).setMod(0.25F) + .setFireproof(true) + .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 0)) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 1)) + .setBlastProtection(0.5F) + .addResistance("fall", 0) + .setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); + t45_plate = new ArmorT45(MainRegistry.aMatT45, 2, 1, 1000000, 10000, 1000).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); + t45_legs = new ArmorT45(MainRegistry.aMatT45, 2, 2, 1000000, 10000, 1000).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); + t45_boots = new ArmorT45(MainRegistry.aMatT45, 2, 3, 1000000, 10000, 1000).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_boots"); schrabidium_helmet = new ArmorFSB(MainRegistry.aMatSchrab, 7, 0, RefStrings.MODID + ":textures/armor/schrabidium_1.png").setCap(4F).setMod(0.1F) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 2)) @@ -3636,7 +3654,9 @@ public class ModItems { chainsaw = new ItemToolAbility(25, -0.05, MainRegistry.tMatChainsaw, EnumToolType.AXE) .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new ToolAbility.RecursionAbility(5)).setUnlocalizedName("chainsaw").setTextureName(RefStrings.MODID + ":chainsaw"); + .addBreakAbility(new ToolAbility.RecursionAbility(5)) + .addHitAbility(new WeaponAbility.ChainsawAbility(4)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("chainsaw").setTextureName(RefStrings.MODID + ":chainsaw"); schrabidium_sword = new ItemSwordAbility(150, 0, MainRegistry.tMatSchrab) .addHitAbility(new WeaponAbility.RadiationAbility(50F)) @@ -3661,6 +3681,7 @@ public class ModItems { .addBreakAbility(new LuckAbility(5)) .addBreakAbility(new ToolAbility.SmelterAbility()) .addBreakAbility(new ToolAbility.ShredderAbility()) + .addHitAbility(new WeaponAbility.BeheaderAbility()) .setRarity(EnumRarity.rare).setUnlocalizedName("schrabidium_axe").setTextureName(RefStrings.MODID + ":schrabidium_axe"); schrabidium_shovel = new ItemToolAbility(15, 0, MainRegistry.tMatSchrab, EnumToolType.SHOVEL) @@ -3677,12 +3698,14 @@ public class ModItems { titanium_sword = new ItemSwordAbility(6.5F, 0, MainRegistry.tMatTitan).setUnlocalizedName("titanium_sword").setTextureName(RefStrings.MODID + ":titanium_sword"); titanium_pickaxe = new ItemToolAbility(4.5F, 0, MainRegistry.tMatTitan, EnumToolType.PICKAXE).setUnlocalizedName("titanium_pickaxe").setTextureName(RefStrings.MODID + ":titanium_pickaxe"); - titanium_axe = new ItemToolAbility(5.5F, 0, MainRegistry.tMatTitan, EnumToolType.AXE).setUnlocalizedName("titanium_axe").setTextureName(RefStrings.MODID + ":titanium_axe"); + titanium_axe = new ItemToolAbility(5.5F, 0, MainRegistry.tMatTitan, EnumToolType.AXE) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("titanium_axe").setTextureName(RefStrings.MODID + ":titanium_axe"); titanium_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatTitan, EnumToolType.SHOVEL).setUnlocalizedName("titanium_shovel").setTextureName(RefStrings.MODID + ":titanium_shovel"); titanium_hoe = new ModHoe(MainRegistry.tMatTitan).setUnlocalizedName("titanium_hoe").setTextureName(RefStrings.MODID + ":titanium_hoe"); steel_sword = new ItemSwordAbility(6F, 0, MainRegistry.tMatSteel).setUnlocalizedName("steel_sword").setTextureName(RefStrings.MODID + ":steel_sword"); steel_pickaxe = new ItemToolAbility(4F, 0, MainRegistry.tMatSteel, EnumToolType.PICKAXE).setUnlocalizedName("steel_pickaxe").setTextureName(RefStrings.MODID + ":steel_pickaxe"); - steel_axe = new ItemToolAbility(5F, 0, MainRegistry.tMatSteel, EnumToolType.AXE).setUnlocalizedName("steel_axe").setTextureName(RefStrings.MODID + ":steel_axe"); + steel_axe = new ItemToolAbility(5F, 0, MainRegistry.tMatSteel, EnumToolType.AXE) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("steel_axe").setTextureName(RefStrings.MODID + ":steel_axe"); steel_shovel = new ItemToolAbility(3F, 0, MainRegistry.tMatSteel, EnumToolType.SHOVEL).setUnlocalizedName("steel_shovel").setTextureName(RefStrings.MODID + ":steel_shovel"); steel_hoe = new ModHoe(MainRegistry.tMatSteel).setUnlocalizedName("steel_hoe").setTextureName(RefStrings.MODID + ":steel_hoe"); @@ -3693,7 +3716,8 @@ public class ModItems { .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_pickaxe").setTextureName(RefStrings.MODID + ":alloy_pickaxe"); alloy_axe = new ItemToolAbility(7F, 0, MainRegistry.tMatAlloy, EnumToolType.AXE) - .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_axe").setTextureName(RefStrings.MODID + ":alloy_axe"); + .addBreakAbility(new ToolAbility.RecursionAbility(3)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("alloy_axe").setTextureName(RefStrings.MODID + ":alloy_axe"); alloy_shovel = new ItemToolAbility(5F, 0, MainRegistry.tMatAlloy, EnumToolType.SHOVEL) .addBreakAbility(new ToolAbility.RecursionAbility(3)).setUnlocalizedName("alloy_shovel").setTextureName(RefStrings.MODID + ":alloy_shovel"); @@ -3714,7 +3738,8 @@ public class ModItems { .addBreakAbility(new ToolAbility.RecursionAbility(5)) .addBreakAbility(new ToolAbility.SmelterAbility()) .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(3)).setUnlocalizedName("cmb_axe").setTextureName(RefStrings.MODID + ":cmb_axe"); + .addBreakAbility(new LuckAbility(3)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("cmb_axe").setTextureName(RefStrings.MODID + ":cmb_axe"); cmb_shovel = new ItemToolAbility(8F, 0, MainRegistry.tMatCMB, EnumToolType.SHOVEL) .addBreakAbility(new ToolAbility.RecursionAbility(5)) @@ -3737,7 +3762,9 @@ public class ModItems { .addBreakAbility(new ToolAbility.HammerAbility(2)) .addBreakAbility(new ToolAbility.RecursionAbility(5)) .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("elec_axe").setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); + .addBreakAbility(new LuckAbility(2)) + .addHitAbility(new WeaponAbility.ChainsawAbility(6)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("elec_axe").setTextureName(RefStrings.MODID + ":elec_chainsaw_anim"); elec_shovel = new ItemToolAbilityPower(7.5F, 0, MainRegistry.tMatElec, EnumToolType.SHOVEL, 500000, 1000, 100) .addBreakAbility(new ToolAbility.HammerAbility(2)) @@ -3758,7 +3785,8 @@ public class ModItems { .addBreakAbility(new ToolAbility.HammerAbility(1)) .addBreakAbility(new ToolAbility.RecursionAbility(3)) .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(2)).setUnlocalizedName("desh_axe").setTextureName(RefStrings.MODID + ":desh_axe"); + .addBreakAbility(new LuckAbility(2)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("desh_axe").setTextureName(RefStrings.MODID + ":desh_axe"); desh_shovel = new ItemToolAbility(4F, -0.05, MainRegistry.tMatDesh, EnumToolType.SHOVEL) .addBreakAbility(new ToolAbility.HammerAbility(1)) @@ -3778,7 +3806,8 @@ public class ModItems { cobalt_axe = new ItemToolAbility(6F, 0, MainRegistry.tMatCobalt, EnumToolType.AXE) .addBreakAbility(new ToolAbility.RecursionAbility(4)) .addBreakAbility(new ToolAbility.SilkAbility()) - .addBreakAbility(new LuckAbility(1)).setUnlocalizedName("cobalt_axe").setTextureName(RefStrings.MODID + ":cobalt_axe"); + .addBreakAbility(new LuckAbility(1)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("cobalt_axe").setTextureName(RefStrings.MODID + ":cobalt_axe"); cobalt_shovel = new ItemToolAbility(3.5F, 0, MainRegistry.tMatCobalt, EnumToolType.SHOVEL) .addBreakAbility(new ToolAbility.RecursionAbility(4)) @@ -3827,7 +3856,8 @@ public class ModItems { .addBreakAbility(new ToolAbility.CentrifugeAbility()) .addBreakAbility(new ToolAbility.MercuryAbility()) .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(5F)).setUnlocalizedName("chlorophyte_pickaxe").setTextureName(RefStrings.MODID + ":chlorophyte_pickaxe"); + .addHitAbility(new WeaponAbility.VampireAbility(5F)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("chlorophyte_pickaxe").setTextureName(RefStrings.MODID + ":chlorophyte_pickaxe"); ToolMaterial matMese = EnumHelper.addToolMaterial("HBM_MESE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); mese_pickaxe = new ItemToolAbility(35F, 0, matMese, EnumToolType.MINER) @@ -3841,7 +3871,8 @@ public class ModItems { .addBreakAbility(new ToolAbility.ExplosionAbility(10F)) .addBreakAbility(new ToolAbility.ExplosionAbility(15F)) .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) .setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); + .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); mask_of_infamy = new MaskOfInfamy(ArmorMaterial.IRON, 8, 0).setUnlocalizedName("mask_of_infamy").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mask_of_infamy"); @@ -3894,7 +3925,8 @@ public class ModItems { .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) .addHitAbility(new WeaponAbility.RadiationAbility(500)) .addHitAbility(new WeaponAbility.StunAbility(10)) - .addHitAbility(new WeaponAbility.VampireAbility(50)).setUnlocalizedName("mese_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mese_gavel"); + .addHitAbility(new WeaponAbility.VampireAbility(50)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("mese_gavel").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":mese_gavel"); multitool_hit = new ItemMultitoolPassive().setUnlocalizedName("multitool_hit").setCreativeTab(null).setTextureName(RefStrings.MODID + ":multitool_fist"); multitool_dig = new ItemMultitoolTool(4.0F, MainRegistry.enumToolMaterialMultitool, ItemMultitoolTool.getAllBlocks()).setFull3D().setUnlocalizedName("multitool_dig").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":multitool_claw"); @@ -4221,6 +4253,7 @@ public class ModItems { GameRegistry.registerItem(powder_dineutronium, powder_dineutronium.getUnlocalizedName()); GameRegistry.registerItem(redstone_depleted, redstone_depleted.getUnlocalizedName()); GameRegistry.registerItem(dust, dust.getUnlocalizedName()); + GameRegistry.registerItem(powder_steel_tiny, powder_steel_tiny.getUnlocalizedName()); GameRegistry.registerItem(powder_lithium_tiny, powder_lithium_tiny.getUnlocalizedName()); GameRegistry.registerItem(powder_neodymium_tiny, powder_neodymium_tiny.getUnlocalizedName()); GameRegistry.registerItem(powder_cobalt_tiny, powder_cobalt_tiny.getUnlocalizedName()); @@ -4332,6 +4365,10 @@ public class ModItems { GameRegistry.registerItem(plate_euphemium, plate_euphemium.getUnlocalizedName()); GameRegistry.registerItem(plate_dineutronium, plate_dineutronium.getUnlocalizedName()); + //Armor Plates + GameRegistry.registerItem(plate_armor_titanium, plate_armor_titanium.getUnlocalizedName()); + GameRegistry.registerItem(plate_armor_lunar, plate_armor_lunar.getUnlocalizedName()); + //Boards GameRegistry.registerItem(board_copper, board_copper.getUnlocalizedName()); @@ -4384,6 +4421,7 @@ public class ModItems { GameRegistry.registerItem(drill_titanium, drill_titanium.getUnlocalizedName()); GameRegistry.registerItem(photo_panel, photo_panel.getUnlocalizedName()); GameRegistry.registerItem(chlorine_pinwheel, chlorine_pinwheel.getUnlocalizedName()); + GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName()); //Teleporter Parts GameRegistry.registerItem(telepad, telepad.getUnlocalizedName()); @@ -5647,6 +5685,7 @@ public class ModItems { GameRegistry.registerItem(definitelyfood, definitelyfood.getUnlocalizedName()); GameRegistry.registerItem(loops, loops.getUnlocalizedName()); GameRegistry.registerItem(loop_stew, loop_stew.getUnlocalizedName()); + GameRegistry.registerItem(spongebob_macaroni, spongebob_macaroni.getUnlocalizedName()); GameRegistry.registerItem(fooditem, fooditem.getUnlocalizedName()); GameRegistry.registerItem(twinkie, twinkie.getUnlocalizedName()); GameRegistry.registerItem(static_sandwich, static_sandwich.getUnlocalizedName()); @@ -5654,7 +5693,6 @@ public class ModItems { GameRegistry.registerItem(pancake, pancake.getUnlocalizedName()); GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); - //GameRegistry.registerItem(med_schizophrenia, med_schizophrenia.getUnlocalizedName()); GameRegistry.registerItem(canteen_13, canteen_13.getUnlocalizedName()); GameRegistry.registerItem(canteen_vodka, canteen_vodka.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 1cd5ec4ac..ff03b5f41 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -208,7 +208,10 @@ public class ArmorFSB extends ItemArmor { boolean noHelmet = chestplate.noHelmet; - if((helmet != null || noHelmet) && plate != null && legs != null && boots != null) { + if(((helmet != null && helmet.getItem() instanceof ItemArmor) || noHelmet) && + plate != null && plate.getItem() instanceof ItemArmor && + legs != null && legs.getItem() instanceof ItemArmor && + boots != null && boots.getItem() instanceof ItemArmor) { if((noHelmet || chestplate.getArmorMaterial() == ((ItemArmor)helmet.getItem()).getArmorMaterial()) && chestplate.getArmorMaterial() == ((ItemArmor)legs.getItem()).getArmorMaterial() && diff --git a/src/main/java/com/hbm/items/armor/ArmorT45.java b/src/main/java/com/hbm/items/armor/ArmorT45.java index ce65e788a..a9ecfc2e7 100644 --- a/src/main/java/com/hbm/items/armor/ArmorT45.java +++ b/src/main/java/com/hbm/items/armor/ArmorT45.java @@ -1,38 +1,19 @@ package com.hbm.items.armor; -import java.util.List; - -import com.google.common.collect.Multimap; -import com.hbm.handler.ArmorUtil; -import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; import com.hbm.render.model.ModelT45Boots; import com.hbm.render.model.ModelT45Chest; import com.hbm.render.model.ModelT45Helmet; import com.hbm.render.model.ModelT45Legs; -import api.hbm.energy.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.item.ItemArmor; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraftforge.common.ISpecialArmor; -@Spaghetti("kill it") -public class ArmorT45 extends ItemArmor implements ISpecialArmor { +public class ArmorT45 extends ArmorFSBPowered { @SideOnly(Side.CLIENT) private ModelT45Helmet helmet; @@ -43,8 +24,8 @@ public class ArmorT45 extends ItemArmor implements ISpecialArmor { @SideOnly(Side.CLIENT) private ModelT45Boots boots; - public ArmorT45(ArmorMaterial armorMaterial, int renderIndex, int armorType) { - super(armorMaterial, renderIndex, armorType); + public ArmorT45(ArmorMaterial material, int layer, int slot, long maxPower, long chargeRate, long consumption) { + super(material, layer, slot, "", maxPower, chargeRate, consumption); } @Override @@ -114,123 +95,4 @@ public class ArmorT45 extends ItemArmor implements ISpecialArmor { } return null; } - - @Override - public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, - int slot) { - // return null; - if (player instanceof EntityPlayer && ArmorUtil.checkArmor((EntityPlayer) player, ModItems.t45_helmet, - ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots)) { - if (source == DamageSource.inFire || source == DamageSource.onFire || source == DamageSource.fall - || source == DamageSource.drown || source == DamageSource.cactus || source == DamageSource.magic - || source.isProjectile()) - return new ArmorProperties(1, 1, MathHelper.floor_double(999999999)); - if (source == DamageSource.fallingBlock || source == DamageSource.anvil) - return new ArmorProperties(1, 1, MathHelper.floor_double(10)); - if (source == DamageSource.lava) - return new ArmorProperties(1, 1, MathHelper.floor_double(5)); - if (source.isExplosion()) - return new ArmorProperties(1, 1, MathHelper.floor_double(10)); - } - return new ArmorProperties(1, 1, MathHelper.floor_double(15)); - } - - @Override - public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - if (slot == 0) { - return 3; - } - if (slot == 1) { - return 8; - } - if (slot == 2) { - return 6; - } - if (slot == 3) { - return 3; - } - return 0; - } - - @Override - public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - if (source != DamageSource.cactus && source != DamageSource.drown && source != DamageSource.fall) - stack.damageItem(damage * 1, entity); - - } - - //TODO: cleanse this filth with holy fire once it's time to overhaul armors - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { - if (armor.getItem() == ModItems.t45_plate) { - if (armor.stackTagCompound == null) { - armor.stackTagCompound = new NBTTagCompound(); - armor.stackTagCompound.setInteger("charge", 0); - } - - boolean b = true; - - if(player.inventory.hasItem(ModItems.fusion_core_infinite)) { - armor.stackTagCompound.setInteger("charge", (int)((IBatteryItem)ModItems.fusion_core).getMaxCharge()); - } - - if(b) - if (armor.stackTagCompound.getInteger("charge") <= 0) { - for (int i = 0; i < player.inventory.mainInventory.length; i++) { - ItemStack stack = player.inventory.getStackInSlot(i); - if (stack != null && stack.getItem() == ModItems.fusion_core - && ((IBatteryItem)stack.getItem()).getCharge(stack) != 0) { - if (armor.stackTagCompound.getInteger("charge") == 0) { - int j = (int) ((IBatteryItem)stack.getItem()).getCharge(stack); - armor.stackTagCompound.setInteger("charge", j); - player.inventory.mainInventory[i] = null; - player.addChatMessage(new ChatComponentText("[Power Armor recharged]")); - break; - } - } - } - } - - if (armor.stackTagCompound.getInteger("charge") > 0 && ArmorUtil.checkArmor(player, ModItems.t45_helmet, - ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots)) { - armor.stackTagCompound.setInteger("charge", armor.stackTagCompound.getInteger("charge") - 1); - } - } - - if (ArmorUtil.checkArmor(player, ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, - ModItems.t45_boots) && !world.isRemote) { - if (player.inventory.armorInventory[2] != null - && player.inventory.armorInventory[2].getItem() == ModItems.t45_plate - && player.inventory.armorInventory[2].stackTagCompound != null - && player.inventory.armorInventory[2].stackTagCompound.getInteger("charge") > 0) { - player.addPotionEffect(new PotionEffect(Potion.jump.id, 30, 0, true)); - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 30, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 30, 2, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 30, 0, true)); - } else { - player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 30, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 30, 0, true)); - } - } - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - if (itemstack.getItem() == ModItems.t45_plate) { - if (itemstack.stackTagCompound != null) { - if (itemstack.stackTagCompound.getInteger("charge") != 0) - list.add("Charge: " + (itemstack.stackTagCompound.getInteger("charge") / 200000 + 1) + "%"); - else - list.add("Charge: " + (itemstack.stackTagCompound.getInteger("charge") / 200000) + "%"); - } - } - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.knockbackResistance.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Armor modifier", 0.5, 0)); - return multimap; - } } diff --git a/src/main/java/com/hbm/items/block/ItemBlockLore.java b/src/main/java/com/hbm/items/block/ItemBlockLore.java index 1393ac9aa..7374fe839 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockLore.java +++ b/src/main/java/com/hbm/items/block/ItemBlockLore.java @@ -98,6 +98,13 @@ public class ItemBlockLore extends ItemBlock { list.add(""); list.add("i added an item for a joke that isn't even here, what am i, stupid? can't even tell the difference between gravel and a gavel, how did i not forget how to breathe yet?"); } + + if(this.field_150939_a == ModBlocks.turret_cwis) { + list.add("Hmmm today I will use an anti-missile turret agains mobs"); + list.add(""); + list.add("Why does it not work???"); + list.add("bob pls fix"); + } } @Override diff --git a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java index ca266f7cb..f967ca96f 100644 --- a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java @@ -102,8 +102,6 @@ public class ItemAssemblyTemplate extends Item { list.add(output.stackSize + "x " + output.getDisplayName()); list.add("Inputs:"); - Random rand = new Random(System.currentTimeMillis() / 1000); - for(Object o : in) { if(o instanceof ComparableStack) { @@ -115,7 +113,7 @@ public class ItemAssemblyTemplate extends Item { ArrayList ores = OreDictionary.getOres(input.name); if(ores.size() > 0) { - ItemStack inStack = ores.get(rand.nextInt(ores.size())); + ItemStack inStack = ores.get((int) (Math.abs(System.currentTimeMillis() / 1000) % ores.size())); list.add(input.stacksize + "x " + inStack.getDisplayName()); } else { list.add("I AM ERROR"); diff --git a/src/main/java/com/hbm/items/machine/ItemBattery.java b/src/main/java/com/hbm/items/machine/ItemBattery.java index 9746df56b..51ad34ec7 100644 --- a/src/main/java/com/hbm/items/machine/ItemBattery.java +++ b/src/main/java/com/hbm/items/machine/ItemBattery.java @@ -153,7 +153,7 @@ public class ItemBattery extends Item implements IBatteryItem { return stack.copy(); } - return null; + return new ItemStack(item); } public boolean showDurabilityBar(ItemStack stack) { diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 7671c0aaa..7464171b0 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -81,9 +81,13 @@ public class ItemFluidIdentifier extends Item { { TileEntity te = world.getTileEntity(x, y, z); if(te != null && te instanceof TileEntityFluidDuct) { - TileEntityFluidDuct duct = (TileEntityFluidDuct)te; - duct.type = FluidType.getEnum(stack.getItemDamage()); + if(!world.isRemote) { + TileEntityFluidDuct duct = (TileEntityFluidDuct)te; + duct.type = FluidType.getEnum(stack.getItemDamage()); + } + + player.swingItem(); } return false; } diff --git a/src/main/java/com/hbm/items/special/ItemCladding.java b/src/main/java/com/hbm/items/special/ItemCladding.java index bb2a109dc..69b0ae62f 100644 --- a/src/main/java/com/hbm/items/special/ItemCladding.java +++ b/src/main/java/com/hbm/items/special/ItemCladding.java @@ -28,7 +28,7 @@ public class ItemCladding extends Item { for(ItemStack armor : player.inventory.armorInventory) { - if(armor != null && HazmatRegistry.instance.getCladding(armor) < rad) { + if(armor != null && HazmatRegistry.getCladding(armor) < rad) { if(!armor.hasTagCompound()) armor.stackTagCompound = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/items/special/ItemGlitch.java b/src/main/java/com/hbm/items/special/ItemGlitch.java index bb4813675..f30246151 100644 --- a/src/main/java/com/hbm/items/special/ItemGlitch.java +++ b/src/main/java/com/hbm/items/special/ItemGlitch.java @@ -111,7 +111,7 @@ public class ItemGlitch extends Item { break; case 18: player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.gun_lever_action_ammo, 12)); + player.inventory.addItemStackToInventory(new ItemStack(ModItems.ammo_20gauge, 12)); player.addChatMessage(new ChatComponentText("Here ya go.")); break; case 19: diff --git a/src/main/java/com/hbm/items/special/ItemSyringe.java b/src/main/java/com/hbm/items/special/ItemSyringe.java index 228237db9..96216c69d 100644 --- a/src/main/java/com/hbm/items/special/ItemSyringe.java +++ b/src/main/java/com/hbm/items/special/ItemSyringe.java @@ -21,8 +21,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class ItemSyringe extends Item { diff --git a/src/main/java/com/hbm/items/tool/ItemFusionCore.java b/src/main/java/com/hbm/items/tool/ItemFusionCore.java new file mode 100644 index 000000000..e05c557b1 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemFusionCore.java @@ -0,0 +1,51 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.items.armor.ArmorFSB; +import com.hbm.items.armor.ArmorFSBPowered; + +import api.hbm.energy.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class ItemFusionCore extends Item { + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(ArmorFSB.hasFSBArmor(player) && player.inventory.armorInventory[3].getItem() instanceof ArmorFSBPowered) { + + for(ItemStack st : player.inventory.armorInventory) { + + if(st == null) + continue; + + if(st.getItem() instanceof IBatteryItem) { + + long maxcharge = ((IBatteryItem)st.getItem()).getMaxCharge(); + long charge = ((IBatteryItem)st.getItem()).getCharge(st); + long newcharge = Math.min(charge + 2500000, maxcharge); + + ((IBatteryItem)st.getItem()).setCharge(st, newcharge); + } + } + + stack.stackSize--; + + world.playSoundAtEntity(player, "random.orb", 0.25F, 1.25F); + } + + return stack; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + + list.add(EnumChatFormatting.YELLOW + "Charges all worn armor pieces by 2.5MHE"); + list.add("[Requires full electric set to be worn]"); + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemSwordAbility.java b/src/main/java/com/hbm/items/tool/ItemSwordAbility.java index 82ebe0e08..954407c6e 100644 --- a/src/main/java/com/hbm/items/tool/ItemSwordAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemSwordAbility.java @@ -68,6 +68,8 @@ public class ItemSwordAbility extends ItemSword implements IItemAbility { ability.onHit(attacker.worldObj, (EntityPlayer) attacker, victim, this); } } + + stack.damageItem(1, attacker); return true; } diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index 173fc9e94..314823b7c 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -115,6 +115,8 @@ public class ItemToolAbility extends ItemTool implements IItemAbility { ability.onHit(attacker.worldObj, (EntityPlayer) attacker, victim, this); } } + + stack.damageItem(2, attacker); return true; } @@ -292,7 +294,7 @@ public class ItemToolAbility extends ItemTool implements IItemAbility { setAbility(stack, i % this.breakAbility.size()); - while(!isAbilityAllowed(getCurrentAbility(stack))) { + while(!getCurrentAbility(stack).isAllowed()) { player.addChatComponentMessage( new ChatComponentText("[Ability ") @@ -319,30 +321,6 @@ public class ItemToolAbility extends ItemTool implements IItemAbility { return stack; } - //TODO: integrate "isAllowed" into the ability class - private boolean isAbilityAllowed(ToolAbility ability) { - - if(ability instanceof HammerAbility) - return ToolConfig.abilityHammer; - if(ability instanceof RecursionAbility) - return ToolConfig.abilityVein; - if(ability instanceof LuckAbility) - return ToolConfig.abilityLuck; - if(ability instanceof SilkAbility) - return ToolConfig.abilitySilk; - if(ability instanceof SmelterAbility) - return ToolConfig.abilityFurnace; - if(ability instanceof ShredderAbility) - return ToolConfig.abilityShredder; - if(ability instanceof CentrifugeAbility) - return ToolConfig.abilityCentrifuge; - if(ability instanceof CrystallizerAbility) - return ToolConfig.abilityCrystallizer; - - return true; - - } - private ToolAbility getCurrentAbility(ItemStack stack) { int ability = getAbility(stack) % this.breakAbility.size(); diff --git a/src/main/java/com/hbm/items/tool/ItemWiring.java b/src/main/java/com/hbm/items/tool/ItemWiring.java index a155a2fdd..13b689662 100644 --- a/src/main/java/com/hbm/items/tool/ItemWiring.java +++ b/src/main/java/com/hbm/items/tool/ItemWiring.java @@ -37,11 +37,15 @@ public class ItemWiring extends Item { int y1 = stack.stackTagCompound.getInteger("y"); int z1 = stack.stackTagCompound.getInteger("z"); - if (world.getTileEntity(x1, y1, z1) != null - && world.getTileEntity(x1, y1, z1) instanceof TileEntityPylonRedWire && this.isLengthValid(x, y, z, x1, y1, z1, 25)) { + if (world.getTileEntity(x1, y1, z1) != null && world.getTileEntity(x1, y1, z1) instanceof TileEntityPylonRedWire && this.isLengthValid(x, y, z, x1, y1, z1, 25)) { - ((TileEntityPylonRedWire) te).connected.add((TileEntityPylonRedWire) world.getTileEntity(x1, y1, z1)); - ((TileEntityPylonRedWire) world.getTileEntity(x1, y1, z1)).connected.add(((TileEntityPylonRedWire) te)); + TileEntityPylonRedWire first = (TileEntityPylonRedWire) world.getTileEntity(x1, y1, z1); + TileEntityPylonRedWire second = ((TileEntityPylonRedWire) te); + + first.connected.add(second); + second.connected.add(first); + first.markDirty(); + second.markDirty(); if (world.isRemote) player.addChatMessage( diff --git a/src/main/java/com/hbm/items/weapon/GunLeverActionS.java b/src/main/java/com/hbm/items/weapon/GunLeverActionS.java index 97742bbce..2d90d50ca 100644 --- a/src/main/java/com/hbm/items/weapon/GunLeverActionS.java +++ b/src/main/java/com/hbm/items/weapon/GunLeverActionS.java @@ -54,7 +54,7 @@ public class GunLeverActionS extends Item { boolean flag = p_77615_3_.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - if (flag || p_77615_3_.inventory.hasItem(ModItems.ammo_12gauge)) { + if (flag || p_77615_3_.inventory.hasItem(ModItems.ammo_20gauge)) { float f = j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; @@ -76,7 +76,7 @@ public class GunLeverActionS extends Item { p_77615_3_.motionY += vec.yCoord * 0.75; p_77615_3_.motionZ += vec.zCoord * 0.75; - p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_12gauge); + p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_20gauge); p_77615_1_.damageItem(1, p_77615_3_); diff --git a/src/main/java/com/hbm/items/weapon/ItemGrenade.java b/src/main/java/com/hbm/items/weapon/ItemGrenade.java index cbb0d8dfb..dc77cc385 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGrenade.java +++ b/src/main/java/com/hbm/items/weapon/ItemGrenade.java @@ -236,6 +236,12 @@ public class ItemGrenade extends Item { list.add("Fuse: " + translateFuse()); + if (this == ModItems.grenade_smart) { + list.add(""); + list.add("\"Why did it not blow up????\""); + list.add(EnumChatFormatting.ITALIC + "If it didn't blow up it means it worked."); + } + if (this == ModItems.grenade_if_generic) { list.add(""); list.add(EnumChatFormatting.ITALIC + "\"How do you like " + EnumChatFormatting.RESET + EnumChatFormatting.GRAY + "them" + EnumChatFormatting.ITALIC + " apples?\""); diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 44a9f7aeb..c14fe437f 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -72,6 +72,7 @@ public class Library { public static String SweatySwiggs = "5544aa30-b305-4362-b2c1-67349bb499d5"; public static String Drillgon = "41ebd03f-7a12-42f3-b037-0caa4d6f235b"; public static String Doctor17 = "e4ab1199-1c22-4f82-a516-c3238bc2d0d1"; + public static String ShimmeringBlaze = "061bc566-ec74-4307-9614-ac3a70d2ef38"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf @@ -885,9 +886,8 @@ public class Library { } } - if(tileentity instanceof IFluidAcceptor && newTact && !(tileentity instanceof TileEntityMachineFluidTank && ((TileEntityMachineFluidTank)tileentity).dna()) - && ((IFluidAcceptor)tileentity).getMaxFluidFill(type) > 0 && ((IFluidAcceptor)tileentity).getMaxFluidFill(type) - ((IFluidAcceptor)tileentity).getFluidFill(type) > 0) - { + if(tileentity instanceof IFluidAcceptor && newTact && ((IFluidAcceptor)tileentity).getMaxFluidFill(type) > 0 && + ((IFluidAcceptor)tileentity).getMaxFluidFill(type) - ((IFluidAcceptor)tileentity).getFluidFill(type) > 0) { that.getFluidList(type).add((IFluidAcceptor)tileentity); } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 9693f4120..decba40aa 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (3668)"; + public static final String VERSION = "1.0.27 BETA (3696)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 9f59233ed..2bd4d0c84 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1,5 +1,6 @@ package com.hbm.main; +import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelChicken; import net.minecraft.client.particle.EntityCloudFX; @@ -59,6 +60,7 @@ import com.hbm.tileentity.machine.*; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.ReflectionHelper; public class ClientProxy extends ServerProxy { @@ -423,7 +425,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo()); //effects - RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeMK3()); + RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeMK4()); RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudBig.class, new RenderBigNuke()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleijaRainbow.class, new RenderCloudRainbow()); @@ -452,6 +454,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeHead.class, new RenderWormHead()); RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeBody.class, new RenderWormBody()); RenderingRegistry.registerEntityRenderingHandler(EntityDuck.class, new RenderDuck(new ModelChicken(), 0.3F)); + RenderingRegistry.registerEntityRenderingHandler(EntityQuackos.class, new RenderQuacc(new ModelChicken(), 0.3F)); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); @@ -676,6 +679,27 @@ public class ClientProxy extends ServerProxy { vec.rotateAroundY(360 / count); } } + + if("wave".equals(mode)) { + + double strength = data.getDouble("range"); + + Vec3 vec = Vec3.createVectorHelper(strength, 0, 0); + + for(int i = 0; i < count; i++) { + + vec.rotateAroundY((float) Math.toRadians(rand.nextFloat() * 360F)); + + ParticleExSmoke fx = new ParticleExSmoke(man, world, x + vec.xCoord, y, z + vec.zCoord); + fx.maxAge = 50; + fx.motionY = 0; + fx.motionX = 0; + fx.motionZ = 0; + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + + vec.rotateAroundY(360 / count); + } + } } if("exhaust".equals(type)) { @@ -733,6 +757,28 @@ public class ClientProxy extends ServerProxy { if("cloud".equals(data.getString("mode"))) { fx = new net.minecraft.client.particle.EntityCloudFX(world, x, y, z, mX, mY, mZ); } + + if("reddust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.0F, 0.0F, 0.0F); + fx.motionX = mX; + fx.motionY = mY; + fx.motionZ = mZ; + } + + if("bluedust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.01F, 1F); + } + + if("greendust".equals(data.getString("mode"))) { + fx = new net.minecraft.client.particle.EntityReddustFX(world, x, y, z, 0.01F, 0.5F, 0.1F); + } + + if("blockdust".equals(data.getString("mode"))) { + + Block b = Block.getBlockById(data.getInteger("block")); + fx = new net.minecraft.client.particle.EntityBlockDustFX(world, x, y, z, mX, mY + 0.2, mZ, b, 0); + ReflectionHelper.setPrivateValue(EntityFX.class, fx, 50 + rand.nextInt(50), "particleMaxAge", "field_70547_e"); + } if(fx != null) Minecraft.getMinecraft().effectRenderer.addEffect(fx); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 9569b9b5f..41367ab54 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -130,6 +130,15 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.block_fiberglass, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_fiberglass }); GameRegistry.addRecipe(new ItemStack(ModBlocks.block_cobalt, 1), new Object[] { "###", "###", "###", '#', ModItems.ingot_cobalt }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_aluminium, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_aluminium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_copper, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_tungsten, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_tungsten }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_red_copper, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_red_copper }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_advanced_alloy, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_advanced_alloy }); + GameRegistry.addRecipe(new ItemStack(Items.gold_ingot, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_gold }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_schrabidium, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_schrabidium }); + GameRegistry.addRecipe(new ItemStack(ModItems.ingot_magnetized_tungsten, 1), new Object[] { "###", "###", "###", '#', ModItems.wire_magnetized_tungsten }); + GameRegistry.addRecipe(new ItemStack(ModBlocks.hazmat, 8), new Object[] { "###", "# #", "###", '#', ModItems.hazmat_cloth }); GameRegistry.addRecipe(new ItemStack(ModItems.hazmat_cloth, 1), new Object[] { "#", '#', ModBlocks.hazmat }); GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 1), new Object[] { "##", "##", '#', ModItems.powder_balefire }); @@ -254,6 +263,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.nugget_daffergon, 9), new Object[] { "#", '#', ModItems.ingot_daffergon }); GameRegistry.addRecipe(new ItemStack(ModItems.ingot_verticium, 1), new Object[] { "###", "###", "###", '#', ModItems.nugget_verticium }); GameRegistry.addRecipe(new ItemStack(ModItems.nugget_verticium, 9), new Object[] { "#", '#', ModItems.ingot_verticium }); + GameRegistry.addRecipe(new ItemStack(ModItems.powder_steel, 1), new Object[] { "###", "###", "###", '#', ModItems.powder_steel_tiny }); + GameRegistry.addRecipe(new ItemStack(ModItems.powder_steel_tiny, 9), new Object[] { "#", '#', ModItems.powder_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.powder_lithium, 1), new Object[] { "###", "###", "###", '#', ModItems.powder_lithium_tiny }); GameRegistry.addRecipe(new ItemStack(ModItems.powder_lithium_tiny, 9), new Object[] { "#", '#', ModItems.powder_lithium }); GameRegistry.addRecipe(new ItemStack(ModItems.powder_cobalt, 1), new Object[] { "###", "###", "###", '#', ModItems.powder_cobalt_tiny }); @@ -514,7 +525,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_gold_torus, 2), new Object[] { " C ", "CPC", " C ", 'P', "plateIron", 'C', ModItems.coil_gold })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_tungsten, 'I', "ingotIron" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.coil_magnetized_tungsten, 1), new Object[] { "WWW", "WIW", "WWW", 'W', ModItems.wire_magnetized_tungsten, 'I', "ingotIron" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_steel, 1), new Object[] { "STS", "S S", "STS", 'S', "plateSteel", 'T', "plateTitanium" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.tank_steel, 2), new Object[] { "STS", "S S", "STS", 'S', "plateSteel", 'T', "plateTitanium" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', "plateIron", 'C', ModItems.coil_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", " T ", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', "plateSteel", 'C', ModItems.coil_copper })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ModItems.ingot_polymer, 'C', ModItems.coil_gold_torus, 'D', "ingotDesh", 'M', ModItems.motor })); @@ -553,6 +564,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.definitelyfood, 1), new Object[] { "DDD", "SDS", "DDD", 'D', Blocks.dirt, 'S', "plateSteel" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.blade_tungsten, 2), new Object[] { "IP", "TP", "TI", 'P', "plateTitanium", 'T', "ingotTitanium", 'I', "ingotTungsten" })); GameRegistry.addRecipe(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', ModItems.ingot_dura_steel }); + GameRegistry.addRecipe(new ItemStack(ModItems.ring_starmetal, 1), new Object[] { " S ", "S S", " S ", 'S', ModItems.ingot_starmetal }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wrench, 1), new Object[] { " S ", " IS", "I ", 'S', "ingotSteel", 'I', "ingotIron" })); GameRegistry.addRecipe(new ItemStack(ModItems.wrench_flipped, 1), new Object[] { "S", "D", "W", 'S', Items.iron_sword, 'D', ModItems.ducttape, 'W', ModItems.wrench }); @@ -597,6 +609,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', "ingotLead", 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', "ingotIron", 'R', Blocks.furnace, 'B', "blockIron", 'P', Blocks.piston })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', "plateSteel", 'I', ModItems.plate_polymer, 'C', ModItems.circuit_copper, 'R', "dustRedstone" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_microwave, 1), new Object[] { "III", "SGM", "IDI", 'I', ModItems.plate_polymer, 'S', "plateSteel", 'G', "paneGlass", 'M', ModItems.magnetron, 'D', ModItems.motor })); GameRegistry.addRecipe(new ItemStack(ModBlocks.muffler, 1), new Object[] { "III", "IWI", "III", 'I', ModItems.plate_polymer, 'W', Blocks.wool }); @@ -749,6 +762,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ModItems.plate_polymer, 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman }); GameRegistry.addRecipe(new ItemStack(ModItems.gun_bf_ammo, 1), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'M', ModItems.mechanism_rifle_2 })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', "plateIron", 'I', "plateSteel", 'W', "plankWood", 'M', ModItems.mechanism_rifle_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', "ingotSteel", 'S', ModItems.ingot_polymer, 'G', ModItems.mechanism_launcher_1 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_uboinik, 1), new Object[] { "IIM", "SPW", 'P', "plateSteel", 'I', "ingotSteel", 'W', "plankWood", 'S', Items.stick, 'M', ModItems.mechanism_revolver_2 })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gun_ks23, 1), new Object[] { "PPM", "SWL", 'P', "plateSteel", 'M', ModItems.mechanism_rifle_1, 'S', Items.stick, 'W', ModItems.wire_tungsten, 'L', "logWood" })); @@ -1263,13 +1277,17 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_legs, 1), new Object[] { "EEE", "E E", "E E", 'E', ModItems.ingot_cobalt }); GameRegistry.addRecipe(new ItemStack(ModItems.cobalt_boots, 1), new Object[] { "E E", "E E", 'E', ModItems.ingot_cobalt }); + GameRegistry.addRecipe(new ItemStack(ModItems.t45_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_titanium, 'C', ModItems.circuit_targeting_tier3, 'I', ModItems.plate_polymer, 'X', ModItems.gas_mask_m65, 'B', ModItems.titanium_helmet }); + GameRegistry.addRecipe(new ItemStack(ModItems.t45_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_titanium, 'T', ModItems.gas_empty, 'B', ModItems.titanium_plate }); + GameRegistry.addRecipe(new ItemStack(ModItems.t45_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_legs }); + GameRegistry.addRecipe(new ItemStack(ModItems.t45_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_boots }); GameRegistry.addRecipe(new ItemStack(ModItems.bj_helmet, 1), new Object[] { "SBS", " C ", " I ", 'S', Items.string, 'B', new ItemStack(Blocks.wool, 1, 15), 'C', ModItems.circuit_targeting_tier4, 'I', ModItems.ingot_starmetal }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_plate, 1), new Object[] { "N N", "MSM", "NCN", 'N', "plateDenseLead", 'M', ModItems.motor_desh, 'S', ModItems.starmetal_plate, 'C', ModItems.circuit_targeting_tier5 })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_legs, 1), new Object[] { "NBN", "MSM", "N N", 'N', "plateDenseLead", 'M', ModItems.motor_desh, 'S', ModItems.starmetal_legs, 'B', ModBlocks.block_starmetal })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.bj_boots, 1), new Object[] { "N N", "BSB", 'N', "plateDenseLead", 'S', ModItems.starmetal_boots, 'B', ModBlocks.block_starmetal })); + GameRegistry.addRecipe(new ItemStack(ModItems.bj_plate, 1), new Object[] { "N N", "MSM", "NCN", 'N', ModItems.plate_armor_lunar, 'M', ModItems.motor_desh, 'S', ModItems.starmetal_plate, 'C', ModItems.circuit_targeting_tier5 }); + GameRegistry.addRecipe(new ItemStack(ModItems.bj_legs, 1), new Object[] { "NBN", "MSM", "N N", 'N', ModItems.plate_armor_lunar, 'M', ModItems.motor_desh, 'S', ModItems.starmetal_legs, 'B', ModBlocks.block_starmetal }); + GameRegistry.addRecipe(new ItemStack(ModItems.bj_boots, 1), new Object[] { "N N", "BSB", 'N', ModItems.plate_armor_lunar, 'S', ModItems.starmetal_boots, 'B', ModBlocks.block_starmetal }); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.drax, 1), new Object[] { "BCF", "DDM", "BCC", 'B', ModItems.blades_advanced_alloy, 'C', "ingotCobalt", 'F', ItemBattery.getFullBattery(ModItems.fusion_core), 'D', "ingotDesh", 'M', ModItems.motor })); - GameRegistry.addRecipe(new ItemStack(ModItems.drax_mk2, 1), new Object[] { "SCS", "IDI", "FEF", 'S', ModItems.ingot_starmetal, 'C', ModItems.crystal_trixite, 'I', ModItems.ingot_saturnite, 'D', ModItems.drax, 'F', ItemBattery.getFullBattery(ModItems.fusion_core), 'E', ModItems.circuit_targeting_tier5 }); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.drax, 1), new Object[] { "BCF", "DDM", "BCC", 'B', ModItems.blades_advanced_alloy, 'C', "ingotCobalt", 'F', ModItems.fusion_core, 'D', "ingotDesh", 'M', ModItems.motor })); + GameRegistry.addRecipe(new ItemStack(ModItems.drax_mk2, 1), new Object[] { "SCS", "IDI", "FEF", 'S', ModItems.ingot_starmetal, 'C', ModItems.crystal_trixite, 'I', ModItems.ingot_saturnite, 'D', ModItems.drax, 'F', ModItems.fusion_core, 'E', ModItems.circuit_targeting_tier5 }); GameRegistry.addRecipe(new ItemStack(ModItems.drax_mk3, 1), new Object[] { "ECE", "CDC", "SBS", 'E', ModBlocks.block_euphemium_cluster, 'C', ModItems.crystal_schrabidium, 'D', ModItems.drax_mk2, 'S', ModItems.circuit_targeting_tier6, 'B', ItemBattery.getFullBattery(ModItems.battery_spark) }); GameRegistry.addRecipe(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', ModItems.ingot_fiberglass, 'P', ModItems.steel_pickaxe, 'F', ModItems.bolt_dura_steel }); @@ -1479,7 +1497,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[] { "PSP", "SCS", "PSP", 'P', "plateSteel", 'S', ModItems.ingot_starmetal, 'C', ModItems.fusion_core })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.radiobox), new Object[] { "PLP", "PSP", "PCP", 'P', "plateSteel", 'S', ModItems.ring_starmetal, 'C', ModItems.fusion_core, 'L', "plateDenseLead" })); 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 })); @@ -1647,6 +1665,7 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.circuit_red_copper, 48), new Object[] { ModBlocks.fusion_core }); GameRegistry.addShapelessRecipe(new ItemStack(ModBlocks.fusion_heater), new Object[] { ModBlocks.fusion_hatch }); + GameRegistry.addShapelessRecipe(new ItemStack(ModItems.energy_core), new Object[] { ModItems.fusion_core, ModItems.fuse }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', "plateSteel", 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', "plateCopper", 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer })); @@ -1654,6 +1673,9 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_centrifuge, 1), new Object[] { "PHP", "PUP", "DTD", 'P', ModItems.centrifuge_element, 'H', Blocks.hopper, 'U', ModItems.upgrade_shredder, 'D', "ingotPolymer", 'T', ModBlocks.machine_transformer })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_crystallizer, 1), new Object[] { "PHP", "CUC", "DTD", 'P', new ItemStack(ModItems.fluid_barrel_full, 1, FluidType.ACID.ordinal()), 'H', ModItems.circuit_targeting_tier4, 'C', ModBlocks.barrel_steel, 'U', ModItems.upgrade_centrifuge, 'D', ModItems.motor, 'T', ModBlocks.machine_transformer })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_armor_titanium, 1), new Object[] { "NPN", "PIP", "NPN", 'N', ModItems.bolt_tungsten, 'P', "plateTitanium", 'I', "ingotSteel" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.plate_armor_lunar, 1), new Object[] { "NPN", "PIP", "NPN", 'N', ModItems.wire_magnetized_tungsten, 'P', "plateDenseLead", 'I', ModItems.ingot_starmetal })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.wood_gavel, 1), new Object[] { "SWS", " R ", " R ", 'S', "slabWood", 'W', "logWood", 'R', "stickWood" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.lead_gavel, 1), new Object[] { "PIP", "IGI", "PIP", 'P', ModItems.pellet_buckshot, 'I', "ingotLead", 'G', ModItems.wood_gavel })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.mech_key, 1), new Object[] { " GC", "GAG", "AG ", 'G', "nuggetGold", 'A', "ingotAluminum", 'C', ModItems.coin_maskman })); @@ -1814,5 +1836,10 @@ public class CraftingManager { GameRegistry.addSmelting(ModItems.crystal_lithium, new ItemStack(ModItems.lithium, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_starmetal, new ItemStack(ModItems.ingot_starmetal, 2), 2.0F); GameRegistry.addSmelting(ModItems.crystal_trixite, new ItemStack(ModItems.ingot_plutonium, 4), 2.0F); + + GameRegistry.addSmelting(ModItems.circuit_schrabidium, new ItemStack(ModItems.circuit_gold, 1), 1.0F); + GameRegistry.addSmelting(ModItems.circuit_gold, new ItemStack(ModItems.circuit_red_copper, 1), 1.0F); + GameRegistry.addSmelting(ModItems.circuit_red_copper, new ItemStack(ModItems.circuit_copper, 1), 1.0F); + GameRegistry.addSmelting(ModItems.circuit_copper, new ItemStack(ModItems.circuit_aluminium, 1), 1.0F); } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index f7a7fd7f6..330ba8d28 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -171,6 +171,7 @@ public class MainRegistry { public static Achievement achRadPoison; public static Achievement achRadDeath; public static Achievement achStratum; + public static Achievement achMeltdown; public static Achievement bobMetalworks; public static Achievement bobAssembly; public static Achievement bobChemistry; @@ -579,6 +580,7 @@ public class MainRegistry { EntityRegistry.registerGlobalEntityID(EntityTaintCrab.class, "entity_taint_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0xFF00FF); EntityRegistry.registerGlobalEntityID(EntityMaskMan.class, "entity_mob_mask_man", EntityRegistry.findGlobalUniqueEntityId(), 0x818572, 0xC7C1B7); EntityRegistry.registerGlobalEntityID(EntityDuck.class, "entity_fucc_a_ducc", EntityRegistry.findGlobalUniqueEntityId(), 0xd0d0d0, 0xFFBF00); + EntityRegistry.registerGlobalEntityID(EntityQuackos.class, "entity_elder_one", EntityRegistry.findGlobalUniqueEntityId(), 0xd0d0d0, 0xFFBF00); // EntityRegistry.registerGlobalEntityID(EntityBOTPrimeHead.class, // "entity_balls_o_tron_mk0", EntityRegistry.findGlobalUniqueEntityId(), @@ -864,6 +866,7 @@ public class MainRegistry { achFiend2 = new Achievement("achievement.fiend2", "fiend2", 6, 0, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat(); achSoyuz = new Achievement("achievement.soyuz", "soyuz", -2, 0, Items.baked_potato, null).initIndependentStat().setSpecial().registerStat(); achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat(); + achMeltdown = new Achievement("achievement.meltdown", "meltdown", -4, 0, new ItemStack(ModBlocks.iter), null).initIndependentStat().setSpecial().registerStat(); bobMetalworks = new Achievement("achievement.metalworks", "metalworks", -2, 2, ModItems.bob_metalworks, null).initIndependentStat().registerStat(); bobAssembly = new Achievement("achievement.assembly", "assembly", 0, 2, ModItems.bob_assembly, bobMetalworks).initIndependentStat().registerStat(); @@ -894,6 +897,7 @@ public class MainRegistry { achFiend2, achSoyuz, achStratum, + achMeltdown, bobMetalworks, bobAssembly, bobChemistry, @@ -985,105 +989,105 @@ public class MainRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_barrel_full, 1, i), new ItemStack(ModItems.fluid_barrel_empty), FluidType.getEnum(i), 16000)); } - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate, 0.4F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots, 0.1F); + HazmatRegistry.registerHazmat(ModItems.hazmat_helmet, 0.2F); + HazmatRegistry.registerHazmat(ModItems.hazmat_plate, 0.4F); + HazmatRegistry.registerHazmat(ModItems.hazmat_legs, 0.3F); + HazmatRegistry.registerHazmat(ModItems.hazmat_boots, 0.1F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet_red, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate_red, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs_red, 0.45F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots_red, 0.15F); + HazmatRegistry.registerHazmat(ModItems.hazmat_helmet_red, 0.3F); + HazmatRegistry.registerHazmat(ModItems.hazmat_plate_red, 0.6F); + HazmatRegistry.registerHazmat(ModItems.hazmat_legs_red, 0.45F); + HazmatRegistry.registerHazmat(ModItems.hazmat_boots_red, 0.15F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_helmet_grey, 0.4F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_plate_grey, 0.8F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_legs_grey, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_boots_grey, 0.2F); + HazmatRegistry.registerHazmat(ModItems.hazmat_helmet_grey, 0.4F); + HazmatRegistry.registerHazmat(ModItems.hazmat_plate_grey, 0.8F); + HazmatRegistry.registerHazmat(ModItems.hazmat_legs_grey, 0.6F); + HazmatRegistry.registerHazmat(ModItems.hazmat_boots_grey, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.t45_helmet, 0.4F); - HazmatRegistry.instance.registerHazmat(ModItems.t45_plate, 0.8F); - HazmatRegistry.instance.registerHazmat(ModItems.t45_legs, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.t45_boots, 0.2F); + HazmatRegistry.registerHazmat(ModItems.t45_helmet, 0.4F); + HazmatRegistry.registerHazmat(ModItems.t45_plate, 0.8F); + HazmatRegistry.registerHazmat(ModItems.t45_legs, 0.6F); + HazmatRegistry.registerHazmat(ModItems.t45_boots, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.bj_helmet, 0.4F); - HazmatRegistry.instance.registerHazmat(ModItems.bj_plate, 0.8F); - HazmatRegistry.instance.registerHazmat(ModItems.bj_legs, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.bj_boots, 0.2F); + HazmatRegistry.registerHazmat(ModItems.bj_helmet, 0.4F); + HazmatRegistry.registerHazmat(ModItems.bj_plate, 0.8F); + HazmatRegistry.registerHazmat(ModItems.bj_legs, 0.6F); + HazmatRegistry.registerHazmat(ModItems.bj_boots, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.paa_plate, 0.8F); - HazmatRegistry.instance.registerHazmat(ModItems.paa_legs, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.paa_boots, 0.2F); + HazmatRegistry.registerHazmat(ModItems.paa_plate, 0.8F); + HazmatRegistry.registerHazmat(ModItems.paa_legs, 0.6F); + HazmatRegistry.registerHazmat(ModItems.paa_boots, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_helmet, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_plate, 1.2F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_legs, 0.9F); - HazmatRegistry.instance.registerHazmat(ModItems.hazmat_paa_boots, 0.3F); + HazmatRegistry.registerHazmat(ModItems.hazmat_paa_helmet, 0.6F); + HazmatRegistry.registerHazmat(ModItems.hazmat_paa_plate, 1.2F); + HazmatRegistry.registerHazmat(ModItems.hazmat_paa_legs, 0.9F); + HazmatRegistry.registerHazmat(ModItems.hazmat_paa_boots, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.security_helmet, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.security_plate, 0.4F); - HazmatRegistry.instance.registerHazmat(ModItems.security_legs, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.security_boots, 0.1F); + HazmatRegistry.registerHazmat(ModItems.security_helmet, 0.2F); + HazmatRegistry.registerHazmat(ModItems.security_plate, 0.4F); + HazmatRegistry.registerHazmat(ModItems.security_legs, 0.3F); + HazmatRegistry.registerHazmat(ModItems.security_boots, 0.1F); - HazmatRegistry.instance.registerHazmat(ModItems.starmetal_helmet, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.starmetal_plate, 1.2F); - HazmatRegistry.instance.registerHazmat(ModItems.starmetal_legs, 0.9F); - HazmatRegistry.instance.registerHazmat(ModItems.starmetal_boots, 0.3F); + HazmatRegistry.registerHazmat(ModItems.starmetal_helmet, 0.6F); + HazmatRegistry.registerHazmat(ModItems.starmetal_plate, 1.2F); + HazmatRegistry.registerHazmat(ModItems.starmetal_legs, 0.9F); + HazmatRegistry.registerHazmat(ModItems.starmetal_boots, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.jackt, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.jackt2, 0.3F); + HazmatRegistry.registerHazmat(ModItems.jackt, 0.3F); + HazmatRegistry.registerHazmat(ModItems.jackt2, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.gas_mask, 0.15F); - HazmatRegistry.instance.registerHazmat(ModItems.gas_mask_m65, 0.175F); + HazmatRegistry.registerHazmat(ModItems.gas_mask, 0.15F); + HazmatRegistry.registerHazmat(ModItems.gas_mask_m65, 0.175F); - HazmatRegistry.instance.registerHazmat(ModItems.steel_helmet, 0.04F); - HazmatRegistry.instance.registerHazmat(ModItems.steel_plate, 0.08F); - HazmatRegistry.instance.registerHazmat(ModItems.steel_legs, 0.06F); - HazmatRegistry.instance.registerHazmat(ModItems.steel_boots, 0.02F); + HazmatRegistry.registerHazmat(ModItems.steel_helmet, 0.04F); + HazmatRegistry.registerHazmat(ModItems.steel_plate, 0.08F); + HazmatRegistry.registerHazmat(ModItems.steel_legs, 0.06F); + HazmatRegistry.registerHazmat(ModItems.steel_boots, 0.02F); - HazmatRegistry.instance.registerHazmat(ModItems.titanium_helmet, 0.06F); - HazmatRegistry.instance.registerHazmat(ModItems.titanium_plate, 0.12F); - HazmatRegistry.instance.registerHazmat(ModItems.titanium_legs, 0.1F); - HazmatRegistry.instance.registerHazmat(ModItems.titanium_boots, 0.03F); + HazmatRegistry.registerHazmat(ModItems.titanium_helmet, 0.06F); + HazmatRegistry.registerHazmat(ModItems.titanium_plate, 0.12F); + HazmatRegistry.registerHazmat(ModItems.titanium_legs, 0.1F); + HazmatRegistry.registerHazmat(ModItems.titanium_boots, 0.03F); - HazmatRegistry.instance.registerHazmat(ModItems.cobalt_helmet, 0.1F); - HazmatRegistry.instance.registerHazmat(ModItems.cobalt_plate, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.cobalt_legs, 0.15F); - HazmatRegistry.instance.registerHazmat(ModItems.cobalt_boots, 0.05F); + HazmatRegistry.registerHazmat(ModItems.cobalt_helmet, 0.1F); + HazmatRegistry.registerHazmat(ModItems.cobalt_plate, 0.2F); + HazmatRegistry.registerHazmat(ModItems.cobalt_legs, 0.15F); + HazmatRegistry.registerHazmat(ModItems.cobalt_boots, 0.05F); - HazmatRegistry.instance.registerHazmat(Items.iron_helmet, 0.04F); - HazmatRegistry.instance.registerHazmat(Items.iron_chestplate, 0.08F); - HazmatRegistry.instance.registerHazmat(Items.iron_leggings, 0.06F); - HazmatRegistry.instance.registerHazmat(Items.iron_boots, 0.02F); + HazmatRegistry.registerHazmat(Items.iron_helmet, 0.04F); + HazmatRegistry.registerHazmat(Items.iron_chestplate, 0.08F); + HazmatRegistry.registerHazmat(Items.iron_leggings, 0.06F); + HazmatRegistry.registerHazmat(Items.iron_boots, 0.02F); - HazmatRegistry.instance.registerHazmat(Items.golden_helmet, 0.04F); - HazmatRegistry.instance.registerHazmat(Items.golden_chestplate, 0.08F); - HazmatRegistry.instance.registerHazmat(Items.golden_leggings, 0.06F); - HazmatRegistry.instance.registerHazmat(Items.golden_boots, 0.02F); + HazmatRegistry.registerHazmat(Items.golden_helmet, 0.04F); + HazmatRegistry.registerHazmat(Items.golden_chestplate, 0.08F); + HazmatRegistry.registerHazmat(Items.golden_leggings, 0.06F); + HazmatRegistry.registerHazmat(Items.golden_boots, 0.02F); - HazmatRegistry.instance.registerHazmat(Items.diamond_helmet, 0.05F); - HazmatRegistry.instance.registerHazmat(Items.diamond_chestplate, 0.09F); - HazmatRegistry.instance.registerHazmat(Items.diamond_leggings, 0.07F); - HazmatRegistry.instance.registerHazmat(Items.diamond_boots, 0.03F); + HazmatRegistry.registerHazmat(Items.diamond_helmet, 0.05F); + HazmatRegistry.registerHazmat(Items.diamond_chestplate, 0.09F); + HazmatRegistry.registerHazmat(Items.diamond_leggings, 0.07F); + HazmatRegistry.registerHazmat(Items.diamond_boots, 0.03F); - HazmatRegistry.instance.registerHazmat(ModItems.alloy_helmet, 0.08F); - HazmatRegistry.instance.registerHazmat(ModItems.alloy_plate, 0.16F); - HazmatRegistry.instance.registerHazmat(ModItems.alloy_legs, 0.12F); - HazmatRegistry.instance.registerHazmat(ModItems.alloy_boots, 0.04F); + HazmatRegistry.registerHazmat(ModItems.alloy_helmet, 0.08F); + HazmatRegistry.registerHazmat(ModItems.alloy_plate, 0.16F); + HazmatRegistry.registerHazmat(ModItems.alloy_legs, 0.12F); + HazmatRegistry.registerHazmat(ModItems.alloy_boots, 0.04F); - HazmatRegistry.instance.registerHazmat(ModItems.cmb_helmet, 0.5F); - HazmatRegistry.instance.registerHazmat(ModItems.cmb_plate, 1.1F); - HazmatRegistry.instance.registerHazmat(ModItems.cmb_legs, 0.8F); - HazmatRegistry.instance.registerHazmat(ModItems.cmb_boots, 0.2F); + HazmatRegistry.registerHazmat(ModItems.cmb_helmet, 0.5F); + HazmatRegistry.registerHazmat(ModItems.cmb_plate, 1.1F); + HazmatRegistry.registerHazmat(ModItems.cmb_legs, 0.8F); + HazmatRegistry.registerHazmat(ModItems.cmb_boots, 0.2F); - HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_helmet, 0.6F); - HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_plate, 1.2F); - HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_legs, 0.9F); - HazmatRegistry.instance.registerHazmat(ModItems.schrabidium_boots, 0.3F); + HazmatRegistry.registerHazmat(ModItems.schrabidium_helmet, 0.6F); + HazmatRegistry.registerHazmat(ModItems.schrabidium_plate, 1.2F); + HazmatRegistry.registerHazmat(ModItems.schrabidium_legs, 0.9F); + HazmatRegistry.registerHazmat(ModItems.schrabidium_boots, 0.3F); - HazmatRegistry.instance.registerHazmat(ModItems.euphemium_helmet, 6F); - HazmatRegistry.instance.registerHazmat(ModItems.euphemium_plate, 12F); - HazmatRegistry.instance.registerHazmat(ModItems.euphemium_legs, 9F); - HazmatRegistry.instance.registerHazmat(ModItems.euphemium_boots, 3F); + HazmatRegistry.registerHazmat(ModItems.euphemium_helmet, 6F); + HazmatRegistry.registerHazmat(ModItems.euphemium_plate, 12F); + HazmatRegistry.registerHazmat(ModItems.euphemium_legs, 9F); + HazmatRegistry.registerHazmat(ModItems.euphemium_boots, 3F); TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.URANIUM, ModItems.nugget_uranium_fuel); TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.URANIUM, ModItems.ingot_uranium_fuel); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index be8951c79..8add90710 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -14,7 +14,9 @@ import com.hbm.config.RadiationConfig; import com.hbm.config.WorldConfig; import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; +import com.hbm.entity.mob.EntityDuck; import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityQuackos; import com.hbm.entity.mob.EntityTaintedCreeper; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.projectile.EntityMeteor; @@ -52,7 +54,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -306,9 +307,23 @@ public class ModEventHandler event.world.spawnEntityInWorld(creep); entity.setDead(); continue; + } else if(entity.getClass().equals(EntityDuck.class) && eRad >= 200) { + + EntityQuackos quacc = new EntityQuackos(event.world); + quacc.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); + + if(!entity.isDead && !event.world.isRemote) + event.world.spawnEntityInWorld(quacc); + + entity.setDead(); + continue; } - if(eRad < 200 || entity instanceof EntityNuclearCreeper || entity instanceof EntityMooshroom || entity instanceof EntityZombie || entity instanceof EntitySkeleton) + if(eRad < 200 || entity instanceof EntityNuclearCreeper || + entity instanceof EntityMooshroom || + entity instanceof EntityZombie || + entity instanceof EntitySkeleton || + entity instanceof EntityQuackos) continue; if(eRad > 2500) @@ -445,35 +460,6 @@ public class ModEventHandler } /// GHOST FIX END /// - - /// FSB ARMOR START /// - ItemStack helmet = player.inventory.armorInventory[3]; - ItemStack plate = player.inventory.armorInventory[2]; - ItemStack legs = player.inventory.armorInventory[1]; - ItemStack boots = player.inventory.armorInventory[0]; - - if(plate != null && plate.getItem() instanceof ArmorFSB) { - - ArmorFSB chestplate = (ArmorFSB)plate.getItem(); - - boolean noHelmet = chestplate.noHelmet; - - if((helmet != null || noHelmet) && plate != null && legs != null && boots != null) { - - if((noHelmet || chestplate.getArmorMaterial() == ((ItemArmor)helmet.getItem()).getArmorMaterial()) && - chestplate.getArmorMaterial() == ((ItemArmor)legs.getItem()).getArmorMaterial() && - chestplate.getArmorMaterial() == ((ItemArmor)boots.getItem()).getArmorMaterial()) { - - if(!chestplate.effects.isEmpty()) { - - for(PotionEffect i : chestplate.effects) { - player.addPotionEffect(new PotionEffect(i.getPotionID(), i.getDuration(), i.getAmplifier(), i.getIsAmbient())); - } - } - } - } - } - /// FSB ARMOR END /// /// BETA HEALTH START /// if(player.getUniqueID().toString().equals(Library.Dr_Nostalgia)) { diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 7a53b1c66..878a91983 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -52,7 +52,6 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; @@ -281,7 +280,7 @@ public class ModEventHandlerClient { ItemStack stack = event.itemStack; List list = event.toolTip; - float rad = HazmatRegistry.instance.getResistance(stack); + float rad = HazmatRegistry.getResistance(stack); rad = ((int)(rad * 100)) / 100F; @@ -305,15 +304,6 @@ public class ModEventHandlerClient { } } - public static IIcon particleBase; - - @SubscribeEvent - public void onTextureStitch(TextureStitchEvent.Pre event) { - - if(event.map.getTextureType() == 0) - particleBase = event.map.registerIcon(RefStrings.MODID + ":particle/particle_base"); - } - @SideOnly(Side.CLIENT) @SubscribeEvent public void onRenderWorldLastEvent(RenderWorldLastEvent event) { @@ -485,4 +475,13 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glPopMatrix(); } + + public static IIcon particleBase; + + @SubscribeEvent + public void onTextureStitch(TextureStitchEvent.Pre event) { + + if(event.map.getTextureType() == 0) + particleBase = event.map.registerIcon(RefStrings.MODID + ":particle/particle_base"); + } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 697992deb..610ea2cee 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -58,8 +58,7 @@ public class ResourceManager { public static final IModelCustom oilflare = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/oilFlare.obj")); //Tank - public static final IModelCustom tank_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/fluidtank_main.obj")); - public static final IModelCustom tank_label = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/fluidtank_label.obj")); + public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")); //Turbofan public static final IModelCustom turbofan_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/turbofan_body.obj")); @@ -645,6 +644,7 @@ public class ResourceManager { public static final ResourceLocation fireball = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/fireball.png"); public static final ResourceLocation balefire = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/balefire.png"); public static final ResourceLocation tomblast = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/tomblast.png"); + public static final ResourceLocation dust = new ResourceLocation(RefStrings.MODID, "textures/models/explosion/dust.png"); //Boxcar public static final ResourceLocation boxcar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/boxcar.png"); diff --git a/src/main/java/com/hbm/particle/ParticleExSmoke.java b/src/main/java/com/hbm/particle/ParticleExSmoke.java index b03022241..e8ffea0fd 100644 --- a/src/main/java/com/hbm/particle/ParticleExSmoke.java +++ b/src/main/java/com/hbm/particle/ParticleExSmoke.java @@ -2,31 +2,24 @@ package com.hbm.particle; import java.util.Random; -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; +import com.hbm.main.ModEventHandlerClient; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; -import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @SideOnly(Side.CLIENT) public class ParticleExSmoke extends EntityFX { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/particle/contrail.png"); - private TextureManager theRenderEngine; + private int age; - private int maxAge; + public int maxAge; public ParticleExSmoke(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); - theRenderEngine = p_i1213_1_; + particleIcon = ModEventHandlerClient.particleBase; maxAge = 100 + rand.nextInt(40); } @@ -51,45 +44,29 @@ public class ParticleExSmoke extends EntityFX { } public int getFXLayer() { - return 3; + return 1; } public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { - this.theRenderEngine.bindTexture(texture); - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - RenderHelper.disableStandardItemLighting(); - Random urandom = new Random(this.getEntityId()); for(int i = 0; i < 6; i++) { - p_70539_1_.startDrawingQuads(); - - this.particleRed = this.particleGreen = this.particleBlue = urandom.nextFloat() * 0.5F + 0.4F; + this.particleRed = this.particleGreen = this.particleBlue = urandom.nextFloat() * 0.25F + 0.25F; p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); - p_70539_1_.setBrightness(240); float scale = urandom.nextFloat() + 0.5F; float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.75F); float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.75F); float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.75F); - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1); - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1); - p_70539_1_.draw(); + p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMaxV()); + p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMaxV()); } - - GL11.glPolygonOffset(0.0F, 0.0F); - GL11.glEnable(GL11.GL_LIGHTING); } } diff --git a/src/main/java/com/hbm/particle/ParticleRocketFlame.java b/src/main/java/com/hbm/particle/ParticleRocketFlame.java index 9ef58f9db..72981706a 100644 --- a/src/main/java/com/hbm/particle/ParticleRocketFlame.java +++ b/src/main/java/com/hbm/particle/ParticleRocketFlame.java @@ -13,15 +13,13 @@ import net.minecraft.world.World; @SideOnly(Side.CLIENT) public class ParticleRocketFlame extends EntityFX { - - private TextureManager theRenderEngine; + private int age; private int maxAge; public ParticleRocketFlame(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); particleIcon = ModEventHandlerClient.particleBase; - theRenderEngine = p_i1213_1_; maxAge = 300 + rand.nextInt(50); } diff --git a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java b/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java new file mode 100644 index 000000000..baa4212f2 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java @@ -0,0 +1,468 @@ +package com.hbm.render.entity.effect; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.effect.EntityNukeCloudSmall; +import com.hbm.entity.effect.EntityNukeCloudSmall.Cloudlet; +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.render.loader.HFRWavefrontObject; + +import net.minecraft.client.renderer.ActiveRenderInfo; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraftforge.client.model.IModelCustom; + +public class RenderSmallNukeMK4 extends Render { + + public static final IModelCustom mush = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/mush.obj")); + public static final IModelCustom shockwave = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/ring_roller.obj")); + public static final IModelCustom thinring = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/ring_thin.obj")); + private static final ResourceLocation cloudlet = new ResourceLocation(RefStrings.MODID + ":textures/particle/particle_base.png"); + + /* + * // // ////// ////// // // + * //// //// // // // //// // + * // // // ////// // // //// + * // // // // // // // + * // // // // ////// // // + */ + + /** + * Look how nice and clean this is! + */ + @Override + public void doRender(Entity entity, double x, double y, double z, float f0, float interp) { + + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + + EntityNukeCloudSmall cloud = (EntityNukeCloudSmall)entity; + + mushWrapper(cloud, interp); + cloudletWrapper(cloud, interp); + flashWrapper(cloud, interp); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return null; + } + + /* + * // // ////// ////// ////// ////// ////// ////// ////// + * // // // // // // // // // // // // // // + * // // // //// ////// ////// ////// //// //// ////// + * //// //// // // // // // // // // // // + * // // // // // // // // ////// // // ////// + */ + + /** + * Wrapper for the initial flash + * Caps the rendering at 60 ticks and sets the alpha function + * @param cloud + * @param interp + */ + private void flashWrapper(EntityNukeCloudSmall cloud, float interp) { + + if(cloud.age < 60) { + + GL11.glPushMatrix(); + //Function [0, 1] that determines the scale and intensity (inverse!) of the flash + double scale = (cloud.ticksExisted + interp) / 60D; + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.0F); + + //Euler function to slow down the scale as it progresses + //Makes it start fast and the fade-out is nice and smooth + scale = scale * Math.pow(Math.E, -scale) * 2.717391304D; + + renderFlash(scale); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glPopMatrix(); + } + } + + @Deprecated + private void shockwaveWrapper(EntityNukeCloudSmall cloud, float interp) { + + if(cloud.age < 300) { + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + renderShockwave((cloud.age + interp) * 0.5D); + + GL11.glShadeModel(GL11.GL_FLAT); + } + } + + /** + * Wrapper for the entire mush (head + stem) + * Renders the entire thing twice to allow for smooth color gradients + * @param cloud + * @param interp + */ + private void mushWrapper(EntityNukeCloudSmall cloud, float interp) { + + float size = cloud.getDataWatcher().getWatchableObjectFloat(18) * 5; + + GL11.glPushMatrix(); + + GL11.glScalef(size, size, size); + + boolean balefire = cloud.getDataWatcher().getWatchableObjectByte(19) == 1; + + if(balefire) + bindTexture(ResourceManager.balefire); + else + bindTexture(ResourceManager.fireball); + + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + + //Float [0, 1] for the initial solid-colored layer fade-in + float func = MathHelper.clamp_float((cloud.ticksExisted + interp) * 0.0075F, 0, 1); + //Function that determines how high the cloud has risen. The values are the results of trial and error and i forgot what they mean + double height = Math.max(20 - 30 * 20 / ((((cloud.ticksExisted + interp) * 0.5) - 60 * 0.1) + 1), 0); + + if(balefire) + GL11.glColor4f(1.0F - (1.0F - 0.64F) * func, 1.0F, 1.0F - (1.0F - 0.5F) * func, 1F); + else + GL11.glColor4f(1.0F, 1.0F - (1.0F - 0.7F) * func, 1.0F - (1.0F - 0.48F) * func, 1F); + + renderMushHead(cloud.ticksExisted + interp, height); + renderMushStem(cloud.ticksExisted + interp, height); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_TEXTURE_2D); + + //Float [0.75, 0] That determines the occupancy of the texture layer + float texAlpha = func * 0.875F; + + GL11.glColor4f(1F, 1F, 1F, texAlpha); + //Sets blend to "how you'd expect it" mode + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glEnable(GL11.GL_BLEND); + + //And now we fuck with texture transformations + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + + GL11.glTranslated(0, -(cloud.ticksExisted + interp) * 0.035, 0); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + + GL11.glPushMatrix(); + //It's the thing that makes glow-in-the-dark work + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + renderMushHead(cloud.ticksExisted + interp, height); + renderMushStem(cloud.ticksExisted + interp, height); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + GL11.glPopMatrix(); + + //Clean this up otherwise the game becomes one-dimensional + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + /** + * Adds all cloudlets to the tessellator and then draws them + * @param cloud + * @param interp + */ + private void cloudletWrapper(EntityNukeCloudSmall cloud, float interp) { + + GL11.glPushMatrix(); + GL11.glEnable(GL11.GL_BLEND); + //To prevent particles cutting off before fully fading out + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.01F); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(false); + + bindTexture(cloudlet); + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + + for(Cloudlet cloudlet : cloud.cloudlets) { + float scale = cloud.age + interp - cloudlet.age; + tessellateCloudlet(tess, cloudlet.posX, cloudlet.posY - cloud.posY + 2, cloudlet.posZ, scale, cloud.getDataWatcher().getWatchableObjectByte(19)); + } + + /*Random rand = new Random(cloud.getEntityId()); + float size = cloud.getDataWatcher().getWatchableObjectFloat(18); + + for(int i = 0; i < 300 * size; i++) { + + float scale = size * 10; + Vec3 vec = Vec3.createVectorHelper(rand.nextGaussian() * scale, 0, rand.nextGaussian() * scale); + + tessellateCloudlet(tess, vec.xCoord, (scale - vec.lengthVector()) * rand.nextDouble() * 0.5, vec.zCoord - 10, (float)(cloud.age * cloud.cloudletLife) / cloud.maxAge, cloud.getDataWatcher().getWatchableObjectByte(19)); + }*/ + + tess.draw(); + + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_ALPHA_TEST); + RenderHelper.enableStandardItemLighting(); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + } + + /* + * ////// ////// // // //// ////// ////// ////// ////// ////// + * // // // //// // // // // // // // // // // + * //// //// // //// // // //// //// //// //// ////// + * // // // // // // // // // // // // // // + * // // ////// // // //// ////// // // ////// // // ////// + */ + + /** + * Once again the recycled ender dragon death animation + * It worked so well the last 14 times, let's go for 15 + * @param intensity Double [0, 1] that determines scale and alpha + */ + private void renderFlash(double intensity) { + + GL11.glScalef(0.2F, 0.2F, 0.2F); + + double inverse = 1.0D - intensity; + + Tessellator tessellator = Tessellator.instance; + RenderHelper.disableStandardItemLighting(); + + Random random = new Random(432L); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDepthMask(false); + + GL11.glPushMatrix(); + + float scale = 100; + + for(int i = 0; i < 300; i++) { + + GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); + + float vert1 = (random.nextFloat() * 20.0F + 5.0F + 1 * 10.0F) * (float)(intensity * scale); + float vert2 = (random.nextFloat() * 2.0F + 1.0F + 1 * 2.0F) * (float)(intensity * scale); + + tessellator.startDrawing(6); + + tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float) inverse); + tessellator.addVertex(0.0D, 0.0D, 0.0D); + tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 0.0F); + tessellator.addVertex(-0.866D * vert2, vert1, -0.5F * vert2); + tessellator.addVertex(0.866D * vert2, vert1, -0.5F * vert2); + tessellator.addVertex(0.0D, vert1, 1.0F * vert2); + tessellator.addVertex(-0.866D * vert2, vert1, -0.5F * vert2); + tessellator.draw(); + } + + GL11.glPopMatrix(); + + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glDisable(GL11.GL_BLEND); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_ALPHA_TEST); + RenderHelper.enableStandardItemLighting(); + } + + @Deprecated + private void renderShockwave(double scale) { + + GL11.glPushMatrix(); + + double s = 3; + double timescale = 250; + + bindTexture(ResourceManager.dust); + printShockwave(scale * s, 5, 32, -(System.currentTimeMillis() % timescale * 8) / (timescale)); + + GL11.glPopMatrix(); + } + + /** + * Render call for the mush head model + * Includes offset and smoothing + * Also scales the fireball along XZ + * @param progress Lifetime + interpolation number + * @param height The current animation offset + */ + private void renderMushHead(float progress, double height) { + + GL11.glPushMatrix(); + + double expansion = 100; + double width = Math.min(progress, expansion) / expansion * 0.3 + 0.7; + + GL11.glTranslated(0, -26 + height, 0); + GL11.glScaled(width, 1, width); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_ALPHA_TEST); + mush.renderPart("Ball"); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + /** + * Render call for the mush stem model + * Includes offset and smoothing + * @param progress Lifetime + interpolation number + * @param height The current animation offset + */ + private void renderMushStem(float progress, double height) { + + GL11.glPushMatrix(); + + GL11.glTranslated(0, -26 + height, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_ALPHA_TEST); + mush.renderPart("Stem"); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + /** + * Adds one cloudlet (one face) to the tessellator. + * Rotation is done using ActiveRenderInfo, which I'd assume runs on magic + * But hey, if it works for particles, why not here too? + * @param tess + * @param posX + * @param posY + * @param posZ + * @param age The mush' age when the cloudlet was created + * @param type DataWatcher byte #19 which differentiates between different mush types + */ + private void tessellateCloudlet(Tessellator tess, double posX, double posY, double posZ, float age, int type) { + + float alpha = 1F - Math.max(age / (float)(EntityNukeCloudSmall.cloudletLife), 0F); + float alphaorig = alpha; + + float scale = 5F * (alpha * 0.5F + 0.5F); + + if(age < 3) + alpha = age * 0.333F; + + float f1 = ActiveRenderInfo.rotationX; + float f2 = ActiveRenderInfo.rotationZ; + float f3 = ActiveRenderInfo.rotationYZ; + float f4 = ActiveRenderInfo.rotationXY; + float f5 = ActiveRenderInfo.rotationXZ; + + Random rand = new Random((long) ((posX * 5 + posY * 25 + posZ * 125) * 1000D)); + + float brightness = rand.nextFloat() * 0.25F + 0.25F; + + if(type == 1) { + tess.setColorRGBA_F(0.25F * alphaorig, alphaorig - brightness * 0.5F, 0.25F * alphaorig, alpha); + } else { + + tess.setColorRGBA_F(brightness, brightness, brightness, alpha); + } + + tess.addVertexWithUV((double)(posX - f1 * scale - f3 * scale), (double)(posY - f5 * scale), (double)(posZ - f2 * scale - f4 * scale), 1, 1); + tess.addVertexWithUV((double)(posX - f1 * scale + f3 * scale), (double)(posY + f5 * scale), (double)(posZ - f2 * scale + f4 * scale), 1, 0); + tess.addVertexWithUV((double)(posX + f1 * scale + f3 * scale), (double)(posY + f5 * scale), (double)(posZ + f2 * scale + f4 * scale), 0, 0); + tess.addVertexWithUV((double)(posX + f1 * scale - f3 * scale), (double)(posY - f5 * scale), (double)(posZ + f2 * scale - f4 * scale), 0, 1); + + } + + /* + * ////// ////// ////// // // ////// ////// ////// ////// + * // // // // // //// // // // // // // + * ////// //// // // //// // //// //// ////// + * // // // // // // // // // // // + * // // // ////// // // // ////// // // ////// + */ + + @Deprecated + private void printShockwave(double scale, double radius, int segments, double offset) { + + double angle = 360D / segments; + + double[][] verts = new double[12][3]; + double[][] lastverts = new double[12][3]; + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + + for(int i = -1; i < segments; i++) { + + double rot = i * angle; + + for(int j = 0; j < 12; j++) { + + Vec3 vec = Vec3.createVectorHelper(radius, 0, 0); + vec.rotateAroundZ((float) Math.toRadians(360D /12D * j)); + vec.rotateAroundY((float) Math.toRadians(rot)); + + lastverts[j] = verts[j]; + verts[j] = new double[] {vec.xCoord, vec.yCoord, vec.zCoord}; + } + + if(i == -1) + continue; + + Vec3 rotor = Vec3.createVectorHelper(scale, 0, 0); + rotor.rotateAroundY((float) Math.toRadians(rot)); + Vec3 last = Vec3.createVectorHelper(scale, 0, 0); + last.rotateAroundY((float) Math.toRadians(rot - angle)); + + for(int k = 0; k < 12; k++) { + + int n = (k + 1) % 12; + + double uvlower = offset * 0.125; + double uvupper = 1 + offset * 0.125; + + tess.addVertexWithUV(lastverts[k][0] + last.xCoord, lastverts[k][1], lastverts[k][2] + last.zCoord, uvlower, 0); + tess.addVertexWithUV(verts[k][0] + rotor.xCoord, verts[k][1], verts[k][2] + rotor.zCoord, uvlower, 1); + tess.addVertexWithUV(verts[n][0] + rotor.xCoord, verts[n][1], verts[n][2] + rotor.zCoord, uvupper, 1); + tess.addVertexWithUV(lastverts[n][0] + last.xCoord, lastverts[n][1], lastverts[n][2] + last.zCoord, uvupper, 0); + } + } + + tess.draw(); + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java b/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java index 7b9e128c0..54bba99bb 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java @@ -19,7 +19,6 @@ public class RenderNuclearCreeper extends RenderLiving private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper.png"); /** The creeper model. */ private ModelBase creeperModel = new ModelCreeper(2.0F); - private static final String __OBFID = "CL_00000985"; public RenderNuclearCreeper() { diff --git a/src/main/java/com/hbm/render/entity/mob/RenderQuacc.java b/src/main/java/com/hbm/render/entity/mob/RenderQuacc.java new file mode 100644 index 000000000..9e9d2cd25 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderQuacc.java @@ -0,0 +1,48 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderChicken; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.boss.BossStatus; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.entity.passive.EntityChicken; +import net.minecraft.util.ResourceLocation; + +/** + * BOW + */ +public class RenderQuacc extends RenderChicken { + + /** + * BOW + */ + public static final ResourceLocation ducc = new ResourceLocation(RefStrings.MODID, "textures/entity/duck.png"); + + /** + * BOW + */ + public RenderQuacc(ModelBase model, float f0) { + super(model, f0); + } + + /** + * BOW + */ + protected ResourceLocation getEntityTexture(EntityChicken DUCC) { + return ducc; + } + + /** + * BOW + */ + protected void preRenderCallback(EntityLivingBase DUCC, float f0) { + + BossStatus.setBossStatus((IBossDisplayData) DUCC, false); + + GL11.glScaled(25, 25, 25); + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderQuackos.java b/src/main/java/com/hbm/render/entity/mob/RenderQuackos.java new file mode 100644 index 000000000..0d803af42 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderQuackos.java @@ -0,0 +1,21 @@ +package com.hbm.render.entity.mob; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderChicken; +import net.minecraft.entity.passive.EntityChicken; +import net.minecraft.util.ResourceLocation; + +public class RenderQuackos extends RenderChicken { + + public static final ResourceLocation ducc = new ResourceLocation(RefStrings.MODID, "textures/entity/duck.png"); + + public RenderQuackos(ModelBase p_i1252_1_, float p_i1252_2_) { + super(p_i1252_1_, p_i1252_2_); + } + + protected ResourceLocation getEntityTexture(EntityChicken p_110775_1_) { + return ducc; + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java b/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java index eb804ce08..ecdd0f3e4 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java @@ -19,7 +19,6 @@ public class RenderTaintedCreeper extends RenderLiving private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_tainted.png"); /** The creeper model. */ private ModelBase creeperModel = new ModelCreeper(2.0F); - private static final String __OBFID = "CL_00000985"; public RenderTaintedCreeper() { diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 2bd9c921a..077245cdb 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -278,8 +278,10 @@ public class ItemRenderLibrary { GL11.glScaled(3, 3, 3); } public void renderCommon() { - bindTexture(ResourceManager.tank_tex); ResourceManager.tank_body.renderAll(); - bindTexture(ResourceManager.tank_label_tex); ResourceManager.tank_label.renderAll(); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.tank_tex); ResourceManager.fluidtank.renderPart("Tank"); + GL11.glShadeModel(GL11.GL_FLAT); + bindTexture(ResourceManager.tank_label_tex); ResourceManager.fluidtank.renderPart("Label"); }}); renderers.put(Item.getItemFromBlock(ModBlocks.machine_well), new ItemRenderBase() { @@ -774,6 +776,19 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.blast_door_slider_tex); ResourceManager.blast_door_slider.renderAll(); bindTexture(ResourceManager.blast_door_block_tex); ResourceManager.blast_door_block.renderAll(); }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.machine_microwave), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4, 4); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glTranslated(-2, -2, 1); + GL11.glScaled(3, 3, 3); + bindTexture(ResourceManager.microwave_tex); + ResourceManager.microwave.renderPart("mainbody_Cube.001"); + ResourceManager.microwave.renderPart("window_Cube.002"); + }}); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java index 6a2c2a445..f8bd5c12c 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponThompson.java @@ -53,14 +53,18 @@ public class ItemRenderWeaponThompson implements IItemRenderer { case EQUIPPED: - double scale = 0.5D; + double scale = 0.25D; GL11.glScaled(scale, scale, scale); + GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(-2F, -3F, -0.5F); break; case ENTITY: - double s1 = 0.25D; + double s1 = 0.2D; GL11.glScaled(s1, s1, s1); break; diff --git a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java index f4649c7bc..4a23a3ddb 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java @@ -20,6 +20,7 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glRotatef(180, 0F, 1F, 0F); GL11.glRotatef(90, 0F, 1F, 0F); switch(tileEntity.getBlockMetadata()) @@ -35,9 +36,9 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { } bindTexture(ResourceManager.tank_tex); - - ResourceManager.tank_body.renderAll(); + ResourceManager.fluidtank.renderPart("Tank"); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); renderTileEntityAt2(tileEntity, x, y, z, f); @@ -72,7 +73,7 @@ public class RenderFluidTank extends TileEntitySpecialRenderer { s = ((TileEntityMachineFluidTank)tileEntity).tank.getTankType().name(); bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/tank_" + s + ".png")); - ResourceManager.tank_label.renderAll(); + ResourceManager.fluidtank.renderPart("Label"); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index 6d44fe229..069e290d5 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -23,12 +23,12 @@ public class RenderAccessoryUtility { private static ResourceLocation hoboy = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeHoboy.png"); private static ResourceLocation master = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeMaster.png"); private static ResourceLocation mek = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeMek.png"); - private static ResourceLocation god_tm = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeGodTM.png"); private static ResourceLocation zippy = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeZippySqrl.png"); private static ResourceLocation test = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeTest.png"); private static ResourceLocation schrabby = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeSchrabbyAlt.png"); private static ResourceLocation swiggs = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeSweatySwiggs.png"); private static ResourceLocation doctor17 = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeDoctor17.png"); + private static ResourceLocation shimmeringblaze = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeBlaze.png"); private static ResourceLocation wiki = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeWiki.png"); public static ResourceLocation getCloakFromPlayer(EntityPlayer player) { @@ -81,9 +81,6 @@ public class RenderAccessoryUtility { if(uuid.equals(Library.Steelcourage)) { return mek; } - if(uuid.equals(Library.GOD___TM)) { - return god_tm; - } if(uuid.equals(Library.ZippySqrl)) { return zippy; } @@ -96,6 +93,9 @@ public class RenderAccessoryUtility { if(uuid.equals(Library.Doctor17)) { return doctor17; } + if(uuid.equals(Library.ShimmeringBlaze)) { + return shimmeringblaze; + } if(Library.contributors.contains(uuid)) { return wiki; } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index 23d80c82a..23650f060 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -167,7 +167,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IConsum return null; if(getTile() instanceof ISidedInventory) { - return ((ISidedInventory)getTile()).getStackInSlotOnClosing(slot); + return ((ISidedInventory)getTile()).getStackInSlot(slot); } return null; diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityPylonRedWire.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityPylonRedWire.java index 1ac227450..465da22b1 100644 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityPylonRedWire.java +++ b/src/main/java/com/hbm/tileentity/conductor/TileEntityPylonRedWire.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.calc.UnionOfTileEntitiesAndBooleans; import com.hbm.interfaces.IConductor; +import com.hbm.interfaces.Spaghetti; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPylonDestructorPacket; import com.hbm.packet.TEPylonSenderPacket; @@ -18,6 +19,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +@Spaghetti("Destroy this abomination in holy fire") public class TileEntityPylonRedWire extends TileEntity implements IConductor { public List uoteab = new ArrayList(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index a348428e6..dab2673a0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -16,10 +16,12 @@ import com.hbm.inventory.FusionRecipes; import com.hbm.items.ModItems; import com.hbm.items.special.ItemFusionShield; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; @@ -215,6 +217,16 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, this.markDirty(); } } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return true; + } + + @Override + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return new int[] { 2, 4 }; + } private void produceByproduct() { @@ -453,5 +465,12 @@ public class TileEntityITER extends TileEntityMachineBase implements IConsumer, worldObj.setBlock(xCoord, yCoord - 2, zCoord, ModBlocks.struct_iter_core); MachineITER.drop = true; + + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, + AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 10, 50)); + + for(EntityPlayer player : players) { + player.triggerAchievement(MainRegistry.achMeltdown); + } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFluidTank.java index 5bb557b9f..fb8d2f887 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFluidTank.java @@ -3,217 +3,79 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidTank; -import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineFluidTank extends TileEntity implements ISidedInventory, IFluidContainer, IFluidSource, IFluidAcceptor { - - private ItemStack slots[]; +public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, IFluidSource, IFluidAcceptor { - //public static final int maxFill = 64 * 3; public FluidTank tank; - - private static final int[] slots_top = new int[] {0}; - private static final int[] slots_bottom = new int[] {0}; - private static final int[] slots_side = new int[] {0}; + public short mode = 0; + public static final short modes = 4; + public int age = 0; public List list = new ArrayList(); - private String customName; - public TileEntityMachineFluidTank() { - slots = new ItemStack[7]; + super(7); tank = new FluidTank(FluidType.NONE, 256000, 0); } @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.fluidtank"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - slots = new ItemStack[getSizeInventory()]; - - tank.readFromNBT(nbt, "content"); - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - NBTTagList list = new NBTTagList(); - - tank.writeToNBT(nbt, "content"); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return true; + public String getName() { + return "container.fluidtank"; } @Override public void updateEntity() { - if(!worldObj.isRemote) - { - age++; - if(age >= 20) - { - age = 0; - } + if(!worldObj.isRemote) { - if((age == 9 || age == 19) && dna()) + age++; + + if(age >= 20) + age = 0; + + if((mode == 1 || mode == 2) && (age == 9 || age == 19)) fillFluidInit(tank.getTankType()); tank.loadTank(2, 3, slots); tank.setType(0, 1, slots); + + if(tank.getTankType().isAntimatter()) { + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); + worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 5, true, true); + } + tank.unloadTank(4, 5, slots); tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + + NBTTagCompound data = new NBTTagCompound(); + data.setShort("mode", mode); + this.networkPack(data, 50); } } - public boolean dna() { - if(slots[6] != null && (slots[6].getItem() == ModItems.fuse || slots[6].getItem() == ModItems.screwdriver)) - return true; - return false; + public void networkUnpack(NBTTagCompound data) { + + mode = data.getShort("mode"); + } + + public void handleButtonPacket(int value, int meta) { + + mode = (short) ((mode + 1) % modes); + markDirty(); } @Override @@ -240,6 +102,10 @@ public class TileEntityMachineFluidTank extends TileEntity implements ISidedInve @Override public int getMaxFluidFill(FluidType type) { + + if(mode == 2 || mode == 3) + return 0; + return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; } @@ -297,4 +163,20 @@ public class TileEntityMachineFluidTank extends TileEntity implements ISidedInve return list; } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + mode = nbt.getShort("mode"); + tank.readFromNBT(nbt, "tank"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setShort("mode", mode); + tank.writeToNBT(nbt, "tank"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 5524521ec..85e6073bf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -77,9 +77,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } else { tanks[1].setTankType((FluidType) outs[0]); - int processMax = (int) Math.ceil(tanks[0].getFill() / 10F) / (Integer)outs[2]; //the maximum amount of cycles based on the 10% cap - int processSteam = tanks[0].getFill() / (Integer)outs[2]; //the maximum amount of cycles depending on steam - int processWater = (tanks[1].getMaxFill() - tanks[1].getFill()) / (Integer)outs[1]; //the maximum amount of cycles depending on water + int processMax = (int) Math.ceil(Math.ceil(tanks[0].getFill() / 10F) / (Integer)outs[2]); //the maximum amount of cycles based on the 10% cap + int processSteam = tanks[0].getFill() / (Integer)outs[2]; //the maximum amount of cycles depending on steam + int processWater = (tanks[1].getMaxFill() - tanks[1].getFill()) / (Integer)outs[1]; //the maximum amount of cycles depending on water int cycles = Math.min(processMax, Math.min(processSteam, processWater)); @@ -90,6 +90,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme if(power > maxPower) power = maxPower; + + if(cycles > 0) + operational = true; } tanks[1].unloadTank(5, 6, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java index 988033a27..3190ddf68 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java @@ -40,19 +40,21 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IConsu if(canProcess()) { - if(speed == maxSpeed) { + if(speed >= maxSpeed) { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 7.5F, true, true); return; } - power -= consumption; - time += speed; - if(time >= maxTime) { process(); time = 0; } + + if(canProcess()) { + power -= consumption; + time += speed * 2; + } } NBTTagCompound data = new NBTTagCompound(); @@ -122,6 +124,26 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IConsu return false; } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemStack) { + return i == 0 && FurnaceRecipes.smelting().getSmeltingResult(itemStack) != null; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } + + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return i == 1; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return side == 0 ? new int[] { 1 } : new int[] { 0 }; + } public long getPowerScaled(int i) { return (power * i) / maxPower; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index f85dd1683..f2c2fdb8d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -2,23 +2,32 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.interfaces.IConsumer; import com.hbm.lib.ModDamageSource; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityMob; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityRadiobox extends TileEntity { +public class TileEntityRadiobox extends TileEntity implements IConsumer { - public double freq; - public int type; - public String message; - public int music; + long power; + public static long maxPower = 500000; + public boolean infinite = false; @Override public void updateEntity() { - if(!worldObj.isRemote && this.getBlockMetadata() > 5) { + if(!worldObj.isRemote && this.getBlockMetadata() > 5 && (power >= 25000 || infinite)) { + + if(!infinite) { + power -= 25000; + this.markDirty(); + } int range = 15; @@ -27,5 +36,41 @@ public class TileEntityRadiobox extends TileEntity { entity.attackEntityFrom(ModDamageSource.enervation, 20.0F); } } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + power = nbt.getLong("power"); + infinite = nbt.getBoolean("infinite"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setLong("power", power); + nbt.setBoolean("infinite", infinite); + } + @Override + public void setPower(long i) { + power = i; + } + + @Override + public long getPower() { + return power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } } diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 4883d1872..1d972769f 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -28,7 +28,7 @@ public class ContaminationUtil { EntityPlayer player = (EntityPlayer)entity; float koeff = 5.0F; - return (float) Math.pow(koeff, -HazmatRegistry.instance.getResistance(player)); + return (float) Math.pow(koeff, -HazmatRegistry.getResistance(player)); } return 1; @@ -84,7 +84,7 @@ public class ContaminationUtil { double rads = ((int)(data.getRadNumFromCoord(chunk.xPosition, chunk.zPosition) * 10)) / 10D; double res = 100.0D - ((int)(ContaminationUtil.calculateRadiationMod(player) * 10000)) / 100D; - double resKoeff = ((int)(HazmatRegistry.instance.getResistance(player) * 100)) / 100D; + double resKoeff = ((int)(HazmatRegistry.getResistance(player) * 100)) / 100D; String chunkPrefix = ""; String radPrefix = ""; diff --git a/src/main/java/com/hbm/util/WeightedRandomObject.java b/src/main/java/com/hbm/util/WeightedRandomObject.java index 472b75f88..e5a9766cb 100644 --- a/src/main/java/com/hbm/util/WeightedRandomObject.java +++ b/src/main/java/com/hbm/util/WeightedRandomObject.java @@ -1,5 +1,6 @@ package com.hbm.util; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandom; @@ -19,5 +20,12 @@ public class WeightedRandomObject extends WeightedRandom.Item { return null; } - + + public Item asItem() { + + if(item instanceof Item) + return (Item) item; + + return null; + } }