From 702ce91f64137d72220707a66043ebff10b48228 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sat, 14 Mar 2020 22:01:03 +0100 Subject: [PATCH] a ton of stuff, whoa mama --- assets/hbm/lang/de_DE.lang | 6 +- assets/hbm/lang/en_US.lang | 6 +- assets/hbm/models/weapons/deagle.obj | 2213 +++++++++++++++++ assets/hbm/models/weapons/hk69.obj | 479 ++-- assets/hbm/sounds.json | 1 + assets/hbm/sounds/weapon/deagleShoot.ogg | Bin 0 -> 27288 bytes assets/hbm/textures/gui/dfc/gui_emitter.png | Bin 1471 -> 1954 bytes assets/hbm/textures/gui/fluids2.png | Bin 12215 -> 9524 bytes assets/hbm/textures/items/ammo_44_star.png | Bin 0 -> 251 bytes assets/hbm/textures/items/ammo_50ae_star.png | Bin 0 -> 227 bytes assets/hbm/textures/items/ammo_50bmg_star.png | Bin 0 -> 235 bytes assets/hbm/textures/items/ammo_5mm_star.png | Bin 0 -> 246 bytes .../hbm/textures/{blocks => items}/book.png | Bin assets/hbm/textures/items/book_of_.png | Bin 459 -> 787 bytes assets/hbm/textures/items/book_of_.png.mcmeta | 5 - assets/hbm/textures/items/ingot_starmetal.png | Bin 406 -> 369 bytes assets/hbm/textures/items/ingot_steel.png | Bin 384 -> 322 bytes assets/hbm/textures/items/ingot_tungsten.png | Bin 322 -> 384 bytes assets/hbm/textures/items/plate_steel.png | Bin 360 -> 307 bytes assets/hbm/textures/models/weapons/deagle.png | Bin 0 -> 4557 bytes com/hbm/blocks/ModBlocks.java | 8 +- com/hbm/blocks/machine/CoreComponent.java | 24 +- .../entity/projectile/EntityBulletBase.java | 6 + com/hbm/handler/BulletConfigSyncingUtil.java | 173 +- com/hbm/handler/GUIHandler.java | 19 +- com/hbm/handler/GunConfiguration.java | 2 + .../handler/guncfg/Gun44MagnumFactory.java | 17 + com/hbm/handler/guncfg/Gun50AEFactory.java | 18 +- com/hbm/handler/guncfg/Gun50BMGFactory.java | 16 + com/hbm/handler/guncfg/Gun5mmFactory.java | 22 +- com/hbm/handler/guncfg/GunFatmanFactory.java | 35 + com/hbm/interfaces/IBulletImpactBehavior.java | 2 - .../interfaces/IBulletRicochetBehavior.java | 2 - com/hbm/interfaces/ILaserable.java | 7 + .../container/ContainerCoreEmitter.java | 40 + com/hbm/inventory/gui/GUICoreEmitter.java | 48 + com/hbm/inventory/gui/GUILaunchPadTier1.java | 1 - com/hbm/inventory/gui/GuiInfoContainer.java | 1 - com/hbm/items/ModItems.java | 20 +- com/hbm/items/food/ItemEnergy.java | 10 + com/hbm/items/special/ItemCustomLore.java | 3 +- com/hbm/items/special/ItemDrop.java | 20 +- com/hbm/items/special/WatzFuel.java | 2 + com/hbm/items/tool/ItemCassette.java | 6 - com/hbm/items/tool/ItemCatalog.java | 8 + com/hbm/items/tool/ItemSatChip.java | 26 + com/hbm/items/weapon/ItemAmmo.java | 20 + com/hbm/items/weapon/ItemGunBase.java | 14 +- com/hbm/items/weapon/ItemGunGauss.java | 9 + com/hbm/items/weapon/ItemGunLacunae.java | 68 + com/hbm/items/weapon/WeaponizedCell.java | 44 +- com/hbm/lib/RefStrings.java | 2 +- com/hbm/main/ClientProxy.java | 1 + com/hbm/main/CraftingManager.java | 4 + com/hbm/main/MainRegistry.java | 20 + com/hbm/main/ModEventHandler.java | 35 +- com/hbm/main/ResourceManager.java | 4 +- com/hbm/render/item/ItemRenderOverkill.java | 3 +- com/hbm/render/item/ItemRenderWeaponObj.java | 89 +- com/hbm/render/model/ModelLacunae.java | 29 +- .../tileentity/RenderCoreComponent.java | 6 + .../machine/TileEntityCoreEmitter.java | 103 +- 62 files changed, 3285 insertions(+), 412 deletions(-) create mode 100644 assets/hbm/models/weapons/deagle.obj create mode 100644 assets/hbm/sounds/weapon/deagleShoot.ogg create mode 100644 assets/hbm/textures/items/ammo_44_star.png create mode 100644 assets/hbm/textures/items/ammo_50ae_star.png create mode 100644 assets/hbm/textures/items/ammo_50bmg_star.png create mode 100644 assets/hbm/textures/items/ammo_5mm_star.png rename assets/hbm/textures/{blocks => items}/book.png (100%) delete mode 100644 assets/hbm/textures/items/book_of_.png.mcmeta create mode 100644 assets/hbm/textures/models/weapons/deagle.png create mode 100644 com/hbm/interfaces/ILaserable.java create mode 100644 com/hbm/inventory/container/ContainerCoreEmitter.java create mode 100644 com/hbm/inventory/gui/GUICoreEmitter.java create mode 100644 com/hbm/items/weapon/ItemGunLacunae.java diff --git a/assets/hbm/lang/de_DE.lang b/assets/hbm/lang/de_DE.lang index c72f2f857..6068eb60e 100644 --- a/assets/hbm/lang/de_DE.lang +++ b/assets/hbm/lang/de_DE.lang @@ -1469,13 +1469,16 @@ item.ammo_20gauge_wither.name=Kaliber 20 Schrot (Wither) item.ammo_5mm.name=5mm Patrone item.ammo_5mm_explosive.name=5mm Patrone (Explosiv) item.ammo_5mm_du.name=5mm Patrone (DU) +item.ammo_5mm_star.name=5mm Patrone (Sternenmetall) item.ammo_50ae.name=.50 AE Patrone item.ammo_50ae_ap.name=.50 AE Patrone (Panzerbrechend) item.ammo_50ae_du.name=.50 AE Patrone (DU) +item.ammo_50ae_star.name=.50 AE Patrone (Sternenmetall) item.ammo_50bmg.name=.50 BMG Patrone item.ammo_50bmg_incendiary.name=.50 BMG Patrone (Brand) item.ammo_50bmg_explosive.name=.50 BMG Patrone (Explosiv) item.ammo_50bmg_du.name=.50 BMG Patrone (DU) +item.ammo_50bmg_star.name=.50 BMG Patrone (Sternenmetall) item.ammo_9mm.name=9mm Patrone item.ammo_9mm_ap.name=9mm Patrone (Panzerbrechend) item.ammo_9mm_du.name=9mm Patrone (DU) @@ -1489,6 +1492,7 @@ item.ammo_357_desh.name=.357 Magnum Deshkugel item.ammo_44.name=.44 Magnum Patrone item.ammo_44_ap.name=.44 Magnum Patrone (Panzerbrechend) item.ammo_44_du.name=.44 Magnum Patrone (DU) +item.ammo_44_star.name=.44 Magnum Patrone (Sternenmetall) item.ammo_44_pip.name=.44 Magnum Patrone (Güterwagon) item.ammo_44_bj.name=.44 Magnum Patrone (Boot) item.ammo_44_rocket.name=.44 Magnum Rakete @@ -2286,7 +2290,7 @@ item.letter.name=Eilbrief item.polaroid.name=Das Polaroid item.glitch.name=Glitch item.book_secret.name=3-596-50802-9 -item.book_of_.name=Das Buch der +item.book_of_.name=Das Buch der Güterwaggons item.burnt_bark.name=Verbrannte Rinde item.loot_10.name=Größe 10 Raketen-Lootbox diff --git a/assets/hbm/lang/en_US.lang b/assets/hbm/lang/en_US.lang index 820d49f4b..f744d2ce6 100644 --- a/assets/hbm/lang/en_US.lang +++ b/assets/hbm/lang/en_US.lang @@ -1469,13 +1469,16 @@ item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) item.ammo_5mm.name=5mm Round item.ammo_5mm_explosive.name=5mm Round (Explosive) item.ammo_5mm_du.name=5mm Round (DU) +item.ammo_5mm_star.name=5mm Round (Starmetal) item.ammo_50ae.name=.50 AE Round item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing) item.ammo_50ae_du.name=.50 AE Round (DU) +item.ammo_50ae_star.name=.50 AE Round (Starmetal) item.ammo_50bmg.name=.50 BMG Round item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) item.ammo_50bmg_du.name=.50 BMG Round (DU) +item.ammo_50bmg_star.name=.50 BMG Round (Starmetal) item.ammo_9mm.name=9mm Round item.ammo_9mm_ap.name=9mm Round (Armor Piercing) item.ammo_9mm_du.name=9mm Round (DU) @@ -1489,6 +1492,7 @@ item.ammo_357_desh.name=.357 Magnum Desh Bullet item.ammo_44.name=.44 Magnum Bullet item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing) item.ammo_44_du.name=.44 Magnum Bullet (DU) +item.ammo_44_star.name=.44 Magnum Bullet (Starmetal) item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar) item.ammo_44_bj.name=.44 Magnum Bullet (Boat) item.ammo_44_rocket.name=.44 Magnum Rocket @@ -2286,7 +2290,7 @@ item.letter.name=Express Mail item.polaroid.name=The Polaroid item.glitch.name=Glitch item.book_secret.name=3-596-50802-9 -item.book_of_.name=The Book of +item.book_of_.name=The Book of Boxcars item.burnt_bark.name=Burnt Bark item.loot_10.name=Size 10 Missile Loot Crate diff --git a/assets/hbm/models/weapons/deagle.obj b/assets/hbm/models/weapons/deagle.obj new file mode 100644 index 000000000..56f4297f8 --- /dev/null +++ b/assets/hbm/models/weapons/deagle.obj @@ -0,0 +1,2213 @@ +# Blender v2.76 (sub 0) OBJ File: '' +# www.blender.org +o Cylinder.005_Cylinder.042 +v -0.109711 0.225768 -1.599982 +v -0.109711 0.454809 -1.689450 +v 0.109711 0.225768 -1.599982 +v -0.109711 0.423462 -1.505400 +v -0.109711 0.621156 -1.410818 +v -0.109711 0.544724 -1.667087 +v 0.109711 0.423462 -1.505400 +v 0.109711 0.621156 -1.410818 +v 0.109711 0.544724 -1.667087 +v 0.109711 0.454809 -1.689450 +v 0.109711 0.634639 -1.644725 +v 0.109711 0.662526 -1.780998 +v 0.109711 0.632528 -1.796514 +v 0.109711 0.674518 -1.746657 +v -0.109711 0.662526 -1.780998 +v -0.109711 0.632528 -1.796514 +v -0.109711 0.674518 -1.746657 +v -0.109711 0.634639 -1.644725 +v 0.000000 0.851168 0.003579 +v 0.091507 0.835033 0.003579 +v 0.000000 0.851168 0.638677 +v -0.091507 0.835033 0.003579 +v -0.171977 0.788573 0.003579 +v -0.091507 0.835033 0.638677 +v -0.171977 0.790610 0.653952 +v 0.091507 0.835033 0.638677 +v 0.171977 0.790610 0.653952 +v 0.171977 0.788574 0.003579 +v 0.231704 0.725540 0.678187 +v 0.231704 0.717394 0.003579 +v 0.263484 0.650445 0.713829 +v -0.231704 0.725540 0.678187 +v -0.263484 0.650445 0.713829 +v -0.231704 0.717393 0.003579 +v -0.263484 0.630078 0.003579 +v -0.263484 0.537160 0.003579 +v -0.231704 0.449844 0.003579 +v -0.263484 0.582984 0.751507 +v -0.231704 0.509926 0.816679 +v 0.263484 0.582984 0.751507 +v 0.263484 0.537160 0.003579 +v 0.231704 0.509926 0.816679 +v 0.231704 0.449844 0.003579 +v 0.171977 0.459112 0.922585 +v 0.171977 0.378665 0.003579 +v 0.091507 0.412653 0.922585 +v -0.171977 0.459112 0.922585 +v -0.091507 0.412653 0.922585 +v -0.171977 0.378664 0.003579 +v -0.091507 0.332205 0.003579 +v 0.000000 0.316070 0.003579 +v 0.091507 0.332205 0.003579 +v 0.000000 0.316070 0.538677 +v 0.263484 0.630078 0.003579 +v -0.256097 0.393645 2.813138 +v -0.256097 0.394229 2.302340 +v 0.256097 0.393645 2.813138 +v -0.247427 0.477817 2.847726 +v -0.200569 0.110690 2.700910 +v -0.200569 0.117608 2.308361 +v 0.200569 0.110690 2.700910 +v -0.155010 0.069582 2.700185 +v -0.077784 0.028475 2.699461 +v -0.155010 0.076501 2.307636 +v 0.155010 0.069582 2.700185 +v 0.077784 0.028475 2.699461 +v 0.155010 0.076501 2.307636 +v 0.077784 0.035393 2.306912 +v 0.200569 0.117608 2.308361 +v 0.256097 0.394229 2.302340 +v 0.256097 0.396179 0.596178 +v 0.247427 0.479449 2.328658 +v 0.247427 0.477817 2.847726 +v 0.247427 0.484899 0.594871 +v 0.223196 0.748473 2.314847 +v 0.223196 0.753144 2.830875 +v 0.223196 0.732872 0.591215 +v 0.144839 0.783886 2.314526 +v 0.144839 0.788557 2.830554 +v 0.144839 0.768285 0.590894 +v 0.144839 0.799085 2.313976 +v 0.144839 0.803755 2.830004 +v 0.144839 0.783484 0.590344 +v 0.166263 0.826504 2.313728 +v 0.166263 0.831174 2.829756 +v 0.166263 0.810903 0.590096 +v 0.166263 0.864471 2.313384 +v 0.166263 0.869142 2.829412 +v 0.166263 0.848870 0.589752 +v -0.166263 0.864471 2.313384 +v -0.166263 0.848870 0.589752 +v -0.166263 0.869142 2.829412 +v -0.166263 0.826504 2.313728 +v -0.166263 0.810903 0.590096 +v -0.166263 0.831174 2.829756 +v -0.144839 0.799085 2.313976 +v -0.144839 0.783886 2.314526 +v -0.144839 0.783484 0.590344 +v -0.144839 0.803755 2.830004 +v -0.144839 0.788557 2.830554 +v -0.223196 0.753144 2.830875 +v -0.223196 0.748473 2.314847 +v -0.223196 0.732872 0.591215 +v -0.247427 0.479449 2.328658 +v -0.247427 0.484899 0.594871 +v -0.256097 0.396179 0.596178 +v -0.144839 0.768285 0.590894 +v -0.166263 0.805472 -0.009880 +v 0.166263 0.805472 -0.009880 +v -0.166263 0.843440 -0.010223 +v 0.166263 0.843440 -0.010223 +v -0.077784 0.035393 2.306912 +v 0.237206 0.073140 -1.706179 +v 0.237206 0.026845 -1.937500 +v 0.237206 0.095699 -0.284299 +v 0.237206 -0.024013 -1.755874 +v 0.237206 -0.030227 -1.987212 +v 0.164659 -0.094732 -1.686827 +v 0.237206 -0.222860 -1.362254 +v 0.237206 -0.208553 -0.334540 +v 0.164659 -0.214674 -0.261820 +v 0.237206 -0.415199 -0.375721 +v 0.237206 -0.500743 -0.315807 +v 0.164659 -0.429076 -0.304546 +v 0.194589 -0.472976 -0.265565 +v 0.164659 0.094767 -0.210592 +v 0.124185 -0.545500 -0.201169 +v 0.124185 -0.584470 -0.082052 +v 0.124185 -0.571518 0.337890 +v 0.124185 -0.444468 0.397614 +v 0.124185 -0.244742 0.385670 +v 0.124185 -0.085255 0.230188 +v 0.124185 -0.117733 -0.118302 +v 0.124185 -0.279252 -0.449195 +v 0.124185 0.002443 -0.475447 +v 0.124185 0.163961 -0.144554 +v 0.124185 0.196439 0.203936 +v 0.124185 0.192102 0.768345 +v 0.124185 0.213945 2.526602 +v 0.124185 0.029418 2.528959 +v 0.099018 0.008483 0.786776 +v 0.124185 0.008785 0.811941 +v 0.124185 0.002699 0.752432 +v 0.099018 -0.240762 0.502620 +v 0.124185 -0.241730 0.474184 +v 0.099018 -0.440488 0.475154 +v 0.124185 -0.441939 0.446899 +v 0.099018 -0.567538 0.466930 +v 0.099018 -0.636476 0.514297 +v 0.124185 -0.613768 0.469834 +v 0.099018 -0.642981 0.368143 +v 0.124185 -0.618771 0.357894 +v 0.099018 -0.664150 -0.107494 +v 0.124185 -0.639191 -0.099525 +v 0.099018 -0.615610 -0.246783 +v 0.164659 -0.719357 -0.350159 +v 0.192885 -0.678672 -0.309620 +v 0.237206 -0.707811 -0.436228 +v 0.164659 -1.562335 -0.529561 +v 0.237206 -1.542649 -0.614472 +v 0.164659 -1.754606 -0.453545 +v 0.237206 -1.742931 -0.536751 +v 0.164659 -1.811685 -0.596396 +v 0.164659 -1.801592 -1.625142 +v 0.237206 -1.802282 -1.554775 +v 0.164659 -1.575586 -1.729347 +v 0.237206 -1.586036 -1.654873 +v 0.164659 -1.290624 -1.701541 +v 0.237206 -1.307623 -1.628219 +v 0.164659 -0.579543 -1.392388 +v 0.164659 -0.393285 -1.366627 +v 0.237206 -0.361413 -1.285084 +v 0.164659 -0.200945 -1.474656 +v 0.237206 -0.589723 -1.316506 +v 0.164659 -0.104538 -2.051939 +v 0.237206 -1.810578 -0.709247 +v 0.237206 -0.647689 -0.338898 +v 0.139561 -0.629724 -0.260846 +v 0.124185 -0.593034 -0.232095 +v 0.124185 -0.568408 0.438734 +v 0.124185 0.033524 0.784262 +v -0.237206 0.073140 -1.706179 +v 0.000000 0.073140 -1.706179 +v -0.237206 0.026845 -1.937500 +v -0.237206 0.095699 -0.284299 +v -0.237206 -0.024013 -1.755874 +v -0.237206 -0.030227 -1.987212 +v -0.164659 -0.094732 -1.686827 +v -0.237206 -0.222860 -1.362254 +v -0.237206 -0.208553 -0.334540 +v -0.164659 -0.214674 -0.261820 +v -0.237206 -0.415199 -0.375721 +v -0.237206 -0.500743 -0.315807 +v -0.164659 -0.429076 -0.304546 +v -0.194589 -0.472976 -0.265565 +v 0.000000 -0.429076 -0.304546 +v 0.000000 -0.545500 -0.201169 +v 0.000000 -0.214674 -0.261820 +v 0.000000 0.094767 -0.210592 +v -0.164659 0.094767 -0.210592 +v -0.124185 -0.545500 -0.201169 +v 0.000000 -0.584470 -0.082052 +v -0.124185 -0.584470 -0.082052 +v 0.000000 -0.571518 0.337890 +v -0.124185 -0.571518 0.337890 +v 0.000000 -0.444468 0.397614 +v -0.124185 -0.444468 0.397614 +v 0.000000 -0.244742 0.385670 +v -0.124185 -0.244742 0.385670 +v 0.000000 -0.085255 0.230188 +v -0.124185 -0.085255 0.230188 +v 0.000000 -0.117733 -0.118302 +v -0.124185 -0.117733 -0.118302 +v 0.000000 -0.279252 -0.449195 +v -0.124185 -0.279252 -0.449195 +v 0.000000 0.002443 -0.475447 +v -0.124185 0.002443 -0.475447 +v 0.000000 0.163961 -0.144554 +v -0.124185 0.163961 -0.144554 +v 0.000000 0.196439 0.203936 +v -0.124185 0.196439 0.203936 +v 0.000000 0.192102 0.768345 +v -0.124185 0.192102 0.768345 +v 0.000000 0.213945 2.526602 +v -0.124185 0.213945 2.526602 +v 0.000000 0.029418 2.528959 +v -0.124185 0.029418 2.528959 +v 0.000000 0.008483 0.786776 +v 0.000000 -0.240762 0.502620 +v -0.099018 0.008483 0.786776 +v -0.124185 0.008785 0.811941 +v -0.124185 0.002699 0.752432 +v -0.099018 -0.240762 0.502620 +v -0.124185 -0.241730 0.474184 +v -0.099018 -0.440488 0.475154 +v -0.124185 -0.441939 0.446899 +v -0.099018 -0.567538 0.466930 +v 0.000000 -0.440488 0.475154 +v 0.000000 -0.567538 0.466930 +v 0.000000 -0.636476 0.514297 +v 0.000000 -0.642981 0.368143 +v -0.099018 -0.636476 0.514297 +v -0.124185 -0.613768 0.469834 +v -0.099018 -0.642981 0.368143 +v -0.124185 -0.618771 0.357894 +v -0.099018 -0.664150 -0.107494 +v -0.124185 -0.639191 -0.099525 +v -0.099018 -0.615610 -0.246783 +v 0.000000 -0.664150 -0.107494 +v 0.000000 -0.615610 -0.246783 +v 0.000000 -0.719357 -0.350159 +v 0.000000 -1.562335 -0.529561 +v -0.164659 -0.719357 -0.350159 +v -0.192885 -0.678672 -0.309620 +v -0.237206 -0.707811 -0.436228 +v -0.164659 -1.562335 -0.529561 +v -0.237206 -1.542649 -0.614472 +v -0.164659 -1.754606 -0.453545 +v -0.237206 -1.742931 -0.536751 +v -0.164659 -1.811685 -0.596396 +v 0.000000 -1.754606 -0.453545 +v 0.000000 -1.811685 -0.596396 +v 0.000000 -1.801592 -1.625142 +v 0.000000 -1.575586 -1.729347 +v -0.164659 -1.801592 -1.625142 +v -0.237206 -1.802282 -1.554775 +v -0.164659 -1.575586 -1.729347 +v -0.237206 -1.586036 -1.654873 +v -0.164659 -1.290624 -1.701541 +v -0.237206 -1.307623 -1.628219 +v -0.164659 -0.579543 -1.392388 +v 0.000000 -1.290624 -1.701541 +v 0.000000 -0.579543 -1.392388 +v 0.000000 -0.393285 -1.366627 +v 0.000000 -0.200945 -1.474656 +v -0.164659 -0.393285 -1.366627 +v -0.237206 -0.361413 -1.285084 +v -0.164659 -0.200945 -1.474656 +v -0.237206 -0.589723 -1.316506 +v 0.000000 -0.094732 -1.686827 +v 0.000000 -0.104538 -2.051939 +v 0.000000 0.026845 -1.937500 +v -0.164659 -0.104538 -2.051939 +v -0.237206 -1.810578 -0.709247 +v -0.237206 -0.647689 -0.338898 +v -0.139561 -0.629724 -0.260846 +v -0.124185 -0.593034 -0.232095 +v -0.124185 -0.568408 0.438734 +v -0.124185 0.033524 0.784262 +v -0.081156 -0.221353 -0.085255 +v -0.081156 -0.221353 -0.206952 +v -0.081156 -0.059041 -0.050284 +v 0.081156 -0.221353 -0.085255 +v -0.081156 -0.367992 -0.064726 +v -0.081156 -0.367992 -0.186423 +v 0.081156 -0.367992 -0.064726 +v -0.081156 -0.514630 0.009986 +v -0.081156 -0.514630 -0.049976 +v 0.081156 -0.514630 0.009986 +v 0.081156 -0.514630 -0.049976 +v 0.081156 -0.367992 -0.186423 +v 0.081156 -0.221353 -0.206952 +v 0.081156 -0.059041 -0.212596 +v -0.081156 -0.059041 -0.212596 +v 0.081156 -0.059041 -0.050284 +v -0.000000 0.754362 2.557954 +v -0.000000 0.725395 2.557955 +v 0.052795 0.745053 2.557954 +v 0.042888 0.717833 2.557955 +v 0.099222 0.718249 2.557955 +v 0.080602 0.696059 2.557955 +v 0.133681 0.677181 2.557955 +v 0.108595 0.662698 2.557955 +v 0.152017 0.626805 2.557955 +v 0.123490 0.621775 2.557955 +v 0.152017 0.573196 2.557955 +v 0.123490 0.578226 2.557955 +v 0.133681 0.522820 2.557955 +v 0.108595 0.537303 2.557955 +v 0.099222 0.481753 2.557955 +v 0.080602 0.503943 2.557955 +v 0.052795 0.454948 2.557955 +v 0.042888 0.482168 2.557955 +v -0.000000 0.445639 2.557955 +v -0.000000 0.474606 2.557955 +v -0.052795 0.454948 2.557955 +v -0.042888 0.482168 2.557955 +v -0.099222 0.481753 2.557955 +v -0.080602 0.503943 2.557955 +v -0.133681 0.522820 2.557955 +v -0.108595 0.537303 2.557955 +v -0.152017 0.573196 2.557955 +v -0.123490 0.578226 2.557955 +v -0.152017 0.626805 2.557955 +v -0.123490 0.621775 2.557955 +v -0.133681 0.677181 2.557955 +v -0.108595 0.662698 2.557955 +v -0.099222 0.718248 2.557955 +v -0.080602 0.696059 2.557955 +v -0.052795 0.745053 2.557954 +v -0.042888 0.717833 2.557955 +v 0.052795 0.745053 2.866678 +v -0.000000 0.754362 2.866678 +v 0.099222 0.718249 2.866678 +v 0.133681 0.677182 2.866678 +v 0.152017 0.626805 2.866678 +v 0.152017 0.573196 2.866678 +v 0.133681 0.522820 2.866678 +v 0.099222 0.481753 2.866678 +v 0.052795 0.454948 2.866678 +v -0.000000 0.445639 2.866678 +v -0.052795 0.454948 2.866678 +v -0.099222 0.481753 2.866678 +v -0.133681 0.522820 2.866678 +v -0.152017 0.573196 2.866678 +v -0.152017 0.626805 2.866678 +v -0.133681 0.677181 2.866678 +v -0.099222 0.718249 2.866678 +v -0.052795 0.745053 2.866678 +v 0.042888 0.717833 2.866678 +v -0.000000 0.725395 2.866678 +v 0.080602 0.696059 2.866678 +v 0.108595 0.662698 2.866678 +v 0.123490 0.621775 2.866678 +v 0.123490 0.578226 2.866678 +v 0.108595 0.537303 2.866678 +v 0.080602 0.503943 2.866678 +v 0.042888 0.482168 2.866678 +v -0.000000 0.474606 2.866678 +v -0.042888 0.482168 2.866678 +v -0.080602 0.503943 2.866678 +v -0.108595 0.537303 2.866678 +v -0.123490 0.578226 2.866678 +v -0.123490 0.621775 2.866678 +v -0.108595 0.662698 2.866678 +v -0.080602 0.696059 2.866678 +v -0.042888 0.717833 2.866678 +v 0.048367 0.898367 2.531633 +v 0.048367 0.958367 2.708366 +v 0.048367 0.881634 2.571633 +v -0.048367 0.898367 2.531633 +v -0.048367 0.958367 2.708366 +v -0.048367 0.881634 2.571633 +v -0.048367 0.881634 2.708366 +v -0.048367 0.851634 2.571633 +v -0.048367 0.851634 2.708366 +v 0.048367 0.851634 2.571633 +v 0.048367 0.851634 2.708366 +v 0.048367 0.881634 2.708366 +v 0.048367 0.885202 2.728366 +v 0.048367 0.934799 2.728366 +v -0.048367 0.885202 2.728366 +v -0.048367 0.934799 2.728366 +vt 0.500000 0.000000 +vt 0.500000 0.125000 +vt 0.375000 0.125000 +vt 0.375000 0.625000 +vt 0.375000 0.750000 +vt 0.125000 0.750000 +vt 0.500000 0.750000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.125000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.500000 0.625000 +vt 0.625000 0.625000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.875000 0.500000 +vt 0.875000 0.625000 +vt 0.875000 0.750000 +vt 0.125000 0.625000 +vt 0.957846 0.370000 +vt 0.513646 0.208324 +vt 0.542154 0.370000 +vt 1.000000 1.000000 +vt 0.944444 1.000000 +vt 0.944444 0.500000 +vt 0.055555 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.111111 0.500000 +vt 0.111111 1.000000 +vt 0.888889 1.000000 +vt 0.888889 0.500000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.166666 1.000000 +vt 0.777778 1.000000 +vt 0.777778 0.500000 +vt 0.222222 0.500000 +vt 0.222222 1.000000 +vt 0.166666 0.500000 +vt 0.277778 0.500000 +vt 0.277778 1.000000 +vt 0.333333 0.500000 +vt 0.333333 1.000000 +vt 0.722222 1.000000 +vt 0.722222 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.611111 1.000000 +vt 0.611111 0.500000 +vt 0.388889 1.000000 +vt 0.555555 1.000000 +vt 0.444444 1.000000 +vt 0.388889 0.500000 +vt 0.444444 0.500000 +vt 0.555555 0.500000 +vt 0.375000 0.000000 +vt 0.440876 0.000000 +vt 0.440876 0.057601 +vt 0.375000 0.057601 +vt 0.440876 0.750000 +vt 0.440876 1.000000 +vt 0.375000 0.692399 +vt 0.125000 0.692399 +vt 0.440876 0.500000 +vt 0.440876 0.692399 +vt 0.625000 0.692399 +vt 0.875000 0.692399 +vt 0.625000 0.057601 +vt 0.440876 0.250000 +vt 0.750000 0.750000 +vt 0.663230 0.750000 +vt 0.625000 0.737679 +vt 0.750000 0.500000 +vt 0.604234 0.500000 +vt 0.608352 0.500000 +vt 0.586676 0.737242 +vt 0.586676 0.461770 +vt 0.599010 0.506053 +vt 0.566086 0.524015 +vt 0.566086 0.461770 +vt 0.566086 0.788230 +vt 0.566086 0.734793 +vt 0.586676 0.788230 +vt 0.566086 0.750000 +vt 0.542497 0.750000 +vt 0.532159 0.530792 +vt 0.470543 0.729355 +vt 0.566086 0.875000 +vt 0.586676 0.875000 +vt 0.625000 0.788230 +vt 0.625000 0.875000 +vt 0.566086 0.775332 +vt 0.470543 0.875000 +vt 0.470543 0.775332 +vt 0.503644 0.750000 +vt 0.502911 0.750000 +vt 0.501308 0.750000 +vt 0.470543 0.788230 +vt 0.470543 0.750000 +vt 0.422771 0.875000 +vt 0.470176 0.750000 +vt 0.494131 0.750000 +vt 0.422771 0.788230 +vt 0.422771 0.731887 +vt 0.375000 0.788230 +vt 0.375000 0.733695 +vt 0.375000 0.875000 +vt 0.375000 0.722576 +vt 0.375000 0.517100 +vt 0.250000 0.500000 +vt 0.375000 0.461770 +vt 0.375000 0.375000 +vt 0.375000 0.514594 +vt 0.422771 0.515641 +vt 0.422772 0.375000 +vt 0.422771 0.461770 +vt 0.470543 0.461770 +vt 0.470543 0.375000 +vt 0.518314 0.375000 +vt 0.518314 0.461770 +vt 0.566086 0.375000 +vt 0.470543 0.518202 +vt 0.586676 0.375000 +vt 0.625000 0.375000 +vt 0.500471 0.750000 +vt 0.250000 0.750000 +vt 0.081158 0.152519 +vt 0.316681 0.066795 +vt 0.442001 0.283855 +vt 0.595731 0.066149 +vt 0.316681 0.433205 +vt 0.332085 0.475526 +vt 0.250000 0.490000 +vt 0.375319 0.399350 +vt 0.404269 0.433851 +vt 0.418843 0.347481 +vt 0.457846 0.370000 +vt 0.486354 0.291676 +vt 0.442001 0.216145 +vt 0.486354 0.208324 +vt 0.418843 0.152519 +vt 0.457846 0.130000 +vt 0.375319 0.100650 +vt 0.404269 0.066149 +vt 0.332085 0.024474 +vt 0.250000 0.055037 +vt 0.250000 0.010000 +vt 0.183319 0.066795 +vt 0.167915 0.024474 +vt 0.124680 0.100650 +vt 0.095731 0.066149 +vt 0.042154 0.130000 +vt 0.057999 0.216145 +vt 0.013646 0.208324 +vt 0.057999 0.283855 +vt 0.013646 0.291675 +vt 0.081157 0.347481 +vt 0.042154 0.370000 +vt 0.124680 0.399350 +vt 0.095731 0.433851 +vt 0.183319 0.433205 +vt 0.167915 0.475526 +vt 0.250000 0.444963 +vt 0.125000 0.500000 +vt 0.667915 0.475526 +vt 0.750000 0.490000 +vt 0.832085 0.475526 +vt 0.904269 0.433851 +vt 0.986354 0.291676 +vt 0.986354 0.208324 +vt 0.957846 0.130000 +vt 0.904269 0.066149 +vt 0.832085 0.024474 +vt 0.750000 0.010000 +vt 0.667915 0.024474 +vt 0.542154 0.130000 +vt 0.513646 0.291675 +vt 0.595731 0.433851 +vt 1.000000 0.500000 +vt 0.055555 0.500000 +vt 0.602253 0.489575 +vt 0.336770 0.500000 +vt 0.336770 0.750000 +vn -1.000000 -0.000000 0.000000 +vn 0.000000 -0.441500 -0.897200 +vn 0.000000 -0.363800 -0.931500 +vn 0.000000 -0.431600 0.902100 +vn 1.000000 -0.000000 0.000000 +vn 0.000000 0.459400 -0.888200 +vn 0.000000 0.944100 -0.329700 +vn 0.000000 0.931300 0.364300 +vn 0.000000 0.976900 0.213600 +vn 0.000000 0.998300 0.057500 +vn 0.000000 -0.516000 -0.856600 +vn -0.000000 -0.000000 -1.000000 +vn -0.000000 1.000000 -0.000000 +vn 0.341800 0.939800 -0.001300 +vn 0.342000 0.939700 -0.000000 +vn -0.341800 0.939800 -0.001300 +vn -0.642300 0.766500 -0.001200 +vn -0.637400 0.770500 -0.005600 +vn -0.000000 0.344600 0.938800 +vn -0.000000 0.305800 0.952100 +vn 0.000000 0.000000 1.000000 +vn 0.637400 0.770500 -0.005600 +vn 0.642300 0.766500 -0.001200 +vn 0.862200 0.506400 -0.009700 +vn 0.865700 0.500600 -0.003400 +vn 0.000000 0.404600 0.914500 +vn 0.989600 0.143700 -0.004100 +vn 0.985000 0.172300 -0.002300 +vn -0.000000 0.462300 0.886700 +vn -0.985000 0.172300 -0.002300 +vn -0.989600 0.143700 -0.004100 +vn -0.862200 0.506400 -0.009700 +vn -0.865700 0.500600 -0.003400 +vn -0.983600 -0.180200 0.011000 +vn -0.967300 -0.253000 0.018500 +vn -0.861300 -0.506900 0.035500 +vn -0.782800 -0.620100 0.052500 +vn -0.000000 0.570100 0.821500 +vn -0.000000 0.766500 0.642200 +vn 0.967300 -0.253000 0.018500 +vn 0.983600 -0.180200 0.011000 +vn 0.782800 -0.620100 0.052500 +vn 0.861300 -0.506900 0.035500 +vn 0.568400 -0.819600 0.071700 +vn 0.634700 -0.770200 0.063400 +vn -0.000000 0.901600 0.432600 +vn 0.308700 -0.939100 0.150900 +vn -0.308700 -0.939100 0.150900 +vn -0.568400 -0.819600 0.071700 +vn -0.634700 -0.770200 0.063400 +vn 0.000000 -0.995400 0.095400 +vn -0.363900 -0.930500 0.042300 +vn 0.363900 -0.930500 0.042300 +vn -1.000000 -0.009900 0.000100 +vn -0.995600 0.094100 0.000300 +vn -0.995400 0.095300 0.000000 +vn -1.000000 0.003300 -0.000600 +vn -0.980400 -0.196900 -0.003500 +vn -0.981000 -0.193900 -0.001200 +vn 0.000000 -0.374600 0.927200 +vn 0.000000 -0.268600 0.963300 +vn 0.000000 -0.176700 0.984300 +vn -0.670000 -0.742300 -0.013100 +vn -0.574200 -0.818600 -0.014400 +vn 0.000000 -0.017600 0.999800 +vn -0.242200 -0.970100 -0.017100 +vn 0.670000 -0.742300 -0.013100 +vn 0.574200 -0.818600 -0.014400 +vn 0.242200 -0.970100 -0.017100 +vn 0.000000 0.017600 -0.999800 +vn 0.000000 -0.010200 -0.999900 +vn 1.000000 0.003300 -0.000600 +vn 1.000000 -0.009900 0.000100 +vn 0.981000 -0.193900 -0.001200 +vn 0.000000 -0.021800 -0.999800 +vn 0.000000 -1.000000 -0.001100 +vn 0.995300 0.096900 -0.000300 +vn 0.995400 0.095300 0.000000 +vn 0.995600 0.094100 0.000300 +vn 0.995900 0.090000 -0.000300 +vn 0.996100 0.088300 -0.000100 +vn 0.995300 0.097200 -0.000900 +vn 0.411800 0.911200 -0.008200 +vn 0.788000 -0.615700 0.005600 +vn 0.000000 1.000000 -0.009100 +vn -0.788000 -0.615700 0.005600 +vn 0.000000 0.020300 0.999800 +vn 0.000000 0.009100 1.000000 +vn 0.000000 0.019000 0.999800 +vn 0.000000 0.050500 0.998700 +vn -0.411800 0.911200 -0.008200 +vn -0.996100 0.088300 -0.000100 +vn -0.995900 0.090000 -0.000300 +vn -0.995300 0.097200 -0.000900 +vn -0.995300 0.096900 -0.000300 +vn 0.000000 -0.014700 -0.999900 +vn 0.000000 -0.013600 -0.999900 +vn 0.000000 -0.019000 -0.999800 +vn 0.000000 -0.020300 -0.999800 +vn 0.000000 -0.009000 -1.000000 +vn 0.000000 -1.000000 0.009100 +vn 0.000000 -0.009100 -1.000000 +vn -0.000000 1.000000 -0.009300 +vn 0.000000 0.999900 0.012600 +vn -0.006100 0.999900 -0.008900 +vn 0.000000 0.994300 -0.106500 +vn 0.000000 0.980600 -0.196200 +vn 0.707100 -0.706900 0.019000 +vn 0.402800 -0.818000 -0.410700 +vn 0.394200 -0.820300 -0.414400 +vn 0.248500 -0.865300 -0.435300 +vn 0.706900 -0.138200 0.693600 +vn 0.707000 -0.138200 0.693600 +vn 0.707500 -0.127100 0.695100 +vn 0.707600 -0.126200 0.695200 +vn 0.708600 -0.115200 0.696200 +vn 0.646300 0.575500 0.501100 +vn 0.702500 0.676200 0.222200 +vn 0.643700 0.571700 0.508800 +vn 0.000000 0.664000 0.747800 +vn 0.000000 -0.179400 0.983800 +vn 0.000000 -0.195400 0.980700 +vn 0.000000 -0.163300 0.986600 +vn 0.000000 0.950400 0.310900 +vn 0.000000 0.989800 0.142200 +vn 0.000000 0.999500 -0.030800 +vn 0.000000 0.425400 -0.905000 +vn 0.000000 0.188700 -0.982000 +vn 0.000000 -0.059700 -0.998200 +vn 0.000000 -0.698100 -0.716000 +vn 0.000000 -0.995700 0.092800 +vn 0.000000 -0.962800 0.270100 +vn 0.000000 -0.898700 0.438700 +vn 0.000000 -0.092800 -0.995700 +vn 0.000000 0.962800 -0.270100 +vn 0.000000 0.898700 -0.438700 +vn 0.000000 0.999100 -0.042600 +vn 0.000000 1.000000 -0.002400 +vn 0.000000 0.999900 -0.012400 +vn 0.000000 0.012800 0.999900 +vn 0.000000 -0.999900 0.012000 +vn 0.000000 -0.751800 0.659400 +vn 0.692000 -0.699000 0.180400 +vn 0.595800 -0.597000 0.537300 +vn 0.706400 -0.707300 0.026200 +vn 0.582800 -0.610500 0.536300 +vn 0.582600 -0.610600 0.536400 +vn 0.743400 -0.068600 0.665300 +vn 0.743500 -0.065100 0.665600 +vn 0.743900 -0.091000 0.662100 +vn 0.000000 -0.100500 0.994900 +vn 0.000000 -0.136200 0.990700 +vn 0.732600 0.211400 0.647000 +vn 0.000000 -0.064600 0.997900 +vn 0.000000 0.566300 0.824200 +vn 0.000000 -0.999000 0.044500 +vn 0.686900 0.411600 0.599000 +vn 0.686700 0.411500 0.599200 +vn 0.699900 -0.713600 0.031800 +vn 0.699900 -0.713500 0.031800 +vn 0.699700 -0.713800 0.031800 +vn 0.699600 -0.713800 0.031800 +vn 0.717200 -0.688200 -0.109500 +vn 0.000000 -0.989400 -0.144900 +vn 0.720500 -0.654800 -0.228200 +vn 0.720600 -0.654700 -0.228100 +vn 0.000000 -0.944300 -0.329100 +vn -0.000000 -0.705800 0.708400 +vn 0.015900 -0.682400 0.730800 +vn 0.000000 -0.208200 0.978100 +vn 0.626400 -0.690800 0.361200 +vn 0.604500 -0.677700 0.418600 +vn 0.627300 -0.691300 0.358600 +vn 0.747800 0.089100 0.657900 +vn 0.756700 0.028900 0.653200 +vn 0.766700 -0.133700 0.628000 +vn 0.709700 0.259000 0.655100 +vn 0.708300 0.258400 0.657000 +vn 0.000000 0.367700 0.930000 +vn 0.501600 -0.804700 0.317500 +vn 0.503100 -0.804600 0.315500 +vn 0.500100 -0.804900 0.319500 +vn 0.000000 -0.928600 0.371000 +vn 0.000000 -0.982900 0.184100 +vn 0.000000 -0.988000 0.154200 +vn 0.000000 -1.000000 -0.009800 +vn 0.000000 -0.418700 -0.908100 +vn 0.697700 -0.151100 -0.700300 +vn 0.659000 -0.315900 -0.682500 +vn 0.658600 -0.315900 -0.683000 +vn 0.720100 0.175400 -0.671400 +vn 0.705800 -0.096700 -0.701800 +vn 0.000000 0.251000 -0.968000 +vn 0.000000 0.097100 -0.995300 +vn 0.719900 0.173100 -0.672200 +vn 0.722100 0.193300 -0.664300 +vn 0.000000 0.270400 -0.962800 +vn 0.000000 0.137000 -0.990600 +vn 0.000000 -0.489700 -0.871900 +vn 0.768400 -0.312800 -0.558300 +vn 0.765800 -0.133700 -0.629100 +vn 0.762500 -0.095900 -0.639900 +vn 0.722800 0.181300 -0.666900 +vn 0.000000 -0.894200 -0.447600 +vn 0.000000 -0.976200 -0.216900 +vn 0.000000 -0.999600 0.026800 +vn 0.000000 0.656800 -0.754100 +vn 0.658700 -0.180500 0.730400 +vn 0.711000 -0.231900 0.663800 +vn 0.733300 -0.265400 0.626000 +vn 0.069300 -0.597200 0.799100 +vn 0.022300 -0.672800 0.739500 +vn 0.006100 0.999900 -0.008900 +vn -0.000000 0.994300 -0.106400 +vn -0.707100 -0.706900 0.019000 +vn -0.402800 -0.818000 -0.410700 +vn -0.186200 -0.932000 -0.311100 +vn -0.248500 -0.865300 -0.435300 +vn -0.707500 -0.127100 0.695100 +vn -0.707000 -0.138200 0.693600 +vn -0.706900 -0.138200 0.693600 +vn -0.708600 -0.115200 0.696200 +vn -0.707600 -0.126200 0.695200 +vn -0.643700 0.571700 0.508800 +vn -0.702500 0.676200 0.222200 +vn -0.646300 0.575500 0.501100 +vn -0.692000 -0.699000 0.180400 +vn -0.559600 -0.617900 -0.552300 +vn -0.706400 -0.707300 0.026200 +vn -0.595800 -0.597000 0.537300 +vn -0.582600 -0.610600 0.536400 +vn -0.582800 -0.610500 0.536300 +vn -0.743900 -0.091000 0.662100 +vn -0.743500 -0.065100 0.665600 +vn -0.743400 -0.068600 0.665300 +vn -0.732600 0.211400 0.647000 +vn -0.739000 0.159000 0.654700 +vn -0.686700 0.411500 0.599200 +vn -0.699700 -0.713800 0.031800 +vn -0.699900 -0.713500 0.031800 +vn -0.699900 -0.713600 0.031800 +vn -0.717200 -0.688200 -0.109500 +vn -0.699600 -0.713800 0.031800 +vn -0.715500 -0.692800 -0.089900 +vn -0.720600 -0.654700 -0.228100 +vn -0.022300 -0.672800 0.739500 +vn -0.015900 -0.682400 0.730800 +vn -0.626400 -0.690800 0.361200 +vn -0.660400 -0.707900 0.250600 +vn -0.627300 -0.691300 0.358600 +vn -0.766700 -0.133700 0.628000 +vn -0.756700 0.028900 0.653200 +vn -0.747800 0.089100 0.657900 +vn -0.708300 0.258400 0.657000 +vn -0.500100 -0.804900 0.319500 +vn -0.503100 -0.804600 0.315500 +vn -0.501600 -0.804700 0.317500 +vn -0.697700 -0.151100 -0.700300 +vn -0.705800 -0.096700 -0.701800 +vn -0.658600 -0.315900 -0.683000 +vn -0.720100 0.175400 -0.671400 +vn -0.719900 0.173100 -0.672200 +vn -0.722100 0.193300 -0.664300 +vn -0.768400 -0.312800 -0.558300 +vn -0.769000 -0.313000 -0.557400 +vn -0.762500 -0.095900 -0.639900 +vn -0.722800 0.181300 -0.666900 +vn -0.733300 -0.265400 0.626000 +vn -0.711000 -0.231900 0.663800 +vn -0.658700 -0.180500 0.730400 +vn -0.069300 -0.597200 0.799100 +vn 0.000000 -0.210600 0.977600 +vn 0.000000 -0.036600 0.999300 +vn 0.000000 0.300400 0.953800 +vn 0.000000 0.454000 0.891000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 -0.681200 -0.732100 +vn 0.000000 -0.086800 -0.996200 +vn 0.000000 -0.138600 -0.990300 +vn 0.000000 -0.034700 -0.999400 +vn 0.642800 0.766000 -0.000000 +vn 0.866000 0.500000 -0.000000 +vn 0.984800 0.173600 0.000000 +vn 0.984800 -0.173600 0.000000 +vn 0.866000 -0.500000 0.000000 +vn 0.642800 -0.766000 0.000000 +vn 0.342000 -0.939700 0.000000 +vn -0.342000 -0.939700 0.000000 +vn -0.642800 -0.766000 0.000000 +vn -0.866000 -0.500000 0.000000 +vn -0.984800 -0.173600 0.000000 +vn -0.984800 0.173600 -0.000000 +vn -0.866000 0.500000 -0.000000 +vn -0.642800 0.766000 -0.000000 +vn -0.342000 0.939700 -0.000000 +vn 0.000000 -0.946900 0.321500 +vn 0.000000 0.922500 0.385900 +vn 0.000000 0.984500 -0.175600 +vn 0.000000 -0.647000 -0.762500 +vn -0.173600 -0.984800 0.000000 +vn 0.173600 -0.984800 0.000000 +vn 0.980400 -0.196900 -0.003500 +vn 0.995300 0.097300 0.000100 +vn -0.995300 0.097300 0.000100 +vn 0.186200 -0.932000 -0.311100 +vn 0.708700 -0.115200 0.696100 +vn 0.570100 0.471300 0.673000 +vn 0.559600 -0.617900 -0.552300 +vn 0.744200 -0.091000 0.661700 +vn 0.739000 0.159000 0.654700 +vn 0.715500 -0.692800 -0.089900 +vn 0.660400 -0.707900 0.250600 +vn 0.766500 -0.133700 0.628200 +vn 0.498500 -0.805000 0.321700 +vn 0.769000 -0.313000 -0.557400 +vn 0.652200 -0.180000 0.736400 +vn 0.605600 -0.123500 0.786100 +vn 0.798900 -0.328000 0.504100 +vn -0.394200 -0.820300 -0.414400 +vn -0.708700 -0.115200 0.696100 +vn -0.570100 0.471300 0.673000 +vn -0.744200 -0.091000 0.661700 +vn -0.686900 0.411600 0.599000 +vn -0.720500 -0.654800 -0.228200 +vn -0.604500 -0.677700 0.418600 +vn -0.766500 -0.133700 0.628200 +vn -0.709700 0.259000 0.655100 +vn -0.498500 -0.805000 0.321700 +vn -0.659000 -0.315900 -0.682500 +vn -0.765800 -0.133700 -0.629100 +vn -0.605600 -0.123500 0.786100 +vn -0.652200 -0.180000 0.736400 +vn -0.798900 -0.328000 0.504100 +s 1 +f 4/1/1 6/2/1 2/3/1 +f 10/4/2 3/5/3 1/6/3 +f 7/7/4 4/8/4 1/9/4 +f 5/10/1 18/11/1 6/2/1 +f 8/12/4 5/13/4 4/8/4 +f 10/4/5 9/14/5 7/7/5 +f 9/14/5 11/15/5 8/12/5 +f 13/16/5 12/17/5 9/14/5 +f 14/18/5 11/15/5 9/14/5 +f 15/19/6 12/17/6 13/16/6 +f 17/20/7 14/18/7 12/17/7 +f 6/2/1 15/19/1 16/21/1 +f 6/2/1 18/11/1 17/20/1 +f 17/22/8 18/23/9 11/15/9 +f 18/23/9 5/24/10 8/12/10 +f 13/16/11 10/4/2 2/25/2 +f 30/26/12 36/27/12 34/28/12 +f 21/29/13 26/30/14 20/31/15 +f 24/32/16 21/33/13 19/34/13 +f 23/35/17 25/36/18 24/32/16 +f 27/37/19 26/30/20 24/32/20 +f 21/33/21 24/32/20 26/30/20 +f 26/30/14 27/37/22 28/38/23 +f 27/37/22 29/39/24 30/40/25 +f 27/37/19 25/36/19 32/41/26 +f 29/39/24 31/42/27 54/43/28 +f 31/42/29 29/39/26 32/41/26 +f 35/44/30 33/45/31 32/41/32 +f 34/46/33 32/41/32 25/36/18 +f 36/47/34 38/48/35 33/45/31 +f 37/49/36 39/50/37 38/48/35 +f 40/51/38 38/48/38 39/50/39 +f 31/42/29 33/45/29 38/48/38 +f 31/42/27 40/51/40 41/52/41 +f 40/51/40 42/53/42 43/54/43 +f 42/53/42 44/55/44 45/56/45 +f 42/53/39 39/50/39 47/57/46 +f 45/56/45 44/55/44 46/58/47 +f 44/55/21 47/57/21 48/59/21 +f 48/59/48 47/57/49 49/60/50 +f 49/60/50 47/57/49 39/50/37 +f 53/8/51 48/59/48 50/61/52 +f 52/62/53 46/58/47 53/8/51 +f 53/8/51 46/58/47 48/59/48 +f 55/63/54 58/64/55 104/65/56 +f 56/66/57 60/66/58 59/63/59 +f 55/9/60 59/9/61 61/5/61 +f 57/5/60 73/67/62 58/68/62 +f 59/63/63 60/66/63 64/66/64 +f 59/9/61 62/9/65 65/5/65 +f 64/66/64 112/66/66 63/63/66 +f 62/9/65 63/9/65 66/5/65 +f 61/5/67 65/5/68 67/69/68 +f 67/69/68 65/5/68 66/5/69 +f 67/69/70 68/69/70 112/70/70 +f 69/69/71 67/69/70 64/70/70 +f 70/69/72 57/5/73 61/5/74 +f 70/69/75 69/69/71 60/70/71 +f 71/16/76 70/69/76 56/70/76 +f 74/71/77 72/72/78 70/69/72 +f 72/72/78 73/67/79 57/5/73 +f 72/72/78 75/73/80 76/12/81 +f 74/71/77 77/18/82 75/73/80 +f 75/73/83 78/73/83 79/12/83 +f 77/18/83 80/18/83 78/73/83 +f 78/73/5 81/73/5 82/12/5 +f 80/18/5 83/18/5 81/73/5 +f 81/73/84 84/73/84 85/12/84 +f 83/18/84 86/18/84 84/73/84 +f 84/73/5 87/73/5 88/12/5 +f 84/73/5 86/18/5 89/18/5 +f 90/74/85 92/24/85 88/12/85 +f 91/22/85 90/74/85 87/73/85 +f 93/75/1 90/75/1 91/20/1 +f 93/75/1 95/10/1 92/10/1 +f 96/75/86 93/75/86 94/20/86 +f 99/10/86 95/10/86 93/75/86 +f 97/75/1 100/10/1 99/10/1 +f 107/20/1 97/75/1 96/75/1 +f 82/12/87 85/12/88 95/13/88 +f 79/12/89 82/12/87 99/13/87 +f 76/12/90 79/12/89 100/13/89 +f 102/75/91 101/10/91 100/10/91 +f 101/10/92 102/75/93 104/65/56 +f 76/12/90 101/13/90 58/68/62 +f 102/75/91 97/75/91 107/20/91 +f 102/75/93 103/20/94 105/76/95 +f 56/66/57 104/65/56 105/76/95 +f 106/21/96 105/76/96 74/71/96 +f 103/20/97 77/18/97 74/71/96 +f 103/20/97 107/20/98 80/18/98 +f 107/20/98 98/20/99 83/18/99 +f 98/20/99 94/20/100 86/18/100 +f 85/12/88 88/12/88 92/13/88 +f 94/20/101 108/20/101 109/18/101 +f 91/20/1 110/20/1 108/20/1 +f 108/20/102 110/20/102 111/18/102 +f 89/18/85 111/18/85 110/22/85 +f 86/18/5 109/18/5 111/18/5 +f 68/69/69 66/5/69 63/6/66 +f 199/77/103 126/78/104 115/79/105 +f 113/18/106 114/18/107 282/80/107 +f 116/81/5 117/82/5 114/18/5 +f 113/18/5 115/79/5 120/83/5 +f 116/81/108 118/84/108 175/84/108 +f 116/85/109 119/86/110 173/87/111 +f 119/86/5 116/85/5 120/83/5 +f 124/88/112 122/89/113 120/83/114 +f 121/90/115 120/83/114 115/79/116 +f 124/91/117 125/91/118 123/92/119 +f 172/93/5 122/89/5 158/94/5 +f 196/95/120 197/95/120 127/91/120 +f 121/90/121 198/96/121 196/95/122 +f 126/97/123 199/98/123 198/96/121 +f 197/95/124 202/95/125 128/91/125 +f 202/95/125 204/95/126 129/91/126 +f 204/95/127 206/95/128 130/91/128 +f 206/95/128 208/95/129 131/91/129 +f 208/95/130 210/95/130 132/91/130 +f 210/95/131 212/95/132 133/91/132 +f 212/95/132 214/95/133 134/91/133 +f 214/95/134 216/95/134 135/91/134 +f 136/91/135 135/91/136 216/95/136 +f 137/91/137 136/91/135 218/95/135 +f 220/95/137 222/95/138 138/91/138 +f 222/95/138 224/95/139 139/91/139 +f 140/91/140 139/91/140 224/95/140 +f 142/91/141 140/91/141 226/95/141 +f 144/99/142 141/99/142 228/95/142 +f 141/99/143 143/91/144 181/91/145 +f 144/99/146 145/91/147 143/91/144 +f 146/99/148 147/91/149 145/91/150 +f 146/99/151 144/99/152 229/95/152 +f 147/91/149 146/99/148 148/99/153 +f 148/99/154 146/99/151 238/95/151 +f 148/99/155 239/95/155 240/100/155 +f 151/101/156 149/101/156 240/100/156 +f 148/99/153 149/101/157 150/102/158 +f 150/102/159 149/101/160 151/101/161 +f 152/103/162 151/101/161 153/101/163 +f 153/101/164 151/101/156 241/100/156 +f 153/101/163 155/101/165 179/104/166 +f 155/101/167 153/101/164 249/100/164 +f 156/105/168 178/106/169 251/100/168 +f 156/105/170 251/100/170 252/107/170 +f 156/105/171 158/108/172 177/109/173 +f 159/110/174 160/111/175 158/94/176 +f 159/110/174 161/112/177 162/113/178 +f 159/110/179 252/107/179 261/114/179 +f 163/112/180 176/115/181 162/113/182 +f 261/114/183 262/114/184 163/112/185 +f 165/116/186 176/115/186 263/117/186 +f 166/118/187 164/118/187 263/119/187 +f 167/120/188 165/116/189 164/118/190 +f 169/121/191 167/120/188 166/118/192 +f 272/122/193 168/123/193 166/118/194 +f 169/121/191 168/123/195 170/124/196 +f 168/123/193 272/122/193 273/125/197 +f 274/126/198 171/127/198 170/124/197 +f 275/128/199 173/87/199 171/127/199 +f 119/86/200 172/93/201 171/127/202 +f 174/129/203 170/124/196 171/127/202 +f 173/87/111 275/128/204 280/130/205 +f 174/129/5 158/94/5 160/111/5 +f 280/130/205 281/130/206 175/84/206 +f 282/131/207 117/82/207 175/84/207 +f 167/120/5 169/121/5 160/111/5 +f 167/120/5 162/113/5 176/115/5 +f 123/92/208 125/91/209 179/104/210 +f 179/104/211 155/106/212 178/106/169 +f 127/91/5 128/91/5 154/132/5 +f 154/132/5 128/91/5 129/91/5 +f 152/103/5 129/91/5 180/91/5 +f 180/91/5 129/91/5 130/91/5 +f 147/91/5 130/91/5 131/91/5 +f 145/91/5 131/91/5 132/91/5 +f 143/91/5 137/91/5 138/91/5 +f 138/91/5 139/91/5 142/91/5 +f 132/91/5 133/91/5 136/91/5 +f 133/91/5 134/91/5 135/91/5 +f 185/79/213 199/77/103 183/80/214 +f 282/80/107 184/18/107 182/18/106 +f 184/18/1 187/82/1 186/81/1 +f 190/83/1 185/79/1 182/18/1 +f 283/84/215 188/84/215 186/81/215 +f 186/85/216 188/84/217 278/87/218 +f 189/86/1 192/89/1 190/83/1 +f 190/83/219 192/89/220 194/88/221 +f 185/79/222 190/83/219 191/90/223 +f 193/92/224 195/91/225 194/91/226 +f 255/94/1 192/89/1 277/93/1 +f 201/91/120 196/95/120 194/88/120 +f 196/95/122 198/96/121 191/90/121 +f 198/96/121 199/98/123 200/97/123 +f 203/91/125 202/95/125 197/95/124 +f 205/91/126 204/95/126 202/95/125 +f 207/91/128 206/95/128 204/95/127 +f 209/91/129 208/95/129 206/95/128 +f 211/91/130 210/95/130 208/95/130 +f 213/91/132 212/95/132 210/95/131 +f 215/91/133 214/95/133 212/95/132 +f 217/91/134 216/95/134 214/95/134 +f 216/95/136 217/91/136 219/91/135 +f 218/95/135 219/91/135 221/91/137 +f 223/91/138 222/95/138 220/95/137 +f 225/91/139 224/95/139 222/95/138 +f 224/95/140 225/91/140 227/91/140 +f 226/95/141 231/91/141 228/95/141 +f 228/95/142 230/99/142 233/99/142 +f 230/99/227 231/91/228 289/91/229 +f 232/91/230 234/91/231 233/99/232 +f 234/91/233 236/91/234 235/99/235 +f 229/95/152 233/99/152 235/99/151 +f 237/99/236 235/99/235 236/91/234 +f 238/95/151 235/99/151 237/99/154 +f 240/100/155 239/95/155 237/99/155 +f 240/100/156 242/101/156 244/101/156 +f 237/99/236 288/91/237 243/102/238 +f 244/101/239 242/101/240 243/102/241 +f 246/101/242 244/101/239 245/103/243 +f 241/100/156 244/101/156 246/101/164 +f 246/101/242 247/132/244 287/104/245 +f 249/100/164 246/101/164 248/101/167 +f 248/101/246 286/106/247 251/100/168 +f 252/107/170 251/100/170 253/105/170 +f 253/105/248 254/106/249 285/109/250 +f 255/94/251 257/111/252 256/110/253 +f 256/110/253 257/111/252 259/113/254 +f 261/114/179 252/107/179 256/110/179 +f 259/113/255 284/115/256 260/112/257 +f 260/112/185 262/114/184 261/114/183 +f 262/133/184 284/115/186 263/117/186 +f 263/119/187 265/118/187 267/118/187 +f 268/120/258 267/118/259 265/118/260 +f 270/121/261 269/123/262 267/118/259 +f 267/118/194 269/123/193 272/122/193 +f 271/124/263 269/123/262 270/121/261 +f 273/125/197 272/122/193 269/123/193 +f 271/124/197 276/127/198 274/126/198 +f 276/127/199 278/87/199 275/128/199 +f 189/86/264 278/87/265 276/127/266 +f 276/127/266 271/124/263 279/129/267 +f 280/130/205 275/128/204 278/87/218 +f 257/111/1 255/94/1 279/129/1 +f 283/84/206 281/130/206 280/130/205 +f 187/82/207 184/18/207 282/131/207 +f 268/120/1 259/113/1 257/111/1 +f 268/120/1 266/116/1 284/115/1 +f 287/104/268 195/91/269 193/92/270 +f 287/104/271 286/106/247 248/106/246 +f 247/132/1 203/91/1 201/91/1 +f 247/132/1 245/103/1 205/91/1 +f 245/103/1 243/102/1 288/91/1 +f 288/91/1 236/91/1 207/91/1 +f 236/91/1 234/91/1 209/91/1 +f 234/91/1 232/91/1 211/91/1 +f 221/91/1 211/91/1 232/91/1 +f 225/91/1 223/91/1 231/91/1 +f 219/91/1 213/91/1 211/91/1 +f 217/91/1 215/91/1 213/91/1 +f 290/63/1 291/21/1 295/21/1 +f 290/63/1 292/10/1 304/20/1 +f 305/12/272 292/13/272 290/9/273 +f 290/9/273 294/9/274 296/5/274 +f 294/63/1 295/21/1 298/21/1 +f 294/9/274 297/9/275 299/5/275 +f 300/16/276 299/5/276 297/6/276 +f 296/5/5 299/5/5 300/16/5 +f 301/16/277 300/16/277 298/21/277 +f 302/16/278 301/16/279 295/21/279 +f 293/5/5 296/5/5 301/16/5 +f 304/20/280 303/18/280 302/16/278 +f 303/18/5 305/12/5 293/5/5 +f 304/22/13 292/24/13 305/12/13 +f 343/29/13 342/30/15 308/31/15 +f 342/30/15 344/37/281 310/38/281 +f 310/38/281 344/37/281 345/39/282 +f 345/39/282 346/42/283 314/43/283 +f 346/42/283 347/51/284 316/52/284 +f 347/51/284 348/53/285 318/54/285 +f 318/54/285 348/53/285 349/55/286 +f 349/55/286 350/58/287 322/62/287 +f 350/58/287 351/8/276 324/17/276 +f 351/8/276 352/59/288 326/61/288 +f 352/59/288 353/57/289 328/60/289 +f 353/57/289 354/50/290 330/49/290 +f 354/50/290 355/48/291 332/47/291 +f 355/48/291 356/45/292 334/44/292 +f 356/45/292 357/41/293 336/46/293 +f 357/41/293 358/36/294 338/35/294 +f 331/134/21 323/135/21 315/136/21 +f 338/35/294 358/36/294 359/32/295 +f 359/32/295 343/33/13 306/34/13 +f 312/26/12 328/137/12 336/28/12 +f 360/138/21 342/139/21 343/140/21 +f 362/141/21 344/142/21 342/139/21 +f 363/143/21 345/144/21 344/142/21 +f 364/136/21 346/145/21 345/144/21 +f 365/146/21 347/147/21 346/145/21 +f 366/148/21 348/149/21 347/147/21 +f 366/148/21 367/150/21 349/151/21 +f 367/150/21 368/135/21 350/152/21 +f 368/135/21 369/153/21 351/154/21 +f 370/155/21 352/156/21 351/154/21 +f 371/157/21 353/158/21 352/156/21 +f 371/157/21 372/134/21 354/159/21 +f 372/134/21 373/160/21 355/161/21 +f 373/160/21 374/162/21 356/163/21 +f 374/162/21 375/164/21 357/165/21 +f 376/166/21 358/167/21 357/165/21 +f 376/166/21 377/168/21 359/169/21 +f 377/168/21 361/170/21 343/140/21 +f 309/138/288 360/138/288 361/170/276 +f 311/141/289 362/141/289 360/138/288 +f 313/143/290 363/143/290 362/141/289 +f 315/136/291 364/136/291 363/143/290 +f 317/146/292 365/146/292 364/136/291 +f 319/148/293 366/148/293 365/146/292 +f 321/150/294 367/150/294 366/148/293 +f 323/135/295 368/135/295 367/150/294 +f 325/153/13 369/153/13 368/135/295 +f 327/155/15 370/155/15 369/153/13 +f 329/157/281 371/157/281 370/155/15 +f 331/134/282 372/134/282 371/157/281 +f 333/160/283 373/160/283 372/134/282 +f 335/162/284 374/162/284 373/160/283 +f 337/164/285 375/164/285 374/162/284 +f 339/166/286 376/166/286 375/164/285 +f 341/168/287 377/168/287 376/166/286 +f 341/168/287 307/170/276 361/170/276 +f 382/16/296 381/5/296 378/6/296 +f 380/10/1 389/20/1 379/21/1 +f 383/12/297 380/13/297 378/9/297 +f 382/16/5 384/18/5 383/12/5 +f 384/18/5 386/18/5 385/12/5 +f 383/12/21 385/12/21 387/13/21 +f 388/22/13 387/24/13 385/12/13 +f 380/10/1 387/10/1 388/20/1 +f 389/22/12 388/22/12 386/18/12 +f 389/20/1 390/20/1 391/21/1 +f 384/18/298 392/18/298 390/22/298 +f 390/20/12 392/18/12 393/16/12 +f 384/18/5 382/16/5 393/16/5 +f 379/171/299 391/171/299 393/16/299 +f 1/63/1 4/1/1 2/3/1 +f 2/25/2 10/4/2 1/6/3 +f 3/5/4 7/7/4 1/9/4 +f 4/1/1 5/10/1 6/2/1 +f 7/7/4 8/12/4 4/8/4 +f 3/5/5 10/4/5 7/7/5 +f 7/7/5 9/14/5 8/12/5 +f 10/4/5 13/16/5 9/14/5 +f 12/17/5 14/18/5 9/14/5 +f 16/21/6 15/19/6 13/16/6 +f 15/19/7 17/20/7 12/17/7 +f 2/3/1 6/2/1 16/21/1 +f 15/19/1 6/2/1 17/20/1 +f 14/18/8 17/22/8 11/15/9 +f 11/15/9 18/23/9 8/12/10 +f 16/171/11 13/16/11 2/25/2 +f 22/172/12 19/173/12 20/174/12 +f 20/174/12 28/175/12 30/26/12 +f 30/26/12 54/176/12 41/177/12 +f 41/177/12 43/178/12 45/179/12 +f 45/179/12 52/180/12 51/181/12 +f 51/181/12 50/182/12 49/137/12 +f 49/137/12 37/183/12 36/27/12 +f 36/27/12 35/184/12 34/28/12 +f 34/28/12 23/185/12 22/172/12 +f 22/172/12 20/174/12 30/26/12 +f 30/26/12 41/177/12 45/179/12 +f 45/179/12 51/181/12 49/137/12 +f 49/137/12 36/27/12 30/26/12 +f 34/28/12 22/172/12 30/26/12 +f 30/26/12 45/179/12 49/137/12 +f 19/186/13 21/29/13 20/31/15 +f 22/187/295 24/32/16 19/34/13 +f 22/187/295 23/35/17 24/32/16 +f 25/36/19 27/37/19 24/32/20 +f 20/31/15 26/30/14 28/38/23 +f 28/38/23 27/37/22 30/40/25 +f 29/39/26 27/37/19 32/41/26 +f 30/40/25 29/39/24 54/43/28 +f 33/45/29 31/42/29 32/41/26 +f 34/46/33 35/44/30 32/41/32 +f 23/35/17 34/46/33 25/36/18 +f 35/44/30 36/47/34 33/45/31 +f 36/47/34 37/49/36 38/48/35 +f 42/53/39 40/51/38 39/50/39 +f 40/51/38 31/42/29 38/48/38 +f 54/43/28 31/42/27 41/52/41 +f 41/52/41 40/51/40 43/54/43 +f 43/54/43 42/53/42 45/56/45 +f 44/55/46 42/53/39 47/57/46 +f 52/62/53 45/56/45 46/58/47 +f 46/58/21 44/55/21 48/59/21 +f 50/61/52 48/59/48 49/60/50 +f 37/49/36 49/60/50 39/50/37 +f 51/17/300 53/8/51 50/61/52 +f 51/17/301 52/62/53 53/8/51 +f 56/66/57 55/63/54 104/65/56 +f 55/63/54 56/66/57 59/63/59 +f 57/5/60 55/9/60 61/5/61 +f 55/9/60 57/5/60 58/68/62 +f 62/63/64 59/63/63 64/66/64 +f 61/5/61 59/9/61 65/5/65 +f 62/63/64 64/66/64 63/63/66 +f 65/5/65 62/9/65 66/5/65 +f 69/69/67 61/5/67 67/69/68 +f 68/69/69 67/69/68 66/5/69 +f 64/70/70 67/69/70 112/70/70 +f 60/70/71 69/69/71 64/70/70 +f 69/69/302 70/69/72 61/5/74 +f 56/70/75 70/69/75 60/70/71 +f 106/171/76 71/16/76 56/70/76 +f 71/16/303 74/71/77 70/69/72 +f 70/69/72 72/72/78 57/5/73 +f 73/67/79 72/72/78 76/12/81 +f 72/72/78 74/71/77 75/73/80 +f 76/12/83 75/73/83 79/12/83 +f 75/73/83 77/18/83 78/73/83 +f 79/12/5 78/73/5 82/12/5 +f 78/73/5 80/18/5 81/73/5 +f 82/12/84 81/73/84 85/12/84 +f 81/73/84 83/18/84 84/73/84 +f 85/12/5 84/73/5 88/12/5 +f 87/73/5 84/73/5 89/18/5 +f 87/73/85 90/74/85 88/12/85 +f 89/18/85 91/22/85 87/73/85 +f 94/20/1 93/75/1 91/20/1 +f 90/75/1 93/75/1 92/10/1 +f 98/20/86 96/75/86 94/20/86 +f 96/75/86 99/10/86 93/75/86 +f 96/75/1 97/75/1 99/10/1 +f 98/20/1 107/20/1 96/75/1 +f 99/13/87 82/12/87 95/13/88 +f 100/13/89 79/12/89 99/13/87 +f 101/13/90 76/12/90 100/13/89 +f 97/75/91 102/75/91 100/10/91 +f 58/64/55 101/10/92 104/65/56 +f 73/67/62 76/12/90 58/68/62 +f 103/20/91 102/75/91 107/20/91 +f 104/65/56 102/75/93 105/76/95 +f 106/21/304 56/66/57 105/76/95 +f 71/16/96 106/21/96 74/71/96 +f 105/76/96 103/20/97 74/71/96 +f 77/18/97 103/20/97 80/18/98 +f 80/18/98 107/20/98 83/18/99 +f 83/18/99 98/20/99 86/18/100 +f 95/13/88 85/12/88 92/13/88 +f 86/18/101 94/20/101 109/18/101 +f 94/20/1 91/20/1 108/20/1 +f 109/18/102 108/20/102 111/18/102 +f 91/22/85 89/18/85 110/22/85 +f 89/18/5 86/18/5 111/18/5 +f 112/70/66 68/69/69 63/6/66 +f 115/79/105 113/18/106 183/80/214 +f 183/80/214 199/77/103 115/79/105 +f 183/80/214 113/18/106 282/80/107 +f 113/18/5 116/81/5 114/18/5 +f 116/188/5 113/18/5 120/83/5 +f 117/82/108 116/81/108 175/84/108 +f 118/84/305 116/85/109 173/87/111 +f 122/89/5 119/86/5 120/83/5 +f 121/90/115 124/88/112 120/83/114 +f 126/97/306 121/90/115 115/79/116 +f 122/89/307 124/91/117 123/92/119 +f 158/94/5 174/129/5 172/93/5 +f 172/93/5 119/86/5 122/89/5 +f 122/89/5 123/92/5 158/94/5 +f 177/109/5 158/94/5 123/92/5 +f 127/91/120 125/91/120 124/88/120 +f 124/88/120 196/95/120 127/91/120 +f 124/88/122 121/90/121 196/95/122 +f 121/90/121 126/97/123 198/96/121 +f 127/91/124 197/95/124 128/91/125 +f 128/91/125 202/95/125 129/91/126 +f 129/91/127 204/95/127 130/91/128 +f 130/91/128 206/95/128 131/91/129 +f 131/91/130 208/95/130 132/91/130 +f 132/91/131 210/95/131 133/91/132 +f 133/91/132 212/95/132 134/91/133 +f 134/91/134 214/95/134 135/91/134 +f 218/95/135 136/91/135 216/95/136 +f 220/95/137 137/91/137 218/95/135 +f 137/91/137 220/95/137 138/91/138 +f 138/91/138 222/95/138 139/91/139 +f 226/95/140 140/91/140 224/95/140 +f 226/95/141 228/95/141 142/91/141 +f 141/99/141 142/91/141 228/95/141 +f 229/95/142 144/99/142 228/95/142 +f 142/91/308 141/99/143 181/91/145 +f 141/99/143 144/99/146 143/91/144 +f 144/99/309 146/99/148 145/91/150 +f 238/95/151 146/99/151 229/95/152 +f 180/91/310 147/91/149 148/99/153 +f 239/95/154 148/99/154 238/95/151 +f 149/101/155 148/99/155 240/100/155 +f 241/100/156 151/101/156 240/100/156 +f 180/91/310 148/99/153 150/102/158 +f 152/103/162 150/102/159 151/101/161 +f 154/132/311 152/103/162 153/101/163 +f 249/100/164 153/101/164 241/100/156 +f 154/132/311 153/101/163 179/104/166 +f 250/100/167 155/101/167 249/100/164 +f 250/100/168 251/100/168 155/101/212 +f 156/105/168 157/106/168 178/106/169 +f 178/106/169 155/101/212 251/100/168 +f 159/110/170 156/105/170 252/107/170 +f 157/106/312 156/105/171 177/109/173 +f 156/105/313 159/110/174 158/94/176 +f 160/111/175 159/110/174 162/113/178 +f 161/112/179 159/110/179 261/114/179 +f 161/112/314 163/112/180 162/113/182 +f 161/112/183 261/114/183 163/112/185 +f 262/133/184 263/117/186 176/115/186 +f 164/189/186 165/116/186 263/117/186 +f 176/115/186 163/190/185 262/133/184 +f 264/119/187 166/118/187 263/119/187 +f 166/118/192 167/120/188 164/118/190 +f 168/123/195 169/121/191 166/118/192 +f 264/119/194 272/122/193 166/118/194 +f 174/129/203 169/121/191 170/124/196 +f 170/124/197 168/123/193 273/125/197 +f 273/125/197 274/126/198 170/124/197 +f 274/126/199 275/128/199 171/127/199 +f 173/87/315 119/86/200 171/127/202 +f 172/93/201 174/129/203 171/127/202 +f 118/84/305 173/87/111 280/130/205 +f 169/121/5 174/129/5 160/111/5 +f 118/84/305 280/130/205 175/84/206 +f 175/84/207 281/130/207 282/131/207 +f 282/131/207 114/18/207 117/82/207 +f 162/113/5 167/120/5 160/111/5 +f 165/116/5 167/120/5 176/115/5 +f 178/106/316 157/106/317 177/109/317 +f 177/109/317 123/92/208 178/106/316 +f 125/91/209 127/91/318 179/104/210 +f 179/104/210 178/106/316 123/92/208 +f 179/104/5 127/91/5 154/132/5 +f 152/103/5 154/132/5 129/91/5 +f 150/102/5 152/103/5 180/91/5 +f 147/91/5 180/91/5 130/91/5 +f 145/91/5 147/91/5 131/91/5 +f 143/91/5 145/91/5 132/91/5 +f 138/91/5 181/91/5 143/91/5 +f 143/91/5 132/91/5 137/91/5 +f 140/91/5 142/91/5 139/91/5 +f 181/91/5 138/91/5 142/91/5 +f 137/91/5 132/91/5 136/91/5 +f 136/91/5 133/91/5 135/91/5 +f 183/80/214 182/18/106 185/79/213 +f 185/79/213 200/78/104 199/77/103 +f 183/80/214 282/80/107 182/18/106 +f 182/18/1 184/18/1 186/81/1 +f 186/188/1 190/83/1 182/18/1 +f 187/82/215 283/84/215 186/81/215 +f 189/86/319 186/85/216 278/87/218 +f 186/85/1 189/86/1 190/83/1 +f 191/90/223 190/83/219 194/88/221 +f 200/97/320 185/79/222 191/90/223 +f 192/89/321 193/92/224 194/91/226 +f 277/93/1 279/129/1 255/94/1 +f 255/94/1 285/109/1 193/92/1 +f 193/92/1 192/89/1 255/94/1 +f 189/86/1 277/93/1 192/89/1 +f 194/88/120 195/91/120 201/91/120 +f 201/91/120 197/95/120 196/95/120 +f 194/88/122 196/95/122 191/90/121 +f 191/90/121 198/96/121 200/97/123 +f 201/91/124 203/91/125 197/95/124 +f 203/91/125 205/91/126 202/95/125 +f 205/91/127 207/91/128 204/95/127 +f 207/91/128 209/91/129 206/95/128 +f 209/91/130 211/91/130 208/95/130 +f 211/91/131 213/91/132 210/95/131 +f 213/91/132 215/91/133 212/95/132 +f 215/91/134 217/91/134 214/95/134 +f 218/95/135 216/95/136 219/91/135 +f 220/95/137 218/95/135 221/91/137 +f 221/91/137 223/91/138 220/95/137 +f 223/91/138 225/91/139 222/95/138 +f 226/95/140 224/95/140 227/91/140 +f 230/99/141 228/95/141 231/91/141 +f 226/95/141 227/91/141 231/91/141 +f 229/95/142 228/95/142 233/99/142 +f 232/91/230 230/99/227 289/91/229 +f 230/99/227 232/91/230 233/99/232 +f 233/99/322 234/91/233 235/99/235 +f 238/95/151 229/95/152 235/99/151 +f 288/91/237 237/99/236 236/91/234 +f 239/95/154 238/95/151 237/99/154 +f 242/101/155 240/100/155 237/99/155 +f 241/100/156 240/100/156 244/101/156 +f 242/101/323 237/99/236 243/102/238 +f 245/103/243 244/101/239 243/102/241 +f 247/132/244 246/101/242 245/103/243 +f 249/100/164 241/100/156 246/101/164 +f 248/101/324 246/101/242 287/104/245 +f 250/100/167 249/100/164 248/101/167 +f 253/105/168 251/100/168 286/106/247 +f 250/100/168 248/101/246 251/100/168 +f 286/106/247 254/106/168 253/105/168 +f 256/110/170 252/107/170 253/105/170 +f 255/108/325 253/105/248 285/109/250 +f 253/105/326 255/94/251 256/110/253 +f 258/112/327 256/110/253 259/113/254 +f 258/112/179 261/114/179 256/110/179 +f 258/112/328 259/113/255 260/112/257 +f 258/112/183 260/112/185 261/114/183 +f 265/189/186 263/117/186 266/116/186 +f 262/133/184 260/190/185 284/115/186 +f 284/115/186 266/116/186 263/117/186 +f 264/119/187 263/119/187 267/118/187 +f 266/116/329 268/120/258 265/118/260 +f 268/120/258 270/121/261 267/118/259 +f 264/119/194 267/118/194 272/122/193 +f 279/129/267 271/124/263 270/121/261 +f 271/124/197 273/125/197 269/123/193 +f 273/125/197 271/124/197 274/126/198 +f 274/126/199 276/127/199 275/128/199 +f 277/93/330 189/86/264 276/127/266 +f 277/93/330 276/127/266 279/129/267 +f 188/84/217 280/130/205 278/87/218 +f 270/121/1 257/111/1 279/129/1 +f 188/84/217 283/84/206 280/130/205 +f 282/131/207 281/130/207 283/84/207 +f 283/84/207 187/82/207 282/131/207 +f 270/121/1 268/120/1 257/111/1 +f 259/113/1 268/120/1 284/115/1 +f 285/109/331 254/106/331 286/106/332 +f 286/106/332 287/104/268 193/92/270 +f 201/91/333 195/91/269 287/104/268 +f 193/92/270 285/109/331 286/106/332 +f 287/104/1 247/132/1 201/91/1 +f 203/91/1 247/132/1 205/91/1 +f 205/91/1 245/103/1 288/91/1 +f 205/91/1 288/91/1 207/91/1 +f 207/91/1 236/91/1 209/91/1 +f 209/91/1 234/91/1 211/91/1 +f 232/91/1 289/91/1 223/91/1 +f 223/91/1 221/91/1 232/91/1 +f 289/91/1 231/91/1 223/91/1 +f 227/91/1 225/91/1 231/91/1 +f 221/91/1 219/91/1 211/91/1 +f 219/91/1 217/91/1 213/91/1 +f 294/63/1 290/63/1 295/21/1 +f 291/21/1 290/63/1 304/20/1 +f 293/5/273 305/12/272 290/9/273 +f 293/5/273 290/9/273 296/5/274 +f 297/63/1 294/63/1 298/21/1 +f 296/5/274 294/9/274 299/5/275 +f 298/171/276 300/16/276 297/6/276 +f 301/16/5 296/5/5 300/16/5 +f 295/21/277 301/16/277 298/21/277 +f 291/21/278 302/16/278 295/21/279 +f 302/16/5 293/5/5 301/16/5 +f 291/21/278 304/20/280 302/16/278 +f 302/16/5 303/18/5 293/5/5 +f 303/18/13 304/22/13 305/12/13 +f 306/186/13 343/29/13 308/31/15 +f 308/31/15 342/30/15 310/38/281 +f 312/40/282 310/38/281 345/39/282 +f 312/40/282 345/39/282 314/43/283 +f 314/43/283 346/42/283 316/52/284 +f 316/52/284 347/51/284 318/54/285 +f 320/56/286 318/54/285 349/55/286 +f 320/56/286 349/55/286 322/62/287 +f 322/62/287 350/58/287 324/17/276 +f 324/17/276 351/8/276 326/61/288 +f 326/61/288 352/59/288 328/60/289 +f 328/60/289 353/57/289 330/49/290 +f 330/49/290 354/50/290 332/47/291 +f 332/47/291 355/48/291 334/44/292 +f 334/44/292 356/45/292 336/46/293 +f 336/46/293 357/41/293 338/35/294 +f 311/141/21 309/138/21 307/170/21 +f 307/170/21 341/168/21 339/166/21 +f 339/166/21 337/164/21 331/134/21 +f 335/162/21 333/160/21 331/134/21 +f 331/134/21 329/157/21 327/155/21 +f 327/155/21 325/153/21 331/134/21 +f 323/135/21 321/150/21 315/136/21 +f 319/148/21 317/146/21 315/136/21 +f 315/136/21 313/143/21 311/141/21 +f 311/141/21 307/170/21 315/136/21 +f 337/164/21 335/162/21 331/134/21 +f 331/134/21 325/153/21 323/135/21 +f 321/150/21 319/148/21 315/136/21 +f 315/136/21 307/170/21 339/166/21 +f 339/166/21 331/134/21 315/136/21 +f 340/187/295 338/35/294 359/32/295 +f 340/187/295 359/32/295 306/34/13 +f 340/172/12 306/173/12 308/174/12 +f 308/174/12 310/175/12 312/26/12 +f 312/26/12 314/176/12 316/177/12 +f 316/177/12 318/178/12 312/26/12 +f 320/179/12 322/180/12 324/181/12 +f 324/181/12 326/182/12 328/137/12 +f 328/137/12 330/183/12 332/27/12 +f 332/27/12 334/184/12 336/28/12 +f 336/28/12 338/185/12 340/172/12 +f 340/172/12 308/174/12 312/26/12 +f 312/26/12 318/178/12 320/179/12 +f 320/179/12 324/181/12 312/26/12 +f 328/137/12 332/27/12 336/28/12 +f 336/28/12 340/172/12 312/26/12 +f 312/26/12 324/181/12 328/137/12 +f 361/170/21 360/138/21 343/140/21 +f 360/138/21 362/141/21 342/139/21 +f 362/141/21 363/143/21 344/142/21 +f 363/143/21 364/136/21 345/144/21 +f 364/136/21 365/146/21 346/145/21 +f 365/146/21 366/148/21 347/147/21 +f 348/149/21 366/148/21 349/151/21 +f 349/151/21 367/150/21 350/152/21 +f 350/152/21 368/135/21 351/154/21 +f 369/153/21 370/155/21 351/154/21 +f 370/155/21 371/157/21 352/156/21 +f 353/158/21 371/157/21 354/159/21 +f 354/159/21 372/134/21 355/161/21 +f 355/161/21 373/160/21 356/163/21 +f 356/163/21 374/162/21 357/165/21 +f 375/164/21 376/166/21 357/165/21 +f 358/167/21 376/166/21 359/169/21 +f 359/169/21 377/168/21 343/140/21 +f 307/170/276 309/138/288 361/170/276 +f 309/138/288 311/141/289 360/138/288 +f 311/141/289 313/143/290 362/141/289 +f 313/143/290 315/136/291 363/143/290 +f 315/136/291 317/146/292 364/136/291 +f 317/146/292 319/148/293 365/146/292 +f 319/148/293 321/150/294 366/148/293 +f 321/150/294 323/135/295 367/150/294 +f 323/135/295 325/153/13 368/135/295 +f 325/153/13 327/155/15 369/153/13 +f 327/155/15 329/157/281 370/155/15 +f 329/157/281 331/134/282 371/157/281 +f 331/134/282 333/160/283 372/134/282 +f 333/160/283 335/162/284 373/160/283 +f 335/162/284 337/164/285 374/162/284 +f 337/164/285 339/166/286 375/164/285 +f 339/166/286 341/168/287 376/166/286 +f 377/168/287 341/168/287 361/170/276 +f 379/171/296 382/16/296 378/6/296 +f 378/63/1 380/10/1 379/21/1 +f 381/5/297 383/12/297 378/9/297 +f 381/5/5 382/16/5 383/12/5 +f 383/12/5 384/18/5 385/12/5 +f 380/13/21 383/12/21 387/13/21 +f 386/18/13 388/22/13 385/12/13 +f 389/20/1 380/10/1 388/20/1 +f 384/18/12 389/22/12 386/18/12 +f 379/21/1 389/20/1 391/21/1 +f 389/22/298 384/18/298 390/22/298 +f 391/21/12 390/20/12 393/16/12 +f 392/18/5 384/18/5 393/16/5 +f 382/16/299 379/171/299 393/16/299 +o Cube.002_Cube.021 +v 0.303146 0.085577 -0.001710 +v 0.303146 0.872109 0.004624 +v 0.303146 0.081354 -0.731230 +v 0.303146 0.862907 -0.711023 +v 0.303146 0.080847 -0.856947 +v 0.303146 0.822177 -0.800855 +v 0.303146 0.075826 -1.072472 +v 0.303146 0.796075 -0.891782 +v 0.303146 0.073710 -1.163270 +v 0.303146 0.787864 -0.976240 +v 0.303146 0.063710 -1.514404 +v 0.303146 0.777864 -1.327374 +v 0.251926 0.068142 -1.617266 +v 0.251926 0.627846 -1.468171 +v 0.214030 0.069637 -1.669251 +v 0.214030 0.545147 -1.542584 +v 0.267651 0.098661 2.312539 +v 0.285278 0.534732 2.304053 +v 0.267651 0.099883 -0.001090 +v 0.285278 0.533506 -0.000044 +v 0.293394 0.276088 -0.002001 +v 0.293394 0.277307 2.304053 +v 0.293394 0.404797 -0.001023 +v 0.293394 0.406020 2.304053 +v 0.262294 0.762169 -1.000000 +v 0.131147 0.762169 -1.000000 +v 0.262294 0.762169 -1.200000 +v 0.262294 0.962169 -1.200000 +v 0.131147 0.962169 -1.200000 +v 0.262294 0.962169 -1.085338 +v 0.262294 0.876831 -1.000000 +v 0.131147 0.762169 -1.200000 +v 0.131147 0.962169 -1.085338 +v 0.131147 0.876831 -1.000000 +v 0.125075 0.876831 -1.000000 +v 0.125075 0.762169 -1.200000 +v 0.125075 0.762169 -1.000000 +v 0.125075 0.882169 -1.200000 +v 0.125075 0.882169 -1.085338 +v -0.262294 0.762169 -1.000000 +v -0.131147 0.762169 -1.000000 +v -0.262294 0.762169 -1.200000 +v -0.262294 0.962169 -1.200000 +v -0.131147 0.962169 -1.200000 +v -0.262294 0.962169 -1.085338 +v -0.262294 0.876831 -1.000000 +v -0.131147 0.762169 -1.200000 +v -0.131147 0.962169 -1.085338 +v -0.131147 0.876831 -1.000000 +v -0.125075 0.876831 -1.000000 +v -0.125075 0.762169 -1.200000 +v -0.125075 0.762169 -1.000000 +v -0.125075 0.882169 -1.200000 +v -0.125075 0.882169 -1.085338 +v -0.303146 0.085577 -0.001710 +v -0.303146 0.872109 0.004624 +v -0.303146 0.081354 -0.731230 +v -0.303146 0.862907 -0.711023 +v -0.303146 0.080847 -0.856947 +v -0.303146 0.822177 -0.800855 +v -0.303146 0.075826 -1.072472 +v -0.303146 0.796075 -0.891782 +v -0.303146 0.073710 -1.163270 +v -0.303146 0.787864 -0.976240 +v -0.303146 0.063710 -1.514404 +v -0.303146 0.777864 -1.327374 +v -0.251926 0.068142 -1.617266 +v -0.251926 0.627846 -1.468171 +v -0.214030 0.069637 -1.669251 +v -0.214030 0.545147 -1.542584 +v -0.267651 0.098661 2.312539 +v -0.285278 0.534732 2.304053 +v -0.267651 0.099883 -0.001090 +v -0.285278 0.533506 -0.000044 +v 0.000000 0.065712 -0.002312 +v 0.000000 0.533506 -0.000044 +v 0.000000 0.065712 2.312539 +v 0.000000 0.534732 2.304053 +v -0.293394 0.276088 -0.002001 +v -0.293394 0.277307 2.304053 +v 0.000000 0.277307 2.304053 +v 0.000000 0.276088 -0.002001 +v -0.293394 0.404797 -0.001023 +v -0.293394 0.406020 2.304053 +v 0.000000 0.406020 2.304053 +v 0.000000 0.404797 -0.001023 +v 0.000000 0.081354 -0.731230 +v 0.000000 0.862907 -0.711023 +v 0.000000 0.085577 -0.001710 +v 0.000000 0.872109 0.004624 +v 0.000000 0.080847 -0.856947 +v 0.000000 0.822177 -0.800855 +v 0.000000 0.075826 -1.072472 +v 0.000000 0.796075 -0.891782 +v 0.000000 0.073710 -1.163270 +v 0.000000 0.787864 -0.976240 +v 0.000000 0.063710 -1.514404 +v 0.000000 0.777864 -1.327374 +v 0.000000 0.068142 -1.617266 +v 0.000000 0.627846 -1.468171 +v 0.000000 0.069637 -1.669251 +v 0.000000 0.545147 -1.542584 +v -0.262294 0.762169 -1.000000 +v -0.131147 0.762169 -1.000000 +v -0.262294 0.762169 -1.200000 +v -0.262294 0.962169 -1.200000 +v -0.131147 0.962169 -1.200000 +v -0.262294 0.962169 -1.085338 +v -0.262294 0.876831 -1.000000 +v -0.131147 0.762169 -1.200000 +v -0.131147 0.962169 -1.085338 +v -0.131147 0.876831 -1.000000 +v -0.125075 0.876831 -1.000000 +v -0.125075 0.762169 -1.200000 +v -0.125075 0.762169 -1.000000 +v -0.125075 0.882169 -1.200000 +v -0.125075 0.882169 -1.085338 +v 0.262294 0.762169 -1.000000 +v 0.131147 0.762169 -1.000000 +v 0.262294 0.762169 -1.200000 +v 0.262294 0.962169 -1.200000 +v 0.000000 0.762169 -1.200000 +v 0.000000 0.878055 -1.200000 +v 0.000000 0.762169 -1.000000 +v 0.131147 0.962169 -1.200000 +v 0.262294 0.962169 -1.085338 +v 0.262294 0.876831 -1.000000 +v 0.000000 0.876831 -1.000000 +v 0.000000 0.878055 -1.085338 +v 0.131147 0.762169 -1.200000 +v 0.131147 0.962169 -1.085338 +v 0.131147 0.876831 -1.000000 +v 0.125075 0.876831 -1.000000 +v 0.125075 0.762169 -1.200000 +v 0.125075 0.762169 -1.000000 +v 0.125075 0.882169 -1.200000 +v 0.125075 0.882169 -1.085338 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.250000 0.750000 +vt 0.750000 0.500000 +vt 0.625000 0.375000 +vt 0.562500 0.375000 +vt 0.562500 0.750000 +vt 0.750000 0.750000 +vt 0.625000 0.875000 +vt 0.562500 0.875000 +vt 0.500000 0.750000 +vt 0.500000 0.875000 +vt 0.500000 0.500000 +vt 0.500000 0.375000 +vt 0.562500 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.875000 +vt 0.625000 0.437500 +vt 0.518327 0.815394 +vt 0.518327 0.875000 +vt 0.312500 0.750000 +vt 0.625000 0.643327 +vt 0.518327 0.750000 +vt 0.687500 0.500000 +vt 0.687500 0.643327 +vt 0.750000 0.643327 +vt 0.690394 0.750000 +vt 0.690394 0.643327 +vt 0.687500 0.750000 +vt 0.312500 0.500000 +vt 0.309606 0.750000 +vt 0.518327 0.812500 +vt 0.375000 0.812500 +vt 0.625000 0.434606 +vt 0.375000 0.437500 +vt 0.375000 0.434606 +vt 0.309606 0.500000 +vt 0.690394 0.500000 +vt 0.375000 0.815394 +vt 0.375000 0.375000 +vn 1.000000 0.000000 0.000000 +vn 0.000000 -1.000000 0.004900 +vn 0.000000 -1.000000 0.005800 +vn 0.000000 0.976100 -0.217500 +vn 0.000000 0.938500 -0.345400 +vn 0.000000 0.982300 -0.187100 +vn 0.000000 0.998000 -0.062700 +vn 0.000000 0.999600 -0.028500 +vn 0.962800 0.069400 -0.261100 +vn 0.843300 0.138300 -0.519300 +vn 0.873100 0.124000 -0.471400 +vn 0.994200 0.027300 -0.104300 +vn 0.000000 0.676700 -0.736300 +vn 0.000000 0.678100 -0.735000 +vn 0.000000 0.496300 -0.868200 +vn 0.000000 0.684300 -0.729200 +vn 0.000000 0.476400 -0.879200 +vn 0.000000 0.257400 -0.966300 +vn 0.800500 0.154300 -0.579100 +vn 0.000000 0.007600 -1.000000 +vn 0.998000 0.062900 -0.000000 +vn 0.999500 0.031500 -0.000000 +vn 0.126300 -0.992000 -0.000000 +vn 0.122200 -0.992500 -0.000500 +vn 0.000000 -1.000000 -0.000500 +vn 0.000000 1.000000 -0.000500 +vn 0.000000 0.000000 1.000000 +vn -0.001900 0.044600 0.999000 +vn 0.000000 0.022600 0.999700 +vn 0.000000 0.021400 0.999800 +vn 0.989500 -0.144500 0.000100 +vn 0.997400 -0.072600 0.000000 +vn 0.000000 0.003300 -1.000000 +vn 0.000000 0.001500 -1.000000 +vn 0.001700 -0.002600 -1.000000 +vn 0.999500 0.031300 -0.000000 +vn 0.000000 -0.999400 -0.035900 +vn 0.000000 -0.999600 -0.028700 +vn 0.000000 -1.000000 -0.007300 +vn 0.000000 -0.999300 -0.038500 +vn 0.000000 -0.999700 0.025900 +vn 0.000000 -1.000000 -0.001100 +vn 0.000000 -0.999700 0.023300 +vn 0.000000 -0.999900 0.013700 +vn 0.000000 0.999900 -0.012900 +vn 0.000000 -0.008100 1.000000 +vn -0.000000 0.000000 -1.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.000000 1.000000 0.000000 +vn -0.022700 0.999600 0.016400 +vn 0.000000 0.999900 0.014300 +vn -0.020300 0.998800 0.044100 +vn -0.032900 0.999500 0.000000 +vn -0.032900 0.999000 0.031200 +vn 0.000000 0.707100 0.707100 +vn -0.997100 0.075700 0.000000 +vn -0.994400 0.097600 0.039700 +vn -0.996800 0.075700 0.025200 +vn 0.000000 0.998000 0.062400 +vn -0.420100 0.903400 0.086400 +vn -1.000000 0.000000 0.000000 +vn 0.020300 0.998800 0.044100 +vn 0.022700 0.999600 0.016400 +vn 0.032900 0.999000 0.031200 +vn 0.032900 0.999500 0.000000 +vn 0.996800 0.075700 0.025200 +vn 0.994400 0.097600 0.039700 +vn 0.997100 0.075700 0.000000 +vn 0.420100 0.903400 0.086400 +vn -0.873100 0.124000 -0.471400 +vn -0.843300 0.138300 -0.519300 +vn -0.962800 0.069400 -0.261100 +vn -0.994200 0.027300 -0.104300 +vn -0.800500 0.154300 -0.579100 +vn -0.999500 0.031500 -0.000000 +vn -0.998000 0.062900 -0.000000 +vn -0.122200 -0.992500 -0.000500 +vn -0.126300 -0.992000 -0.000000 +vn 0.001900 0.044600 0.999000 +vn 0.000000 0.040100 0.999200 +vn -0.989500 -0.144500 0.000100 +vn -0.989800 -0.142600 -0.000100 +vn -0.997400 -0.072600 -0.000000 +vn -0.001700 -0.002600 -1.000000 +vn -0.999500 0.031300 -0.000000 +vn 0.989800 -0.142600 -0.000100 +s 1 +f 396/191/334 398/191/334 399/192/334 +f 397/192/334 395/193/334 394/194/334 +f 396/191/335 394/194/336 482/195/336 +f 398/191/334 400/191/334 401/192/334 +f 397/192/337 399/192/338 485/196/338 +f 401/192/339 403/192/340 489/196/340 +f 399/192/338 401/192/339 487/196/339 +f 403/192/340 405/192/341 491/196/341 +f 400/191/334 402/191/334 403/192/334 +f 404/191/342 406/191/343 407/192/344 +f 402/191/334 404/191/342 405/192/345 +f 493/196/346 407/192/347 409/192/348 +f 491/196/349 405/192/349 407/192/347 +f 495/197/350 409/192/348 408/191/351 +f 406/191/343 408/191/352 409/192/352 +f 479/198/353 469/197/353 413/192/353 +f 413/192/354 411/193/354 417/199/355 +f 412/191/356 410/194/357 470/195/358 +f 469/196/359 471/200/359 411/193/359 +f 411/193/360 471/201/360 478/202/360 +f 410/194/361 415/203/362 474/204/363 +f 412/191/364 414/205/365 415/203/365 +f 475/206/366 414/205/367 412/191/368 +f 417/199/360 478/202/360 474/204/363 +f 416/207/369 417/199/355 415/203/365 +f 479/198/353 416/207/353 414/205/367 +f 492/208/370 494/208/371 408/191/371 +f 490/208/372 492/208/370 406/191/373 +f 488/208/374 490/208/372 404/191/375 +f 486/208/376 488/208/374 402/191/374 +f 484/208/377 486/208/376 400/191/376 +f 480/208/335 484/208/377 398/191/377 +f 481/196/337 483/200/378 395/193/378 +f 395/193/379 483/201/379 482/209/379 +f 422/210/380 421/192/380 420/191/380 +f 428/211/360 521/212/360 517/209/360 +f 420/191/381 418/194/381 419/213/381 +f 423/214/334 424/215/334 420/191/334 +f 422/216/382 426/217/382 423/214/382 +f 522/218/383 521/200/384 428/219/385 +f 516/196/386 522/218/383 432/220/387 +f 426/217/388 427/221/388 424/193/388 +f 425/222/381 419/213/381 430/223/381 +f 424/215/360 427/224/360 419/225/360 +f 431/226/380 422/210/380 425/227/380 +f 516/197/380 431/226/380 429/228/380 +f 429/229/381 430/223/381 517/195/381 +f 431/230/389 432/220/390 426/217/391 +f 432/220/390 428/219/392 427/221/393 +f 427/224/360 428/211/360 430/231/360 +f 435/191/380 436/192/380 437/210/380 +f 517/209/360 521/212/360 443/211/360 +f 434/213/381 433/194/381 435/191/381 +f 439/215/394 438/214/394 435/191/394 +f 438/214/382 441/217/382 437/216/382 +f 443/219/395 521/200/384 522/218/396 +f 447/220/397 522/218/396 516/196/398 +f 439/193/388 442/221/388 441/217/388 +f 445/223/381 434/213/381 440/222/381 +f 434/225/360 442/224/360 439/215/360 +f 440/227/380 437/210/380 446/226/380 +f 444/228/380 446/226/380 516/197/380 +f 517/195/381 445/223/381 444/229/381 +f 441/217/399 447/220/400 446/230/401 +f 442/221/402 443/219/392 447/220/400 +f 445/231/360 443/211/360 442/224/360 +f 453/192/394 452/191/394 450/191/394 +f 448/194/394 449/193/394 451/192/394 +f 482/195/336 448/194/336 450/191/335 +f 455/192/394 454/191/394 452/191/394 +f 485/196/338 453/192/338 451/192/337 +f 489/196/340 457/192/340 455/192/339 +f 487/196/339 455/192/339 453/192/338 +f 491/196/341 459/192/341 457/192/340 +f 457/192/394 456/191/394 454/191/394 +f 461/192/403 460/191/404 458/191/405 +f 459/192/406 458/191/405 456/191/394 +f 493/196/346 495/196/350 463/192/348 +f 491/196/349 493/196/346 461/192/347 +f 462/191/351 463/192/348 495/197/350 +f 463/192/407 462/191/407 460/191/404 +f 479/198/353 476/207/353 467/192/353 +f 477/199/408 465/193/409 467/192/409 +f 470/195/358 464/194/410 466/191/411 +f 465/193/359 471/200/359 469/196/359 +f 478/202/360 471/201/360 465/193/360 +f 464/194/412 470/209/413 474/204/363 +f 466/191/414 464/194/415 473/203/416 +f 466/191/417 472/205/367 475/206/366 +f 474/204/363 478/202/360 477/199/360 +f 473/203/416 477/199/408 476/207/418 +f 472/205/367 476/207/353 479/198/353 +f 462/191/371 494/208/371 492/208/370 +f 460/191/373 492/208/370 490/208/372 +f 458/191/375 490/208/372 488/208/374 +f 456/191/374 488/208/374 486/208/376 +f 454/191/376 486/208/376 484/208/377 +f 452/191/377 484/208/377 480/208/335 +f 449/193/378 483/200/378 481/196/337 +f 482/209/379 483/201/379 449/193/379 +f 498/191/380 499/192/380 500/210/380 +f 517/209/360 521/212/360 506/211/360 +f 497/213/381 496/194/381 498/191/381 +f 502/215/394 501/214/394 498/191/394 +f 501/214/382 504/217/382 500/216/382 +f 506/219/395 521/200/384 522/218/396 +f 510/220/397 522/218/396 516/196/398 +f 502/193/388 505/221/388 504/217/388 +f 508/223/381 497/213/381 503/222/381 +f 497/225/360 505/224/360 502/215/360 +f 503/227/380 500/210/380 509/226/380 +f 507/228/380 509/226/380 516/197/380 +f 517/195/381 508/223/381 507/229/381 +f 504/217/399 510/220/400 509/230/401 +f 505/221/402 506/219/392 510/220/400 +f 508/231/360 506/211/360 505/224/360 +f 518/210/380 514/192/380 513/191/380 +f 526/211/360 521/212/360 517/209/360 +f 513/191/381 511/194/381 512/213/381 +f 519/214/334 520/215/334 513/191/334 +f 518/216/382 524/217/382 519/214/382 +f 522/218/383 521/200/384 526/219/385 +f 516/196/386 522/218/383 530/220/387 +f 524/217/388 525/221/388 520/193/388 +f 523/222/381 512/213/381 528/223/381 +f 520/215/360 525/224/360 512/225/360 +f 529/226/380 518/210/380 523/227/380 +f 516/197/380 529/226/380 527/228/380 +f 527/229/381 528/223/381 517/195/381 +f 529/230/389 530/220/390 524/217/391 +f 530/220/390 526/219/392 525/221/393 +f 525/224/360 526/211/360 528/231/360 +f 397/192/334 396/191/334 399/192/334 +f 396/191/334 397/192/334 394/194/334 +f 480/208/335 396/191/335 482/195/336 +f 399/192/334 398/191/334 401/192/334 +f 481/196/337 397/192/337 485/196/338 +f 487/196/339 401/192/339 489/196/340 +f 485/196/338 399/192/338 487/196/339 +f 489/196/340 403/192/340 491/196/341 +f 401/192/334 400/191/334 403/192/334 +f 405/192/345 404/191/342 407/192/344 +f 403/192/334 402/191/334 405/192/345 +f 495/196/350 493/196/346 409/192/348 +f 493/196/346 491/196/349 407/192/347 +f 494/232/351 495/197/350 408/191/351 +f 407/192/344 406/191/343 409/192/352 +f 416/207/353 479/198/353 413/192/353 +f 416/207/369 413/192/354 417/199/355 +f 468/208/381 412/191/356 470/195/358 +f 413/192/359 469/196/359 411/193/359 +f 417/199/360 411/193/360 478/202/360 +f 470/209/413 410/194/361 474/204/363 +f 410/194/419 412/191/364 415/203/365 +f 468/232/367 475/206/366 412/191/368 +f 415/203/362 417/199/360 474/204/363 +f 414/205/365 416/207/369 415/203/365 +f 475/206/366 479/198/353 414/205/367 +f 406/191/373 492/208/370 408/191/371 +f 404/191/375 490/208/372 406/191/373 +f 402/191/374 488/208/374 404/191/375 +f 400/191/376 486/208/376 402/191/374 +f 398/191/377 484/208/377 400/191/376 +f 396/191/335 480/208/335 398/191/377 +f 397/192/337 481/196/337 395/193/378 +f 394/194/379 395/193/379 482/209/379 +f 425/227/380 422/210/380 420/191/380 +f 430/231/360 428/211/360 517/209/360 +f 425/222/381 420/191/381 419/213/381 +f 418/194/334 420/191/334 424/215/334 +f 421/192/334 423/214/334 420/191/334 +f 421/192/382 422/216/382 423/214/382 +f 432/220/387 522/218/383 428/219/385 +f 431/230/386 516/196/386 432/220/387 +f 423/214/388 426/217/388 424/193/388 +f 429/229/381 425/222/381 430/223/381 +f 418/194/360 424/215/360 419/225/360 +f 429/228/380 431/226/380 425/227/380 +f 515/232/380 516/197/380 429/228/380 +f 515/208/381 429/229/381 517/195/381 +f 422/216/389 431/230/389 426/217/391 +f 426/217/391 432/220/390 427/221/393 +f 419/225/360 427/224/360 430/231/360 +f 440/227/380 435/191/380 437/210/380 +f 445/231/360 517/209/360 443/211/360 +f 440/222/381 434/213/381 435/191/381 +f 436/192/394 435/191/394 438/214/394 +f 433/194/394 439/215/394 435/191/394 +f 436/192/382 438/214/382 437/216/382 +f 447/220/397 443/219/395 522/218/396 +f 446/230/398 447/220/397 516/196/398 +f 438/214/388 439/193/388 441/217/388 +f 444/229/381 445/223/381 440/222/381 +f 433/194/360 434/225/360 439/215/360 +f 444/228/380 440/227/380 446/226/380 +f 515/232/380 444/228/380 516/197/380 +f 515/208/381 517/195/381 444/229/381 +f 437/216/401 441/217/399 446/230/401 +f 441/217/399 442/221/402 447/220/400 +f 434/225/360 445/231/360 442/224/360 +f 451/192/394 453/192/394 450/191/394 +f 450/191/394 448/194/394 451/192/394 +f 480/208/335 482/195/336 450/191/335 +f 453/192/394 455/192/394 452/191/394 +f 481/196/337 485/196/338 451/192/337 +f 487/196/339 489/196/340 455/192/339 +f 485/196/338 487/196/339 453/192/338 +f 489/196/340 491/196/341 457/192/340 +f 455/192/394 457/192/394 454/191/394 +f 459/192/406 461/192/403 458/191/405 +f 457/192/394 459/192/406 456/191/394 +f 461/192/347 493/196/346 463/192/348 +f 459/192/349 491/196/349 461/192/347 +f 494/232/351 462/191/351 495/197/350 +f 461/192/403 463/192/407 460/191/404 +f 469/197/353 479/198/353 467/192/353 +f 476/207/418 477/199/408 467/192/409 +f 468/208/381 470/195/358 466/191/411 +f 467/192/359 465/193/359 469/196/359 +f 477/199/360 478/202/360 465/193/360 +f 473/203/362 464/194/412 474/204/363 +f 472/205/416 466/191/414 473/203/416 +f 468/232/367 466/191/417 475/206/366 +f 473/203/362 474/204/363 477/199/360 +f 472/205/416 473/203/416 476/207/418 +f 475/206/366 472/205/367 479/198/353 +f 460/191/373 462/191/371 492/208/370 +f 458/191/375 460/191/373 490/208/372 +f 456/191/374 458/191/375 488/208/374 +f 454/191/376 456/191/374 486/208/376 +f 452/191/377 454/191/376 484/208/377 +f 450/191/335 452/191/377 480/208/335 +f 451/192/337 449/193/378 481/196/337 +f 448/194/379 482/209/379 449/193/379 +f 503/227/380 498/191/380 500/210/380 +f 508/231/360 517/209/360 506/211/360 +f 503/222/381 497/213/381 498/191/381 +f 499/192/394 498/191/394 501/214/394 +f 496/194/394 502/215/394 498/191/394 +f 499/192/382 501/214/382 500/216/382 +f 510/220/397 506/219/395 522/218/396 +f 509/230/398 510/220/397 516/196/398 +f 501/214/388 502/193/388 504/217/388 +f 507/229/381 508/223/381 503/222/381 +f 496/194/360 497/225/360 502/215/360 +f 507/228/380 503/227/380 509/226/380 +f 515/232/380 507/228/380 516/197/380 +f 515/208/381 517/195/381 507/229/381 +f 500/216/401 504/217/399 509/230/401 +f 504/217/399 505/221/402 510/220/400 +f 497/225/360 508/231/360 505/224/360 +f 523/227/380 518/210/380 513/191/380 +f 528/231/360 526/211/360 517/209/360 +f 523/222/381 513/191/381 512/213/381 +f 511/194/334 513/191/334 520/215/334 +f 514/192/334 519/214/334 513/191/334 +f 514/192/382 518/216/382 519/214/382 +f 530/220/387 522/218/383 526/219/385 +f 529/230/386 516/196/386 530/220/387 +f 519/214/388 524/217/388 520/193/388 +f 527/229/381 523/222/381 528/223/381 +f 511/194/360 520/215/360 512/225/360 +f 527/228/380 529/226/380 523/227/380 +f 515/232/380 516/197/380 527/228/380 +f 515/208/381 527/229/381 517/195/381 +f 518/216/389 529/230/389 524/217/391 +f 524/217/391 530/220/390 525/221/393 +f 512/225/360 525/224/360 528/231/360 diff --git a/assets/hbm/models/weapons/hk69.obj b/assets/hbm/models/weapons/hk69.obj index 10ed34d50..8f464cfcc 100644 --- a/assets/hbm/models/weapons/hk69.obj +++ b/assets/hbm/models/weapons/hk69.obj @@ -97,90 +97,36 @@ v 0.025000 0.450000 -0.585000 v 0.025000 0.450000 -0.535000 v -0.025000 0.450000 -0.585000 v -0.025000 0.450000 -0.535000 -vt 0.760870 0.130435 -vt 0.456522 0.217391 -vt 0.326087 0.130435 vt 0.108696 0.891304 vt 0.239130 0.891304 vt 0.239130 0.956522 -vt 0.326087 0.391304 -vt 0.456522 0.304348 -vt 0.760870 0.391304 -vt 0.239130 0.217391 -vt 0.326087 0.217391 -vt 0.326087 0.304348 -vt 0.760870 0.217391 -vt 0.760870 0.304348 -vt 0.760870 0.043478 -vt 0.108696 0.586957 -vt 0.108696 0.521739 -vt 0.760870 0.521739 -vt 0.108696 0.456522 -vt 0.760870 0.456522 vt 0.217391 0.847826 vt 0.130435 0.847826 vt 0.130435 0.782609 -vt 0.108696 0.391304 -vt 0.108696 0.782609 -vt 0.108696 0.717391 -vt 0.760870 0.717391 vt 0.007716 0.472674 vt 0.007716 0.419018 vt 0.100650 0.419018 -vt 0.108696 0.652174 -vt 0.760870 0.586957 -vt 0.760870 0.652174 vt 0.217391 0.978261 vt 0.130435 0.978261 vt 0.108696 0.956522 -vt 0.760870 0.434783 -vt 0.826087 0.434783 -vt 0.826087 0.543478 -vt 0.760870 0.413043 -vt 0.826087 0.413043 -vt 0.826087 0.347826 -vt 0.826087 0.304348 -vt 0.760870 0.347826 -vt 0.826087 0.239130 -vt 0.826087 0.739130 -vt 0.826087 0.847826 -vt 0.760870 0.847826 -vt 0.760870 0.673913 -vt 0.826087 0.673913 -vt 0.760870 0.630435 -vt 0.826087 0.630435 -vt 0.760870 0.565217 -vt 0.826087 0.565217 vt 0.369565 0.891304 vt 0.260870 0.847826 vt 0.347826 0.782609 vt 0.347826 0.847826 -vt 0.847826 0.413043 -vt 0.847826 0.391304 -vt 0.934783 0.391304 +vt 0.826087 0.413043 +vt 0.826087 0.239130 vt 0.847826 0.326087 vt 0.934783 0.326087 -vt 0.847826 0.239130 vt 0.956522 0.239130 vt 0.956522 0.413043 vt 0.000063 0.000063 vt 0.086957 0.000000 vt 0.086957 0.217391 -vt 0.130435 0.217391 +vt 0.130435 0.043478 vt 0.130435 0.173913 +vt 0.260870 0.217391 vt 0.217391 0.173913 vt 0.217391 0.043478 -vt 0.130435 0.043478 -vt 0.130435 0.000000 -vt 0.260870 0.217391 -vt 0.152174 0.304348 -vt -0.000000 0.304348 -vt -0.000000 0.260870 -vt 0.152174 0.260870 -vt -0.000000 0.217391 -vt -0.000000 0.347826 -vt -0.000000 0.391304 -vt 0.152174 0.347826 vt 0.869565 0.478261 vt 0.869565 0.456522 vt 0.913043 0.456522 @@ -204,7 +150,9 @@ vt 0.978261 0.239130 vt 0.913043 0.239130 vt 0.065217 0.608696 vt 0.108696 0.608696 +vt 0.108696 0.652174 vt 0.065217 0.652174 +vt 0.108696 0.717391 vt 0.065217 0.543478 vt 0.000000 0.500000 vt 0.021739 0.500000 @@ -215,183 +163,278 @@ vt 0.043478 0.521739 vt 0.347826 0.978261 vt 0.260870 0.978261 vt 0.369565 0.956522 +vt 0.217391 0.782609 +vt 0.100650 0.472674 +vt 0.054183 0.499502 +vt 0.054183 0.392190 +vt 0.260870 0.782609 +vt 0.847826 0.391304 +vt 0.934783 0.391304 +vt 0.000000 0.217391 +vt 0.260870 -0.000000 +vt 0.913043 0.478261 +vt 0.869565 0.043478 +vt 0.760870 0.239130 +vt 0.065217 0.717391 +vt 0.108696 0.543478 +vt 0.000000 0.521739 +vt 0.760870 0.130435 +vt 0.456522 0.217391 +vt 0.326087 0.130435 +vt 0.326087 0.391304 +vt 0.456522 0.304348 +vt 0.760870 0.391304 +vt 0.239130 0.217391 +vt 0.326087 0.217391 +vt 0.326087 0.304348 +vt 0.760870 0.217391 +vt 0.760870 0.304348 +vt 0.760870 0.043478 +vt 0.108696 0.586957 +vt 0.108696 0.521739 +vt 0.760870 0.521739 +vt 0.108696 0.456522 +vt 0.760870 0.456522 +vt 0.108696 0.391304 +vt 0.108696 0.782609 +vt 0.760870 0.717391 +vt 0.760870 0.586957 +vt 0.760870 0.652174 +vt 0.760870 0.434783 +vt 0.826087 0.434783 +vt 0.826087 0.543478 +vt 0.760870 0.413043 +vt 0.826087 0.347826 +vt 0.826087 0.304348 +vt 0.760870 0.347826 +vt 0.826087 0.739130 +vt 0.826087 0.847826 +vt 0.760870 0.847826 +vt 0.760870 0.673913 +vt 0.826087 0.673913 +vt 0.760870 0.630435 +vt 0.826087 0.630435 +vt 0.760870 0.565217 +vt 0.826087 0.565217 +vt 0.847826 0.413043 +vt 0.847826 0.239130 +vt 0.130435 0.217391 +vt 0.130435 0.000000 +vt 0.152174 0.304348 +vt -0.000000 0.304348 +vt -0.000000 0.260870 +vt 0.152174 0.260870 +vt -0.000000 0.347826 +vt -0.000000 0.391304 +vt 0.152174 0.347826 vt 0.326087 0.173913 vt 0.326087 0.347826 vt 0.239130 0.304348 vt 0.326087 0.043478 -vt 0.217391 0.782609 vt 0.760870 0.782609 -vt 0.100650 0.472674 -vt 0.054183 0.499502 -vt 0.054183 0.392190 vt 0.760870 0.543478 -vt 0.760870 0.239130 vt 0.760870 0.739130 -vt 0.260870 0.782609 vt 0.934783 0.413043 vt 0.934783 0.239130 vt 0.217391 0.217391 vt 0.217391 -0.000000 -vt 0.260870 -0.000000 vt 0.152174 0.217391 vt 0.152174 0.391304 -vt 0.913043 0.478261 -vt 0.869565 0.043478 -vt 0.065217 0.717391 -vt 0.108696 0.543478 -vt 0.000000 0.521739 -vn -1.000000 -0.000000 0.000000 vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -0.948700 0.316200 -vn 0.500000 0.866000 -0.000000 -vn 0.500000 -0.866000 0.000000 -vn -0.500000 -0.866000 0.000000 -vn -0.500000 0.866000 -0.000000 -vn 0.894400 0.447200 0.000000 -vn 0.970100 -0.242500 0.000000 -vn -0.970100 -0.242500 0.000000 -vn -0.894400 0.447200 0.000000 vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.768200 -0.640200 -vn 0.000000 -0.287300 -0.957800 -vn 0.000000 0.707100 -0.707100 +vn 1.000000 0.000000 0.000000 +vn -1.000000 0.000000 0.000000 vn 0.000000 -0.707100 -0.707100 -vn 0.707100 0.707100 -0.000000 -vn 0.707100 -0.707100 0.000000 -vn -0.707100 0.707100 -0.000000 -vn -0.707100 -0.707100 0.000000 vn 0.000000 0.707100 0.707100 +vn 0.000000 -1.000000 0.000000 vn 0.000000 -0.274700 0.961500 vn 0.000000 0.274700 -0.961500 +vn 0.000000 1.000000 0.000000 +vn 0.894400 0.447200 0.000000 +vn -0.894400 0.447200 0.000000 +vn -0.707100 0.707100 0.000000 +vn -0.672700 -0.730300 0.118500 +vn -0.577300 0.577300 0.577300 +vn 0.577300 0.577300 0.577300 +vn 0.672700 -0.730300 0.118500 +vn 0.707100 0.707100 0.000000 +vn -0.596200 -0.469400 0.651300 +vn 0.596200 -0.469400 0.651300 +vn -0.707100 -0.707100 0.000000 +vn 0.707100 -0.707100 0.000000 +vn 0.000000 0.792400 0.610000 +vn 0.686200 0.396200 0.610000 +vn 0.866000 0.500000 0.000000 +vn 0.686200 -0.396200 0.610000 +vn 0.866000 -0.500000 0.000000 +vn 0.000000 -0.792400 0.610000 +vn -0.686200 -0.396200 0.610000 +vn -0.866000 -0.500000 0.000000 +vn -0.686200 0.396200 0.610000 +vn -0.866000 0.500000 0.000000 +vn 0.418300 0.676800 0.605700 +vn 0.418300 0.676800 -0.605700 +vn -0.418300 0.676800 -0.605700 +vn 0.732100 0.172800 0.658900 +vn 0.732100 0.172800 -0.658900 +vn 0.727100 -0.089500 -0.680600 +vn 0.672300 -0.082700 -0.735600 +vn 0.727100 -0.089500 0.680600 +vn 0.577300 -0.577300 -0.577300 +vn 0.672300 -0.082700 0.735600 +vn -0.577300 -0.577300 -0.577300 +vn 0.577300 -0.577300 0.577300 +vn -0.672300 -0.082700 0.735600 +vn -0.672300 -0.082700 -0.735600 +vn -0.727100 -0.089500 0.680600 +vn -0.727100 -0.089500 -0.680600 +vn -0.732100 0.172800 0.658900 +vn -0.732100 0.172800 -0.658900 +vn 0.487100 0.670900 -0.559100 +vn 0.622900 0.331800 -0.708400 +vn -0.622900 0.331800 -0.708400 +vn 0.675800 -0.107000 -0.729200 +vn -0.675800 -0.107000 -0.729200 +vn 0.182400 -0.282500 -0.941700 +vn 0.546900 0.773400 0.320400 +vn 0.630200 0.297100 -0.717300 +vn -0.630200 0.297100 -0.717300 +vn -0.630200 -0.297100 -0.717300 +vn 0.630200 -0.297100 -0.717300 +vn 0.546900 -0.773400 0.320400 +vn -0.418300 0.676800 0.605700 +vn -0.577300 -0.577300 0.577300 +vn -0.487100 0.670900 -0.559100 +vn -0.182400 -0.282500 -0.941700 +vn -0.546900 0.773400 0.320400 +vn -0.546900 -0.773400 0.320400 s off -f 4/1/1 9/2/1 2/3/1 -f 29/4/2 30/5/2 32/6/2 -f 6/7/3 10/8/3 8/9/3 -f 2/10/2 1/11/2 5/12/2 -f 3/13/4 7/14/4 10/8/4 -f 8/15/5 4/1/5 2/3/5 -f 9/2/6 10/8/6 5/12/6 -f 14/16/7 16/17/7 15/18/7 -f 16/17/3 18/19/3 17/20/3 -f 25/21/2 26/22/2 12/23/2 -f 17/20/8 18/19/8 20/24/8 -f 26/22/2 25/21/2 30/5/2 -f 20/25/9 22/26/9 21/27/9 -f 24/28/2 22/29/2 18/30/2 -f 24/31/10 14/16/10 13/32/10 -f 22/26/1 24/31/1 23/33/1 -f 27/34/2 28/35/2 31/36/2 -f 27/37/5 37/38/5 38/39/5 -f 32/40/11 42/41/11 37/38/11 -f 40/42/3 42/41/3 32/40/3 -f 35/43/12 40/42/12 30/44/12 -f 33/45/3 35/43/3 25/14/3 -f 34/46/4 33/47/4 11/48/4 -f 26/49/1 36/50/1 34/46/1 -f 29/51/13 39/52/13 36/50/13 -f 31/53/1 41/54/1 39/52/1 -f 38/39/14 41/54/14 31/53/14 -f 39/55/15 40/5/15 35/56/15 -f 34/57/15 36/58/15 35/56/15 -f 46/59/16 48/60/16 47/61/16 -f 48/60/15 50/62/15 49/63/15 -f 49/63/17 50/62/17 44/64/17 -f 46/41/3 44/45/3 50/62/3 -f 49/63/1 43/65/1 45/66/1 -f 53/67/2 54/68/2 52/69/2 -f 52/70/18 56/71/18 55/72/18 -f 57/73/19 58/74/19 54/75/19 -f 56/71/15 58/74/15 57/73/15 -f 58/74/3 56/71/3 52/69/3 -f 51/76/1 55/72/1 57/73/1 -f 59/77/20 60/78/20 62/79/20 -f 61/80/21 62/79/21 64/81/21 -f 66/82/22 60/78/22 59/77/22 -f 64/83/23 66/82/23 65/84/23 -f 68/85/15 70/86/15 69/87/15 -f 70/86/19 74/88/19 73/89/19 -f 71/90/24 72/91/24 68/85/24 -f 72/92/3 74/93/3 70/86/3 -f 69/87/1 73/94/1 71/95/1 -f 80/96/4 82/97/4 81/98/4 -f 81/99/25 82/97/25 78/100/25 -f 76/101/26 80/96/26 79/102/26 -f 81/103/1 77/104/1 75/105/1 -f 76/101/3 78/100/3 82/97/3 -f 87/106/5 89/107/5 90/31/5 -f 88/108/1 90/31/1 85/26/1 -f 89/107/3 87/106/3 84/109/3 -f 94/110/11 93/111/11 91/112/11 -f 91/112/14 95/113/14 96/114/14 -f 93/115/15 95/112/15 91/111/15 -f 94/115/2 92/113/2 96/112/2 -f 38/116/15 37/117/15 42/6/15 -f 41/118/15 42/6/15 40/5/15 -f 1/119/1 2/3/1 9/2/1 -f 4/1/1 3/13/1 9/2/1 -f 31/36/2 29/4/2 32/6/2 -f 7/14/3 8/9/3 10/8/3 -f 6/7/3 5/120/3 10/8/3 -f 6/121/2 2/10/2 5/12/2 -f 9/2/4 3/13/4 10/8/4 -f 6/122/5 8/15/5 2/3/5 -f 1/11/6 9/2/6 5/12/6 -f 13/32/7 14/16/7 15/18/7 -f 15/18/3 16/17/3 17/20/3 -f 11/123/2 25/21/2 12/23/2 -f 19/9/8 17/20/8 20/24/8 -f 29/4/2 26/22/2 30/5/2 -f 19/124/9 20/25/9 21/27/9 -f 18/30/2 16/125/2 14/126/2 -f 14/126/2 24/28/2 18/30/2 -f 22/29/2 20/127/2 18/30/2 -f 23/33/10 24/31/10 13/32/10 -f 21/27/1 22/26/1 23/33/1 -f 32/6/2 27/34/2 31/36/2 -f 28/128/5 27/37/5 38/39/5 -f 27/37/11 32/40/11 37/38/11 -f 30/44/3 40/42/3 32/40/3 -f 25/14/12 35/43/12 30/44/12 -f 11/129/3 33/45/3 25/14/3 -f 12/130/4 34/46/4 11/48/4 -f 12/130/1 26/49/1 34/46/1 -f 26/49/13 29/51/13 36/50/13 -f 29/51/1 31/53/1 39/52/1 -f 28/128/14 38/39/14 31/53/14 -f 36/58/15 39/55/15 35/56/15 -f 33/131/15 34/57/15 35/56/15 -f 45/132/16 46/59/16 47/61/16 -f 47/61/15 48/60/15 49/63/15 -f 43/133/17 49/63/17 44/64/17 -f 48/60/3 46/41/3 50/62/3 -f 47/61/1 49/63/1 45/66/1 -f 51/81/2 53/67/2 52/69/2 -f 51/134/18 52/70/18 55/72/18 -f 53/135/19 57/73/19 54/75/19 -f 55/72/15 56/71/15 57/73/15 -f 54/68/3 58/74/3 52/69/3 -f 53/136/1 51/76/1 57/73/1 -f 61/80/20 59/77/20 62/79/20 -f 63/137/21 61/80/21 64/81/21 -f 65/84/22 66/82/22 59/77/22 -f 63/138/23 64/83/23 65/84/23 -f 67/139/15 68/85/15 69/87/15 -f 69/87/19 70/86/19 73/89/19 -f 67/139/24 71/90/24 68/85/24 -f 68/85/3 72/92/3 70/86/3 -f 67/139/1 69/87/1 71/95/1 -f 79/140/4 80/96/4 81/98/4 -f 77/129/25 81/99/25 78/100/25 -f 75/105/26 76/101/26 79/102/26 -f 79/102/1 81/103/1 75/105/1 -f 80/96/3 76/101/3 82/97/3 -f 88/108/5 87/106/5 90/31/5 -f 83/141/1 88/108/1 85/26/1 -f 86/142/3 89/107/3 84/109/3 -f 92/143/11 94/110/11 91/112/11 -f 92/143/14 91/112/14 96/114/14 -f 41/118/15 38/116/15 42/6/15 -f 39/55/15 41/118/15 40/5/15 +f 29/1/1 30/2/1 32/3/1 +f 25/4/1 26/5/1 12/6/1 +f 26/5/1 25/4/1 30/2/1 +f 24/7/1 22/8/1 18/9/1 +f 27/10/1 28/11/1 31/12/1 +f 39/13/2 40/2/2 35/14/2 +f 34/15/2 36/16/2 35/14/2 +f 46/17/3 44/18/3 50/19/3 +f 49/20/4 43/21/4 45/22/4 +f 53/23/1 54/24/1 52/25/1 +f 58/26/3 56/27/3 52/25/3 +f 51/28/4 55/29/4 57/30/4 +f 68/31/2 70/32/2 69/33/2 +f 70/32/5 74/34/5 73/35/5 +f 71/36/6 72/37/6 68/31/6 +f 72/38/3 74/39/3 70/32/3 +f 69/33/4 73/40/4 71/41/4 +f 80/42/7 82/43/7 81/44/7 +f 81/45/8 82/43/8 78/46/8 +f 76/47/9 80/42/9 79/48/9 +f 81/49/4 77/50/4 75/51/4 +f 76/47/3 78/46/3 82/43/3 +f 87/52/10 89/53/10 90/54/10 +f 88/55/4 90/54/4 85/56/4 +f 89/53/3 87/52/3 84/57/3 +f 94/58/11 93/59/11 91/60/11 +f 91/60/12 95/61/12 96/62/12 +f 93/63/2 95/60/2 91/59/2 +f 94/63/1 92/61/1 96/60/1 +f 38/64/2 37/65/2 42/3/2 +f 41/66/2 42/3/2 40/2/2 +f 31/12/1 29/1/1 32/3/1 +f 11/67/1 25/4/1 12/6/1 +f 29/1/1 26/5/1 30/2/1 +f 18/9/1 16/68/1 14/69/1 +f 14/69/1 24/7/1 18/9/1 +f 22/8/1 20/70/1 18/9/1 +f 32/3/1 27/10/1 31/12/1 +f 36/16/2 39/13/2 35/14/2 +f 33/71/2 34/15/2 35/14/2 +f 48/72/3 46/17/3 50/19/3 +f 47/73/4 49/20/4 45/22/4 +f 51/74/1 53/23/1 52/25/1 +f 54/24/3 58/26/3 52/25/3 +f 53/75/4 51/28/4 57/30/4 +f 67/76/2 68/31/2 69/33/2 +f 69/33/5 70/32/5 73/35/5 +f 67/76/6 71/36/6 68/31/6 +f 68/31/3 72/38/3 70/32/3 +f 67/76/4 69/33/4 71/41/4 +f 79/77/7 80/42/7 81/44/7 +f 77/78/8 81/45/8 78/46/8 +f 75/51/9 76/47/9 79/48/9 +f 79/48/4 81/49/4 75/51/4 +f 80/42/3 76/47/3 82/43/3 +f 88/55/10 87/52/10 90/54/10 +f 83/79/4 88/55/4 85/56/4 +f 86/80/3 89/53/3 84/57/3 +f 92/81/11 94/58/11 91/60/11 +f 92/81/12 91/60/12 96/62/12 +f 41/66/2 38/64/2 42/3/2 +f 39/13/2 41/66/2 40/2/2 +s 1 +f 4/82/13 9/83/14 2/84/15 +f 6/85/16 10/86/17 8/87/18 +f 2/88/15 1/89/19 5/90/20 +f 3/91/21 7/92/22 10/86/17 +f 8/93/18 4/82/13 2/84/15 +f 9/83/14 10/86/17 5/90/20 +f 14/94/23 16/95/24 15/96/25 +f 16/95/24 18/97/26 17/98/27 +f 17/98/27 18/97/26 20/99/28 +f 20/100/28 22/56/29 21/101/30 +f 24/54/31 14/94/23 13/102/10 +f 22/56/29 24/54/31 23/103/32 +f 27/104/33 37/105/34 38/106/35 +f 32/107/36 42/17/37 37/105/34 +f 40/108/38 42/17/37 32/107/36 +f 35/109/39 40/108/38 30/110/40 +f 33/18/41 35/109/39 25/92/42 +f 34/111/43 33/112/41 11/113/44 +f 26/114/45 36/115/46 34/111/43 +f 29/116/47 39/117/48 36/115/46 +f 31/118/49 41/119/50 39/117/48 +f 38/106/35 41/119/50 31/118/49 +f 46/120/51 48/72/52 47/73/53 +f 48/72/52 50/19/54 49/20/55 +f 49/20/55 50/19/54 44/121/56 +f 52/122/57 56/27/58 55/29/59 +f 57/30/60 58/26/61 54/123/62 +f 56/27/58 58/26/61 57/30/60 +f 59/124/10 60/125/10 62/126/3 +f 61/127/3 62/126/3 64/74/7 +f 66/128/4 60/125/10 59/124/10 +f 64/129/7 66/128/4 65/130/4 +f 1/131/19 2/84/15 9/83/14 +f 4/82/13 3/91/21 9/83/14 +f 7/92/22 8/87/18 10/86/17 +f 6/85/16 5/132/20 10/86/17 +f 6/133/16 2/88/15 5/90/20 +f 9/83/14 3/91/21 10/86/17 +f 6/134/16 8/93/18 2/84/15 +f 1/89/19 9/83/14 5/90/20 +f 13/102/10 14/94/23 15/96/25 +f 15/96/25 16/95/24 17/98/27 +f 19/87/7 17/98/27 20/99/28 +f 19/135/7 20/100/28 21/101/30 +f 23/103/32 24/54/31 13/102/10 +f 21/101/30 22/56/29 23/103/32 +f 28/136/63 27/104/33 38/106/35 +f 27/104/33 32/107/36 37/105/34 +f 30/110/40 40/108/38 32/107/36 +f 25/92/42 35/109/39 30/110/40 +f 11/78/44 33/18/41 25/92/42 +f 12/137/64 34/111/43 11/113/44 +f 12/137/64 26/114/45 34/111/43 +f 26/114/45 29/116/47 36/115/46 +f 29/116/47 31/118/49 39/117/48 +f 28/136/63 38/106/35 31/118/49 +f 45/138/65 46/120/51 47/73/53 +f 47/73/53 48/72/52 49/20/55 +f 43/139/66 49/20/55 44/121/56 +f 51/140/67 52/122/57 55/29/59 +f 53/141/68 57/30/60 54/123/62 +f 55/29/59 56/27/58 57/30/60 +f 61/127/3 59/124/10 62/126/3 +f 63/142/7 61/127/3 64/74/7 +f 65/130/4 66/128/4 59/124/10 +f 63/143/7 64/129/7 65/130/4 diff --git a/assets/hbm/sounds.json b/assets/hbm/sounds.json index 42f36b35b..5f01bde16 100644 --- a/assets/hbm/sounds.json +++ b/assets/hbm/sounds.json @@ -115,6 +115,7 @@ "weapon.boat": {"category": "player", "sounds": [{"name": "weapon/boat", "stream": false}]}, "weapon.hkShoot": {"category": "player", "sounds": [{"name": "weapon/hkShoot", "stream": false}]}, "weapon.hkReload": {"category": "player", "sounds": [{"name": "weapon/hkReload", "stream": false}]}, + "weapon.deagleShoot": {"category": "player", "sounds": [{"name": "weapon/deagleShoot", "stream": false}]}, "weapon.reloadTurret": {"category": "player", "sounds": [{"name": "weapon/reloadTurret", "stream": false}]}, "weapon.switchmode1": {"category": "player", "sounds": [{"name": "weapon/switchmode1", "stream": false}]}, diff --git a/assets/hbm/sounds/weapon/deagleShoot.ogg b/assets/hbm/sounds/weapon/deagleShoot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ac87a802d35c2eea2af1fc2c5f6d688e6de46787 GIT binary patch literal 27288 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 F{|7L5*6aWP literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/gui/dfc/gui_emitter.png b/assets/hbm/textures/gui/dfc/gui_emitter.png index 03d9a1bc63fd1b5e99cf0573a3c1994de9f5755d..1ab46d3ddb297757c694ed1051c6e2ddf91a65fc 100644 GIT binary patch literal 1954 zcmcIlc~BE(7XNaPU^rcrs|HxRqJdNyxs)rc3l&jP1O!q*f)YTmNP$L@AOxA!D(;49 zIn;m&t!!k8K*OmaBn$#&VjyF`?#!vlAgf5dc68Ap{sB3@$$VL5jh_bB>*eGB#Mgaq`yyAPFae{v4H8 zrJ53E?g`$5Tz>SnCN%h@k*9^_>{&Xp!w-D-kEYxLl#OfcjRRSsrAy9-UK~k41r-O` zoD3;)LAU)KI$CvTULauF%`_CU7`yhh9aKsVys4JYydK0q(_8Q8OUmBl^i~q|mkPI( z8%xEM%@-uy!s3iG6L-{)v9)pKhge(vt)Aq=g!^9bgN`ZfT3wHrE7XfE3R4_=y8J>A zxQ}zlcn^iNyjkkSciJNON zt*q8V-cXSuHFwLaWL`?U#U$lh3;H`|??L?z)+{-l)ya`0KbR`+zdHFk$|z@S*5%$Z_eDz5p|i8~6o zAT~pZ5j|50Yiu?acPHXn&*&$^-QLJb>H&c~ZJxB=!d|85d5r7VSq%s_DN>3RP}#%W zE)!RXkKGf(&3L0UVa#EtVem3|r`yT$HS7=P-gS%V1oA&2+>gdv@fL>MeMD*PWx$=5 z3H=lqqlkNZ&;+wAzPO(vyehsa8YxO#NvGQb!R_AWWX)NLFI=Kq{SHw|TAb#qJlNJl zQ0c(o0C6-#5daXWDhz$1aO0IJU4F4*j&_$aVxTs2I+>~tp6gca0G@*9`wh< zem!Z6+#W8zxS3R_3vwP$<6TKr<#SlMO;+AiRr${Y05Z#^tR# zOyf- zY8UXNZ&C~Mt2Elgg!ucHOwcBpT?E`n9*%y;@s;ZeSuqPqTu}vL>L8|)?w;%3U6~CH zzvlj_OzH~KyC7*+u0=_)=(YM88@O_qX4I4^ZSM~M*m4+LQ?_*rb#{Mr3+QdEX}PpB zdQ-@XMp9T=#E!NCYj$h?=i$1}!aJ#uUo$B5M&^r3;eOLTP7G*i)&=+-_2JpmL$@Cl z&zg+@nlq0WydboQYoSp^!D79eG7{{gVB?Kp^J~m>xamZ6C8RP{Gy6DDvH|77uLakr z3ot90qUeERHTI$`kC>Q`kX`b^Djt+QhrXJ!m2?5w5m%(Hd*6;42W-w&+B_&rJ5toVIM0}35)^|nMjcyf$ zN60)dwPkobK4N8W6V?}J0&cMYT?7YkXW--p0Yy82@hK2UgaW7)u)O^~)#OX@&%055 zwZ*EvdLj4jl=K8Y5Y$DLHBHPs{N zqE3g-J-*NjsmrSIoevy5KP={hc>f+@yE&YJE^2XKBQF_8{YPZ~TT}iw@HWf?PR?;B z+r7Tfa^ literal 1471 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6%N?Bp530R%N1DIE+9tYw}q zjv*Cu-rhCLlMWYPd*FWiBjcrIUa#gH*mLX`gX1d^mI{8RtR9hxr&%UQ#XDuivSczX z+1$Y3rzgNUTWO+lV3$T#*-6=R-x=F<8)fv^?#zF`H`ea_t@>YVmS^n#uKsWIW#8YI z-`^i%|NQRp>~D{+?>}c|UsM(M=Xd%2@8{}^W}Ho{-Obl{`uW4E_jda@ZT~-i|DQwt z@IIStzq(15*4Ei?tBzFtRQk4jhqbJQz5V^;g$EX|4O{)~*Vor&MMamkpFZzaJ@@{; zzkjZskN^AOdB*y!`rDZfobjZfF*ud<-_c=e1FDk# z81}$<&-ePfeoP4)BU-XcVy{2@{FA}`u%jU>$IZy^yVh~r*6)n@wMnR)bvXmjOP+sg z|7m>m%sVLPaBXf)n-b9I>y6Gp^I}*z1R0)eE95G8{O$gw=D)vzjw=>baQS}1m!ai_ z+)hrg1G*a&nHuiIu<-zWVa&<_A%XhRSU@gI;{~ZdE27}SFyZ#zV217g?WQp(m}fI6 z?sCs#LYNiF!UNRv%qXGb-Nf0N4p0)PQW7Np$^CDJK44}4my|zxp2l*ZId9&B@4TP$|M^KgQD#_Rz{t?b$)MrG@L_>( z@gLu87N6Ox8FG#~-A^=RN?3fnX4CI4=TCApxbL((c$cdtf`uWv@Q}P%FoQ;px^lz1 z*SCsx-Z|=R*ua1M_}jNfkM84dmc8N0aOU~vvbwr`-P4me+}+JSYa9|`;1XsCn8DC+ zh=oB!4aruAL?&dZZx5z7igmmGVBNJYd-?L^uU341V)gl_O-%dm+&^Xs*Gm_QN9av| z`{hfBZ0Wq17bo9d!)Of4ARzwc@bJ*{JN=``_1YElYpQYR$CLxYg>l zH4`v{T#L$9S65&A_p{uy&Nm!O&OLd3LombU8g7TG|k zt(kg{OW_R)tR_MLB-JYD@<);T3K0RW|EI|={* diff --git a/assets/hbm/textures/gui/fluids2.png b/assets/hbm/textures/gui/fluids2.png index 0eccbddcc16aaa71e8dc2345c804f977d521d05a..a63500e11fe494b1acb4276e89758e246a59f47b 100755 GIT binary patch literal 9524 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 diff --git a/assets/hbm/textures/items/ammo_44_star.png b/assets/hbm/textures/items/ammo_44_star.png new file mode 100644 index 0000000000000000000000000000000000000000..626767ec447b8fb217a3c32e1a65b93dbae2625e GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfbxm)_Vm-bJ!W)e|qQCa--k-JWofOL)r`An6wX>FKES<5e zb6f8Hti`$>nu1OWEgV@*4XKeyZ^93JUNTwbr%b}y&$s{dGIJ*QoHb+SIefsPFD3Gr y&G|z1e$(9RQ=eN#WpBAA;<_V literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_50ae_star.png b/assets/hbm/textures/items/ammo_50ae_star.png new file mode 100644 index 0000000000000000000000000000000000000000..78f6bc437fdcaecc7a2f748360263312e9fd2c31 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfHpr|)BhY_-o`mUt+cd|jhVTYt)}gPNkhbeCU2*%y>lM^&kkeL{C1zG z#%jOhE>F{j_SsV#r?*e75&!UMgVBeNn*>c79vLi{$LKvh?wIub3f_jJ#tU7Vc{dmU zfrP{hV};8+KyW_3F8Rlwr{;&JuNUaK&MK}Klj5*UQbOS3iNm}HSr~UFIv6rAG`!F+ Ut!O%R3Ft}&Pgg&ebxsLQ07qj~dH?_b literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/items/ammo_50bmg_star.png b/assets/hbm/textures/items/ammo_50bmg_star.png new file mode 100644 index 0000000000000000000000000000000000000000..c5432573ef5d82614afa815acdfee5fb22e4edb3 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfCpWeHG@e22mrQZ6FeGMvj8;%+; z3~9g2z|36BmNF}aSubYCi3T5I0|Nt_`k%cIUw&TCb3VQHpr|)BhY_-qso9T_ClgD#{P1)A{gOVm=1HO6w)#4;Rg(ENk4+iGd|QNg%?=zoaNs~f!h-V+KE?(H z1~vaaN&D6R{3X4gTQ6qE35ei_PaBLreB5LRrVBPdGGUP00lr#SS>huKKl4ih{u~k70N-2HrZTG|;v!hxRZG005;_Y^P94oxGPr*L5fM>fDQ3 zYX$&g3;=+cA*GDZODy}1F{r8v(=^3@t#x*8mF-Qy%pf`vPj}B89fYbXFEdTk$=tI9 z(j5^I>bgeX_cPZ9QYn!Vgb>BCvmOva;Njr`+wFGN9}E)_rfE7M;=Paa`@X-9!1BD5 zQqh$Go6Y8Vk*bOw2_T|qycCp00x8CE%=QODA;?lPDT3!pB+e2jAs9-Dq|eL@Yi+y< zR|Vmk!GP2d@O$gzMm~vRn_b$y!Y9oTFU{e1i}#z5xnJsC z8TH?xwdSXyboP6y6f;n1M*tH0 z{T?^%2e5N7KHB#Z08mK@9vjd~O;{wLwZ@;@JJfXzYb~t(3n4_j6##HJ9I)H%aDRIT zDJ2evL)4C@X+Sibtp|z(j4}9pvjsH`oH3~D9he!;IS8$RX@a*F&N(z6cYu^YC`yQq zKW4zWW4nOtNZYnN48ui2at(4{MysD@Y0zk`qe716Tf!K#ULL(k`~&mxsYa}w Rf{XwF002ovPDHLkV1i1IS^@w7 literal 459 zcmV;+0W|)JP)XCz=LG1Uf#W#h zq?Kq3S(`+P6G*LGkiO9B!dyVm8WqT@6sBcx-waOAUp@gX0oAL%Xb<})qMR79D3wYi zJ0HBiHb`bNG+&!MUY?W8&%;CY=Ml8l0t6n%?!HGy2ppp4c|$P^X6<3_cDngfqZ!yV zas;Im2Jisg7aWWitPKemV>mfIrc$|MadDYOvq80bPg+lr%jMbL+6g#~bWnHec%I?r z_L_8hnpW$b=lTnN+Yi-R5&Z*`TI<20QfiR9t{c@iE-^kli2E0YuCdR9!y24{Z0<+i z)b|cx$b+S9AvT$S?|C2xT_(Uk58$5%{rFQJd;$?j_gkoNMr;58002ovPDHLkV1jt} B#^L|~ diff --git a/assets/hbm/textures/items/book_of_.png.mcmeta b/assets/hbm/textures/items/book_of_.png.mcmeta deleted file mode 100644 index b84e69f2c..000000000 --- a/assets/hbm/textures/items/book_of_.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 4 - } -} diff --git a/assets/hbm/textures/items/ingot_starmetal.png b/assets/hbm/textures/items/ingot_starmetal.png index a92e760856712ac1f287d8e97dd0bc3629b64efd..6843c3959baaad5fbaab35f8a0a8c3276adce1c5 100644 GIT binary patch delta 305 zcmV-10nYxG1MvcoNq@rt01m?e$8V@)00037NklOTlWxx@jOCJ-(y zUGjhF(#sfzFhXfKKvs~F(#2q4pbzCCKu(T3!~6Hoz6!6eqM zJO+l%oBJ79plq-t%n*E<&;i^45P%s%ND~Nr`0xr$GjnqCHt_I>G6)MxfCX4tc^D2I z+6iW(1CXZOyJrCnKf&(|eKX=Fpd2H?{4?%gYf zJ9jQHeEas1K~K*fs7?$l2Qmm|2&15&)c>HM5}?2%up~$$NPofS&+p(GVZh1B70O~@ zm^G^#EDtsSWNTz(GQ+-oyTOt$n?S(8Kp)D2XaWI{MsaaPhHcv>Lk!T8Hi;JIumsbd30LVX oW-vw;$A>XeBB_AF+{nNH0M3=i-X0qCh5!Hn07*qoM6N<$g4H~X>Hq)$ diff --git a/assets/hbm/textures/items/ingot_steel.png b/assets/hbm/textures/items/ingot_steel.png index f83666a7fa3f24abef04cf2a99a02e7a7d66f5a2..6692b7d76609e67f87cd5b5c02cb35880d5f84de 100644 GIT binary patch delta 257 zcmV+c0sj7g1HuB3Nq@lr01m+cxRGn^0002jNkl1TWyBJd8&WGZO;?5fl+YFm>kDbkFq8%*yW02U68P?>(hkt?zsKgfCJ5&94ny z*FErv;hob@Pz6B{a2>~ys;bg>aOK6|oyhlnu1(W$RZZC7Cx6khEZj>h%i;n%EETgh4c~K^TFbqX^69EVv$Dz8eZw8*{@j{;G zZ1S80Ad=|1PNr!-4Ahh~P2Y+DQYGuUQrC5lH-ICsZJXwKrePR(3}m7dNv;Q=@hL=6 zbjVFGXxo<4F*ygGMWSWy_duE$hC$o5or+YxT_l)H)5QImNaf`w{*@2^MxqPO&zl5h SlG3;U00001TWyBJd8&WGZO;?5fl+YFm>kDbkFq8%*yW02U68P?>(hkt?zsKgfCJ5&94ny z*FErv;hob@Pz6B{a2>~ys;bg>aOK6|oyhlnu1(W$RZZC7Cx6khEZj>h%i;n%EETgh4c~K^TFbqX^69EVv$Dz8eZw8*{@j{;G zZ1S80Ad=|1PNr!-4Ahh~P2Y+DQYGuUQrC5lH-ICsZJXwKrePR(3}m7dNv;Q=@hL=6 zbjVFGXxo<4F*ygGMWSWy_duE$hC$o5or+YxT_l)H)5QImNaf`w{*@2^MxqPO&zl5h SlG3;U00000-hknE=!j9#ILZ8^!M6NoA*dK5{i0W1AL~B=rBp=ZbfYRjjBVSJ_n!0I z`s(l!Wh0En7_N!BuA}5pIo$$k#!@AO0e6k11OiG7A<#IEpKH#AwAQ@#eNV$M5Cia6 z=Uf$18mDQZWm#yR=k*8}-&(taoEafL0ss&oh7<-o;79J`yby+5i9m07*qoM6N<$g0O9Ey8r+H delta 296 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 literal 0 HcmV?d00001 diff --git a/com/hbm/blocks/ModBlocks.java b/com/hbm/blocks/ModBlocks.java index 34c8d3cc0..1a86f15e2 100644 --- a/com/hbm/blocks/ModBlocks.java +++ b/com/hbm/blocks/ModBlocks.java @@ -16,18 +16,11 @@ import com.hbm.main.MainRegistry; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; -import net.minecraft.block.BlockDirt; import net.minecraft.block.BlockFalling; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.BlockStairs; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.block.material.MaterialLiquid; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemSlab; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -472,6 +465,7 @@ public class ModBlocks { public static final int guiID_ams_limiter = 56; public static Block dfc_emitter; + public static final int guiID_dfc_emitter = 87; public static Block dfc_injector; public static Block dfc_receiver; public static Block dfc_core; diff --git a/com/hbm/blocks/machine/CoreComponent.java b/com/hbm/blocks/machine/CoreComponent.java index e4f5fb01a..05eb1493d 100644 --- a/com/hbm/blocks/machine/CoreComponent.java +++ b/com/hbm/blocks/machine/CoreComponent.java @@ -1,20 +1,19 @@ package com.hbm.blocks.machine; import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IBomb; -import com.hbm.interfaces.IMultiblock; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityCoreEmitter; import com.hbm.tileentity.machine.TileEntityCoreInjector; import com.hbm.tileentity.machine.TileEntityCoreReceiver; -import com.hbm.tileentity.machine.TileEntityVaultDoor; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class CoreComponent extends BlockContainer { @@ -56,4 +55,21 @@ public class CoreComponent extends BlockContainer { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); world.setBlockMetadataWithNotify(x, y, z, l, 2); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + + if(this == ModBlocks.dfc_emitter) + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_dfc_emitter, world, x, y, z); + + return true; + + } else { + return false; + } + } } diff --git a/com/hbm/entity/projectile/EntityBulletBase.java b/com/hbm/entity/projectile/EntityBulletBase.java index 0677caf8d..796aaa2de 100644 --- a/com/hbm/entity/projectile/EntityBulletBase.java +++ b/com/hbm/entity/projectile/EntityBulletBase.java @@ -547,6 +547,12 @@ public class EntityBulletBase extends Entity implements IProjectile { int cfg = nbt.getInteger("config"); this.config = BulletConfigSyncingUtil.pullConfig(cfg); + + if(this.config == null) { + this.setDead(); + return; + } + this.dataWatcher.updateObject(18, cfg); this.dataWatcher.updateObject(16, (byte)this.config.style); diff --git a/com/hbm/handler/BulletConfigSyncingUtil.java b/com/hbm/handler/BulletConfigSyncingUtil.java index 2e8f815c8..b63c51efd 100644 --- a/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/com/hbm/handler/BulletConfigSyncingUtil.java @@ -25,100 +25,107 @@ public class BulletConfigSyncingUtil { } } + static int i = 0; + /// duplicate ids will cause wrong configs to be loaded /// - public static final int TEST_CONFIG = 0x00; - public static final int IRON_REVOLVER = 0x01; - public static final int STEEL_REVOLVER = 0x02; - public static final int LEAD_REVOLVER = 0x03; - public static final int GOLD_REVOLVER = 0x04; - public static final int CURSED_REVOLVER = 0x05; - public static final int SCHRABIDIUM_REVOLVER = 0x06; - public static final int NIGHT_REVOLVER = 0x07; - public static final int NIGHT2_REVOLVER = 0x08; - public static final int SATURNITE_REVOLVER = 0x09; - public static final int DESH_REVOLVER = 0x0A; + public static int TEST_CONFIG = i++; + public static int IRON_REVOLVER = i++; + public static int STEEL_REVOLVER = i++; + public static int LEAD_REVOLVER = i++; + public static int GOLD_REVOLVER = i++; + public static int CURSED_REVOLVER = i++; + public static int SCHRABIDIUM_REVOLVER = i++; + public static int NIGHT_REVOLVER = i++; + public static int NIGHT2_REVOLVER = i++; + public static int SATURNITE_REVOLVER = i++; + public static int DESH_REVOLVER = i++; - public static final int G20_NORMAL = 0x10; - public static final int G20_SLUG = 0x11; - public static final int G20_FLECHETTE = 0x12; - public static final int G20_FIRE = 0x13; - public static final int G20_EXPLOSIVE = 0x14; - public static final int G20_CAUSTIC = 0x15; - public static final int G20_SHOCK = 0x16; - public static final int G20_WITHER = 0x17; + public static int G20_NORMAL = i++; + public static int G20_SLUG = i++; + public static int G20_FLECHETTE = i++; + public static int G20_FIRE = i++; + public static int G20_EXPLOSIVE = i++; + public static int G20_CAUSTIC = i++; + public static int G20_SHOCK = i++; + public static int G20_WITHER = i++; - public static final int ROCKET_NORMAL = 0x20; - public static final int ROCKET_HE = 0x21; - public static final int ROCKET_INCENDIARY = 0x22; - public static final int ROCKET_SHRAPNEL = 0x23; - public static final int ROCKET_EMP = 0x24; - public static final int ROCKET_GLARE = 0x25; - public static final int ROCKET_SLEEK = 0x26; - public static final int ROCKET_NUKE = 0x27; - public static final int ROCKET_CHAINSAW = 0x28; - public static final int ROCKET_TOXIC = 0x29; + public static int ROCKET_NORMAL = i++; + public static int ROCKET_HE = i++; + public static int ROCKET_INCENDIARY = i++; + public static int ROCKET_SHRAPNEL = i++; + public static int ROCKET_EMP = i++; + public static int ROCKET_GLARE = i++; + public static int ROCKET_SLEEK = i++; + public static int ROCKET_NUKE = i++; + public static int ROCKET_CHAINSAW = i++; + public static int ROCKET_TOXIC = i++; - public static final int GRENADE_NORMAL = 0x30; - public static final int GRENADE_HE = 0x31; - public static final int GRENADE_INCENDIARY = 0x32; - public static final int GRENADE_CHEMICAL = 0x33; - public static final int GRENADE_SLEEK = 0x34; - public static final int GRENADE_CONCUSSION = 0x35; - public static final int GRENADE_FINNED = 0x36; - public static final int GRENADE_NUCLEAR = 0x37; + public static int GRENADE_NORMAL = i++; + public static int GRENADE_HE = i++; + public static int GRENADE_INCENDIARY = i++; + public static int GRENADE_CHEMICAL = i++; + public static int GRENADE_SLEEK = i++; + public static int GRENADE_CONCUSSION = i++; + public static int GRENADE_FINNED = i++; + public static int GRENADE_NUCLEAR = i++; - public static final int G12_NORMAL = 0x40; - public static final int G12_INCENDIARY = 0x41; + public static int G12_NORMAL = i++; + public static int G12_INCENDIARY = i++; - public static final int LR22_NORMAL = 0x50; - public static final int LR22_AP = 0x51; - public static final int LR22_NORMAL_FIRE = 0x52; - public static final int LR22_AP_FIRE = 0x53; + public static int LR22_NORMAL = i++; + public static int LR22_AP = i++; + public static int LR22_NORMAL_FIRE = i++; + public static int LR22_AP_FIRE = i++; - public static final int M44_NORMAL = 0x60; - public static final int M44_AP = 0x61; - public static final int M44_DU = 0x62; - public static final int M44_PIP = 0x63; - public static final int M44_BJ = 0x64; - public static final int M44_ROCKET = 0x65; + public static int M44_NORMAL = i++; + public static int M44_AP = i++; + public static int M44_DU = i++; + public static int M44_STAR = i++; + public static int M44_PIP = i++; + public static int M44_BJ = i++; + public static int M44_ROCKET = i++; - public static final int P9_NORMAL = 0x70; - public static final int P9_AP = 0x71; - public static final int P9_DU = 0x72; - public static final int P9_ROCKET = 0x73; + public static int P9_NORMAL = i++; + public static int P9_AP = i++; + public static int P9_DU = i++; + public static int P9_ROCKET = i++; - public static final int BMG50_NORMAL = 0x80; - public static final int BMG50_INCENDIARY = 0x81; - public static final int BMG50_EXPLOSIVE = 0x82; - public static final int BMG50_DU = 0x83; + public static int BMG50_NORMAL = i++; + public static int BMG50_INCENDIARY = i++; + public static int BMG50_EXPLOSIVE = i++; + public static int BMG50_DU = i++; + public static int BMG50_STAR = i++; - public static final int R5_NORMAL = 0x90; - public static final int R5_EXPLOSIVE = 0x91; - public static final int R5_DU = 0x92; - public static final int R5_NORMAL_BOLT = 0x93; - public static final int R5_EXPLOSIVE_BOLT = 0x94; - public static final int R5_DU_BOLT = 0x95; + public static int R5_NORMAL = i++; + public static int R5_EXPLOSIVE = i++; + public static int R5_DU = i++; + public static int R5_STAR = i++; + public static int R5_NORMAL_BOLT = i++; + public static int R5_EXPLOSIVE_BOLT = i++; + public static int R5_DU_BOLT = i++; + public static int R5_STAR_BOLT = i++; - public static final int AE50_NORMAL = 0xA0; - public static final int AE50_AP = 0xA1; - public static final int AE50_DU = 0xA2; + public static int AE50_NORMAL = i++; + public static int AE50_AP = i++; + public static int AE50_DU = i++; + public static int AE50_STAR = i++; - public static final int SPECIAL_OSIPR = 0xB0; - public static final int SPECIAL_GAUSS = 0xB1; - public static final int SPECIAL_GAUSS_CHARGED = 0xB2; + public static int SPECIAL_OSIPR = i++; + public static int SPECIAL_GAUSS = i++; + public static int SPECIAL_GAUSS_CHARGED = i++; - public static final int G20_NORMAL_FIRE = 0xC0; - public static final int G20_SLUG_FIRE = 0xC1; - public static final int G20_FLECHETTE_FIRE = 0xC2; - public static final int G20_EXPLOSIVE_FIRE = 0xC3; - public static final int G20_CAUSTIC_FIRE = 0xC4; - public static final int G20_SHOCK_FIRE = 0xC5; - public static final int G20_WITHER_FIRE = 0xC6; + public static int G20_NORMAL_FIRE = i++; + public static int G20_SLUG_FIRE = i++; + public static int G20_FLECHETTE_FIRE = i++; + public static int G20_EXPLOSIVE_FIRE = i++; + public static int G20_CAUSTIC_FIRE = i++; + public static int G20_SHOCK_FIRE = i++; + public static int G20_WITHER_FIRE = i++; - public static final int NUKE_NORMAL = 0xD0; - public static final int NUKE_MIRV = 0xD1; - public static final int NUKE_AMAT = 0xD2; - public static final int NUKE_PROTO = 0xD3; + public static int NUKE_NORMAL = i++; + public static int NUKE_MIRV = i++; + public static int NUKE_AMAT = i++; + public static int NUKE_PROTO = i++; public static void loadConfigsForSync() { @@ -175,6 +182,7 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getNoPipConfig(), M44_NORMAL)); configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getNoPipAPConfig(), M44_AP)); configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getNoPipDUConfig(), M44_DU)); + configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getNoPipStarConfig(), M44_STAR)); configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getPipConfig(), M44_PIP)); configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getBJConfig(), M44_BJ)); configSet.add(new ConfigKeyPair(Gun44MagnumFactory.getRocketConfig(), M44_ROCKET)); @@ -188,17 +196,21 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(Gun50BMGFactory.get50BMGFireConfig(), BMG50_INCENDIARY)); configSet.add(new ConfigKeyPair(Gun50BMGFactory.get50BMGExplosiveConfig(), BMG50_EXPLOSIVE)); configSet.add(new ConfigKeyPair(Gun50BMGFactory.get50BMGDUConfig(), BMG50_DU)); + configSet.add(new ConfigKeyPair(Gun50BMGFactory.get50BMGStarConfig(), BMG50_STAR)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmConfig(), R5_NORMAL)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmExplosiveConfig(), R5_EXPLOSIVE)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmDUConfig(), R5_DU)); + configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmStarConfig(), R5_STAR)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE), R5_NORMAL_BOLT)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmExplosiveConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE), R5_EXPLOSIVE_BOLT)); configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmDUConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE), R5_DU_BOLT)); + configSet.add(new ConfigKeyPair(Gun5mmFactory.get5mmStarConfig().setToBolt(BulletConfiguration.BOLT_LACUNAE), R5_STAR_BOLT)); configSet.add(new ConfigKeyPair(Gun50AEFactory.get50AEConfig(), AE50_NORMAL)); configSet.add(new ConfigKeyPair(Gun50AEFactory.get50APConfig(), AE50_AP)); configSet.add(new ConfigKeyPair(Gun50AEFactory.get50DUConfig(), AE50_DU)); + configSet.add(new ConfigKeyPair(Gun50AEFactory.get50StarConfig(), AE50_STAR)); configSet.add(new ConfigKeyPair(GunOSIPRFactory.getPulseConfig(), SPECIAL_OSIPR)); configSet.add(new ConfigKeyPair(GunGaussFactory.getGaussConfig(), SPECIAL_GAUSS)); @@ -214,6 +226,7 @@ public class BulletConfigSyncingUtil { configSet.add(new ConfigKeyPair(GunFatmanFactory.getNukeConfig(), NUKE_NORMAL)); configSet.add(new ConfigKeyPair(GunFatmanFactory.getNukeProtoConfig(), NUKE_PROTO)); + configSet.add(new ConfigKeyPair(GunFatmanFactory.getBalefireConfig(), NUKE_AMAT)); } public static BulletConfiguration pullConfig(int key) { diff --git a/com/hbm/handler/GUIHandler.java b/com/hbm/handler/GUIHandler.java index 86bd81bd6..dcd25fbd8 100644 --- a/com/hbm/handler/GUIHandler.java +++ b/com/hbm/handler/GUIHandler.java @@ -5,7 +5,6 @@ import com.hbm.inventory.container.*; import com.hbm.inventory.gui.*; import com.hbm.inventory.inv.InventoryLeadBox; import com.hbm.items.ModItems; -import com.hbm.items.tool.ItemLeadBox; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.machine.*; @@ -778,6 +777,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_dfc_emitter: + { + if(entity instanceof TileEntityCoreEmitter) + { + return new ContainerCoreEmitter(player.inventory, (TileEntityCoreEmitter) entity); + } + return null; + } } } else { //NON-TE CONTAINERS @@ -1554,6 +1562,15 @@ public class GUIHandler implements IGuiHandler { } return null; } + + case ModBlocks.guiID_dfc_emitter: + { + if(entity instanceof TileEntityCoreEmitter) + { + return new GUICoreEmitter(player.inventory, (TileEntityCoreEmitter) entity); + } + return null; + } } } else { //CLIENTONLY GUIS diff --git a/com/hbm/handler/GunConfiguration.java b/com/hbm/handler/GunConfiguration.java index 54b2052d3..2c4ce4cd6 100644 --- a/com/hbm/handler/GunConfiguration.java +++ b/com/hbm/handler/GunConfiguration.java @@ -1,5 +1,6 @@ package com.hbm.handler; +import java.util.ArrayList; import java.util.List; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -58,6 +59,7 @@ public class GunConfiguration { public String name = ""; public String manufacturer = ""; + public List comment = new ArrayList(); //bullet configs for main and alt fire public List config; diff --git a/com/hbm/handler/guncfg/Gun44MagnumFactory.java b/com/hbm/handler/guncfg/Gun44MagnumFactory.java index e62b033c4..9c95b48ae 100644 --- a/com/hbm/handler/guncfg/Gun44MagnumFactory.java +++ b/com/hbm/handler/guncfg/Gun44MagnumFactory.java @@ -48,6 +48,7 @@ public class Gun44MagnumFactory { config.config.add(BulletConfigSyncingUtil.M44_NORMAL); config.config.add(BulletConfigSyncingUtil.M44_AP); config.config.add(BulletConfigSyncingUtil.M44_DU); + config.config.add(BulletConfigSyncingUtil.M44_STAR); config.config.add(BulletConfigSyncingUtil.M44_ROCKET); return config; @@ -67,6 +68,7 @@ public class Gun44MagnumFactory { config.config.add(BulletConfigSyncingUtil.M44_NORMAL); config.config.add(BulletConfigSyncingUtil.M44_AP); config.config.add(BulletConfigSyncingUtil.M44_DU); + config.config.add(BulletConfigSyncingUtil.M44_STAR); config.config.add(BulletConfigSyncingUtil.M44_ROCKET); return config; @@ -87,6 +89,7 @@ public class Gun44MagnumFactory { config.config.add(BulletConfigSyncingUtil.M44_NORMAL); config.config.add(BulletConfigSyncingUtil.M44_AP); config.config.add(BulletConfigSyncingUtil.M44_DU); + config.config.add(BulletConfigSyncingUtil.M44_STAR); config.config.add(BulletConfigSyncingUtil.M44_ROCKET); return config; @@ -106,6 +109,7 @@ public class Gun44MagnumFactory { config.config.add(BulletConfigSyncingUtil.M44_NORMAL); config.config.add(BulletConfigSyncingUtil.M44_AP); config.config.add(BulletConfigSyncingUtil.M44_DU); + config.config.add(BulletConfigSyncingUtil.M44_STAR); config.config.add(BulletConfigSyncingUtil.M44_PIP); config.config.add(BulletConfigSyncingUtil.M44_BJ); config.config.add(BulletConfigSyncingUtil.M44_ROCKET); @@ -150,6 +154,19 @@ public class Gun44MagnumFactory { return bullet; } + public static BulletConfiguration getNoPipStarConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = ModItems.ammo_44_star; + bullet.dmgMin = 14; + bullet.dmgMax = 20; + bullet.wear = 25; + bullet.leadChance = 100; + + return bullet; + } + public static BulletConfiguration getPipConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); diff --git a/com/hbm/handler/guncfg/Gun50AEFactory.java b/com/hbm/handler/guncfg/Gun50AEFactory.java index 6788fbf8a..4963f5de0 100644 --- a/com/hbm/handler/guncfg/Gun50AEFactory.java +++ b/com/hbm/handler/guncfg/Gun50AEFactory.java @@ -29,7 +29,7 @@ public class Gun50AEFactory { config.allowsInfinity = true; config.crosshair = Crosshair.L_CLASSIC; config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.revolverShootAlt"; + config.firingSound = "hbm:weapon.deagleShoot"; config.reloadSoundEnd = false; return config; @@ -44,10 +44,12 @@ public class Gun50AEFactory { config.name = "IMI Desert Eagle"; config.manufacturer = "Magnum Research / Israel Military Industries"; + config.hasSights = true; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.AE50_NORMAL); config.config.add(BulletConfigSyncingUtil.AE50_AP); config.config.add(BulletConfigSyncingUtil.AE50_DU); + config.config.add(BulletConfigSyncingUtil.AE50_STAR); return config; } @@ -93,4 +95,18 @@ public class Gun50AEFactory { return bullet; } + public static BulletConfiguration get50StarConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = ModItems.ammo_50ae_star; + bullet.spread *= inaccuracy; + bullet.dmgMin = 48; + bullet.dmgMax = 56; + bullet.leadChance = 100; + bullet.wear = 25; + + return bullet; + } + } diff --git a/com/hbm/handler/guncfg/Gun50BMGFactory.java b/com/hbm/handler/guncfg/Gun50BMGFactory.java index 709819626..b61314d27 100644 --- a/com/hbm/handler/guncfg/Gun50BMGFactory.java +++ b/com/hbm/handler/guncfg/Gun50BMGFactory.java @@ -41,6 +41,7 @@ public class Gun50BMGFactory { config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); config.config.add(BulletConfigSyncingUtil.BMG50_DU); + config.config.add(BulletConfigSyncingUtil.BMG50_STAR); return config; } @@ -75,6 +76,7 @@ public class Gun50BMGFactory { config.config.add(BulletConfigSyncingUtil.BMG50_INCENDIARY); config.config.add(BulletConfigSyncingUtil.BMG50_EXPLOSIVE); config.config.add(BulletConfigSyncingUtil.BMG50_DU); + config.config.add(BulletConfigSyncingUtil.BMG50_STAR); return config; } @@ -134,4 +136,18 @@ public class Gun50BMGFactory { return bullet; } + public static BulletConfiguration get50BMGStarConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = ModItems.ammo_50bmg_star; + bullet.spread *= inaccuracy; + bullet.dmgMin = 50; + bullet.dmgMax = 70; + bullet.wear = 25; + bullet.leadChance = 100; + + return bullet; + } + } diff --git a/com/hbm/handler/guncfg/Gun5mmFactory.java b/com/hbm/handler/guncfg/Gun5mmFactory.java index 04ac772b4..0e5167d31 100644 --- a/com/hbm/handler/guncfg/Gun5mmFactory.java +++ b/com/hbm/handler/guncfg/Gun5mmFactory.java @@ -28,13 +28,14 @@ public class Gun5mmFactory { config.reloadType = GunConfiguration.RELOAD_NONE; config.allowsInfinity = true; config.crosshair = Crosshair.L_CIRCLE; - config.durability = 5000; + config.durability = 10000; config.firingSound = "hbm:weapon.lacunaeShoot"; config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.R5_NORMAL); config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE); config.config.add(BulletConfigSyncingUtil.R5_DU); + config.config.add(BulletConfigSyncingUtil.R5_STAR); return config; } @@ -53,7 +54,7 @@ public class Gun5mmFactory { GunConfiguration config = getMinigunConfig(); - config.durability = 6500; + config.durability = 15000; config.name = "CZ57 Avenger Minigun"; config.manufacturer = "Rockwell International Corporation"; @@ -64,7 +65,7 @@ public class Gun5mmFactory { GunConfiguration config = getMinigunConfig(); - config.durability = 10000; + config.durability = 25000; config.name = "Auntie Lacunae"; config.manufacturer = "Rockwell International Corporation?"; @@ -72,6 +73,7 @@ public class Gun5mmFactory { config.config.add(BulletConfigSyncingUtil.R5_NORMAL_BOLT); config.config.add(BulletConfigSyncingUtil.R5_EXPLOSIVE_BOLT); config.config.add(BulletConfigSyncingUtil.R5_DU_BOLT); + config.config.add(BulletConfigSyncingUtil.R5_STAR_BOLT); return config; } @@ -116,5 +118,19 @@ public class Gun5mmFactory { return bullet; } + + public static BulletConfiguration get5mmStarConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + + bullet.ammo = ModItems.ammo_5mm_star; + bullet.spread *= inaccuracy; + bullet.dmgMin = 12; + bullet.dmgMax = 20; + bullet.wear = 25; + bullet.leadChance = 100; + + return bullet; + } } diff --git a/com/hbm/handler/guncfg/GunFatmanFactory.java b/com/hbm/handler/guncfg/GunFatmanFactory.java index 523c0ad17..f098b497c 100644 --- a/com/hbm/handler/guncfg/GunFatmanFactory.java +++ b/com/hbm/handler/guncfg/GunFatmanFactory.java @@ -2,10 +2,15 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; +import com.hbm.entity.logic.EntityBalefire; +import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.explosion.ExplosionParticleB; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; +import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; import com.hbm.render.util.RenderScreenOverlay.Crosshair; public class GunFatmanFactory { @@ -42,6 +47,19 @@ public class GunFatmanFactory { return config; } + public static GunConfiguration getBELConfig() { + + GunConfiguration config = getFatmanConfig(); + + config.name = "Balefire Egg Launcher"; + config.manufacturer = "Fort Strong"; + + config.config = new ArrayList(); + config.config.add(BulletConfigSyncingUtil.NUKE_AMAT); + + return config; + } + public static GunConfiguration getProtoConfig() { GunConfiguration config = new GunConfiguration(); @@ -107,6 +125,23 @@ public class GunFatmanFactory { BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); bullet.ammo = ModItems.gun_bf_ammo; + bullet.nuke = 0; + bullet.style = BulletConfiguration.STYLE_BF; + + bullet.bImpact = new IBulletImpactBehavior() { + public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + + if(!bullet.worldObj.isRemote) { + EntityBalefire bf = new EntityBalefire(bullet.worldObj); + bf.posX = x; + bf.posY = y; + bf.posZ = z; + bf.destructionRange = (int) (MainRegistry.fatmanRadius * 1.25); + bullet.worldObj.spawnEntityInWorld(bf); + ExplosionParticleB.spawnMush(bullet.worldObj, x, y, z); + } + } + }; return bullet; } diff --git a/com/hbm/interfaces/IBulletImpactBehavior.java b/com/hbm/interfaces/IBulletImpactBehavior.java index 52f68c1fd..cc92dbee2 100644 --- a/com/hbm/interfaces/IBulletImpactBehavior.java +++ b/com/hbm/interfaces/IBulletImpactBehavior.java @@ -2,8 +2,6 @@ package com.hbm.interfaces; import com.hbm.entity.projectile.EntityBulletBase; -import net.minecraft.entity.Entity; - public interface IBulletImpactBehavior { //block is hit, bullet dies diff --git a/com/hbm/interfaces/IBulletRicochetBehavior.java b/com/hbm/interfaces/IBulletRicochetBehavior.java index c55c03478..4f4f5c5f6 100644 --- a/com/hbm/interfaces/IBulletRicochetBehavior.java +++ b/com/hbm/interfaces/IBulletRicochetBehavior.java @@ -2,8 +2,6 @@ package com.hbm.interfaces; import com.hbm.entity.projectile.EntityBulletBase; -import net.minecraft.entity.Entity; - public interface IBulletRicochetBehavior { //block is hit, bullet ricochets diff --git a/com/hbm/interfaces/ILaserable.java b/com/hbm/interfaces/ILaserable.java new file mode 100644 index 000000000..9b1feb079 --- /dev/null +++ b/com/hbm/interfaces/ILaserable.java @@ -0,0 +1,7 @@ +package com.hbm.interfaces; + +public interface ILaserable { + + public void addEnergy(long energy); + +} diff --git a/com/hbm/inventory/container/ContainerCoreEmitter.java b/com/hbm/inventory/container/ContainerCoreEmitter.java new file mode 100644 index 000000000..d382f6489 --- /dev/null +++ b/com/hbm/inventory/container/ContainerCoreEmitter.java @@ -0,0 +1,40 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotMachineOutput; +import com.hbm.tileentity.machine.TileEntityCoreEmitter; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; + +public class ContainerCoreEmitter extends Container { + + private TileEntityCoreEmitter nukeBoy; + + public ContainerCoreEmitter(InventoryPlayer invPlayer, TileEntityCoreEmitter tedf) { + + nukeBoy = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 8, 17)); + this.addSlotToContainer(new SlotMachineOutput(invPlayer.player, tedf, 1, 8, 53)); + + for(int i = 0; i < 3; i++) + { + for(int j = 0; j < 9; j++) + { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return nukeBoy.isUseableByPlayer(player); + } +} diff --git a/com/hbm/inventory/gui/GUICoreEmitter.java b/com/hbm/inventory/gui/GUICoreEmitter.java new file mode 100644 index 000000000..97e081fd4 --- /dev/null +++ b/com/hbm/inventory/gui/GUICoreEmitter.java @@ -0,0 +1,48 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCoreEmitter; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityCoreEmitter; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUICoreEmitter extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/dfc/gui_emitter.png"); + private TileEntityCoreEmitter press; + + public GUICoreEmitter(InventoryPlayer invPlayer, TileEntityCoreEmitter tedf) { + super(new ContainerCoreEmitter(invPlayer, tedf)); + press = tedf; + + this.xSize = 176; + this.ySize = 166; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52, press.power, press.maxPower); + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.press.hasCustomInventoryName() ? this.press.getInventoryName() : I18n.format(this.press.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @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); + } +} diff --git a/com/hbm/inventory/gui/GUILaunchPadTier1.java b/com/hbm/inventory/gui/GUILaunchPadTier1.java index e7903ae59..edf101b35 100644 --- a/com/hbm/inventory/gui/GUILaunchPadTier1.java +++ b/com/hbm/inventory/gui/GUILaunchPadTier1.java @@ -1,7 +1,6 @@ package com.hbm.inventory.gui; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; diff --git a/com/hbm/inventory/gui/GuiInfoContainer.java b/com/hbm/inventory/gui/GuiInfoContainer.java index 5e21b53eb..c408ef126 100644 --- a/com/hbm/inventory/gui/GuiInfoContainer.java +++ b/com/hbm/inventory/gui/GuiInfoContainer.java @@ -7,7 +7,6 @@ import com.hbm.lib.RefStrings; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; import net.minecraft.inventory.Container; import net.minecraft.util.ResourceLocation; diff --git a/com/hbm/items/ModItems.java b/com/hbm/items/ModItems.java index c0542e405..fc41c3365 100644 --- a/com/hbm/items/ModItems.java +++ b/com/hbm/items/ModItems.java @@ -1047,12 +1047,14 @@ public class ModItems { public static Item ammo_44; public static Item ammo_44_ap; public static Item ammo_44_du; + public static Item ammo_44_star; public static Item ammo_44_pip; public static Item ammo_44_bj; public static Item ammo_44_rocket; public static Item ammo_5mm; public static Item ammo_5mm_explosive; public static Item ammo_5mm_du; + public static Item ammo_5mm_star; public static Item ammo_9mm; public static Item ammo_9mm_ap; public static Item ammo_9mm_du; @@ -1062,10 +1064,12 @@ public class ModItems { public static Item ammo_50ae; public static Item ammo_50ae_ap; public static Item ammo_50ae_du; + public static Item ammo_50ae_star; public static Item ammo_50bmg; public static Item ammo_50bmg_incendiary; public static Item ammo_50bmg_explosive; public static Item ammo_50bmg_du; + public static Item ammo_50bmg_star; public static Item ammo_folly; public static Item ammo_folly_nuclear; public static Item ammo_folly_du; @@ -2736,6 +2740,7 @@ public class ModItems { ammo_5mm = new ItemAmmo().setUnlocalizedName("ammo_5mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm"); ammo_5mm_explosive = new ItemAmmo().setUnlocalizedName("ammo_5mm_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_explosive"); ammo_5mm_du = new ItemAmmo().setUnlocalizedName("ammo_5mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_du"); + ammo_5mm_star = new ItemAmmo().setUnlocalizedName("ammo_5mm_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_star"); ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm"); ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_ap"); ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_du"); @@ -2743,14 +2748,17 @@ public class ModItems { ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae"); ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_ap"); ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_du"); + ammo_50ae_star = new ItemAmmo().setUnlocalizedName("ammo_50ae_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_star"); ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg"); ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_incendiary"); ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_explosive"); ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_du"); + ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_star"); ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh"); ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44"); ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap"); ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_du"); + ammo_44_star = new ItemAmmo().setUnlocalizedName("ammo_44_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_star"); ammo_44_pip = new ItemAmmo().setUnlocalizedName("ammo_44_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_pip"); ammo_44_bj = new ItemAmmo().setUnlocalizedName("ammo_44_bj").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_bj"); ammo_44_rocket = new ItemAmmo().setUnlocalizedName("ammo_44_rocket").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_rocket"); @@ -2815,9 +2823,9 @@ public class ModItems { gun_calamity = new ItemGunBase(Gun50BMGFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); gun_calamity_dual = new ItemGunBase(Gun50BMGFactory.getSaddleConfig()).setUnlocalizedName("gun_calamity_dual").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity_dual"); gun_lacunae_ammo = new ItemCustomLore().setUnlocalizedName("gun_lacunae_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_lacunae_ammo"); - gun_minigun = new ItemGunBase(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); - gun_avenger = new ItemGunBase(Gun5mmFactory.get57Config()).setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger"); - gun_lacunae = new ItemGunBase(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); + gun_minigun = new ItemGunLacunae(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); + gun_avenger = new ItemGunLacunae(Gun5mmFactory.get57Config()).setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger"); + gun_lacunae = new ItemGunLacunae(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); gun_folly = new GunFolly().setUnlocalizedName("gun_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_folly"); gun_fatman_ammo = new Item().setUnlocalizedName("gun_fatman_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman_ammo"); gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); @@ -2825,7 +2833,7 @@ public class ModItems { gun_mirv_ammo = new Item().setUnlocalizedName("gun_mirv_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv_ammo"); gun_mirv = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mirv"); gun_bf_ammo = new Item().setUnlocalizedName("gun_bf_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf_ammo"); - gun_bf = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf"); + gun_bf = new ItemGunBase(GunFatmanFactory.getBELConfig()).setUnlocalizedName("gun_bf").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_bf"); gun_mp40_ammo = new Item().setUnlocalizedName("gun_mp40_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_mp40_ammo"); gun_mp40 = new ItemGunBase(Gun9mmFactory.getMP40Config()).setUnlocalizedName("gun_mp40").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_mp40"); gun_uzi_ammo = new Item().setUnlocalizedName("gun_uzi_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_uzi_ammo"); @@ -4685,12 +4693,14 @@ public class ModItems { GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_ap, ammo_44_ap.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_du, ammo_44_du.getUnlocalizedName()); + GameRegistry.registerItem(ammo_44_star, ammo_44_star.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_pip, ammo_44_pip.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_bj, ammo_44_bj.getUnlocalizedName()); GameRegistry.registerItem(ammo_44_rocket, ammo_44_rocket.getUnlocalizedName()); GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName()); GameRegistry.registerItem(ammo_5mm_explosive, ammo_5mm_explosive.getUnlocalizedName()); GameRegistry.registerItem(ammo_5mm_du, ammo_5mm_du.getUnlocalizedName()); + GameRegistry.registerItem(ammo_5mm_star, ammo_5mm_star.getUnlocalizedName()); GameRegistry.registerItem(ammo_9mm, ammo_9mm.getUnlocalizedName()); GameRegistry.registerItem(ammo_9mm_ap, ammo_9mm_ap.getUnlocalizedName()); GameRegistry.registerItem(ammo_9mm_du, ammo_9mm_du.getUnlocalizedName()); @@ -4700,10 +4710,12 @@ public class ModItems { GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName()); GameRegistry.registerItem(ammo_50ae_ap, ammo_50ae_ap.getUnlocalizedName()); GameRegistry.registerItem(ammo_50ae_du, ammo_50ae_du.getUnlocalizedName()); + GameRegistry.registerItem(ammo_50ae_star, ammo_50ae_star.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_incendiary, ammo_50bmg_incendiary.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName()); GameRegistry.registerItem(ammo_50bmg_du, ammo_50bmg_du.getUnlocalizedName()); + GameRegistry.registerItem(ammo_50bmg_star, ammo_50bmg_star.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_he, ammo_rocket_he.getUnlocalizedName()); GameRegistry.registerItem(ammo_rocket_incendiary, ammo_rocket_incendiary.getUnlocalizedName()); diff --git a/com/hbm/items/food/ItemEnergy.java b/com/hbm/items/food/ItemEnergy.java index da324d425..0c5f7603f 100644 --- a/com/hbm/items/food/ItemEnergy.java +++ b/com/hbm/items/food/ItemEnergy.java @@ -325,22 +325,27 @@ public class ItemEnergy extends Item { if(this == ModItems.bottle_nuka) { list.add("Contains about 210 kcal and 1500 mSv."); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle_cherry) { list.add("Now with severe radiation poisoning in every seventh bottle!"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle_quantum) { list.add("Comes with a colorful mix of over 70 isotopes!"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle2_korl) { list.add("Contains actual orange juice!"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle2_fritz) { list.add("moremore caffeine"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle2_korl_special) { @@ -348,6 +353,7 @@ public class ItemEnergy extends Item { list.add("shgehgev u rguer"); else list.add("Contains actual orange juice!"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle2_fritz_special) { @@ -355,6 +361,7 @@ public class ItemEnergy extends Item { list.add("ygrogr fgrof bf"); else list.add("moremore caffeine"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle_sparkle) { @@ -362,6 +369,7 @@ public class ItemEnergy extends Item { list.add("Contains trace amounts of taint."); else list.add("The most delicious beverage in the wasteland!"); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle_sparkle) { @@ -369,6 +377,7 @@ public class ItemEnergy extends Item { list.add("Now with 400% more radiation!"); else list.add("Tastes like radish and radiation."); + list.add("[Requires bottle opener]"); } if(this == ModItems.bottle2_sunset) { @@ -384,6 +393,7 @@ public class ItemEnergy extends Item { } else { list.add("The eternal #2. Screw you, Bradberton!"); } + list.add("[Requires bottle opener]"); } } } diff --git a/com/hbm/items/special/ItemCustomLore.java b/com/hbm/items/special/ItemCustomLore.java index fdf0ba9fa..0be6efc8e 100644 --- a/com/hbm/items/special/ItemCustomLore.java +++ b/com/hbm/items/special/ItemCustomLore.java @@ -683,8 +683,7 @@ public class ItemCustomLore extends Item { if(this == ModItems.book_of_) { - list.add("Denn wer den Walzer richtig tritt,"); - list.add("der ist auch für den Abgang fit."); + list.add("Edition 4, gold lined pages"); } if(this == ModItems.missile_skin_camo) diff --git a/com/hbm/items/special/ItemDrop.java b/com/hbm/items/special/ItemDrop.java index e629636ef..ab83d5fb2 100644 --- a/com/hbm/items/special/ItemDrop.java +++ b/com/hbm/items/special/ItemDrop.java @@ -60,7 +60,7 @@ public class ItemDrop extends Item { } } if (stack.getItem() != null && stack.getItem() == ModItems.detonator_de) { - if (!entityItem.worldObj.isRemote) { + if (!entityItem.worldObj.isRemote && MainRegistry.dropDead) { entityItem.worldObj.createExplosion(entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 15.0F, true); @@ -73,19 +73,19 @@ public class ItemDrop extends Item { if (entityItem.onGround) { - if (stack.getItem() != null && stack.getItem() == ModItems.cell_antimatter) { + if (stack.getItem() != null && stack.getItem() == ModItems.cell_antimatter && MainRegistry.dropCell) { if (!entityItem.worldObj.isRemote) { entityItem.worldObj.createExplosion(entityItem, entityItem.posX, entityItem.posY, entityItem.posZ, 10.0F, true); } } - if (stack.getItem() != null && stack.getItem() == ModItems.pellet_antimatter) { + if (stack.getItem() != null && stack.getItem() == ModItems.pellet_antimatter && MainRegistry.dropCell) { if (!entityItem.worldObj.isRemote) { ExplosionLarge.explodeFire(entityItem.worldObj, entityItem.posX, entityItem.posY, entityItem.posZ, 100, true, true, true); } } - if (stack.getItem() != null && stack.getItem() == ModItems.cell_anti_schrabidium) { + if (stack.getItem() != null && stack.getItem() == ModItems.cell_anti_schrabidium && MainRegistry.dropCell) { if (!entityItem.worldObj.isRemote) { entityItem.worldObj.playSoundEffect(entityItem.posX, entityItem.posY, entityItem.posZ, "random.explode", 100.0f, entityItem.worldObj.rand.nextFloat() * 0.1F + 0.9F); @@ -108,7 +108,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(cloud); } } - if (stack.getItem() != null && stack.getItem() == ModItems.singularity) { + if (stack.getItem() != null && stack.getItem() == ModItems.singularity && MainRegistry.dropSing) { if (!entityItem.worldObj.isRemote) { EntityVortex bl = new EntityVortex(entityItem.worldObj, 1.5F); @@ -118,7 +118,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } - if (stack.getItem() != null && stack.getItem() == ModItems.singularity_counter_resonant) { + if (stack.getItem() != null && stack.getItem() == ModItems.singularity_counter_resonant && MainRegistry.dropSing) { if (!entityItem.worldObj.isRemote) { EntityVortex bl = new EntityVortex(entityItem.worldObj, 2.5F); @@ -128,7 +128,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } - if (stack.getItem() != null && stack.getItem() == ModItems.singularity_super_heated) { + if (stack.getItem() != null && stack.getItem() == ModItems.singularity_super_heated && MainRegistry.dropSing) { if (!entityItem.worldObj.isRemote) { EntityVortex bl = new EntityVortex(entityItem.worldObj, 2.5F); @@ -138,7 +138,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } - if (stack.getItem() != null && stack.getItem() == ModItems.black_hole) { + if (stack.getItem() != null && stack.getItem() == ModItems.black_hole && MainRegistry.dropSing) { if (!entityItem.worldObj.isRemote) { /*entityItem.worldObj.playSoundEffect(entityItem.posX, entityItem.posY, entityItem.posZ, "random.explode", 100.0f, entityItem.worldObj.rand.nextFloat() * 0.1F + 0.9F); @@ -162,7 +162,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } - if (stack.getItem() != null && stack.getItem() == ModItems.singularity_spark) { + if (stack.getItem() != null && stack.getItem() == ModItems.singularity_spark && MainRegistry.dropSing) { if (!entityItem.worldObj.isRemote) { EntityRagingVortex bl = new EntityRagingVortex(entityItem.worldObj, 3.5F); bl.posX = entityItem.posX ; @@ -171,7 +171,7 @@ public class ItemDrop extends Item { entityItem.worldObj.spawnEntityInWorld(bl); } } - if (stack.getItem() != null && stack.getItem() == ModItems.crystal_xen) { + if (stack.getItem() != null && stack.getItem() == ModItems.crystal_xen && MainRegistry.dropCrys) { if (!entityItem.worldObj.isRemote) { ExplosionChaos.floater(entityItem.worldObj, (int)entityItem.posX, (int)entityItem.posY, (int)entityItem.posZ, 25, 75); ExplosionChaos.move(entityItem.worldObj, (int)entityItem.posX, (int)entityItem.posY, (int)entityItem.posZ, 25, 0, 75, 0); diff --git a/com/hbm/items/special/WatzFuel.java b/com/hbm/items/special/WatzFuel.java index f338b93dc..af15e42da 100644 --- a/com/hbm/items/special/WatzFuel.java +++ b/com/hbm/items/special/WatzFuel.java @@ -45,6 +45,8 @@ public class WatzFuel extends ItemRadioactive { list.add("Heat provided: " + heat + " heat"); list.add("Heat multiplier: " + (heatMultiplier >= 1 ? "+" : "") + (Math.round(heatMultiplier * 1000) * .10 - 100) + "%"); list.add("Decay multiplier: " + (decayMultiplier >= 1 ? "+" : "") + (Math.round(decayMultiplier * 1000) * .10 - 100) + "%"); + + super.addInformation(itemstack, player, list, bool); } public static void setLifeTime(ItemStack stack, int time) { diff --git a/com/hbm/items/tool/ItemCassette.java b/com/hbm/items/tool/ItemCassette.java index ca20b2b47..48a47f902 100644 --- a/com/hbm/items/tool/ItemCassette.java +++ b/com/hbm/items/tool/ItemCassette.java @@ -2,21 +2,15 @@ package com.hbm.items.tool; import java.util.List; -import com.hbm.handler.FluidTypeHandler.FluidType; -import com.hbm.tileentity.conductor.TileEntityFluidDuct; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.resources.I18n; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; public class ItemCassette extends Item { diff --git a/com/hbm/items/tool/ItemCatalog.java b/com/hbm/items/tool/ItemCatalog.java index 338c5ad4a..065258c09 100644 --- a/com/hbm/items/tool/ItemCatalog.java +++ b/com/hbm/items/tool/ItemCatalog.java @@ -1,5 +1,7 @@ package com.hbm.items.tool; +import java.util.List; + import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; @@ -19,4 +21,10 @@ public class ItemCatalog extends Item { return stack; } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + list.add("For a guide on how to obtain this, visit https://bit.ly/2TPgcqT"); + list.add("No tricks this time, i promise."); + } } diff --git a/com/hbm/items/tool/ItemSatChip.java b/com/hbm/items/tool/ItemSatChip.java index 6c02e17ca..cad7dba8e 100644 --- a/com/hbm/items/tool/ItemSatChip.java +++ b/com/hbm/items/tool/ItemSatChip.java @@ -2,6 +2,8 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.items.ModItems; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -13,6 +15,30 @@ public class ItemSatChip extends Item { public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { list.add("Satellite frequency: " + getFreq(itemstack)); + + if(this == ModItems.sat_foeq) + list.add("Gives you an achievement. That's it."); + + if(this == ModItems.sat_gerald) + list.add("Unused (for now)"); + + if(this == ModItems.sat_laser) + list.add("Allows to summon lasers with a 15 second cooldown."); + + if(this == ModItems.sat_mapper) + list.add("Displays currently loaded chunks."); + + if(this == ModItems.sat_miner) + list.add("Will deliver ore powders to a caargo landing pad."); + + if(this == ModItems.sat_radar) + list.add("Shows a map of active entities."); + + if(this == ModItems.sat_resonator) + list.add("Unused"); + + if(this == ModItems.sat_scanner) + list.add("Creates a topdown map of underground ores."); } public static int getFreq(ItemStack stack) { diff --git a/com/hbm/items/weapon/ItemAmmo.java b/com/hbm/items/weapon/ItemAmmo.java index 64c64efb0..134218181 100644 --- a/com/hbm/items/weapon/ItemAmmo.java +++ b/com/hbm/items/weapon/ItemAmmo.java @@ -87,6 +87,11 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.BLUE + "+ Rocket"); list.add(EnumChatFormatting.YELLOW + "* Uhhhh"); } + if(this == ModItems.ammo_44_star) { + list.add(EnumChatFormatting.BLUE + "+ Highly increased damage"); + list.add(EnumChatFormatting.YELLOW + "* Starmetal"); + list.add(EnumChatFormatting.RED + "- Highly decreased damage"); + } //5mm if(this == ModItems.ammo_5mm_explosive) { @@ -99,6 +104,11 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.YELLOW + "* Heavy metal"); list.add(EnumChatFormatting.RED + "- Highly increased wear"); } + if(this == ModItems.ammo_5mm_star) { + list.add(EnumChatFormatting.BLUE + "+ Highly increased damage"); + list.add(EnumChatFormatting.YELLOW + "* Starmetal"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } //9mm if(this == ModItems.ammo_9mm_ap) { @@ -136,6 +146,11 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.YELLOW + "* Heavy metal"); list.add(EnumChatFormatting.RED + "- Highly increased wear"); } + if(this == ModItems.ammo_50bmg_star) { + list.add(EnumChatFormatting.BLUE + "+ Highly increased damage"); + list.add(EnumChatFormatting.YELLOW + "* Starmetal"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } //.50 AE if(this == ModItems.ammo_50ae_ap) { @@ -147,6 +162,11 @@ public class ItemAmmo extends Item { list.add(EnumChatFormatting.YELLOW + "* Heavy metal"); list.add(EnumChatFormatting.RED + "- Highly increased wear"); } + if(this == ModItems.ammo_50ae_star) { + list.add(EnumChatFormatting.BLUE + "+ Highly increased damage"); + list.add(EnumChatFormatting.YELLOW + "* Starmetal"); + list.add(EnumChatFormatting.RED + "- Highly increased wear"); + } //84mm ROCKETS if(this == ModItems.ammo_rocket_he) { diff --git a/com/hbm/items/weapon/ItemGunBase.java b/com/hbm/items/weapon/ItemGunBase.java index 3facbaf47..7374362dc 100644 --- a/com/hbm/items/weapon/ItemGunBase.java +++ b/com/hbm/items/weapon/ItemGunBase.java @@ -30,6 +30,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.client.event.MouseEvent; @@ -476,10 +477,17 @@ public class ItemGunBase extends Item implements IHoldableWeapon { list.add("Durability: " + dura + " / " + mainConfig.durability); - if(MainRegistry.enableDebugMode) { + //if(MainRegistry.enableDebugMode) { list.add(""); list.add("Name: " + mainConfig.name); list.add("Manufacturer: " + mainConfig.manufacturer); + //} + + if(!mainConfig.comment.isEmpty()) { + list.add(""); + for(String s : mainConfig.comment) + list.add(EnumChatFormatting.ITALIC + s); + list.add(""); } if(MainRegistry.enableExtendedLogging) { @@ -652,7 +660,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { } /// NBT utility /// - protected static void writeNBT(ItemStack stack, String key, int value) { + public static void writeNBT(ItemStack stack, String key, int value) { if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); @@ -660,7 +668,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon { stack.stackTagCompound.setInteger(key, value); } - protected static int readNBT(ItemStack stack, String key) { + public static int readNBT(ItemStack stack, String key) { if(!stack.hasTagCompound()) return 0; diff --git a/com/hbm/items/weapon/ItemGunGauss.java b/com/hbm/items/weapon/ItemGunGauss.java index 144be1df4..30a95706b 100644 --- a/com/hbm/items/weapon/ItemGunGauss.java +++ b/com/hbm/items/weapon/ItemGunGauss.java @@ -121,4 +121,13 @@ public class ItemGunGauss extends ItemGunBase { public static int getCharge(ItemStack stack) { return readNBT(stack, "gauss_charge"); } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + list.add("alt-fire is broken, just yell at me until i fix it ok"); + list.add(""); + + super.addInformation(stack, player, list, bool); + } } diff --git a/com/hbm/items/weapon/ItemGunLacunae.java b/com/hbm/items/weapon/ItemGunLacunae.java new file mode 100644 index 000000000..62312bfdd --- /dev/null +++ b/com/hbm/items/weapon/ItemGunLacunae.java @@ -0,0 +1,68 @@ +package com.hbm.items.weapon; + +import java.util.List; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; + +import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityCombineBall; +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.handler.GunConfiguration; +import com.hbm.interfaces.IHoldableWeapon; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; +import com.hbm.packet.GunButtonPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.render.util.RenderScreenOverlay.Crosshair; +import com.hbm.sound.AudioWrapper; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.resources.I18n; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraftforge.client.event.MouseEvent; + +public class ItemGunLacunae extends ItemGunBase { + + public ItemGunLacunae(GunConfiguration config) { + super(config); + } + + @Override + public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { + + setDelay(stack, 20); + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); + } + + @Override + public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { + + world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); + } + + protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { + + super.updateServer(stack, world, player, slot, isCurrentItem); + + if(getIsMouseDown(stack)) { + + int rot = readNBT(stack, "rot") % 360; + rot += 25; + writeNBT(stack, "rot", rot); + } + } +} diff --git a/com/hbm/items/weapon/WeaponizedCell.java b/com/hbm/items/weapon/WeaponizedCell.java index eb3178d21..27d8cab7b 100644 --- a/com/hbm/items/weapon/WeaponizedCell.java +++ b/com/hbm/items/weapon/WeaponizedCell.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.entity.effect.EntityCloudFleijaRainbow; import com.hbm.entity.logic.EntityNukeExplosionMK3; +import com.hbm.main.MainRegistry; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -20,28 +21,31 @@ public class WeaponizedCell extends Item { if(item.ticksExisted > 50 * 20 || item.isBurning()) { if(!world.isRemote) { - world.playSoundEffect(item.posX, item.posY, item.posZ, - "random.explode", 100.0f, world.rand.nextFloat() * 0.1F + 0.9F); - - EntityNukeExplosionMK3 exp = new EntityNukeExplosionMK3(world); - exp.posX = item.posX; - exp.posY = item.posY; - exp.posZ = item.posZ; - exp.destructionRange = 100; - exp.speed = 25; - exp.coefficient = 1.0F; - exp.waste = false; - - world.spawnEntityInWorld(exp); - EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(world, 100); - cloud.posX = item.posX; - cloud.posY = item.posY; - cloud.posZ = item.posZ; - world.spawnEntityInWorld(cloud); + if(MainRegistry.dropStar) { + + world.playSoundEffect(item.posX, item.posY, item.posZ, "random.explode", 100.0f, world.rand.nextFloat() * 0.1F + 0.9F); + + EntityNukeExplosionMK3 exp = new EntityNukeExplosionMK3(world); + exp.posX = item.posX; + exp.posY = item.posY; + exp.posZ = item.posZ; + exp.destructionRange = 100; + exp.speed = 25; + exp.coefficient = 1.0F; + exp.waste = false; + + world.spawnEntityInWorld(exp); + + EntityCloudFleijaRainbow cloud = new EntityCloudFleijaRainbow(world, 100); + cloud.posX = item.posX; + cloud.posY = item.posY; + cloud.posZ = item.posZ; + world.spawnEntityInWorld(cloud); + } + + item.setDead(); } - - item.setDead(); } int randy = (50 * 20) - item.ticksExisted; diff --git a/com/hbm/lib/RefStrings.java b/com/hbm/lib/RefStrings.java index d4c707371..5bbe2224d 100644 --- a/com/hbm/lib/RefStrings.java +++ b/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 (3365)"; + public static final String VERSION = "1.0.27 BETA (3442)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index f27b89bba..9e98dbf06 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -142,6 +142,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_stinger, new ItemRenderStinger()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_skystinger, new ItemRenderStinger()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); //MinecraftForgeClient.registerItemRenderer(ModItems.gun_rpg_ammo, new ItemRenderRocket()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); diff --git a/com/hbm/main/CraftingManager.java b/com/hbm/main/CraftingManager.java index af41bb192..8da7ce174 100644 --- a/com/hbm/main/CraftingManager.java +++ b/com/hbm/main/CraftingManager.java @@ -913,18 +913,22 @@ public class CraftingManager { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_20gauge_wither, 4), new Object[] { "BCB", "CAC", "BCB", 'B', ModItems.ammo_20gauge, 'A', Blocks.soul_sand, 'C', "dustCoal" })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_44_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_44, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_44_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_44, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_44_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_44_du, 'A', ModItems.ingot_starmetal }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_44_pip, 1), new Object[] { " B ", "BAB", " B ", 'A', ModItems.ammo_44, 'B', ModItems.powder_magic }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_44_bj, 1), new Object[] { " C ", "BAB", " C ", 'A', ModItems.ammo_44, 'B', ModItems.powder_magic, 'C', "dustDesh" })); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_explosive, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm, 'A', Blocks.tnt }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_5mm, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_5mm_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_5mm_du, 'A', ModItems.ingot_starmetal }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_9mm_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_9mm, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_9mm_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_9mm, 'A', ModItems.ingot_u238 }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_22lr_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_22lr, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_incendiary, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.powder_fire }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_explosive, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', Blocks.tnt }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50bmg, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50bmg_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50bmg_du, 'A', ModItems.ingot_starmetal }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_ap, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_dura_steel }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_du, 8), new Object[] { "BBB", "BAB", "BBB", 'B', ModItems.ammo_50ae, 'A', ModItems.ingot_u238 }); + GameRegistry.addRecipe(new ItemStack(ModItems.ammo_50ae_star, 4), new Object[] { " B ", "BAB", " B ", 'B', ModItems.ammo_50ae_du, 'A', ModItems.ingot_starmetal }); GameRegistry.addRecipe(new ItemStack(ModItems.folly_bullet, 1), new Object[] { " S ", "STS", "SMS", 'S', ModItems.ingot_starmetal, 'T', ModItems.powder_magic, 'M', ModBlocks.block_meteor }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.folly_bullet_nuclear, 1), new Object[] { " N ", "UTU", "UTU", 'N', ModItems.gun_fatman_ammo, 'U', "ingotIron", 'T', "blockTungsten" })); diff --git a/com/hbm/main/MainRegistry.java b/com/hbm/main/MainRegistry.java index 1be43d39d..d3a5af338 100644 --- a/com/hbm/main/MainRegistry.java +++ b/com/hbm/main/MainRegistry.java @@ -318,6 +318,12 @@ public class MainRegistry public static int generalOverride = 0; public static int polaroidID = 1; + public static boolean dropCell = true; + public static boolean dropSing = true; + public static boolean dropStar = true; + public static boolean dropCrys = true; + public static boolean dropDead = true; + public static int taintID = 62; public static int radiationID = 63; public static int bangID = 64; @@ -1763,6 +1769,13 @@ public class MainRegistry final String CATEGORY_MACHINE = "09_machines"; templateBlacklist = Arrays.asList(createConfigStringList(config, CATEGORY_MACHINE, "9.00_templateBlacklist", "Which machine templates should be prohibited from being created (args: enum names)")); + + final String CATEGORY_DROPS = "10_dangerous_drops"; + dropCell = createConfigBool(config, CATEGORY_DROPS, "10.00_dropCell", "Whether antimatter cells should explode when dropped", true); + dropSing = createConfigBool(config, CATEGORY_DROPS, "10.01_dropBHole", "Whether singularities and blaack holes should spawn when dropped", true); + dropStar = createConfigBool(config, CATEGORY_DROPS, "10.02_dropStar", "Whether rigged star blaster cells should explode when dropped", true); + dropCrys = createConfigBool(config, CATEGORY_DROPS, "10.04_dropCrys", "Whether xen crystals should move blocks when dropped", true); + dropDead = createConfigBool(config, CATEGORY_DROPS, "10.05_dropDead", "Whether dead man's explosives should explode when dropped", true); config.save(); @@ -1809,6 +1822,13 @@ public class MainRegistry return prop.getInt(); } + private static boolean createConfigBool(Configuration config, String category, String name, String comment, boolean def) { + + Property prop = config.get(category, name, def); + prop.comment = comment; + return prop.getBoolean(); + } + private static String[] createConfigStringList(Configuration config, String category, String name, String comment) { Property prop = config.get(category, name, new String[] { "PLACEHOLDER" } ); diff --git a/com/hbm/main/ModEventHandler.java b/com/hbm/main/ModEventHandler.java index 050a83700..214dc7482 100644 --- a/com/hbm/main/ModEventHandler.java +++ b/com/hbm/main/ModEventHandler.java @@ -1,10 +1,8 @@ package com.hbm.main; -import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; -import java.util.Base64; import java.util.List; import java.util.Random; @@ -27,8 +25,6 @@ import com.hbm.saveddata.RadiationSavedData; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityCreeper; @@ -52,10 +48,8 @@ import net.minecraft.world.chunk.Chunk; import net.minecraftforge.event.entity.EntityEvent.EnteringChunk; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingSpawnEvent; -import net.minecraftforge.event.entity.player.PlayerDropsEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; -import scala.actors.threadpool.Arrays; public class ModEventHandler { @@ -385,13 +379,15 @@ public class ModEventHandler } String[] hashes = new String[] { - "da07ea0f3b13c2b3357511a7cb6121a7beaab120d0b9d745bb3637a1ff0e4d07", - "1aed2593fe54480eb240d110444131469757429dc7f9dd9ce5768aa4ae8c99c7", - "7bc4ada27654650ebc4a499d7ebd66f6f9fbb0d93b9091aadbe3afd155cc3547", - "3eec01bdbdfb1b9cb6eb66956f2049eac6e257a24e1e84b90da1ee3337c80385" + "7e6fabead604ce497b32c2ff29148254879980c045b97fa627eb074eb2de81e7", + "9031b60664473360593e89c7c9ece297ee3fbee25b0891450d904f15b3255bf6", + "d841ef1ebaf7bdb284fc20be3508a8db1dae78f8630bf9d192bb7cd8384458da", + "7c78f529c5f4748577bd8922753c04135cd733f525172b5a782894cfb9d544a8" }; + static final String salt = "df5fe65986dc0f145a867ad29aee9bfebc3a1cd5afb05f32"; + @SubscribeEvent public void onClickSign(PlayerInteractEvent event) { @@ -404,16 +400,23 @@ public class ModEventHandler TileEntitySign sign = (TileEntitySign)world.getTileEntity(x, y, z); + int correct = 0; + for(int i = 0; i < 4; i++) { - if(!hashes[i].equals(getHash(sign.signText[i]))) { - return; + if(hashes[i].equals(getHash(sign.signText[i] + salt))) { + sign.signText[i] = "Correct!"; + sign.markDirty(); + sign.getWorldObj().markBlockForUpdate(x, y, z); + correct++; } } - world.func_147480_a(x, y, z, false); - EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(ModItems.bobmazon_hidden)); - entityitem.delayBeforeCanPickup = 10; - world.spawnEntityInWorld(entityitem); + if(correct == 4) { + world.func_147480_a(x, y, z, false); + EntityItem entityitem = new EntityItem(world, x, y, z, new ItemStack(ModItems.bobmazon_hidden)); + entityitem.delayBeforeCanPickup = 10; + world.spawnEntityInWorld(entityitem); + } } } diff --git a/com/hbm/main/ResourceManager.java b/com/hbm/main/ResourceManager.java index a4bfa867a..7a0a8c7fc 100644 --- a/com/hbm/main/ResourceManager.java +++ b/com/hbm/main/ResourceManager.java @@ -282,7 +282,8 @@ public class ResourceManager { public static final IModelCustom shimmer_axe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/shimmer_axe.obj")); public static final IModelCustom brimstone = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/brimstone.obj")); - public static final IModelCustom hk69 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/hk69.obj")); + public static final IModelCustom hk69 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/hk69.obj")); + public static final IModelCustom deagle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/deagle.obj")); ////Texture Items @@ -292,6 +293,7 @@ public class ResourceManager { public static final ResourceLocation brimstone_tex = new ResourceLocation(RefStrings.MODID, "textures/models/brimstone.png"); public static final ResourceLocation hk69_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hk69.png"); + public static final ResourceLocation deagle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/deagle.png"); diff --git a/com/hbm/render/item/ItemRenderOverkill.java b/com/hbm/render/item/ItemRenderOverkill.java index 5ab7b1282..25b31678c 100644 --- a/com/hbm/render/item/ItemRenderOverkill.java +++ b/com/hbm/render/item/ItemRenderOverkill.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; import com.hbm.items.weapon.GunFolly; +import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.render.model.ModelCalBarrel; @@ -203,7 +204,7 @@ public class ItemRenderOverkill implements IItemRenderer { if(item.getItem() == ModItems.gun_lacunae || item.getItem() == ModItems.gun_minigun || item.getItem() == ModItems.gun_avenger) - lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); + lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ItemGunBase.readNBT(item, "rot")); if(item.getItem() == ModItems.gun_folly) { int state = GunFolly.getState(item); diff --git a/com/hbm/render/item/ItemRenderWeaponObj.java b/com/hbm/render/item/ItemRenderWeaponObj.java index 8fd27ac32..7302442a0 100644 --- a/com/hbm/render/item/ItemRenderWeaponObj.java +++ b/com/hbm/render/item/ItemRenderWeaponObj.java @@ -10,6 +10,7 @@ import com.hbm.render.model.ModelPanzerschreck; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; @@ -33,7 +34,8 @@ public class ItemRenderWeaponObj implements IItemRenderer { @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; + + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); } @Override @@ -41,44 +43,95 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glPushMatrix(); GL11.glDisable(GL11.GL_CULL_FACE); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; if(item.getItem() == ModItems.gun_hk69) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.hk69_tex); + + if(item.getItem() == ModItems.gun_deagle) + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.turbofan_blades_tex); switch(type) { case EQUIPPED_FIRST_PERSON: - GL11.glTranslatef(1.0F, 0.5F, 0.0F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - if(Minecraft.getMinecraft().thePlayer.isSneaking()) { - GL11.glTranslatef(1.16F, 0.35F, -0.8F); - GL11.glRotatef(5.5F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(4F, 1.0F, 0.0F, 0.0F); + + if(item.getItem() == ModItems.gun_hk69) { + GL11.glTranslatef(1.0F, 0.5F, 0.0F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-25F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.75, 0.75, 0.75); + + if(player.isSneaking()) { + GL11.glTranslatef(1.16F, 0.35F, -0.8F); + GL11.glRotatef(5.5F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(4F, 1.0F, 0.0F, 0.0F); + } } + + if(item.getItem() == ModItems.gun_deagle) { + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(25F, -1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.2F, 0.2F, 0.8F); + GL11.glScaled(0.2, 0.2, 0.2); + + if(player.isSneaking()) { + GL11.glTranslatef(3.7F, 1.7F, 0F); + GL11.glRotatef(-5F, 0.0F, 1.0F, 0.0F); + } + } + break; case EQUIPPED: - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.4F, 0.0F, 0.55F); - GL11.glScaled(0.75, 0.75, 0.75); + + if(item.getItem() == ModItems.gun_hk69) { + GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); + GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.4F, 0.0F, 0.55F); + GL11.glScaled(0.75, 0.75, 0.75); + } + + if(item.getItem() == ModItems.gun_deagle) { + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(35F, -1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -0.1F, 0.8F); + GL11.glScaled(0.15, 0.15, 0.15); + } + break; case ENTITY: - GL11.glTranslatef(0.0F, 0.2F, 0.0F); - GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); + + if(item.getItem() == ModItems.gun_hk69) { + GL11.glTranslatef(0.0F, 0.2F, 0.0F); + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.75, 0.75, 0.75); + } + + if(item.getItem() == ModItems.gun_deagle) { + GL11.glTranslatef(0.0F, 0.2F, 0.0F); + GL11.glScaled(0.25, 0.25, 0.25); + } + break; default: break; } - if(item.getItem() == ModItems.gun_hk69) + if(item.getItem() == ModItems.gun_hk69) { + GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.hk69.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + + if(item.getItem() == ModItems.gun_deagle) { + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.deagle.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glPopMatrix(); diff --git a/com/hbm/render/model/ModelLacunae.java b/com/hbm/render/model/ModelLacunae.java index 396589f87..ba9c0a519 100644 --- a/com/hbm/render/model/ModelLacunae.java +++ b/com/hbm/render/model/ModelLacunae.java @@ -464,7 +464,7 @@ public class ModelLacunae extends ModelBase { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); - rot *= 0.0025F; + rot *= Math.PI / 180F; Barrel1.rotateAngleX += rot; Barrel2.rotateAngleX += rot; @@ -556,6 +556,33 @@ public class ModelLacunae extends ModelBase { ClampB.render(f5); ClampF.render(f5); AmmoBox.render(f5); + + Barrel1.rotateAngleX -= rot; + Barrel2.rotateAngleX -= rot; + Barrel3.rotateAngleX -= rot; + Barrel4.rotateAngleX -= rot; + Barrel5.rotateAngleX -= rot; + Barrel6.rotateAngleX -= rot; + Brace1.rotateAngleX -= rot; + Brace2.rotateAngleX -= rot; + Brace3.rotateAngleX -= rot; + Brace4.rotateAngleX -= rot; + Brace5.rotateAngleX -= rot; + Brace6.rotateAngleX -= rot; + Brace7.rotateAngleX -= rot; + Brace8.rotateAngleX -= rot; + Brace9.rotateAngleX -= rot; + Brace10.rotateAngleX -= rot; + Brace11.rotateAngleX -= rot; + Brace12.rotateAngleX -= rot; + Disc1.rotateAngleX -= rot; + Disc2.rotateAngleX -= rot; + Disc3.rotateAngleX -= rot; + Disc4.rotateAngleX -= rot; + Disc5.rotateAngleX -= rot; + Disc6.rotateAngleX -= rot; + Disc7.rotateAngleX -= rot; + Disc8.rotateAngleX -= rot; } private void setRotation(ModelRenderer model, float x, float y, float z) { diff --git a/com/hbm/render/tileentity/RenderCoreComponent.java b/com/hbm/render/tileentity/RenderCoreComponent.java index 0997d10e2..0d5e92e98 100644 --- a/com/hbm/render/tileentity/RenderCoreComponent.java +++ b/com/hbm/render/tileentity/RenderCoreComponent.java @@ -4,6 +4,9 @@ import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; import com.hbm.tileentity.machine.TileEntityCoreEmitter; import com.hbm.tileentity.machine.TileEntityCoreInjector; import com.hbm.tileentity.machine.TileEntityCoreReceiver; @@ -11,6 +14,7 @@ import com.hbm.tileentity.machine.TileEntityCoreReceiver; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; @@ -50,6 +54,8 @@ public class RenderCoreComponent extends TileEntitySpecialRenderer { if(tileEntity instanceof TileEntityCoreEmitter) { bindTexture(ResourceManager.dfc_emitter_tex); ResourceManager.dfc_emitter.renderAll(); + BeamPronter.prontHelix(Vec3.createVectorHelper(0, 0, 6), 0, 0.5, 0.5, EnumWaveType.SPIRAL, EnumBeamType.LINE, 0xFF0000, 0xFF8000, (int)tileEntity.getWorldObj().getTotalWorldTime() % 360 * -50, 100, 0.25F); + } if(tileEntity instanceof TileEntityCoreReceiver) { diff --git a/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 019a0e1e6..dd3275175 100644 --- a/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -1,7 +1,106 @@ package com.hbm.tileentity.machine; -import net.minecraft.tileentity.TileEntity; +import java.util.ArrayList; +import java.util.List; -public class TileEntityCoreEmitter extends TileEntity { +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.IFluidAcceptor; +import com.hbm.interfaces.ILaserable; +import com.hbm.inventory.FluidTank; +import com.hbm.tileentity.TileEntityMachineBase; + +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IConsumer, IFluidAcceptor, ILaserable { + + public long power; + public static final long maxPower = 1000000000L; + public long joules; + public boolean isOn; + public FluidTank tank; + + public TileEntityCoreEmitter() { + super(2); + } + + @Override + public String getName() { + return "container.dfcEmitter"; + } + + @Override + public void updateEntity() { + + if (!worldObj.isRemote) { + + //tank.setType(0, 1, slots); + //tank.updateTank(xCoord, yCoord, zCoord); + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + + //worldObj.setBlock(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, Blocks.dirt); + } + } + + @Override + public void setFluidFill(int i, FluidType type) { + if(type.name().equals(tank.getTankType().name())) + tank.setFill(i); + } + + @Override + public int getFluidFill(FluidType type) { + if(type.name().equals(tank.getTankType().name())) + return tank.getFill(); + else + return 0; + } + + @Override + public int getMaxFluidFill(FluidType type) { + if(type.name().equals(tank.getTankType().name())) + return tank.getMaxFill(); + else + return 0; + } + + @Override + public void setFillstate(int fill, int index) { + tank.setFill(fill); + } + + @Override + public void setType(FluidType type, int index) { + tank.setTankType(type); + } + + @Override + public List getTanks() { + List list = new ArrayList(); + list.add(tank); + + return list; + } + + @Override + public void setPower(long i) { + this.power = i; + } + + @Override + public long getPower() { + return this.power; + } + + @Override + public long getMaxPower() { + return this.maxPower; + } + + @Override + public void addEnergy(long energy) { + joules += energy; + } }