From 596ac5c300465a10bf68af0b313c030f6b4a4b38 Mon Sep 17 00:00:00 2001 From: Pheonix Date: Sat, 12 Mar 2022 20:26:40 +0000 Subject: [PATCH 01/17] Time, Doctor Freeman. Is it really that time, again? --- .../java/com/hbm/crafting/ArmorRecipes.java | 6 + .../inventory/recipes/anvil/AnvilRecipes.java | 3 + src/main/java/com/hbm/items/ModItems.java | 21 + .../com/hbm/items/armor/ArmorBismuth.java | 35 + src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/main/ResourceManager.java | 5 +- .../hbm/render/model/ModelArmorBismuth.java | 57 + src/main/resources/assets/hbm/lang/en_US.lang | 6 + .../assets/hbm/models/armor/bismuth.obj | 3028 +++++++++++++++++ .../assets/hbm/textures/armor/bismuth.png | Bin 0 -> 10054 bytes .../hbm/textures/items/bismuth_boots.png | Bin 0 -> 257 bytes .../hbm/textures/items/bismuth_helmet.png | Bin 0 -> 829 bytes .../hbm/textures/items/bismuth_legs.png | Bin 0 -> 351 bytes .../hbm/textures/items/bismuth_plate.png | Bin 0 -> 655 bytes .../hbm/textures/items/plate_bismuth.png | Bin 0 -> 729 bytes 15 files changed, 3161 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hbm/items/armor/ArmorBismuth.java create mode 100644 src/main/java/com/hbm/render/model/ModelArmorBismuth.java create mode 100644 src/main/resources/assets/hbm/models/armor/bismuth.obj create mode 100644 src/main/resources/assets/hbm/textures/armor/bismuth.png create mode 100644 src/main/resources/assets/hbm/textures/items/bismuth_boots.png create mode 100644 src/main/resources/assets/hbm/textures/items/bismuth_helmet.png create mode 100644 src/main/resources/assets/hbm/textures/items/bismuth_legs.png create mode 100644 src/main/resources/assets/hbm/textures/items/bismuth_plate.png create mode 100644 src/main/resources/assets/hbm/textures/items/plate_bismuth.png diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 358de71d4..9c8261f01 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -98,6 +98,12 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_legs, 1), new Object[] { "MPM", "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr, 'M', ModItems.motor_desh }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.rpa_boots, 1), new Object[] { "KLK", "P P", 'L', DictFrame.fromOne(ModItems.parts_legendary, EnumLegendaryType.TIER2), 'K', ModItems.plate_kevlar, 'P', ModItems.plate_armor_ajr }); + //Bismuth fursui- I mean armor + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_helmet, 1), new Object[] { "GPP", "P ", "FPP", 'G', Items.gold_ingot, 'P', ModItems.plate_bismuth, 'F', ModItems.rag }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_plate, 1), new Object[] { "RWR", "PCP", "SFS", 'R', ModItems.crystal_rare, 'W', ModItems.wire_gold, 'P', ModItems.plate_bismuth, 'C', ModItems.laser_crystal_bismuth, 'S', ModItems.ring_starmetal, 'F', ModItems.rag }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_legs, 1), new Object[] { "FSF", " ", "FSF", 'F', ModItems.rag, 'S', ModItems.ring_starmetal }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_boots, 1), new Object[] { "W W", "P P", 'W', ModItems.wire_gold, 'P', ModItems.plate_bismuth }); + //Euphemium armor CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_helmet, 1), new Object[] { "EEE", "E E", 'E', ModItems.plate_euphemium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_plate, 1), new Object[] { "EWE", "EEE", "EEE", 'E', ModItems.plate_euphemium, 'W', ModItems.watch }); diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 50dd7ff53..1843e22a7 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -256,6 +256,9 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(DURA.ingot(), 1)}, new AnvilOutput(new ItemStack(ModItems.plate_desh, 4))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] {new ComparableStack(ModItems.nugget_bismuth, 2), new OreDictStack(U238.billet(), 2), new OreDictStack(NB.dust(), 1)}, + new AnvilOutput(new ItemStack(ModItems.plate_bismuth, 1))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(EUPH.ingot(), 4), new OreDictStack(AT.dust(), 2), new OreDictStack(VOLCANIC.gem(), 1)}, new AnvilOutput(new ItemStack(ModItems.plate_euphemium, 4))).setTier(6)); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index abee1b754..c58065fbd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -305,6 +305,7 @@ public class ModItems { public static Item plate_kevlar; public static Item plate_dineutronium; public static Item plate_desh; + public static Item plate_bismuth; public static Item photo_panel; public static Item sat_base; public static Item thruster_nuclear; @@ -2020,6 +2021,10 @@ public class ModItems { public static Item rpa_plate; public static Item rpa_legs; public static Item rpa_boots; + public static Item bismuth_helmet; + public static Item bismuth_plate; + public static Item bismuth_legs; + public static Item bismuth_boots; public static Item bj_helmet; public static Item bj_plate; public static Item bj_plate_jetpack; @@ -2640,6 +2645,7 @@ public class ModItems { plate_kevlar = new Item().setUnlocalizedName("plate_kevlar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_kevlar"); plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dineutronium"); plate_desh = new Item().setUnlocalizedName("plate_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_desh"); + plate_bismuth = new ItemCustomLore().setUnlocalizedName("plate_bismuth").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_bismuth"); ingot_solinium = new Item().setUnlocalizedName("ingot_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_solinium"); nugget_solinium = new Item().setUnlocalizedName("nugget_solinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_solinium"); photo_panel = new Item().setUnlocalizedName("photo_panel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":photo_panel"); @@ -4794,6 +4800,16 @@ public class ModItems { schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 7, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate"); schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 7, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs"); schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 7, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots"); + bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setCap(8F).setMod(0.75F) + .addResistance("fall", 0) + .addEffect(new PotionEffect(Potion.jump.id, 20, 6)) + .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) + .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) + .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) + .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); + bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); + bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); + bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 7, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setMod(0.85F).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 7, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 7, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); @@ -6008,6 +6024,7 @@ public class ModItems { GameRegistry.registerItem(plate_kevlar, plate_kevlar.getUnlocalizedName()); GameRegistry.registerItem(plate_dalekanium, plate_dalekanium.getUnlocalizedName()); GameRegistry.registerItem(plate_desh, plate_desh.getUnlocalizedName()); + GameRegistry.registerItem(plate_bismuth, plate_bismuth.getUnlocalizedName()); GameRegistry.registerItem(plate_euphemium, plate_euphemium.getUnlocalizedName()); GameRegistry.registerItem(plate_dineutronium, plate_dineutronium.getUnlocalizedName()); @@ -7877,6 +7894,10 @@ public class ModItems { GameRegistry.registerItem(schrabidium_plate, schrabidium_plate.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_legs, schrabidium_legs.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_boots, schrabidium_boots.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_helmet, bismuth_helmet.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_plate, bismuth_plate.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_legs, bismuth_legs.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_boots, bismuth_boots.getUnlocalizedName()); GameRegistry.registerItem(euphemium_helmet, euphemium_helmet.getUnlocalizedName()); GameRegistry.registerItem(euphemium_plate, euphemium_plate.getUnlocalizedName()); GameRegistry.registerItem(euphemium_legs, euphemium_legs.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorBismuth.java b/src/main/java/com/hbm/items/armor/ArmorBismuth.java new file mode 100644 index 000000000..d2ab75713 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ArmorBismuth.java @@ -0,0 +1,35 @@ +package com.hbm.items.armor; + +import com.hbm.render.model.ModelArmorBismuth; +import com.hbm.render.model.ModelArmorRPA; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; + +public class ArmorBismuth extends ArmorFSB { + + public ArmorBismuth(ArmorMaterial material, int layer, int slot, String texture) { + super(material, layer, slot, texture); + } + + @SideOnly(Side.CLIENT) + ModelArmorBismuth[] models; + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { + + if(models == null) { + models = new ModelArmorBismuth[4]; + + for(int i = 0; i < 4; i++) + models[i] = new ModelArmorBismuth(i); + } + + return models[armorSlot]; + } + +} diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 16555e3df..e5deb3294 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -141,6 +141,7 @@ public class MainRegistry { public static ArmorMaterial aMatSecurity = EnumHelper.addArmorMaterial("HBM_SECURITY", 100, new int[] { 3, 8, 6, 3 }, 15); public static ArmorMaterial aMatCobalt = EnumHelper.addArmorMaterial("HBM_COBALT", 70, new int[] { 3, 8, 6, 3 }, 25); public static ArmorMaterial aMatStarmetal = EnumHelper.addArmorMaterial("HBM_STARMETAL", 150, new int[] { 3, 8, 6, 3 }, 100); + public static ArmorMaterial aMatBismuth = EnumHelper.addArmorMaterial("HBM_BISMUTH", 100, new int[] { 3, 8, 6, 3 }, 100); // Creative Tabs diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index f276c0d78..c53b489b2 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -643,6 +643,7 @@ public class ResourceManager { public static final IModelCustom armor_dnt = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/dnt.obj")); public static final IModelCustom armor_steamsuit = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/steamsuit.obj")); public static final IModelCustom armor_remnant = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/remnant.obj")); + public static final IModelCustom armor_bismuth = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/bismuth.obj")); public static final IModelCustom armor_mod_tesla = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/mod_tesla.obj")); public static final IModelCustom armor_wings = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/murk.obj")); public static final IModelCustom armor_solstice = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/solstice.obj")); @@ -759,11 +760,13 @@ public class ResourceManager { public static final ResourceLocation rpa_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/rpa_arm.png"); public static final ResourceLocation mod_tesla = new ResourceLocation(RefStrings.MODID, "textures/armor/mod_tesla.png"); + + public static final ResourceLocation armor_bismuth_tex = new ResourceLocation(RefStrings.MODID, "textures/armor/bismuth.png"); public static final ResourceLocation wings_murk = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_murk.png"); public static final ResourceLocation wings_bob = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_bob.png"); public static final ResourceLocation wings_black = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_black.png"); - public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png"); + public static final ResourceLocation wings_solstice = new ResourceLocation(RefStrings.MODID, "textures/armor/wings_solstice.png"); public static final ResourceLocation hat = new ResourceLocation(RefStrings.MODID, "textures/armor/hat.png"); public static final ResourceLocation goggles = new ResourceLocation(RefStrings.MODID, "textures/armor/goggles.png"); diff --git a/src/main/java/com/hbm/render/model/ModelArmorBismuth.java b/src/main/java/com/hbm/render/model/ModelArmorBismuth.java new file mode 100644 index 000000000..6d3b5bcc4 --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelArmorBismuth.java @@ -0,0 +1,57 @@ +package com.hbm.render.model; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; +import com.hbm.render.loader.ModelRendererObj; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.entity.Entity; + +public class ModelArmorBismuth extends ModelArmorBase { + + public ModelArmorBismuth(int type) { + super(type); + + head = new ModelRendererObj(ResourceManager.armor_bismuth, "Head"); + body = new ModelRendererObj(ResourceManager.armor_bismuth, "Body"); + leftArm = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftArm").setRotationPoint(-5.0F, 2.0F, 0.0F); + rightArm = new ModelRendererObj(ResourceManager.armor_bismuth, "RightArm").setRotationPoint(5.0F, 2.0F, 0.0F); + leftLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftLeg").setRotationPoint(1.9F, 12.0F, 0.0F); + rightLeg = new ModelRendererObj(ResourceManager.armor_bismuth, "RightLeg").setRotationPoint(-1.9F, 12.0F, 0.0F); + leftFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "LeftFoot").setRotationPoint(1.9F, 12.0F, 0.0F); + rightFoot = new ModelRendererObj(ResourceManager.armor_bismuth, "RightFoot").setRotationPoint(-1.9F, 12.0F, 0.0F); + } + + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + + setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + + GL11.glPushMatrix(); + GL11.glShadeModel(GL11.GL_SMOOTH); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.armor_bismuth_tex); + + if(type == 0) { + head.render(par7); + } + if(type == 1) { + leftArm.render(par7); + rightArm.render(par7); + body.render(par7); + } + if(type == 2) { + leftLeg.render(par7); + rightLeg.render(par7); + } + if(type == 3) { + leftFoot.render(par7); + rightFoot.render(par7); + } + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + } +} diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 8c145e77f..aa4ec40f7 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1081,7 +1081,11 @@ item.billet_zirconium.name=Zirconium Billet item.bio_wafer.name=Algae Wafer item.biomass.name=Biomass item.biomass_compressed.name=Compressed Biomass +item.bismuth_boots.name=Bismuth Sandals +item.bismuth_helmet.name=Bismuth Headdress +item.bismuth_legs.name=Bismuth Kneeguards item.bismuth_pickaxe.name=Bismuth Pickaxe +item.bismuth_plate.name=Bismuth Shoulderpads, Necklace & Loincloth item.bismuth_tool.name=Magnetic Extractor item.bj_boots.name=Lunar Studded Boots item.bj_helmet.name=Eyepatch with Thermal Sensor @@ -2423,6 +2427,8 @@ item.plate_armor_fau.name=Fau Armor Plating item.plate_armor_hev.name=Reactive Armor Plating item.plate_armor_lunar.name=Lunar Plating item.plate_armor_titanium.name=Titanium Armor Plate +item.plate_bismuth.name=Bismuth Compound Plate +item.plate_bismuth.desc=Guys, It's Bismuth's alchemical symbol, I swear. item.plate_combine_steel.name=CMB Steel Plate item.plate_copper.name=Copper Plate item.plate_dalekanium.name=Angry Metal diff --git a/src/main/resources/assets/hbm/models/armor/bismuth.obj b/src/main/resources/assets/hbm/models/armor/bismuth.obj new file mode 100644 index 000000000..d07f664f0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/armor/bismuth.obj @@ -0,0 +1,3028 @@ +# Blender v2.79 (sub 0) OBJ File: 'bismuth_armor.blend' +# www.blender.org +mtllib bismuth.mtl +o RightFoot +v -4.141729 24.067028 2.136320 +v 0.124961 24.067026 2.136320 +v -4.141729 24.067028 -2.130370 +v -4.141729 22.765120 -2.130370 +v 0.124961 24.067026 -2.130370 +v 0.124961 22.765116 -2.130370 +v -2.008385 21.575682 -3.487657 +v -2.008384 24.067026 -3.487657 +vt 0.144578 0.823529 +vt 0.180723 0.941176 +vt 0.144578 0.941176 +vt 0.048193 0.941176 +vt 0.144578 0.941176 +vt 0.096386 0.970588 +vt 0.048193 0.941176 +vt 0.012048 0.941176 +vt 0.048193 0.823529 +vt 0.144578 1.000000 +vt 0.048193 1.000000 +vt 0.000000 1.000000 +vt 0.096386 0.970588 +vt 0.192771 1.000000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 -0.7521 0.6591 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5368 -0.0000 -0.8437 +vn -0.5368 0.0000 -0.8437 +usemtl None +s off +f 2/1/1 6/2/1 5/3/1 +f 6/4/2 4/5/2 7/6/2 +f 3/7/3 4/8/3 1/9/3 +f 5/3/4 1/9/4 2/1/4 +f 6/2/5 8/10/5 5/3/5 +f 4/8/6 8/11/6 7/12/6 +f 3/7/4 5/3/4 8/13/4 +f 5/3/4 3/7/4 1/9/4 +f 6/2/5 7/14/5 8/10/5 +f 4/8/6 3/7/6 8/11/6 +o RightArm +v -3.868196 -1.385486 2.089541 +v -3.868194 2.482796 2.089541 +v -6.727931 -1.385484 2.089541 +v -6.727929 2.482797 2.089541 +v -3.868196 -1.385486 -2.083592 +v -3.868194 2.482796 -2.083592 +v -6.727931 -1.385484 -2.083592 +v -6.727929 2.482797 -2.083592 +v -5.583236 4.039337 2.089541 +v -8.419424 4.039339 2.089541 +v -8.419426 0.171058 2.089541 +v -8.419426 0.171058 -2.083591 +v -8.419424 4.039339 -2.083591 +v -5.583236 4.039337 -2.083592 +v -5.721349 -2.606914 1.081455 +v -4.874778 -2.606915 1.081455 +v -4.874778 -2.606915 -1.075505 +v -5.721349 -2.606914 -1.075505 +v -9.559078 0.957293 1.081455 +v -9.559078 0.957293 -1.075505 +v -9.559076 3.253101 -1.075505 +v -9.559076 3.253101 1.081455 +v -8.000977 -1.823888 -1.075505 +v -8.631191 -1.243954 -1.075505 +v -8.631191 -1.243954 1.081455 +v -8.000977 -1.823888 1.081455 +v -4.496462 -2.606915 1.567900 +v -6.099665 -2.606914 1.567900 +v -4.496462 -2.606915 -1.561950 +v -6.099665 -2.606914 -1.561950 +v -9.559078 0.439535 -1.561950 +v -9.559078 0.439535 1.567900 +v -9.559076 3.770859 -1.561950 +v -9.559076 3.770859 1.567900 +v -8.950394 -0.950218 -1.561950 +v -7.681774 -2.117624 -1.561950 +v -8.950394 -0.950218 1.567900 +v -7.681774 -2.117624 1.567900 +v -5.721350 -4.274494 1.081455 +v -4.874779 -4.274494 1.081455 +v -4.874779 -4.274494 -1.075505 +v -5.721350 -4.274494 -1.075505 +v -11.115009 0.957294 1.081455 +v -11.115009 0.957294 -1.075505 +v -11.115007 3.253102 -1.075505 +v -11.115007 3.253102 1.081455 +v -9.014559 -3.089092 -1.075505 +v -9.644773 -2.509160 -1.075505 +v -9.644773 -2.509159 1.081455 +v -9.014559 -3.089093 1.081455 +v -6.110137 7.776291 1.993027 +v -6.110137 7.592242 2.319573 +v -6.110137 7.399228 1.993027 +v -5.221390 7.408160 1.993027 +v -5.351533 7.278018 2.319573 +v -5.488015 7.141536 1.993027 +v -4.853261 6.519414 1.993027 +v -5.037309 6.519414 2.319573 +v -5.230323 6.519414 1.993027 +v -5.221392 5.630669 1.993027 +v -5.351534 5.760811 2.319573 +v -5.488016 5.897292 1.993027 +v -6.110137 5.262538 1.993027 +v -6.110137 5.446588 2.319573 +v -6.110137 5.639601 1.993027 +v -6.998883 5.630669 1.993027 +v -6.868741 5.760811 2.319573 +v -6.732259 5.897293 1.993027 +v -7.367013 6.519414 1.993027 +v -7.182964 6.519414 2.319573 +v -6.989950 6.519414 1.993027 +v -6.998883 7.408160 1.993027 +v -6.868741 7.278018 2.319573 +v -6.732259 7.141537 1.993027 +v -8.033747 6.630578 -2.020720 +v -8.033749 6.394355 -2.020720 +v -3.986356 6.630577 -2.020720 +v -3.986357 6.394354 -2.020720 +v -8.033747 6.917206 2.026670 +v -8.033749 6.107728 2.026670 +v -3.986357 6.917205 2.026670 +v -3.986358 6.107727 2.026670 +v -7.099485 6.917206 2.026670 +v -5.142802 6.107728 2.026670 +v -7.099486 6.107728 2.026670 +v -5.142801 6.917206 2.026670 +vt 0.058610 0.440457 +vt 0.000000 0.441176 +vt 0.000000 0.338235 +vt 0.000000 0.441176 +vt 0.058533 0.440018 +vt 0.060241 0.337540 +vt 0.060241 0.337540 +vt 0.035980 0.295068 +vt 0.096386 0.397059 +vt 0.035955 0.295044 +vt 0.000000 0.338235 +vt 0.096386 0.397059 +vt 0.132530 0.455882 +vt 0.132530 0.485294 +vt 0.180723 0.485294 +vt 0.096386 0.455882 +vt 0.096386 0.485294 +vt 0.180723 0.455882 +vt 0.180723 0.411765 +vt 0.132530 0.411765 +vt 0.216867 0.485294 +vt 0.216867 0.455882 +vt 0.132530 0.529412 +vt 0.180723 0.529412 +vt 0.180723 0.308824 +vt 0.132530 0.308824 +vt 0.132530 0.367647 +vt 0.180723 0.264706 +vt 0.132530 0.264706 +vt 0.180723 0.367647 +vt 0.216867 0.367647 +vt 0.216867 0.308824 +vt 0.132530 0.411765 +vt 0.180723 0.411765 +vt 0.096386 0.308824 +vt 0.096386 0.367647 +vt 0.253012 0.455882 +vt 0.253012 0.485294 +vt 0.301205 0.485294 +vt 0.216867 0.455882 +vt 0.216867 0.485294 +vt 0.301205 0.455882 +vt 0.301205 0.411765 +vt 0.253012 0.411765 +vt 0.337349 0.485294 +vt 0.337349 0.455882 +vt 0.253012 0.529412 +vt 0.301205 0.529412 +vt 0.096386 0.294118 +vt 0.096386 0.294118 +vt 0.084337 0.132353 +vt 0.108434 0.132353 +vt 0.108434 0.088235 +vt 0.024096 0.132353 +vt 0.024096 0.161765 +vt 0.084337 0.161765 +vt 0.024096 0.088235 +vt 0.000000 0.088235 +vt 0.000000 0.132353 +vt 0.084337 0.088235 +vt 0.084337 0.058824 +vt 0.024096 0.058824 +vt 0.084337 0.191176 +vt 0.084337 0.161765 +vt 0.024096 0.161765 +vt 0.084337 0.264706 +vt 0.108434 0.264706 +vt 0.108434 0.191176 +vt 0.024096 0.264706 +vt 0.024096 0.294118 +vt 0.084337 0.294118 +vt -0.000000 0.191176 +vt 0.000000 0.264706 +vt 0.000000 0.088235 +vt 0.000000 0.132353 +vt 0.024096 0.132353 +vt 0.084337 0.088235 +vt 0.084337 0.058824 +vt 0.024096 0.058824 +vt 0.084337 0.132353 +vt 0.108434 0.132353 +vt 0.108434 0.088235 +vt 0.024096 0.161765 +vt 0.084337 0.161765 +vt 0.072289 0.102941 +vt 0.072289 0.117647 +vt 0.036145 0.117647 +vt 0.036145 0.102941 +vt 0.036145 0.205882 +vt 0.072289 0.205882 +vt 0.072289 0.250000 +vt 0.036145 0.250000 +vt 0.024096 0.191176 +vt 0.036145 0.117647 +vt 0.036145 0.102941 +vt 0.024096 0.088235 +vt 0.072289 0.102941 +vt 0.072289 0.117647 +vt 0.192771 0.794118 +vt 0.192771 0.764706 +vt 0.144578 0.764706 +vt 0.180723 0.735294 +vt 0.156627 0.735294 +vt 0.144578 0.794118 +vt 0.096386 0.764706 +vt 0.132530 0.735294 +vt 0.108434 0.735294 +vt 0.048193 0.794118 +vt 0.096386 0.794118 +vt 0.048193 0.764706 +vt 0.084337 0.735294 +vt 0.000000 0.794118 +vt 0.000000 0.764706 +vt 0.036145 0.735294 +vt 0.385542 0.794118 +vt 0.385542 0.764706 +vt 0.337349 0.764706 +vt 0.373494 0.735294 +vt 0.349398 0.735294 +vt 0.337349 0.794118 +vt 0.289157 0.764706 +vt 0.325301 0.735294 +vt 0.301205 0.735294 +vt 0.240964 0.794118 +vt 0.289157 0.794118 +vt 0.240964 0.764706 +vt 0.277108 0.735294 +vt 0.228916 0.735294 +vt 0.072289 0.794118 +vt 0.072289 0.823529 +vt 0.120482 0.823529 +vt 0.120482 0.794118 +vt 0.168675 0.823529 +vt 0.000000 0.794118 +vt 0.000000 0.823529 +vt 0.024096 0.823529 +vt 0.024096 0.794118 +vt 0.168675 0.794118 +vt 0.192771 0.823529 +vt 0.060241 0.735294 +vt 0.012048 0.735294 +vt 0.253012 0.735294 +vt 0.204819 0.735294 +vt 0.192771 0.794118 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -1.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.6771 -0.7359 -0.0000 +vn -0.7804 0.6252 0.0000 +vn 0.7804 -0.6252 0.0000 +vn 0.4181 -0.7891 0.4500 +vn 0.3590 -0.3328 0.8720 +vn -0.1412 -0.4385 0.8876 +vn 0.4181 -0.7891 -0.4500 +vn 0.3590 -0.3328 -0.8720 +vn -0.4181 -0.7891 -0.4500 +vn -0.1412 -0.4385 -0.8876 +vn -0.4181 -0.7891 0.4500 +vn -0.7388 -0.5169 -0.4324 +vn -0.4205 -0.1879 -0.8876 +vn -0.4205 -0.1879 0.8876 +vn -0.7388 0.5169 -0.4324 +vn -0.2648 0.3576 -0.8955 +vn -0.7388 0.5169 0.4324 +vn -0.2648 0.3576 0.8955 +vn -0.0911 -0.8948 -0.4370 +vn -0.8699 -0.2238 0.4395 +vn -0.0911 -0.8948 0.4370 +vn -0.3015 -0.9045 0.3015 +vn 0.3015 -0.9045 0.3015 +vn 0.3015 -0.9045 -0.3015 +vn -0.3015 -0.9045 -0.3015 +vn -0.9045 -0.3015 0.3015 +vn -0.9045 -0.3015 -0.3015 +vn -0.9045 0.3015 -0.3015 +vn -0.9045 0.3015 0.3015 +vn -0.7388 -0.5169 0.4324 +vn -0.3828 -0.8668 -0.3193 +vn -0.8355 -0.4702 -0.2842 +vn -0.8699 -0.2238 -0.4395 +vn -0.8355 -0.4702 0.2842 +vn -0.3828 -0.8668 0.3193 +vn 0.0000 0.8712 0.4910 +vn 0.0000 0.2171 0.9761 +vn 0.1535 0.1535 0.9761 +vn 0.0000 -0.8608 0.5088 +vn -0.6087 -0.6087 0.5088 +vn 0.6160 0.6160 0.4910 +vn 0.2171 0.0000 0.9761 +vn -0.8608 0.0000 0.5088 +vn 0.6160 -0.6160 0.4910 +vn 0.8712 0.0000 0.4910 +vn 0.1535 -0.1535 0.9761 +vn 0.0000 -0.8712 0.4910 +vn 0.0000 -0.2171 0.9761 +vn -0.6087 0.6087 0.5088 +vn -0.1535 -0.1535 0.9761 +vn 0.0000 0.8608 0.5088 +vn 0.6087 0.6087 0.5088 +vn -0.6160 -0.6160 0.4910 +vn -0.2171 0.0000 0.9761 +vn 0.8608 0.0000 0.5088 +vn -0.6160 0.6160 0.4910 +vn -0.8712 0.0000 0.4910 +vn -0.1535 0.1535 0.9761 +vn 0.6087 -0.6087 0.5088 +vn -0.7225 0.0000 -0.6914 +vn 0.7225 0.0000 -0.6914 +vn 0.6906 0.0000 0.7232 +vn -0.6906 0.0000 0.7232 +usemtl None +s off +f 11/15/7 9/16/7 10/17/7 +f 13/18/8 15/19/8 16/20/8 +f 12/21/7 10/17/7 17/22/7 +f 19/23/7 11/15/7 12/21/7 +f 22/24/8 14/25/8 16/20/8 +f 16/20/8 15/19/8 20/26/8 +f 48/27/9 47/28/9 50/29/9 +f 48/27/7 24/30/7 23/31/7 +f 49/32/10 25/33/10 24/34/10 +f 50/29/8 26/35/8 25/36/8 +f 47/28/11 23/37/11 26/38/11 +f 52/39/11 51/40/11 54/41/11 +f 52/39/9 28/42/9 27/43/9 +f 53/44/8 29/45/8 28/46/8 +f 54/41/12 30/47/12 29/48/12 +f 51/40/7 27/49/7 30/50/7 +f 56/51/13 55/52/13 58/53/13 +f 32/54/8 31/55/8 55/52/8 +f 57/56/14 33/57/14 32/58/14 +f 34/59/7 33/60/7 57/56/7 +f 55/52/15 31/61/15 34/62/15 +f 11/15/7 10/17/7 12/21/7 +f 13/18/8 16/20/8 14/25/8 +f 12/21/7 17/22/7 18/63/7 +f 19/23/7 12/21/7 18/63/7 +f 22/24/8 16/20/8 21/64/8 +f 16/20/8 20/26/8 21/64/8 +f 48/27/9 50/29/9 49/32/9 +f 48/27/7 23/31/7 47/28/7 +f 49/32/10 24/34/10 48/27/10 +f 50/29/8 25/36/8 49/32/8 +f 47/28/11 26/38/11 50/29/11 +f 52/39/11 54/41/11 53/44/11 +f 52/39/9 27/43/9 51/40/9 +f 53/44/8 28/46/8 52/39/8 +f 54/41/12 29/48/12 53/44/12 +f 51/40/7 30/50/7 54/41/7 +f 56/51/13 58/53/13 57/56/13 +f 32/54/8 55/52/8 56/51/8 +f 57/56/14 32/58/14 56/51/14 +f 34/59/7 57/56/7 58/53/7 +f 55/52/15 34/62/15 58/53/15 +s 1 +f 35/65/16 9/66/17 11/67/18 +f 37/68/19 13/69/20 9/70/17 +f 38/71/21 15/72/22 13/73/20 +f 36/74/23 11/75/18 15/76/22 +f 39/77/24 20/78/25 19/79/26 +f 41/80/27 21/81/28 20/82/25 +f 42/83/29 18/84/30 21/85/28 +f 19/86/26 18/87/30 42/83/29 +f 20/88/25 15/89/22 44/90/31 +f 45/91/32 19/92/26 20/93/25 +f 46/94/33 11/95/18 19/96/26 +f 44/90/31 15/97/22 11/98/18 +f 23/99/34 24/100/35 35/65/16 +f 24/100/35 25/101/36 37/68/19 +f 26/102/37 38/71/21 37/68/19 +f 26/102/37 23/99/34 36/74/23 +f 27/103/38 28/104/39 39/77/24 +f 28/104/39 29/105/40 41/80/27 +f 29/105/40 30/106/41 42/83/29 +f 30/106/41 27/103/38 40/107/42 +f 31/108/43 32/109/44 43/110/45 +f 32/109/44 33/111/46 45/91/32 +f 34/112/47 46/94/33 45/91/32 +f 31/108/43 44/90/31 46/94/33 +f 59/113/48 60/114/49 63/115/50 +f 60/114/49 61/116/51 64/117/52 +f 62/118/53 63/115/50 66/119/54 +f 63/115/50 64/120/52 67/121/55 +f 68/122/56 65/123/57 66/119/54 +f 69/124/58 66/119/54 67/125/55 +f 71/126/59 68/122/56 69/124/58 +f 72/127/60 69/124/58 70/128/61 +f 71/129/59 72/130/60 75/131/62 +f 72/130/60 73/132/63 76/133/64 +f 74/134/65 75/131/62 78/135/66 +f 75/131/62 76/136/64 79/137/67 +f 80/138/68 77/139/69 78/135/66 +f 81/140/70 78/135/66 79/141/67 +f 59/113/48 80/138/68 81/140/70 +f 60/114/49 81/140/70 82/142/71 +f 84/143/72 83/144/72 85/145/73 +f 86/146/73 85/145/73 89/147/74 +f 93/148/7 91/149/7 87/150/75 +f 88/151/75 87/150/75 83/144/72 +f 90/152/74 89/147/74 94/153/7 +f 35/65/16 11/67/18 36/74/23 +f 37/68/19 9/70/17 35/65/16 +f 38/71/21 13/73/20 37/68/19 +f 36/74/23 15/76/22 38/71/21 +f 39/77/24 19/79/26 40/107/42 +f 41/80/27 20/82/25 39/77/24 +f 42/83/29 21/85/28 41/80/27 +f 19/86/26 42/83/29 40/107/42 +f 20/88/25 44/90/31 43/110/45 +f 45/91/32 20/93/25 43/110/45 +f 46/94/33 19/96/26 45/91/32 +f 44/90/31 11/98/18 46/94/33 +f 23/99/34 35/65/16 36/74/23 +f 24/100/35 37/68/19 35/65/16 +f 26/102/37 37/68/19 25/101/36 +f 26/102/37 36/74/23 38/71/21 +f 27/103/38 39/77/24 40/107/42 +f 28/104/39 41/80/27 39/77/24 +f 29/105/40 42/83/29 41/80/27 +f 30/106/41 40/107/42 42/83/29 +f 31/108/43 43/110/45 44/90/31 +f 32/109/44 45/91/32 43/110/45 +f 34/112/47 45/91/32 33/111/46 +f 31/108/43 46/94/33 34/112/47 +f 59/113/48 63/115/50 62/118/53 +f 60/114/49 64/117/52 63/115/50 +f 62/118/53 66/119/54 65/123/57 +f 63/115/50 67/121/55 66/119/54 +f 68/122/56 66/119/54 69/124/58 +f 69/124/58 67/125/55 70/154/61 +f 71/126/59 69/124/58 72/127/60 +f 72/127/60 70/128/61 73/155/63 +f 71/129/59 75/131/62 74/134/65 +f 72/130/60 76/133/64 75/131/62 +f 74/134/65 78/135/66 77/139/69 +f 75/131/62 79/137/67 78/135/66 +f 80/138/68 78/135/66 81/140/70 +f 81/140/70 79/141/67 82/156/71 +f 59/113/48 81/140/70 60/114/49 +f 60/114/49 82/142/71 61/157/51 +f 84/143/72 85/145/73 86/146/73 +f 86/146/73 89/147/74 90/152/74 +f 93/148/7 87/150/75 88/151/75 +f 88/151/75 83/144/72 84/143/72 +f 90/152/74 94/153/7 92/158/7 +o RightLeg +v -2.110140 19.857271 -1.987077 +v -2.110140 19.673222 -2.313623 +v -2.110140 19.480209 -1.987077 +v -1.221394 19.489141 -1.987077 +v -1.351537 19.358999 -2.313623 +v -1.488018 19.222517 -1.987077 +v -0.853264 18.600395 -1.987077 +v -1.037313 18.600395 -2.313623 +v -1.230327 18.600395 -1.987077 +v -1.221395 17.711649 -1.987077 +v -1.351537 17.841791 -2.313623 +v -1.488018 17.978273 -1.987077 +v -2.110140 17.343519 -1.987077 +v -2.110140 17.527569 -2.313623 +v -2.110140 17.720581 -1.987077 +v -2.998886 17.711649 -1.987077 +v -2.868743 17.841791 -2.313623 +v -2.732262 17.978273 -1.987077 +v -3.367016 18.600395 -1.987077 +v -3.182967 18.600395 -2.313623 +v -2.989954 18.600395 -1.987077 +v -2.998886 19.489140 -1.987077 +v -2.868744 19.358997 -2.313623 +v -2.732262 19.222517 -1.987077 +v -4.033751 18.711559 2.026670 +v -4.033751 18.475336 2.026670 +v 0.013640 18.711559 2.026670 +v 0.013640 18.475336 2.026670 +v -4.033751 18.998186 -2.020720 +v -4.033751 18.188709 -2.020720 +v 0.013639 18.998186 -2.020720 +v 0.013639 18.188707 -2.020720 +v -3.099488 18.998186 -2.020720 +v -1.142804 18.188707 -2.020720 +v -3.099488 18.188709 -2.020720 +v -1.142804 18.998186 -2.020720 +vt 0.144578 0.794118 +vt 0.192771 0.764706 +vt 0.192771 0.794118 +vt 0.144578 0.764706 +vt 0.180723 0.735294 +vt 0.096386 0.794118 +vt 0.096386 0.764706 +vt 0.132530 0.735294 +vt 0.048193 0.794118 +vt 0.048193 0.764706 +vt 0.084337 0.735294 +vt 0.000000 0.764706 +vt 0.036145 0.735294 +vt 0.337349 0.794118 +vt 0.385542 0.764706 +vt 0.385542 0.794118 +vt 0.337349 0.764706 +vt 0.373494 0.735294 +vt 0.289157 0.794118 +vt 0.289157 0.764706 +vt 0.325301 0.735294 +vt 0.240964 0.764706 +vt 0.277108 0.735294 +vt 0.240964 0.794118 +vt 0.228916 0.735294 +vt 0.072289 0.794118 +vt 0.120482 0.823529 +vt 0.072289 0.823529 +vt 0.120482 0.794118 +vt 0.168675 0.823529 +vt 0.000000 0.794118 +vt 0.024096 0.823529 +vt 0.000000 0.823529 +vt 0.024096 0.794118 +vt 0.168675 0.794118 +vt 0.192771 0.823529 +vt 0.156627 0.735294 +vt 0.108434 0.735294 +vt 0.060241 0.735294 +vt 0.000000 0.794118 +vt 0.012048 0.735294 +vt 0.349398 0.735294 +vt 0.301205 0.735294 +vt 0.253012 0.735294 +vt 0.204819 0.735294 +vt 0.192771 0.794118 +vn 0.6160 0.6160 -0.4910 +vn 0.0000 0.2170 -0.9761 +vn 0.0000 0.8712 -0.4910 +vn 0.1535 0.1535 -0.9761 +vn 0.0000 -0.8609 -0.5088 +vn 0.8712 0.0000 -0.4910 +vn 0.2171 0.0000 -0.9761 +vn -0.6087 -0.6087 -0.5088 +vn 0.6160 -0.6160 -0.4910 +vn 0.1535 -0.1535 -0.9761 +vn -0.8608 0.0000 -0.5088 +vn 0.0000 -0.2170 -0.9761 +vn -0.6087 0.6087 -0.5088 +vn -0.6160 -0.6160 -0.4910 +vn 0.0000 -0.8712 -0.4910 +vn -0.1535 -0.1535 -0.9761 +vn 0.0000 0.8609 -0.5088 +vn -0.8712 0.0000 -0.4910 +vn -0.2171 0.0000 -0.9761 +vn 0.6087 0.6087 -0.5088 +vn -0.1535 0.1535 -0.9761 +vn 0.8608 0.0000 -0.5088 +vn -0.6160 0.6160 -0.4910 +vn 0.6087 -0.6087 -0.5088 +vn -0.7225 0.0000 0.6914 +vn 0.7225 0.0000 0.6914 +vn 0.6906 0.0000 -0.7232 +vn 0.0000 0.0000 -1.0000 +vn -0.6906 0.0000 -0.7232 +usemtl None +s 1 +f 98/159/76 96/160/77 95/161/78 +f 99/162/79 97/163/80 96/160/77 +f 101/164/81 99/162/79 98/159/76 +f 102/165/82 100/166/83 99/162/79 +f 104/167/84 102/165/82 101/164/81 +f 105/168/85 103/169/86 102/165/82 +f 104/167/84 108/170/87 105/168/85 +f 108/170/87 106/171/88 105/168/85 +f 110/172/89 108/173/87 107/174/90 +f 111/175/91 109/176/92 108/173/87 +f 113/177/93 111/175/91 110/172/89 +f 114/178/94 112/179/95 111/175/91 +f 113/177/93 117/180/96 114/178/94 +f 117/180/96 115/181/97 114/178/94 +f 95/161/78 117/180/96 116/182/98 +f 96/160/77 118/183/99 117/180/96 +f 120/184/100 121/185/101 119/186/100 +f 122/187/101 125/188/102 121/185/101 +f 129/189/103 123/190/104 127/191/103 +f 124/192/104 119/186/100 123/190/104 +f 126/193/102 130/194/103 125/188/102 +f 98/159/76 99/162/79 96/160/77 +f 99/162/79 100/195/83 97/163/80 +f 101/164/81 102/165/82 99/162/79 +f 102/165/82 103/196/86 100/166/83 +f 104/167/84 105/168/85 102/165/82 +f 105/168/85 106/197/88 103/169/86 +f 104/167/84 107/198/90 108/170/87 +f 108/170/87 109/199/92 106/171/88 +f 110/172/89 111/175/91 108/173/87 +f 111/175/91 112/200/95 109/176/92 +f 113/177/93 114/178/94 111/175/91 +f 114/178/94 115/201/97 112/179/95 +f 113/177/93 116/182/98 117/180/96 +f 117/180/96 118/202/99 115/181/97 +f 95/161/78 96/160/77 117/180/96 +f 96/160/77 97/203/80 118/183/99 +f 120/184/100 122/187/101 121/185/101 +f 122/187/101 126/193/102 125/188/102 +f 129/189/103 124/192/104 123/190/104 +f 124/192/104 120/184/100 119/186/100 +f 126/193/102 128/204/103 130/194/103 +o Head +v -1.508368 -8.285352 3.802689 +v -1.508372 -14.278589 3.802688 +v 1.488250 -8.285354 3.802689 +v 1.488247 -14.278592 3.802688 +v -1.508368 -8.285347 -2.190549 +v -1.508371 -14.278585 -2.190550 +v 1.488251 -8.285350 -2.190549 +v 1.488248 -14.278587 -2.190550 +v -1.273192 -5.900111 5.032125 +v -1.273195 -9.457933 8.619613 +v 1.253076 -5.900113 5.032125 +v 1.253075 -9.457935 8.619614 +v -1.273194 -9.487597 1.474305 +v -1.273196 -13.045419 5.061792 +v 1.253075 -9.487598 1.474305 +v 1.253072 -13.045421 5.061793 +v -0.980570 -1.235440 9.273873 +v -0.980572 -6.999479 9.297806 +v 0.960457 -1.235441 9.273874 +v 0.960454 -6.999480 9.297807 +v -0.980569 -1.267190 1.626005 +v -0.980572 -7.031229 1.649937 +v 0.960459 -1.267191 1.626004 +v 0.960455 -7.031230 1.649937 +v -1.281824 3.370458 8.560949 +v -1.281827 -1.716582 8.582069 +v 1.261716 3.370455 8.560948 +v 1.261714 -1.716584 8.582069 +v -1.281823 3.349338 3.473909 +v -1.281826 -1.737700 3.495030 +v 1.261717 3.349337 3.473909 +v 1.261715 -1.737702 3.495030 +v -0.938246 6.794746 7.686372 +v -0.938248 3.082000 7.701787 +v 0.918143 6.794745 7.686372 +v 0.918141 3.081999 7.701787 +v -0.938246 6.779333 3.973624 +v -0.938247 3.066586 3.989039 +v 0.918144 6.779332 3.973624 +v 0.918142 3.066585 3.989039 +v -0.665263 7.681831 6.846099 +v -0.665264 5.820934 5.000589 +v 0.645162 7.681829 6.846099 +v 0.645161 5.820933 5.000589 +v -0.665262 9.527344 4.985200 +v -0.665263 7.666443 3.139690 +v 0.645163 9.527342 4.985200 +v 0.645162 7.666443 3.139690 +v -4.410054 0.192320 4.402977 +v -4.410059 -8.607680 4.402976 +v 4.389945 0.192312 4.402977 +v 4.389940 -8.607687 4.402976 +v -4.410053 0.192326 -4.397024 +v -4.410058 -9.299909 -3.372829 +v 4.389946 0.192319 -4.397024 +v 4.389941 -9.299915 -3.372831 +v -4.410056 -2.354111 4.402977 +v -4.410058 -6.061250 4.402976 +v 4.389942 -6.061256 4.402976 +v 4.389944 -2.354118 4.402977 +v 4.389943 -6.061251 -4.397025 +v 4.389945 -1.759964 -4.397025 +v -4.410056 -6.061244 -4.397025 +v -4.410054 -1.759957 -4.397025 +v 4.389945 0.192314 2.222194 +v 4.389940 -9.299918 0.356267 +v -4.410054 0.192321 2.222193 +v -4.410059 -9.299911 0.356267 +v -4.410056 -3.091842 2.493567 +v -4.410057 -5.765733 -0.772733 +v 4.389943 -3.091849 2.493567 +v 4.389942 -5.765739 -0.772733 +v -0.010055 -3.490466 -9.097178 +v -0.010054 -1.538183 -9.097178 +v 2.486246 -8.607678 -7.519540 +v -2.506362 -8.607675 -7.519540 +v 2.486247 -6.061247 -7.519539 +v -2.506361 -6.061244 -7.519539 +v 4.389939 -10.583710 -0.159607 +v 4.389940 -10.583708 -2.856956 +v -4.410059 -10.583701 -2.856956 +v -4.410060 -10.583703 -0.159607 +v 2.486246 -9.631669 -10.148378 +v -2.506362 -9.631665 -10.148378 +v 2.486247 -7.085238 -10.148378 +v -2.506361 -7.085234 -10.148378 +v 2.486244 -11.852020 -8.006340 +v -2.506363 -11.852015 -8.006340 +v 2.486245 -11.852019 -9.310804 +v -2.506363 -11.852015 -9.310804 +v -0.010058 -9.631667 -10.148378 +v -0.010059 -11.852016 -9.310804 +v 0.633919 -10.234200 -9.921087 +v 1.842269 -10.234200 -9.921087 +v 1.842268 -11.249486 -9.538094 +v 0.633918 -11.249485 -9.538094 +v -1.862386 -10.234198 -9.921087 +v -0.654035 -10.234199 -9.921087 +v -0.654036 -11.249484 -9.538094 +v -1.862386 -11.249483 -9.538094 +v 1.842269 -9.798319 -8.765591 +v 0.633919 -9.798318 -8.765591 +v 0.633919 -10.813603 -8.382599 +v 1.842269 -10.813604 -8.382599 +v -0.654035 -9.798317 -8.765591 +v -1.862385 -9.798316 -8.765591 +v -1.862385 -10.813601 -8.382599 +v -0.654036 -10.813602 -8.382599 +v 4.389940 -8.607686 1.380462 +v 4.389941 -8.607681 -4.397026 +v -4.410058 -8.607675 -4.397026 +v -4.410058 -8.607678 1.380462 +v 4.389939 -11.275944 0.308259 +v 4.389940 -11.275941 -3.324822 +v -4.410059 -11.275934 -3.324822 +v -4.410060 -11.275937 0.308259 +v -3.610058 -9.299910 -3.372830 +v -3.610059 -9.299911 0.356267 +v -3.610059 -10.583702 -2.856956 +v -3.610060 -10.583703 -0.159607 +v 3.589941 -9.299917 0.356267 +v 3.589941 -9.299915 -3.372830 +v 3.589939 -10.583709 -0.159608 +v 3.589940 -10.583708 -2.856956 +v 5.645875 -8.217163 4.660890 +v 5.645875 -9.817163 4.660890 +v 4.163136 -8.217162 5.262124 +v 4.163136 -9.817162 5.262124 +v 5.044641 -8.217161 3.178150 +v 5.044641 -9.817162 3.178150 +v 3.561902 -8.217160 3.779384 +v 3.561902 -9.817161 3.779384 +v 3.896814 -2.763540 7.254127 +v 3.801686 -8.680468 4.249980 +v 4.032371 -1.908365 6.272345 +v 3.853090 -8.356171 3.877670 +v 5.014153 -1.554140 5.482267 +v 4.225400 -8.221842 3.578059 +v 6.267045 -1.908366 5.346712 +v 4.700520 -8.356171 3.526654 +v 7.057123 -2.763540 5.945084 +v 5.000132 -8.680469 3.753567 +v 6.921567 -3.618715 6.926867 +v 4.948727 -9.004766 4.125877 +v 5.939785 -3.972939 7.716943 +v 4.576417 -9.139093 4.425488 +v 4.686890 -3.618714 7.852498 +v 4.101297 -9.004766 4.476893 +v -5.172473 5.369970 8.408375 +v -5.172474 5.562243 6.053672 +v -5.172478 -3.465167 7.706107 +v -5.172478 -3.269783 5.313330 +v -4.095266 -8.217159 5.262125 +v -4.095266 -9.817160 5.262124 +v -5.578005 -8.217158 4.660890 +v -5.578005 -9.817158 4.660890 +v -3.494032 -8.217157 3.779385 +v -3.494032 -9.817157 3.779384 +v -4.976771 -8.217155 3.178150 +v -4.976771 -9.817156 3.178149 +v -7.156473 -2.763536 5.904851 +v -5.132457 -8.680464 3.682846 +v -6.375424 -1.908360 5.294742 +v -4.836269 -8.356166 3.451482 +v -5.120644 -1.554137 5.411564 +v -4.360434 -8.221838 3.495784 +v -4.127169 -1.908363 6.186887 +v -3.983691 -8.356167 3.789800 +v -3.976962 -2.763537 7.166533 +v -3.926729 -8.680464 4.161299 +v -4.758012 -3.618712 7.776642 +v -4.222918 -9.004762 4.392663 +v -6.012789 -3.972937 7.659819 +v -4.698752 -9.139090 4.348361 +v -7.006265 -3.618711 6.884498 +v -5.075496 -9.004761 4.054346 +v 5.288472 -3.271343 5.332368 +v 5.288471 -3.463617 7.687073 +v 5.288476 5.563792 6.034633 +v 5.288477 5.368412 8.427410 +v -5.185373 -3.465167 7.706107 +v -5.185368 5.369970 8.408375 +v -5.185369 5.562245 6.053672 +v -5.185372 -3.269783 5.313330 +v -5.712929 -8.217155 4.814359 +v -5.712930 -9.817155 4.814359 +v -4.221374 -8.217156 5.393374 +v -4.221375 -9.817156 5.393374 +v -5.133913 -8.217155 3.322803 +v -5.133914 -9.817154 3.322802 +v -3.642358 -8.217155 3.901819 +v -3.642359 -9.817156 3.901819 +v -3.925316 -2.763535 7.381176 +v -3.875084 -8.680463 4.375944 +v -4.075523 -1.908360 6.401529 +v -3.932045 -8.356165 4.004445 +v -5.068998 -1.554133 5.626207 +v -4.308788 -8.221836 3.710428 +v -6.323776 -1.908357 5.509384 +v -4.784623 -8.356164 3.666127 +v -7.104827 -2.763530 6.119492 +v -5.080811 -8.680461 3.897491 +v -6.954621 -3.618704 7.099140 +v -5.023851 -9.004759 4.268991 +v -5.961145 -3.972931 7.874462 +v -4.647107 -9.139088 4.563006 +v -4.706366 -3.618708 7.991283 +v -4.171273 -9.004760 4.607308 +v 5.160210 5.369962 8.399809 +v 5.125034 5.562235 6.045368 +v 5.149714 -3.465176 7.697618 +v 5.113968 -3.269792 5.305109 +v 4.036106 -8.217167 5.270001 +v 4.036106 -9.817166 5.270001 +v 5.509698 -8.217167 4.646683 +v 5.509698 -9.817167 4.646683 +v 3.412788 -8.217164 3.796409 +v 3.412787 -9.817163 3.796409 +v 4.886380 -8.217164 3.173090 +v 4.886380 -9.817164 3.173090 +v 7.106581 -2.763548 5.866924 +v 5.049588 -8.680472 3.675405 +v 6.316504 -1.908371 5.268551 +v 4.749977 -8.356174 3.448492 +v 5.063610 -1.554145 5.404106 +v 4.274858 -8.221846 3.499897 +v 4.081829 -1.908370 6.194184 +v 3.902549 -8.356174 3.799508 +v 3.946273 -2.763545 7.175965 +v 3.851143 -8.680471 4.171817 +v 4.736349 -3.618721 7.774338 +v 4.150755 -9.004769 4.398731 +v 5.989241 -3.972946 7.638782 +v 4.625875 -9.139097 4.347325 +v 6.971023 -3.618722 6.848705 +v 4.998183 -9.004769 4.047714 +v -5.345529 -3.271336 5.480423 +v -5.310351 -3.463610 7.834865 +v -5.335032 5.563800 6.182609 +v -5.299286 5.368419 8.575117 +v 5.162607 -3.465176 7.697426 +v 5.173103 5.369962 8.399616 +v 5.137928 5.562235 6.045175 +v 5.126861 -3.269792 5.304916 +v 3.316185 -6.993679 -5.128780 +v 3.316186 -5.821070 -5.128779 +v 2.306064 -6.993678 -4.533243 +v 2.306065 -5.821069 -4.533242 +v 2.720647 -6.993677 -6.138901 +v 2.720649 -5.821068 -6.138902 +v 1.710526 -6.993675 -5.543364 +v 1.710527 -5.821067 -5.543363 +v 1.114989 -5.821065 -6.553485 +v 1.114987 -6.993674 -6.553485 +v 2.125108 -6.993676 -7.149024 +v 2.125110 -5.821066 -7.149024 +v 0.519451 -5.821064 -7.563606 +v 0.519449 -6.993672 -7.563608 +v 1.529571 -6.993674 -8.159145 +v 1.529572 -5.821064 -8.159145 +v 3.316187 -5.234766 -5.128781 +v 2.306066 -5.234764 -4.533242 +v 1.710527 -5.234763 -5.543363 +v 2.720649 -5.234764 -6.138902 +v 1.114989 -5.234761 -6.553485 +v 2.125111 -5.234762 -7.149024 +v 0.519451 -5.234759 -7.563606 +v 1.529572 -5.234761 -8.159145 +v -3.396486 -6.993674 -5.128779 +v -3.396485 -5.821067 -5.128778 +v -2.386364 -6.993676 -4.533241 +v -2.386365 -5.821069 -4.533240 +v -2.800947 -6.993675 -6.138901 +v -2.800947 -5.821068 -6.138901 +v -1.790826 -6.993676 -5.543362 +v -1.790826 -5.821069 -5.543364 +v -1.195287 -5.821067 -6.553484 +v -1.195287 -6.993677 -6.553484 +v -2.205408 -6.993676 -7.149024 +v -2.205409 -5.821068 -7.149022 +v -0.599749 -5.821067 -7.563604 +v -0.599750 -6.993677 -7.563605 +v -1.609871 -6.993676 -8.159142 +v -1.609871 -5.821066 -8.159142 +v -3.396486 -5.234763 -5.128779 +v -2.386365 -5.234761 -4.533240 +v -1.790826 -5.234762 -5.543364 +v -2.800947 -5.234764 -6.138901 +v -1.195288 -5.234763 -6.553484 +v -2.205409 -5.234762 -7.149023 +v -0.599749 -5.234764 -7.563604 +v -1.609871 -5.234762 -8.159142 +v 1.704096 -7.845215 -9.860027 +v 1.704097 -6.672606 -9.860027 +v 1.703341 -7.845214 -8.687418 +v 1.703342 -6.672605 -8.687418 +v 0.531487 -7.845212 -9.860781 +v 0.531488 -6.672604 -9.860781 +v 0.530734 -7.845212 -8.688173 +v 0.530734 -6.672604 -8.688173 +v -0.641875 -6.672601 -8.688927 +v -0.641875 -7.845210 -8.688927 +v -0.641121 -7.845211 -9.861536 +v -0.641120 -6.672602 -9.861536 +v -1.814482 -6.672599 -8.689682 +v -1.814483 -7.845208 -8.689682 +v -1.813730 -7.845209 -9.862289 +v -1.813729 -6.672600 -9.862289 +v 1.704096 -6.086302 -9.860025 +v 1.703342 -6.086301 -8.687418 +v 0.530734 -6.086299 -8.688171 +v 0.531488 -6.086300 -9.860781 +v -0.641875 -6.086297 -8.688927 +v -0.641120 -6.086298 -9.861536 +v -1.814482 -6.086295 -8.689680 +v -1.813727 -6.086296 -9.862289 +v -2.474616 -1.420238 -4.557697 +v -2.493140 -2.558242 -4.275535 +v -3.339206 -1.597586 -5.329736 +v -3.357730 -2.735590 -5.047575 +v -1.682685 -1.640480 -5.393971 +v -1.701210 -2.778483 -5.111809 +v -2.547275 -1.817827 -6.166008 +v -2.565799 -2.955831 -5.883848 +v -1.773869 -3.176071 -6.720119 +v -1.755345 -2.038068 -7.002281 +v -0.890756 -1.860719 -6.230242 +v -0.909280 -2.998723 -5.948082 +v -0.981939 -3.396310 -7.556392 +v -0.963415 -2.258307 -7.838554 +v -0.098825 -2.080959 -7.066516 +v -0.117349 -3.218962 -6.784357 +v -2.502402 -3.127246 -4.134454 +v -3.366992 -3.304594 -4.906494 +v -2.575060 -3.524835 -5.742768 +v -1.710471 -3.347486 -4.970729 +v -1.783131 -3.745074 -6.579041 +v -0.918541 -3.567726 -5.807003 +v -0.991202 -3.965313 -7.415312 +v -0.126611 -3.787967 -6.643275 +v 2.425965 -1.420243 -4.557696 +v 2.444487 -2.558248 -4.275535 +v 3.290554 -1.597593 -5.329733 +v 3.309077 -2.735597 -5.047574 +v 1.634034 -1.640481 -5.393968 +v 1.652557 -2.778485 -5.111808 +v 2.498624 -1.817831 -6.166008 +v 2.517147 -2.955835 -5.883847 +v 1.725216 -3.176074 -6.720120 +v 1.706694 -2.038069 -7.002281 +v 0.842104 -1.860718 -6.230242 +v 0.860628 -2.998724 -5.948081 +v 0.933287 -3.396311 -7.556393 +v 0.914763 -2.258307 -7.838553 +v 0.050174 -2.080956 -7.066514 +v 0.068697 -3.218961 -6.784354 +v 2.453748 -3.127249 -4.134454 +v 3.318337 -3.304599 -4.906492 +v 2.526407 -3.524837 -5.742766 +v 1.661818 -3.347488 -4.970726 +v 1.734478 -3.745075 -6.579039 +v 0.869887 -3.567725 -5.807002 +v 0.942548 -3.965313 -7.415312 +v 0.077959 -3.787963 -6.643274 +vt 0.409639 0.411765 +vt 0.445783 0.500000 +vt 0.409639 0.500000 +vt 0.518072 0.411765 +vt 0.445783 0.308824 +vt 0.518072 0.308824 +vt 0.445783 0.220588 +vt 0.409639 0.308824 +vt 0.409639 0.220588 +vt 0.337349 0.411765 +vt 0.337349 0.308824 +vt 0.445783 0.411765 +vt 0.409639 0.411765 +vt 0.445783 0.500000 +vt 0.409639 0.500000 +vt 0.518072 0.411765 +vt 0.445783 0.308824 +vt 0.518072 0.308824 +vt 0.409639 0.220588 +vt 0.445783 0.220588 +vt 0.409639 0.308824 +vt 0.337349 0.411765 +vt 0.337349 0.308824 +vt 0.445783 0.411765 +vt 0.445783 0.411765 +vt 0.409639 0.308824 +vt 0.445783 0.308824 +vt 0.337349 0.411765 +vt 0.337349 0.308824 +vt 0.518072 0.411765 +vt 0.518072 0.308824 +vt 0.409639 0.220588 +vt 0.409639 0.411765 +vt 0.445783 0.500000 +vt 0.409639 0.500000 +vt 0.518072 0.397059 +vt 0.542169 0.470588 +vt 0.518072 0.470588 +vt 0.602410 0.397059 +vt 0.602410 0.470588 +vt 0.602410 0.367647 +vt 0.542169 0.294118 +vt 0.602410 0.294118 +vt 0.602410 0.500000 +vt 0.542169 0.500000 +vt 0.542169 0.397059 +vt 0.626506 0.397059 +vt 0.626506 0.470588 +vt 0.445783 0.411765 +vt 0.409639 0.500000 +vt 0.409639 0.411765 +vt 0.337349 0.308824 +vt 0.409639 0.308824 +vt 0.518072 0.308824 +vt 0.445783 0.308824 +vt 0.409639 0.220588 +vt 0.530120 0.279412 +vt 0.506024 0.235294 +vt 0.530120 0.235294 +vt 0.469880 0.279412 +vt 0.469880 0.235294 +vt 0.445783 0.235294 +vt 0.566265 0.279412 +vt 0.566265 0.235294 +vt 0.506024 0.205882 +vt 0.469880 0.308824 +vt 0.506024 0.279412 +vt 0.506024 0.308824 +vt 0.915663 0.382353 +vt 0.771084 0.323529 +vt 0.915663 0.323529 +vt 0.808574 0.868086 +vt 0.867651 0.926685 +vt 0.867864 0.868381 +vt 0.627239 0.132545 +vt 0.746700 0.206603 +vt 0.651423 0.206603 +vt 0.771857 0.927424 +vt 0.723525 0.876357 +vt 0.808085 0.868680 +vt 0.771084 0.382353 +vt 0.915663 0.470588 +vt 0.771084 0.470588 +vt 0.759333 0.750482 +vt 0.723525 0.802012 +vt 0.723525 0.750945 +vt 0.754897 0.816807 +vt 0.867527 0.788360 +vt 0.939338 0.799000 +vt 0.867481 0.750019 +vt 0.759333 0.750482 +vt 0.915663 0.205882 +vt 0.771084 0.250000 +vt 0.771084 0.205882 +vt 0.915663 0.250000 +vt 0.723339 0.875364 +vt 0.754623 0.815617 +vt 0.723262 0.801411 +vt 0.723673 0.750019 +vt 0.867527 0.788360 +vt 0.868111 0.750945 +vt 0.770884 0.059074 +vt 0.770884 0.132545 +vt 0.771084 0.161765 +vt 0.867752 0.926549 +vt 0.868111 0.869937 +vt 0.771324 0.926977 +vt 0.939467 0.797905 +vt 0.939467 0.837057 +vt 0.530120 0.500000 +vt 0.626506 0.500000 +vt 0.578313 0.588235 +vt 0.530120 0.500000 +vt 0.626506 0.500000 +vt 0.578313 0.588235 +vt 0.651423 0.559520 +vt 0.746700 0.471766 +vt 0.746700 0.559520 +vt 0.915663 0.926471 +vt 0.915663 0.926471 +vt 0.915663 0.867647 +vt 0.627357 0.646959 +vt 0.770766 0.646958 +vt 0.771084 0.558824 +vt 0.915663 0.647059 +vt 0.771084 0.647059 +vt 0.797516 0.720588 +vt 0.795181 0.691176 +vt 0.807229 0.691176 +vt 0.744652 0.720588 +vt 0.746988 0.691176 +vt 0.753463 0.720588 +vt 0.651423 0.411472 +vt 0.699061 0.411472 +vt 0.651423 0.471766 +vt 0.963855 0.891500 +vt 0.963855 0.891500 +vt 0.963855 0.950324 +vt 0.819277 0.720588 +vt 0.843373 0.691176 +vt 0.843373 0.720588 +vt 0.746700 0.292579 +vt 0.699061 0.356196 +vt 0.651423 0.292579 +vt 0.924968 0.999631 +vt 0.963855 0.950324 +vt 0.924968 0.999631 +vt 0.949131 0.999964 +vt 0.867470 0.750000 +vt 0.867470 0.720588 +vt 0.663713 0.396472 +vt 0.686772 0.396472 +vt 0.651423 0.356196 +vt 0.686772 0.371196 +vt 0.663713 0.371196 +vt 0.734410 0.396472 +vt 0.746700 0.411472 +vt 0.711351 0.396472 +vt 0.746700 0.356196 +vt 0.711351 0.371196 +vt 0.734410 0.371196 +vt 0.867470 0.691176 +vt 0.843373 0.720588 +vt 0.867470 0.691176 +vt 0.843373 0.691176 +vt 0.867470 0.750000 +vt 0.843373 0.750000 +vt 0.819277 0.720588 +vt 0.819277 0.691176 +vt 0.891566 0.720588 +vt 0.891566 0.691176 +vt 0.891566 0.720588 +vt 0.867470 0.720588 +vt 0.843373 0.661765 +vt 0.867470 0.661765 +vt 0.850964 0.941174 +vt 0.788967 0.941405 +vt 0.851320 0.941387 +vt 0.797219 0.970962 +vt 0.849149 0.985399 +vt 0.842732 0.970361 +vt 0.842637 0.970321 +vt 0.790261 0.985104 +vt 0.796668 0.970321 +vt 0.849904 0.985104 +vt 0.789477 0.941618 +vt 0.790478 0.985399 +vt 0.746988 0.691176 +vt 0.788706 0.720588 +vt 0.753463 0.720588 +vt 0.788706 0.735294 +vt 0.795181 0.676471 +vt 0.746988 0.676471 +vt 0.734940 0.691176 +vt 0.744652 0.720588 +vt 0.795181 0.691176 +vt 0.753463 0.735294 +vt 0.788706 0.720588 +vt 0.788706 0.735294 +vt 0.795181 0.676471 +vt 0.746988 0.676471 +vt 0.807229 0.691176 +vt 0.626506 0.647059 +vt 0.722892 1.000000 +vt 0.722892 0.647059 +vt 0.301205 0.911765 +vt 0.265060 0.955882 +vt 0.265060 0.911765 +vt 0.265060 1.000000 +vt 0.228916 0.955882 +vt 0.192771 0.911765 +vt 0.192771 0.955882 +vt 0.265060 0.867647 +vt 0.228916 0.911765 +vt 0.228916 0.867647 +vt 0.301205 0.955882 +vt 0.337349 0.911765 +vt 0.337349 0.955882 +vt 0.337349 0.823529 +vt 0.313253 0.882353 +vt 0.289157 0.794118 +vt 0.626506 0.647059 +vt 0.722892 1.000000 +vt 0.626506 1.000000 +vt 0.963855 0.750000 +vt 0.987952 0.735294 +vt 0.963855 0.750000 +vt 0.987952 0.676471 +vt 0.963855 0.676471 +vt 0.987952 0.676471 +vt 0.987952 0.735294 +vt 0.963855 0.676471 +vt 0.626506 1.000000 +vt 0.722892 0.647059 +vt 0.626506 0.647059 +vt 0.301205 0.955882 +vt 0.265060 0.911765 +vt 0.301205 0.911765 +vt 0.265060 1.000000 +vt 0.228916 0.955882 +vt 0.265060 0.955882 +vt 0.192771 0.911765 +vt 0.192771 0.955882 +vt 0.265060 0.867647 +vt 0.228916 0.911765 +vt 0.228916 0.867647 +vt 0.337349 0.911765 +vt 0.337349 0.955882 +vt 0.337349 0.823529 +vt 0.313253 0.882353 +vt 0.289157 0.794118 +vt 0.626506 0.647059 +vt 0.722892 1.000000 +vt 0.626506 1.000000 +vt 0.963855 0.750000 +vt 0.987952 0.735294 +vt 0.963855 0.750000 +vt 0.987952 0.676471 +vt 0.963855 0.676471 +vt 0.987952 0.676471 +vt 0.987952 0.735294 +vt 0.963855 0.676471 +vt 0.469880 0.558824 +vt 0.493976 0.588235 +vt 0.469880 0.588235 +vt 0.493976 0.558824 +vt 0.518072 0.588235 +vt 0.445783 0.529412 +vt 0.421687 0.558824 +vt 0.421687 0.529412 +vt 0.445783 0.588235 +vt 0.301205 0.573529 +vt 0.313253 0.544118 +vt 0.313253 0.573529 +vt 0.397590 0.588235 +vt 0.397590 0.558824 +vt 0.421687 0.500000 +vt 0.445783 0.500000 +vt 0.445783 0.558824 +vt 0.421687 0.588235 +vt 0.373494 0.588235 +vt 0.349398 0.573529 +vt 0.337349 0.544118 +vt 0.349398 0.544118 +vt 0.349398 0.558824 +vt 0.349398 0.588235 +vt 0.337349 0.573529 +vt 0.337349 0.544118 +vt 0.313253 0.573529 +vt 0.313253 0.544118 +vt 0.313253 0.588235 +vt 0.337349 0.573529 +vt 0.337349 0.588235 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.301205 0.573529 +vt 0.337349 0.588235 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.469880 0.588235 +vt 0.493976 0.558824 +vt 0.469880 0.558824 +vt 0.518072 0.588235 +vt 0.493976 0.588235 +vt 0.445783 0.529412 +vt 0.421687 0.558824 +vt 0.445783 0.558824 +vt 0.445783 0.588235 +vt 0.313253 0.573529 +vt 0.301205 0.544118 +vt 0.301205 0.573529 +vt 0.397590 0.588235 +vt 0.421687 0.588235 +vt 0.421687 0.500000 +vt 0.445783 0.500000 +vt 0.373494 0.558824 +vt 0.373494 0.588235 +vt 0.337349 0.544118 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.349398 0.558824 +vt 0.349398 0.588235 +vt 0.337349 0.573529 +vt 0.313253 0.544118 +vt 0.337349 0.573529 +vt 0.337349 0.544118 +vt 0.337349 0.588235 +vt 0.313253 0.573529 +vt 0.313253 0.588235 +vt 0.313253 0.529412 +vt 0.337349 0.529412 +vt 0.301205 0.544118 +vt 0.301205 0.573529 +vt 0.313253 0.588235 +vt 0.337349 0.588235 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.469880 0.558824 +vt 0.493976 0.588235 +vt 0.469880 0.588235 +vt 0.493976 0.558824 +vt 0.518072 0.588235 +vt 0.445783 0.529412 +vt 0.421687 0.558824 +vt 0.421687 0.529412 +vt 0.445783 0.588235 +vt 0.301205 0.573529 +vt 0.313253 0.544118 +vt 0.313253 0.573529 +vt 0.397590 0.588235 +vt 0.397590 0.558824 +vt 0.421687 0.500000 +vt 0.445783 0.500000 +vt 0.445783 0.558824 +vt 0.421687 0.588235 +vt 0.373494 0.588235 +vt 0.349398 0.573529 +vt 0.337349 0.544118 +vt 0.349398 0.544118 +vt 0.349398 0.558824 +vt 0.349398 0.588235 +vt 0.337349 0.573529 +vt 0.313253 0.544118 +vt 0.337349 0.573529 +vt 0.313253 0.573529 +vt 0.337349 0.588235 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.301205 0.573529 +vt 0.337349 0.588235 +vt 0.349398 0.573529 +vt 0.337349 0.544118 +vt 0.349398 0.544118 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.469880 0.588235 +vt 0.493976 0.558824 +vt 0.469880 0.558824 +vt 0.518072 0.588235 +vt 0.493976 0.588235 +vt 0.421687 0.529412 +vt 0.445783 0.558824 +vt 0.445783 0.529412 +vt 0.445783 0.588235 +vt 0.301205 0.573529 +vt 0.313253 0.544118 +vt 0.301205 0.544118 +vt 0.421687 0.558824 +vt 0.397590 0.588235 +vt 0.421687 0.588235 +vt 0.421687 0.500000 +vt 0.445783 0.500000 +vt 0.373494 0.558824 +vt 0.373494 0.588235 +vt 0.337349 0.544118 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.349398 0.588235 +vt 0.349398 0.558824 +vt 0.313253 0.573529 +vt 0.337349 0.573529 +vt 0.313253 0.573529 +vt 0.337349 0.544118 +vt 0.313253 0.544118 +vt 0.337349 0.573529 +vt 0.313253 0.588235 +vt 0.337349 0.588235 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.301205 0.573529 +vt 0.301205 0.544118 +vt 0.337349 0.588235 +vt 0.313253 0.588235 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.469880 0.558824 +vt 0.493976 0.588235 +vt 0.469880 0.588235 +vt 0.493976 0.558824 +vt 0.518072 0.588235 +vt 0.445783 0.558824 +vt 0.421687 0.529412 +vt 0.445783 0.529412 +vt 0.445783 0.588235 +vt 0.301205 0.544118 +vt 0.313253 0.573529 +vt 0.301205 0.573529 +vt 0.421687 0.588235 +vt 0.397590 0.558824 +vt 0.421687 0.558824 +vt 0.421687 0.500000 +vt 0.445783 0.500000 +vt 0.373494 0.588235 +vt 0.397590 0.588235 +vt 0.349398 0.544118 +vt 0.337349 0.573529 +vt 0.337349 0.544118 +vt 0.349398 0.558824 +vt 0.349398 0.588235 +vt 0.337349 0.544118 +vt 0.313253 0.573529 +vt 0.313253 0.544118 +vt 0.313253 0.588235 +vt 0.337349 0.573529 +vt 0.337349 0.588235 +vt 0.337349 0.529412 +vt 0.313253 0.544118 +vt 0.313253 0.529412 +vt 0.301205 0.544118 +vt 0.301205 0.573529 +vt 0.313253 0.588235 +vt 0.337349 0.588235 +vt 0.349398 0.573529 +vt 0.349398 0.544118 +vt 0.337349 0.529412 +vt 0.313253 0.529412 +vt 0.445783 0.220588 +vt 0.542169 0.367647 +vt 0.445783 0.500000 +vt 0.337349 0.411765 +vt 0.518072 0.411765 +vt 0.445783 0.220588 +vt 0.445783 0.279412 +vt 0.469880 0.205882 +vt 0.723525 0.927424 +vt 0.939756 0.837946 +vt 0.627239 0.059074 +vt 0.915663 0.161765 +vt 0.723885 0.926163 +vt 0.915663 0.867647 +vt 0.915663 0.558824 +vt 0.734940 0.691176 +vt 0.819277 0.691176 +vt 0.949131 0.999938 +vt 0.843373 0.750000 +vt 0.891566 0.691176 +vt 0.867470 0.661765 +vt 0.843373 0.661765 +vt 0.753463 0.735294 +vt 0.797516 0.720588 +vt 0.626506 1.000000 +vt 0.228916 1.000000 +vt 0.265060 0.852941 +vt 0.265060 0.823529 +vt 0.313253 0.794118 +vt 0.337349 0.852941 +vt 0.289157 0.882353 +vt 0.722892 0.647059 +vt 0.722892 1.000000 +vt 0.228916 1.000000 +vt 0.265060 0.852941 +vt 0.265060 0.823529 +vt 0.313253 0.794118 +vt 0.337349 0.852941 +vt 0.289157 0.882353 +vt 0.722892 0.647059 +vt 0.518072 0.558824 +vt 0.301205 0.544118 +vt 0.373494 0.558824 +vt 0.301205 0.544118 +vt 0.313253 0.588235 +vt 0.518072 0.558824 +vt 0.421687 0.529412 +vt 0.313253 0.544118 +vt 0.397590 0.558824 +vt 0.518072 0.558824 +vt 0.301205 0.544118 +vt 0.373494 0.558824 +vt 0.313253 0.588235 +vt 0.301205 0.544118 +vt 0.313253 0.588235 +vt 0.518072 0.558824 +vt 0.397590 0.558824 +vt 0.518072 0.558824 +vt 0.373494 0.558824 +vt 0.349398 0.573529 +vt 0.409639 0.794118 +vt 0.445783 1.000000 +vt 0.409639 1.000000 +vt 0.445783 0.794118 +vt 0.481928 1.000000 +vt 0.518072 0.794118 +vt 0.481928 0.794118 +vt 0.554217 0.794118 +vt 0.518072 1.000000 +vt 0.590361 0.794118 +vt 0.554217 1.000000 +vt 0.626506 0.794118 +vt 0.590361 1.000000 +vt 0.337349 0.794118 +vt 0.373494 1.000000 +vt 0.337349 1.000000 +vt 0.373494 0.794118 +vt 0.409639 0.794118 +vt 0.445783 1.000000 +vt 0.409639 1.000000 +vt 0.445783 0.794118 +vt 0.481928 1.000000 +vt 0.518072 0.794118 +vt 0.481928 0.794118 +vt 0.554217 0.794118 +vt 0.518072 1.000000 +vt 0.590361 0.794118 +vt 0.554217 1.000000 +vt 0.626506 0.794118 +vt 0.590361 1.000000 +vt 0.337349 0.794118 +vt 0.373494 1.000000 +vt 0.337349 1.000000 +vt 0.373494 0.794118 +vt 0.626506 1.000000 +vt 0.626506 1.000000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.0000 0.7100 0.7042 +vn -0.0000 -0.7100 -0.7042 +vn -0.0000 -0.7042 0.7100 +vn -0.0000 0.0042 1.0000 +vn 0.0000 1.0000 -0.0042 +vn -0.0000 -1.0000 0.0042 +vn 0.0000 -0.0042 -1.0000 +vn 0.0000 0.7042 -0.7100 +vn 0.7300 -0.0000 -0.6834 +vn -0.0000 -0.3729 -0.9279 +vn 0.0000 1.0000 0.0000 +vn -0.7300 0.0000 -0.6834 +vn -0.0000 -0.9384 0.3455 +vn 0.0000 0.9384 -0.3455 +vn 0.0000 0.9318 -0.3630 +vn -0.8538 0.0000 -0.5206 +vn 0.8538 -0.0000 -0.5206 +vn 0.0000 0.3729 0.9279 +vn -0.0000 -0.3729 0.9279 +vn -0.0000 -0.1484 0.9889 +vn 0.0000 0.9356 -0.3529 +vn 0.0000 -0.3529 -0.9356 +vn 0.0000 -0.3530 -0.9356 +vn -0.0000 -0.9356 0.3529 +vn 0.0000 0.3729 -0.9279 +vn -0.3758 -0.0000 0.9267 +vn -0.9267 0.0000 -0.3758 +vn 0.3758 0.0000 -0.9267 +vn 0.9267 -0.0000 0.3758 +vn -0.2608 0.7071 0.6573 +vn 0.0000 -0.9967 -0.0814 +vn 0.0001 0.9967 0.0814 +vn 0.0000 0.0835 -0.9965 +vn 0.0000 -0.0792 0.9969 +vn 0.9999 -0.0000 -0.0149 +vn -0.3896 0.0000 -0.9210 +vn -0.9210 0.0000 0.3896 +vn 0.3896 -0.0000 0.9210 +vn 0.9210 -0.0000 -0.3896 +vn -0.2706 -0.7071 -0.6533 +vn -0.9999 0.0000 0.0149 +vn 0.0012 0.9967 0.0814 +vn -0.0012 -0.9967 -0.0814 +vn 0.0149 -0.0835 0.9964 +vn -0.0148 0.0792 -0.9967 +vn 0.5079 -0.0000 0.8614 +vn -0.8614 0.0000 0.5079 +vn 0.8614 -0.0000 -0.5079 +vn -0.5079 0.0000 -0.8614 +vn -0.5079 -0.0000 0.8614 +vn 0.8614 0.0000 0.5079 +vn -0.8614 0.0000 -0.5079 +vn 0.5079 0.0000 -0.8614 +vn 1.0000 -0.0000 0.0006 +vn -0.0006 0.0000 1.0000 +vn 0.0006 -0.0000 -1.0000 +vn -1.0000 0.0000 -0.0006 +vn -0.6754 0.1878 0.7132 +vn -0.7373 -0.1512 -0.6584 +vn -0.0158 -0.9705 0.2406 +vn 0.7373 0.1512 0.6584 +vn 0.6754 -0.1878 -0.7132 +vn 0.0158 0.9705 -0.2406 +vn 0.6754 0.1878 0.7132 +vn 0.7373 -0.1512 -0.6584 +vn 0.0158 -0.9705 0.2406 +vn -0.7373 0.1512 0.6584 +vn -0.6754 -0.1878 -0.7132 +vn 0.0000 0.9967 0.0814 +vn -0.0001 -0.0792 0.9969 +vn 0.0150 -0.0835 0.9964 +vn -0.0150 0.0792 -0.9967 +vn -0.8990 0.4375 0.0163 +vn -0.3889 0.1662 -0.9061 +vn -0.9031 -0.1591 -0.3988 +vn -0.5033 0.7950 -0.3385 +vn 0.3524 0.2953 -0.8880 +vn 0.5985 0.7950 0.0987 +vn 0.1189 0.9466 -0.2996 +vn 0.6432 0.4375 0.6283 +vn 0.9044 0.1662 -0.3929 +vn 0.2257 0.1078 0.9682 +vn 0.9308 -0.1591 0.3289 +vn -0.3688 -0.0140 0.9294 +vn 0.3969 -0.4597 0.7944 +vn -0.8336 -0.4597 0.3061 +vn -0.3036 -0.5677 0.7652 +vn -0.8282 0.1078 0.5500 +vn -0.8992 -0.4375 -0.0029 +vn -0.3753 -0.1662 0.9118 +vn -0.8970 0.1591 0.4123 +vn -0.4982 -0.7950 0.3460 +vn 0.3656 -0.2953 0.8827 +vn 0.5969 -0.7950 -0.1076 +vn 0.1233 -0.9466 0.2978 +vn 0.6338 -0.4375 -0.6379 +vn 0.9102 -0.1662 0.3793 +vn 0.2112 -0.1078 -0.9715 +vn 0.9258 0.1591 -0.3428 +vn -0.3826 0.0140 -0.9238 +vn 0.3850 0.4597 -0.8003 +vn -0.8381 0.4597 -0.2936 +vn -0.3150 0.5677 -0.7606 +vn -0.8363 -0.1078 -0.5376 +usemtl None +s off +f 132/205/105 133/206/105 131/207/105 +f 133/208/106 138/209/106 137/210/106 +f 137/211/107 136/212/107 135/213/107 +f 136/212/108 131/214/108 135/215/108 +f 134/216/109 136/212/109 138/209/109 +f 140/217/110 141/218/110 139/219/110 +f 141/220/106 146/221/106 145/222/106 +f 146/221/111 143/223/111 145/224/111 +f 144/225/108 139/226/108 143/227/108 +f 142/228/112 144/225/112 146/221/112 +f 148/229/113 149/230/113 147/231/113 +f 149/230/106 154/232/106 153/233/106 +f 152/234/108 147/231/108 151/235/108 +f 153/236/114 147/231/114 149/230/114 +f 150/237/115 152/238/115 154/239/115 +f 156/240/113 157/241/113 155/242/113 +f 157/241/106 162/243/106 161/244/106 +f 160/245/108 155/246/108 159/247/108 +f 157/241/114 159/248/114 155/249/114 +f 158/250/115 160/245/115 162/243/115 +f 161/244/116 160/251/116 159/252/116 +f 163/253/113 166/254/113 165/255/113 +f 165/255/106 170/256/106 169/257/106 +f 168/258/108 163/253/108 167/259/108 +f 169/257/114 163/253/114 165/255/114 +f 170/260/116 167/259/116 169/257/116 +f 172/261/112 173/262/112 171/263/112 +f 173/262/106 178/264/106 177/265/106 +f 178/264/117 175/266/117 177/265/117 +f 176/267/108 171/263/108 175/268/108 +f 177/265/110 171/269/110 173/262/110 +f 176/270/111 174/271/111 172/272/111 +f 180/273/105 189/274/105 188/275/105 +f 202/276/106 240/277/106 191/278/106 +f 240/279/109 206/280/109 205/281/109 +f 242/282/108 188/283/108 200/284/108 +f 182/285/109 242/286/109 239/287/109 +f 197/288/108 187/289/108 179/290/108 +f 199/291/108 188/283/108 187/289/108 +f 192/292/118 204/293/118 185/294/118 +f 195/295/106 192/292/106 185/294/106 +f 179/296/105 190/297/105 181/298/105 +f 188/275/105 190/297/105 187/299/105 +f 189/300/106 201/301/106 190/302/106 +f 190/302/106 195/295/106 181/303/106 +f 194/304/108 197/288/108 183/305/108 +f 240/279/119 245/306/119 241/307/119 +f 195/308/120 179/296/120 181/298/120 +f 241/309/108 200/284/108 193/310/108 +f 189/300/106 239/311/106 202/276/106 +f 194/304/121 204/312/121 203/313/121 +f 192/314/122 194/315/122 203/316/122 +f 183/317/123 185/318/123 204/319/123 +f 207/320/124 216/321/124 208/322/124 +f 193/310/125 206/323/125 241/309/125 +f 191/278/126 205/324/126 207/325/126 +f 191/326/120 208/322/120 193/327/120 +f 243/328/109 245/329/109 244/330/109 +f 211/331/127 247/332/127 184/333/127 +f 210/334/127 252/335/127 254/336/127 +f 242/286/128 243/328/128 239/287/128 +f 213/337/107 221/338/107 215/339/107 +f 205/324/106 215/340/106 207/325/106 +f 206/323/108 216/341/108 214/342/108 +f 226/343/106 232/344/106 233/345/106 +f 218/346/109 222/347/109 217/348/109 +f 214/342/108 218/349/108 206/323/108 +f 205/281/129 218/346/129 217/348/129 +f 213/350/106 217/351/106 219/352/106 +f 225/353/130 233/345/130 234/354/130 +f 221/338/131 224/355/131 223/356/131 +f 219/357/131 224/355/131 213/337/131 +f 219/357/131 226/358/131 225/359/131 +f 222/347/131 223/356/131 226/358/131 +f 221/338/131 227/360/131 214/361/131 +f 222/347/131 228/362/131 221/338/131 +f 220/363/131 229/364/131 222/347/131 +f 220/363/132 227/360/132 230/365/132 +f 231/366/131 233/345/131 232/344/131 +f 235/367/131 237/368/131 236/369/131 +f 229/370/108 235/367/108 228/371/108 +f 228/372/133 236/369/133 227/373/133 +f 225/374/108 231/366/108 224/375/108 +f 229/376/130 237/368/130 238/377/130 +f 223/378/133 231/366/133 232/344/133 +f 230/379/106 236/369/106 237/368/106 +f 186/380/106 239/311/106 196/381/106 +f 184/382/108 242/282/108 241/309/108 +f 209/383/106 244/384/106 210/385/106 +f 211/386/108 246/387/108 212/388/108 +f 186/380/106 244/384/106 240/277/106 +f 184/382/108 245/389/108 211/386/108 +f 198/390/108 246/387/108 242/282/108 +f 196/381/106 243/391/106 209/383/106 +f 248/392/108 249/393/108 250/394/108 +f 211/395/120 250/394/120 249/393/120 +f 184/396/109 248/392/109 198/397/109 +f 198/398/134 250/394/134 212/399/134 +f 251/400/106 254/336/106 252/335/106 +f 210/401/120 253/402/120 209/403/120 +f 196/404/109 252/335/109 186/405/109 +f 196/406/134 253/402/134 251/400/134 +f 279/407/106 282/408/106 280/409/106 +f 283/410/135 286/411/135 284/412/135 +f 285/413/136 290/414/136 286/411/136 +f 287/415/137 290/414/137 289/416/137 +f 283/417/138 288/418/138 287/419/138 +f 285/420/120 287/421/120 289/422/120 +f 288/418/109 286/411/109 290/414/109 +f 301/423/139 297/424/139 305/425/139 +f 312/426/108 314/427/108 311/428/108 +f 311/429/140 282/430/140 281/431/140 +f 313/432/141 279/433/141 280/434/141 +f 314/435/142 280/434/142 282/430/142 +f 312/436/143 281/431/143 279/433/143 +f 341/437/144 340/438/144 339/439/144 +f 345/440/145 344/441/145 343/442/145 +f 345/443/146 350/444/146 346/445/146 +f 347/446/147 350/444/147 349/447/147 +f 343/448/148 348/449/148 347/450/148 +f 345/440/109 347/451/109 349/452/109 +f 348/449/120 346/445/120 350/444/120 +f 361/453/149 357/454/149 365/455/149 +f 372/456/150 374/457/150 371/458/150 +f 371/459/151 342/460/151 341/461/151 +f 373/462/152 339/463/152 340/464/152 +f 374/465/153 340/464/153 342/460/153 +f 372/466/154 341/461/154 339/463/154 +f 376/467/155 377/468/155 375/469/155 +f 378/470/156 381/471/156 377/468/156 +f 382/472/120 386/473/120 383/474/120 +f 379/475/157 376/467/157 375/469/157 +f 378/476/155 391/477/155 392/478/155 +f 386/473/157 389/479/157 390/480/157 +f 382/472/156 384/481/156 381/482/156 +f 380/483/157 385/484/157 386/473/157 +f 388/485/158 390/480/158 389/479/158 +f 382/486/158 394/487/158 380/488/158 +f 383/489/156 388/485/156 384/490/156 +f 393/491/120 391/477/120 394/487/120 +f 396/492/120 397/493/120 395/494/120 +f 387/495/158 398/496/158 390/497/158 +f 380/498/157 391/477/157 376/499/157 +f 387/500/156 395/494/156 397/493/156 +f 382/501/156 392/478/156 393/491/156 +f 390/502/157 396/492/157 386/503/157 +f 386/504/155 395/494/155 383/505/155 +f 399/506/159 402/507/159 400/508/159 +f 405/509/160 402/507/160 401/510/160 +f 406/511/120 410/512/120 404/513/120 +f 399/506/161 404/513/161 403/514/161 +f 416/515/159 400/516/159 402/517/159 +f 410/512/161 413/518/161 409/519/161 +f 408/520/160 406/511/160 405/521/160 +f 410/512/161 403/514/161 404/513/161 +f 413/518/162 411/522/162 412/523/162 +f 418/524/162 406/525/162 404/526/162 +f 412/523/160 407/527/160 408/528/160 +f 418/524/120 416/515/120 417/529/120 +f 419/530/120 422/531/120 420/532/120 +f 414/533/162 421/534/162 411/535/162 +f 400/536/161 418/524/161 404/537/161 +f 421/534/160 407/538/160 411/539/160 +f 417/529/160 402/540/160 406/541/160 +f 420/532/161 414/542/161 410/543/161 +f 419/530/159 410/544/159 407/545/159 +f 424/546/163 425/547/163 423/548/163 +f 426/549/164 429/550/164 425/547/164 +f 430/551/120 434/552/120 431/553/120 +f 427/554/165 424/546/165 423/548/165 +f 426/555/163 439/556/163 440/557/163 +f 434/552/165 437/558/165 438/559/165 +f 430/551/164 432/560/164 429/561/164 +f 428/562/165 433/563/165 434/552/165 +f 436/564/166 438/559/166 437/558/166 +f 430/565/166 442/566/166 428/567/166 +f 431/568/164 436/564/164 432/569/164 +f 441/570/120 439/556/120 442/566/120 +f 443/571/120 446/572/120 445/573/120 +f 438/574/166 445/573/166 446/572/166 +f 428/575/165 439/556/165 424/576/165 +f 435/577/164 443/571/164 445/573/164 +f 430/578/164 440/557/164 441/570/164 +f 438/579/165 444/580/165 434/581/165 +f 434/582/163 443/571/163 431/583/163 +f 447/584/167 450/585/167 448/586/167 +f 453/587/168 450/585/168 449/588/168 +f 455/589/169 452/590/169 454/591/169 +f 451/592/170 448/586/170 452/590/170 +f 450/593/167 463/594/167 448/595/167 +f 458/596/170 461/597/170 457/598/170 +f 456/599/168 454/591/168 453/600/168 +f 452/590/170 457/598/170 451/592/170 +f 461/597/171 459/601/171 460/602/171 +f 466/603/171 454/604/171 452/605/171 +f 456/606/168 459/601/168 455/607/168 +f 466/603/169 464/608/169 465/609/169 +f 469/610/169 468/611/169 467/612/169 +f 470/613/171 459/614/171 462/615/171 +f 463/594/170 452/616/170 448/617/170 +f 459/618/168 467/612/168 455/619/168 +f 454/620/168 464/608/168 450/621/168 +f 468/611/170 462/622/170 458/623/170 +f 467/612/167 458/624/167 455/625/167 +f 451/592/172 456/599/172 453/587/172 +f 472/626/173 473/627/173 471/628/173 +f 474/629/174 477/630/174 473/627/174 +f 476/631/175 479/632/175 478/633/175 +f 476/631/176 471/628/176 475/634/176 +f 472/635/173 488/636/173 474/637/173 +f 481/638/176 486/639/176 482/640/176 +f 478/633/174 480/641/174 477/642/174 +f 475/634/176 482/640/176 476/631/176 +f 484/643/177 486/639/177 485/644/177 +f 476/645/177 489/646/177 490/647/177 +f 479/648/174 484/643/174 480/649/174 +f 488/636/175 490/647/175 489/646/175 +f 492/650/175 493/651/175 491/652/175 +f 483/653/177 494/654/177 486/655/177 +f 476/656/176 487/657/176 472/658/176 +f 479/659/174 493/651/174 483/660/174 +f 474/661/174 489/646/174 478/662/174 +f 486/663/176 492/650/176 482/664/176 +f 482/665/173 491/652/173 479/666/173 +f 132/205/105 134/216/105 133/206/105 +f 133/208/106 134/216/106 138/209/106 +f 137/211/107 138/209/107 136/212/107 +f 136/212/108 132/205/108 131/214/108 +f 134/216/109 132/205/109 136/212/109 +f 140/217/110 142/228/110 141/218/110 +f 141/220/106 142/228/106 146/221/106 +f 146/221/111 144/225/111 143/223/111 +f 144/225/108 140/217/108 139/226/108 +f 142/228/112 140/217/112 144/225/112 +f 148/229/113 150/237/113 149/230/113 +f 149/230/106 150/237/106 154/232/106 +f 152/234/108 148/229/108 147/231/108 +f 153/236/114 151/667/114 147/231/114 +f 150/237/115 148/229/115 152/238/115 +f 156/240/113 158/250/113 157/241/113 +f 157/241/106 158/250/106 162/243/106 +f 160/245/108 156/668/108 155/246/108 +f 157/241/114 161/244/114 159/248/114 +f 158/250/115 156/668/115 160/245/115 +f 161/244/116 162/243/116 160/251/116 +f 163/253/113 164/669/113 166/254/113 +f 165/255/106 166/670/106 170/256/106 +f 168/258/108 164/671/108 163/253/108 +f 169/257/114 167/259/114 163/253/114 +f 170/260/116 168/672/116 167/259/116 +f 172/261/112 174/271/112 173/262/112 +f 173/262/106 174/271/106 178/264/106 +f 178/264/117 176/673/117 175/266/117 +f 176/267/108 172/261/108 171/263/108 +f 177/265/110 175/674/110 171/269/110 +f 176/270/111 178/264/111 174/271/111 +f 180/273/105 182/285/105 189/274/105 +f 202/276/106 239/311/106 240/277/106 +f 240/279/109 241/307/109 206/280/109 +f 242/282/108 180/675/108 188/283/108 +f 182/285/109 180/273/109 242/286/109 +f 197/288/108 199/291/108 187/289/108 +f 199/291/108 200/284/108 188/283/108 +f 192/292/118 203/676/118 204/293/118 +f 195/295/106 201/301/106 192/292/106 +f 179/296/105 187/299/105 190/297/105 +f 188/275/105 189/274/105 190/297/105 +f 189/300/106 202/276/106 201/301/106 +f 190/302/106 201/301/106 195/295/106 +f 194/304/108 199/291/108 197/288/108 +f 240/279/119 244/677/119 245/306/119 +f 195/308/120 197/678/120 179/296/120 +f 241/309/108 242/282/108 200/284/108 +f 189/300/106 182/679/106 239/311/106 +f 194/304/121 183/305/121 204/312/121 +f 207/320/124 215/339/124 216/321/124 +f 193/310/125 208/680/125 206/323/125 +f 191/278/126 240/277/126 205/324/126 +f 191/326/120 207/320/120 208/322/120 +f 243/328/109 246/681/109 245/329/109 +f 211/331/127 249/393/127 247/332/127 +f 210/334/127 186/682/127 252/335/127 +f 242/286/128 246/681/128 243/328/128 +f 216/321/107 215/339/107 221/338/107 +f 221/338/107 214/361/107 216/321/107 +f 205/324/106 213/350/106 215/340/106 +f 206/323/108 208/680/108 216/341/108 +f 226/343/106 223/683/106 232/344/106 +f 219/357/109 217/348/109 222/347/109 +f 218/346/109 220/363/109 222/347/109 +f 214/342/108 220/684/108 218/349/108 +f 205/281/129 206/280/129 218/346/129 +f 213/350/106 205/324/106 217/351/106 +f 225/353/130 226/685/130 233/345/130 +f 221/338/131 213/337/131 224/355/131 +f 219/357/132 225/359/132 224/355/132 +f 219/357/131 222/347/131 226/358/131 +f 222/347/131 221/338/131 223/356/131 +f 221/338/131 228/362/131 227/360/131 +f 222/347/132 229/364/132 228/362/132 +f 220/363/131 230/365/131 229/364/131 +f 220/363/131 214/361/131 227/360/131 +f 231/366/131 234/354/131 233/345/131 +f 235/367/131 238/377/131 237/368/131 +f 229/370/108 238/377/108 235/367/108 +f 228/372/133 235/367/133 236/369/133 +f 225/374/108 234/354/108 231/366/108 +f 229/376/130 230/686/130 237/368/130 +f 223/378/133 224/687/133 231/366/133 +f 230/379/106 227/688/106 236/369/106 +f 186/380/106 240/277/106 239/311/106 +f 184/382/108 198/390/108 242/282/108 +f 209/383/106 243/391/106 244/384/106 +f 211/386/108 245/389/108 246/387/108 +f 186/380/106 210/385/106 244/384/106 +f 184/382/108 241/309/108 245/389/108 +f 198/390/108 212/388/108 246/387/108 +f 196/381/106 239/311/106 243/391/106 +f 248/392/108 247/332/108 249/393/108 +f 211/395/120 212/689/120 250/394/120 +f 184/396/109 247/332/109 248/392/109 +f 198/398/134 248/392/134 250/394/134 +f 251/400/106 253/402/106 254/336/106 +f 210/401/120 254/336/120 253/402/120 +f 196/404/109 251/400/109 252/335/109 +f 196/406/134 209/690/134 253/402/134 +f 279/407/106 281/691/106 282/408/106 +f 283/410/135 285/420/135 286/411/135 +f 285/413/136 289/692/136 290/414/136 +f 287/415/137 288/418/137 290/414/137 +f 283/417/138 284/412/138 288/418/138 +f 285/420/120 283/410/120 287/421/120 +f 288/418/109 284/412/109 286/411/109 +f 293/693/139 291/694/139 305/425/139 +f 305/425/139 303/695/139 301/423/139 +f 301/423/139 299/696/139 297/424/139 +f 297/424/139 295/697/139 293/693/139 +f 293/693/139 305/425/139 297/424/139 +f 312/426/108 313/698/108 314/427/108 +f 311/429/140 314/435/140 282/430/140 +f 313/432/178 312/436/178 279/433/178 +f 314/435/142 313/432/142 280/434/142 +f 312/436/179 311/429/179 281/431/179 +f 341/437/144 342/699/144 340/438/144 +f 345/440/145 346/445/145 344/441/145 +f 345/443/146 349/700/146 350/444/146 +f 347/446/147 348/449/147 350/444/147 +f 343/448/148 344/441/148 348/449/148 +f 345/440/109 343/442/109 347/451/109 +f 348/449/120 344/441/120 346/445/120 +f 353/701/149 351/702/149 365/455/149 +f 365/455/149 363/703/149 361/453/149 +f 361/453/149 359/704/149 357/454/149 +f 357/454/149 355/705/149 353/701/149 +f 353/701/149 365/455/149 357/454/149 +f 372/456/150 373/706/150 374/457/150 +f 371/459/151 374/465/151 342/460/151 +f 373/462/152 372/466/152 339/463/152 +f 374/465/180 373/462/180 340/464/180 +f 372/466/181 371/459/181 341/461/181 +f 376/467/155 378/470/155 377/468/155 +f 378/470/156 382/707/156 381/471/156 +f 382/472/120 380/483/120 386/473/120 +f 379/475/157 380/483/157 376/467/157 +f 378/476/155 376/708/155 391/477/155 +f 386/473/157 385/484/157 389/479/157 +f 382/472/156 383/474/156 384/481/156 +f 380/483/157 379/475/157 385/484/157 +f 388/485/158 387/709/158 390/480/158 +f 382/486/158 393/491/158 394/487/158 +f 383/489/156 387/709/156 388/485/156 +f 393/491/120 392/478/120 391/477/120 +f 396/492/120 398/496/120 397/493/120 +f 387/495/158 397/493/158 398/496/158 +f 380/498/157 394/487/157 391/477/157 +f 387/500/156 383/710/156 395/494/156 +f 382/501/156 378/711/156 392/478/156 +f 390/502/157 398/496/157 396/492/157 +f 386/504/155 396/492/155 395/494/155 +f 399/506/159 401/510/159 402/507/159 +f 405/509/160 406/712/160 402/507/160 +f 406/511/120 407/713/120 410/512/120 +f 399/506/161 400/508/161 404/513/161 +f 416/515/159 415/714/159 400/516/159 +f 410/512/161 414/715/161 413/518/161 +f 408/520/160 407/713/160 406/511/160 +f 410/512/161 409/519/161 403/514/161 +f 413/518/162 414/715/162 411/522/162 +f 418/524/162 417/529/162 406/525/162 +f 412/523/160 411/522/160 407/527/160 +f 418/524/120 415/714/120 416/515/120 +f 419/530/120 421/534/120 422/531/120 +f 414/533/162 422/531/162 421/534/162 +f 400/536/161 415/714/161 418/524/161 +f 421/534/160 419/530/160 407/538/160 +f 417/529/160 416/515/160 402/540/160 +f 420/532/161 422/531/161 414/542/161 +f 419/530/159 420/532/159 410/544/159 +f 424/546/163 426/549/163 425/547/163 +f 426/549/164 430/716/164 429/550/164 +f 430/551/120 428/562/120 434/552/120 +f 427/554/165 428/562/165 424/546/165 +f 426/555/163 424/717/163 439/556/163 +f 434/552/165 433/563/165 437/558/165 +f 430/551/164 431/553/164 432/560/164 +f 428/562/165 427/554/165 433/563/165 +f 436/564/166 435/718/166 438/559/166 +f 430/565/166 441/570/166 442/566/166 +f 431/568/164 435/718/164 436/564/164 +f 441/570/120 440/557/120 439/556/120 +f 443/571/120 444/580/120 446/572/120 +f 438/574/166 435/719/166 445/573/166 +f 428/575/165 442/566/165 439/556/165 +f 435/577/164 431/720/164 443/571/164 +f 430/578/164 426/721/164 440/557/164 +f 438/579/165 446/572/165 444/580/165 +f 434/582/163 444/580/163 443/571/163 +f 447/584/167 449/588/167 450/585/167 +f 453/587/168 454/722/168 450/585/168 +f 455/589/169 458/596/169 452/590/169 +f 451/592/170 447/584/170 448/586/170 +f 450/593/167 464/608/167 463/594/167 +f 458/596/170 462/723/170 461/597/170 +f 456/599/168 455/589/168 454/591/168 +f 452/590/170 458/596/170 457/598/170 +f 461/597/171 462/723/171 459/601/171 +f 466/603/171 465/609/171 454/604/171 +f 456/606/168 460/602/168 459/601/168 +f 466/603/169 463/594/169 464/608/169 +f 469/610/169 470/613/169 468/611/169 +f 470/613/171 469/610/171 459/614/171 +f 463/594/170 466/603/170 452/616/170 +f 459/618/168 469/610/168 467/612/168 +f 454/620/168 465/609/168 464/608/168 +f 468/611/170 470/613/170 462/622/170 +f 467/612/167 468/611/167 458/624/167 +f 453/587/172 449/588/172 447/584/172 +f 451/592/172 457/598/172 456/599/172 +f 453/587/172 447/584/172 451/592/172 +f 460/602/172 456/599/172 457/598/172 +f 457/598/172 461/597/172 460/602/172 +f 472/626/173 474/629/173 473/627/173 +f 474/629/174 478/724/174 477/630/174 +f 476/631/175 482/640/175 479/632/175 +f 476/631/176 472/626/176 471/628/176 +f 472/635/173 487/657/173 488/636/173 +f 481/638/176 485/644/176 486/639/176 +f 478/633/174 479/632/174 480/641/174 +f 475/634/176 481/638/176 482/640/176 +f 484/643/177 483/725/177 486/639/177 +f 476/645/177 478/726/177 489/646/177 +f 479/648/174 483/725/174 484/643/174 +f 488/636/175 487/657/175 490/647/175 +f 492/650/175 494/654/175 493/651/175 +f 483/653/177 493/651/177 494/654/177 +f 476/656/176 490/647/176 487/657/176 +f 479/659/174 491/652/174 493/651/174 +f 474/661/174 488/636/174 489/646/174 +f 486/663/176 494/654/176 492/650/176 +f 482/665/173 492/650/173 491/652/173 +s 1 +f 291/727/182 294/728/183 292/729/184 +f 293/730/185 296/731/186 294/728/183 +f 297/732/187 296/731/186 295/733/188 +f 299/734/189 298/735/190 297/732/187 +f 301/736/191 300/737/192 299/734/189 +f 303/738/193 302/739/194 301/736/191 +f 303/740/193 306/741/195 304/742/196 +f 305/743/197 292/729/184 306/741/195 +f 351/744/198 354/745/199 352/746/200 +f 353/747/201 356/748/202 354/745/199 +f 357/749/203 356/748/202 355/750/204 +f 359/751/205 358/752/206 357/749/203 +f 361/753/207 360/754/208 359/751/205 +f 363/755/209 362/756/210 361/753/207 +f 363/757/209 366/758/211 364/759/212 +f 365/760/213 352/746/200 366/758/211 +f 291/727/182 293/730/185 294/728/183 +f 293/730/185 295/733/188 296/731/186 +f 297/732/187 298/735/190 296/731/186 +f 299/734/189 300/737/192 298/735/190 +f 301/736/191 302/739/194 300/737/192 +f 303/738/193 304/761/196 302/739/194 +f 303/740/193 305/743/197 306/741/195 +f 305/743/197 291/727/182 292/729/184 +f 351/744/198 353/747/201 354/745/199 +f 353/747/201 355/750/204 356/748/202 +f 357/749/203 358/752/206 356/748/202 +f 359/751/205 360/754/208 358/752/206 +f 361/753/207 362/756/210 360/754/208 +f 363/755/209 364/762/212 362/756/210 +f 363/757/209 365/760/213 366/758/211 +f 365/760/213 351/744/198 352/746/200 +o LeftFoot +v -0.145070 24.067028 2.136320 +v 4.121621 24.067026 2.136320 +v -0.145070 24.067028 -2.130370 +v -0.145070 22.765120 -2.130370 +v 4.121621 24.067026 -2.130370 +v 4.121620 22.765116 -2.130370 +v 1.988274 21.575682 -3.487657 +v 1.988275 24.067026 -3.487657 +vt 0.144578 0.823529 +vt 0.180723 0.941176 +vt 0.144578 0.941176 +vt 0.048193 0.941176 +vt 0.144578 0.941176 +vt 0.096386 0.970588 +vt 0.048193 0.941176 +vt 0.012048 0.941176 +vt 0.048193 0.823529 +vt 0.144578 1.000000 +vt 0.048193 1.000000 +vt 0.000000 1.000000 +vt 0.096386 0.970588 +vt 0.192771 1.000000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 -0.7521 0.6591 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5368 0.0000 -0.8437 +vn -0.5368 0.0000 -0.8437 +usemtl None +s off +f 496/763/214 500/764/214 499/765/214 +f 500/766/215 498/767/215 501/768/215 +f 497/769/216 498/770/216 495/771/216 +f 499/765/217 495/771/217 496/763/217 +f 500/764/218 502/772/218 499/765/218 +f 498/770/219 502/773/219 501/774/219 +f 497/769/217 499/765/217 502/775/217 +f 499/765/217 497/769/217 495/771/217 +f 500/764/218 501/776/218 502/772/218 +f 498/770/219 497/769/219 502/773/219 +o LeftLeg +v 1.889860 19.857271 -1.987077 +v 1.889860 19.673222 -2.313624 +v 1.889860 19.480209 -1.987078 +v 2.778606 19.489141 -1.987077 +v 2.648463 19.358999 -2.313624 +v 2.511982 19.222517 -1.987077 +v 3.146736 18.600395 -1.987078 +v 2.962687 18.600395 -2.313624 +v 2.769673 18.600395 -1.987078 +v 2.778605 17.711649 -1.987078 +v 2.648463 17.841791 -2.313624 +v 2.511982 17.978273 -1.987078 +v 1.889860 17.343519 -1.987078 +v 1.889860 17.527569 -2.313624 +v 1.889860 17.720581 -1.987078 +v 1.001114 17.711649 -1.987078 +v 1.131257 17.841791 -2.313624 +v 1.267738 17.978273 -1.987078 +v 0.632984 18.600395 -1.987078 +v 0.817033 18.600395 -2.313624 +v 1.010046 18.600395 -1.987078 +v 1.001114 19.489140 -1.987078 +v 1.131256 19.358997 -2.313624 +v 1.267738 19.222517 -1.987078 +v -0.033751 18.711559 2.026670 +v -0.033751 18.475336 2.026670 +v 4.013639 18.711559 2.026670 +v 4.013639 18.475336 2.026670 +v -0.033751 18.998186 -2.020720 +v -0.033751 18.188709 -2.020720 +v 4.013639 18.998186 -2.020720 +v 4.013639 18.188707 -2.020720 +v 0.900512 18.998186 -2.020720 +v 2.857196 18.188707 -2.020720 +v 0.900512 18.188709 -2.020720 +v 2.857196 18.998186 -2.020720 +vt 0.144578 0.794118 +vt 0.192771 0.764706 +vt 0.192771 0.794118 +vt 0.144578 0.764706 +vt 0.180723 0.735294 +vt 0.096386 0.794118 +vt 0.096386 0.764706 +vt 0.132530 0.735294 +vt 0.048193 0.794118 +vt 0.048193 0.764706 +vt 0.084337 0.735294 +vt 0.000000 0.764706 +vt 0.036145 0.735294 +vt 0.337349 0.794118 +vt 0.385542 0.764706 +vt 0.385542 0.794118 +vt 0.337349 0.764706 +vt 0.373494 0.735294 +vt 0.289157 0.794118 +vt 0.289157 0.764706 +vt 0.325301 0.735294 +vt 0.240964 0.764706 +vt 0.277108 0.735294 +vt 0.240964 0.794118 +vt 0.228916 0.735294 +vt 0.072289 0.794118 +vt 0.120482 0.823529 +vt 0.072289 0.823529 +vt 0.120482 0.794118 +vt 0.168675 0.823529 +vt 0.000000 0.794118 +vt 0.024096 0.823529 +vt 0.000000 0.823529 +vt 0.024096 0.794118 +vt 0.168675 0.794118 +vt 0.192771 0.823529 +vt 0.156627 0.735294 +vt 0.108434 0.735294 +vt 0.060241 0.735294 +vt 0.000000 0.794118 +vt 0.012048 0.735294 +vt 0.349398 0.735294 +vt 0.301205 0.735294 +vt 0.253012 0.735294 +vt 0.204819 0.735294 +vt 0.192771 0.794118 +vn 0.6160 0.6160 -0.4910 +vn 0.0000 0.2170 -0.9761 +vn 0.0000 0.8712 -0.4910 +vn 0.1535 0.1535 -0.9761 +vn 0.0000 -0.8609 -0.5088 +vn 0.8712 0.0000 -0.4910 +vn 0.2171 0.0000 -0.9761 +vn -0.6087 -0.6087 -0.5088 +vn 0.6160 -0.6160 -0.4910 +vn 0.1535 -0.1535 -0.9761 +vn -0.8608 0.0000 -0.5088 +vn 0.0000 -0.2170 -0.9761 +vn -0.6087 0.6087 -0.5088 +vn -0.6160 -0.6160 -0.4910 +vn 0.0000 -0.8712 -0.4910 +vn -0.1535 -0.1535 -0.9761 +vn 0.0000 0.8609 -0.5088 +vn -0.8712 0.0000 -0.4910 +vn -0.2171 0.0000 -0.9761 +vn 0.6087 0.6087 -0.5088 +vn -0.1535 0.1535 -0.9761 +vn 0.8608 0.0000 -0.5088 +vn -0.6160 0.6160 -0.4910 +vn 0.6087 -0.6087 -0.5088 +vn -0.7225 0.0000 0.6914 +vn 0.7225 0.0000 0.6914 +vn 0.6906 0.0000 -0.7232 +vn 0.0000 0.0000 -1.0000 +vn -0.6906 0.0000 -0.7232 +usemtl None +s 1 +f 506/777/220 504/778/221 503/779/222 +f 507/780/223 505/781/224 504/778/221 +f 509/782/225 507/780/223 506/777/220 +f 510/783/226 508/784/227 507/780/223 +f 512/785/228 510/783/226 509/782/225 +f 513/786/229 511/787/230 510/783/226 +f 512/785/228 516/788/231 513/786/229 +f 516/788/231 514/789/232 513/786/229 +f 518/790/233 516/791/231 515/792/234 +f 519/793/235 517/794/236 516/791/231 +f 521/795/237 519/793/235 518/790/233 +f 522/796/238 520/797/239 519/793/235 +f 521/795/237 525/798/240 522/796/238 +f 525/798/240 523/799/241 522/796/238 +f 503/779/222 525/798/240 524/800/242 +f 504/778/221 526/801/243 525/798/240 +f 528/802/244 529/803/245 527/804/244 +f 530/805/245 533/806/246 529/803/245 +f 537/807/247 531/808/248 535/809/247 +f 532/810/248 527/804/244 531/808/248 +f 534/811/246 538/812/247 533/806/246 +f 506/777/220 507/780/223 504/778/221 +f 507/780/223 508/813/227 505/781/224 +f 509/782/225 510/783/226 507/780/223 +f 510/783/226 511/814/230 508/784/227 +f 512/785/228 513/786/229 510/783/226 +f 513/786/229 514/815/232 511/787/230 +f 512/785/228 515/816/234 516/788/231 +f 516/788/231 517/817/236 514/789/232 +f 518/790/233 519/793/235 516/791/231 +f 519/793/235 520/818/239 517/794/236 +f 521/795/237 522/796/238 519/793/235 +f 522/796/238 523/819/241 520/797/239 +f 521/795/237 524/800/242 525/798/240 +f 525/798/240 526/820/243 523/799/241 +f 503/779/222 504/778/221 525/798/240 +f 504/778/221 505/821/224 526/801/243 +f 528/802/244 530/805/245 529/803/245 +f 530/805/245 534/811/246 533/806/246 +f 537/807/247 532/810/248 531/808/248 +f 532/810/248 528/802/244 527/804/244 +f 534/811/246 536/822/247 538/812/247 +o LeftArm +v 3.848080 -1.385496 2.089541 +v 3.848082 2.482785 2.089541 +v 6.707815 -1.385498 2.089541 +v 6.707817 2.482783 2.089541 +v 3.848080 -1.385496 -2.083592 +v 3.848082 2.482785 -2.083592 +v 6.707815 -1.385498 -2.083592 +v 6.707817 2.482783 -2.083592 +v 5.563126 4.039324 2.089541 +v 8.399313 4.039323 2.089541 +v 8.399311 0.171042 2.089541 +v 8.399311 0.171042 -2.083592 +v 8.399313 4.039323 -2.083592 +v 5.563126 4.039324 -2.083592 +v 5.701231 -2.606927 1.081455 +v 4.854661 -2.606926 1.081455 +v 4.854661 -2.606926 -1.075505 +v 5.701231 -2.606927 -1.075505 +v 9.538965 0.957276 1.081455 +v 9.538965 0.957276 -1.075506 +v 9.538967 3.253084 -1.075506 +v 9.538967 3.253084 1.081455 +v 7.980860 -1.823903 -1.075506 +v 8.611074 -1.243971 -1.075506 +v 8.611074 -1.243970 1.081455 +v 7.980860 -1.823903 1.081455 +v 4.476345 -2.606926 1.567900 +v 6.079547 -2.606927 1.567900 +v 4.476345 -2.606926 -1.561950 +v 6.079547 -2.606927 -1.561950 +v 9.538965 0.439518 -1.561950 +v 9.538965 0.439518 1.567899 +v 9.538967 3.770842 -1.561950 +v 9.538967 3.770842 1.567899 +v 8.930279 -0.950234 -1.561950 +v 7.661656 -2.117639 -1.561950 +v 8.930279 -0.950234 1.567900 +v 7.661656 -2.117639 1.567900 +v 5.701231 -4.274506 1.081455 +v 4.854660 -4.274506 1.081455 +v 4.854660 -4.274506 -1.075505 +v 5.701231 -4.274506 -1.075505 +v 11.094896 0.957275 1.081455 +v 11.094896 0.957275 -1.075506 +v 11.094898 3.253083 -1.075506 +v 11.094898 3.253083 1.081455 +v 8.994442 -3.089109 -1.075506 +v 9.624655 -2.509177 -1.075506 +v 9.624655 -2.509176 1.081455 +v 8.994442 -3.089109 1.081455 +v 5.889863 7.776278 1.993027 +v 5.889863 7.592228 2.319573 +v 5.889863 7.399215 1.993027 +v 6.778609 7.408146 1.993027 +v 6.648466 7.278004 2.319573 +v 6.511984 7.141523 1.993027 +v 7.146739 6.519400 1.993027 +v 6.962690 6.519400 2.319573 +v 6.769676 6.519400 1.993027 +v 6.778607 5.630654 1.993027 +v 6.648465 5.760797 2.319573 +v 6.511983 5.897279 1.993027 +v 5.889862 5.262525 1.993027 +v 5.889862 5.446574 2.319573 +v 5.889862 5.639588 1.993027 +v 5.001116 5.630656 1.993027 +v 5.131258 5.760798 2.319573 +v 5.267740 5.897280 1.993027 +v 4.632987 6.519403 1.993027 +v 4.817035 6.519403 2.319573 +v 5.010049 6.519402 1.993027 +v 5.001116 7.408147 1.993027 +v 5.131258 7.278005 2.319573 +v 5.267740 7.141523 1.993027 +v 3.966252 6.630567 -2.020720 +v 3.966251 6.394344 -2.020720 +v 8.013643 6.630563 -2.020720 +v 8.013641 6.394340 -2.020720 +v 3.966252 6.917194 2.026670 +v 3.966251 6.107717 2.026670 +v 8.013641 6.917191 2.026670 +v 8.013641 6.107713 2.026670 +v 4.900514 6.917193 2.026670 +v 6.857197 6.107714 2.026670 +v 4.900513 6.107715 2.026670 +v 6.857198 6.917192 2.026670 +vt 0.058610 0.440457 +vt 0.000000 0.338235 +vt 0.000000 0.441176 +vt 0.000000 0.441176 +vt 0.060241 0.335919 +vt 0.058533 0.440018 +vt 0.060241 0.335919 +vt 0.035980 0.295068 +vt 0.096386 0.397059 +vt 0.035955 0.295044 +vt 0.000000 0.338235 +vt 0.096386 0.397059 +vt 0.132530 0.455882 +vt 0.180723 0.485294 +vt 0.132530 0.485294 +vt 0.096386 0.485294 +vt 0.096386 0.455882 +vt 0.180723 0.455882 +vt 0.132530 0.411765 +vt 0.180723 0.411765 +vt 0.216867 0.455882 +vt 0.216867 0.485294 +vt 0.180723 0.529412 +vt 0.132530 0.529412 +vt 0.180723 0.308824 +vt 0.132530 0.367647 +vt 0.132530 0.308824 +vt 0.132530 0.264706 +vt 0.180723 0.264706 +vt 0.180723 0.367647 +vt 0.216867 0.308824 +vt 0.216867 0.367647 +vt 0.180723 0.411765 +vt 0.132530 0.411765 +vt 0.096386 0.367647 +vt 0.096386 0.308824 +vt 0.253012 0.455882 +vt 0.301205 0.485294 +vt 0.253012 0.485294 +vt 0.216867 0.455882 +vt 0.216867 0.485294 +vt 0.301205 0.455882 +vt 0.253012 0.411765 +vt 0.301205 0.411765 +vt 0.337349 0.485294 +vt 0.337349 0.455882 +vt 0.301205 0.529412 +vt 0.253012 0.529412 +vt 0.096386 0.294118 +vt 0.096386 0.294118 +vt 0.084337 0.132353 +vt 0.108434 0.088235 +vt 0.108434 0.132353 +vt 0.024096 0.132353 +vt 0.084337 0.161765 +vt 0.024096 0.161765 +vt 0.024096 0.088235 +vt 0.000000 0.132353 +vt 0.000000 0.088235 +vt 0.084337 0.088235 +vt 0.024096 0.058824 +vt 0.084337 0.058824 +vt 0.084337 0.191176 +vt 0.024096 0.161765 +vt 0.084337 0.161765 +vt 0.084337 0.264706 +vt 0.108434 0.191176 +vt 0.108434 0.264706 +vt 0.024096 0.264706 +vt 0.084337 0.294118 +vt 0.024096 0.294118 +vt -0.000000 0.191176 +vt 0.000000 0.264706 +vt 0.000000 0.088235 +vt 0.024096 0.132353 +vt 0.000000 0.132353 +vt 0.084337 0.088235 +vt 0.024096 0.058824 +vt 0.084337 0.058824 +vt 0.084337 0.132353 +vt 0.108434 0.088235 +vt 0.108434 0.132353 +vt 0.084337 0.161765 +vt 0.024096 0.161765 +vt 0.072289 0.102941 +vt 0.072289 0.117647 +vt 0.036145 0.117647 +vt 0.036145 0.102941 +vt 0.036145 0.205882 +vt 0.072289 0.205882 +vt 0.072289 0.250000 +vt 0.036145 0.250000 +vt 0.024096 0.191176 +vt 0.036145 0.117647 +vt 0.024096 0.088235 +vt 0.036145 0.102941 +vt 0.072289 0.102941 +vt 0.072289 0.117647 +vt 0.192771 0.794118 +vt 0.144578 0.764706 +vt 0.144578 0.794118 +vt 0.192771 0.764706 +vt 0.156627 0.735294 +vt 0.096386 0.764706 +vt 0.096386 0.794118 +vt 0.108434 0.735294 +vt 0.048193 0.794118 +vt 0.084337 0.735294 +vt 0.048193 0.764706 +vt 0.000000 0.794118 +vt 0.036145 0.735294 +vt 0.000000 0.764706 +vt 0.385542 0.794118 +vt 0.337349 0.764706 +vt 0.337349 0.794118 +vt 0.385542 0.764706 +vt 0.349398 0.735294 +vt 0.289157 0.764706 +vt 0.289157 0.794118 +vt 0.301205 0.735294 +vt 0.240964 0.794118 +vt 0.277108 0.735294 +vt 0.240964 0.764706 +vt 0.228916 0.735294 +vt 0.120482 0.823529 +vt 0.072289 0.794118 +vt 0.072289 0.823529 +vt 0.168675 0.794118 +vt 0.120482 0.794118 +vt 0.000000 0.823529 +vt 0.024096 0.794118 +vt 0.000000 0.794118 +vt 0.024096 0.823529 +vt 0.168675 0.823529 +vt 0.192771 0.794118 +vt 0.180723 0.735294 +vt 0.132530 0.735294 +vt 0.060241 0.735294 +vt 0.012048 0.735294 +vt 0.373494 0.735294 +vt 0.325301 0.735294 +vt 0.253012 0.735294 +vt 0.204819 0.735294 +vt 0.192771 0.823529 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6771 -0.7359 -0.0000 +vn 0.7804 0.6252 0.0000 +vn -0.7804 -0.6252 0.0000 +vn -0.4181 -0.7891 0.4500 +vn 0.1412 -0.4385 0.8876 +vn -0.3590 -0.3328 0.8720 +vn -0.4181 -0.7891 -0.4500 +vn -0.3590 -0.3328 -0.8720 +vn 0.4181 -0.7891 -0.4500 +vn 0.1412 -0.4385 -0.8876 +vn 0.4181 -0.7891 0.4500 +vn 0.7388 -0.5169 -0.4324 +vn 0.4205 -0.1879 0.8876 +vn 0.4205 -0.1879 -0.8876 +vn 0.7388 0.5169 -0.4324 +vn 0.2648 0.3576 -0.8955 +vn 0.7388 0.5169 0.4324 +vn 0.2648 0.3576 0.8955 +vn 0.0911 -0.8948 -0.4370 +vn 0.8699 -0.2238 0.4395 +vn 0.0911 -0.8948 0.4370 +vn 0.3015 -0.9045 0.3015 +vn -0.3015 -0.9045 0.3015 +vn -0.3015 -0.9045 -0.3015 +vn 0.3015 -0.9045 -0.3015 +vn 0.9045 -0.3015 0.3015 +vn 0.9045 -0.3015 -0.3015 +vn 0.9045 0.3015 -0.3015 +vn 0.9045 0.3015 0.3015 +vn 0.7388 -0.5169 0.4324 +vn 0.3828 -0.8668 -0.3193 +vn 0.8699 -0.2238 -0.4395 +vn 0.8355 -0.4702 -0.2842 +vn 0.8355 -0.4702 0.2842 +vn 0.3828 -0.8668 0.3193 +vn 0.0000 0.8712 0.4910 +vn 0.1535 0.1535 0.9761 +vn 0.6160 0.6160 0.4910 +vn 0.0000 0.2171 0.9761 +vn -0.6087 -0.6087 0.5088 +vn 0.2171 0.0000 0.9761 +vn 0.8712 0.0000 0.4910 +vn -0.8608 0.0000 0.5088 +vn 0.6160 -0.6160 0.4910 +vn 0.1535 -0.1535 0.9761 +vn 0.0000 -0.8712 0.4910 +vn -0.6087 0.6087 0.5088 +vn 0.0000 -0.2171 0.9761 +vn -0.1535 -0.1535 0.9761 +vn -0.6160 -0.6160 0.4910 +vn 0.6087 0.6087 0.5088 +vn -0.2171 0.0000 0.9761 +vn -0.8712 0.0000 0.4910 +vn 0.8608 0.0000 0.5088 +vn -0.6160 0.6160 0.4910 +vn -0.1535 0.1535 0.9761 +vn 0.6087 -0.6087 0.5088 +vn 0.7225 0.0000 -0.6914 +vn -0.7225 0.0000 -0.6914 +vn 0.6906 0.0000 0.7232 +vn -0.6906 0.0000 0.7232 +vn 0.0000 -0.8608 0.5088 +vn 0.0000 0.8608 0.5088 +usemtl None +s off +f 541/823/249 540/824/249 539/825/249 +f 543/826/250 546/827/250 545/828/250 +f 542/829/249 547/830/249 540/824/249 +f 549/831/249 542/829/249 541/823/249 +f 552/832/250 546/827/250 544/833/250 +f 546/827/250 550/834/250 545/828/250 +f 578/835/251 580/836/251 577/837/251 +f 578/835/249 553/838/249 554/839/249 +f 579/840/252 554/841/252 555/842/252 +f 580/836/250 555/843/250 556/844/250 +f 577/837/253 556/845/253 553/846/253 +f 582/847/253 584/848/253 581/849/253 +f 582/847/251 557/850/251 558/851/251 +f 583/852/250 558/853/250 559/854/250 +f 584/848/254 559/855/254 560/856/254 +f 581/849/249 560/857/249 557/858/249 +f 586/859/255 588/860/255 585/861/255 +f 562/862/250 585/861/250 561/863/250 +f 587/864/256 562/865/256 563/866/256 +f 564/867/249 587/864/249 563/868/249 +f 585/861/257 564/869/257 561/870/257 +f 541/823/249 542/829/249 540/824/249 +f 543/826/250 544/833/250 546/827/250 +f 542/829/249 548/871/249 547/830/249 +f 549/831/249 548/871/249 542/829/249 +f 552/832/250 551/872/250 546/827/250 +f 546/827/250 551/872/250 550/834/250 +f 578/835/251 579/840/251 580/836/251 +f 578/835/249 577/837/249 553/838/249 +f 579/840/252 578/835/252 554/841/252 +f 580/836/250 579/840/250 555/843/250 +f 577/837/253 580/836/253 556/845/253 +f 582/847/253 583/852/253 584/848/253 +f 582/847/251 581/849/251 557/850/251 +f 583/852/250 582/847/250 558/853/250 +f 584/848/254 583/852/254 559/855/254 +f 581/849/249 584/848/249 560/857/249 +f 586/859/255 587/864/255 588/860/255 +f 562/862/250 586/859/250 585/861/250 +f 587/864/256 586/859/256 562/865/256 +f 564/867/249 588/860/249 587/864/249 +f 585/861/257 588/860/257 564/869/257 +s 1 +f 565/873/258 541/874/259 539/875/260 +f 567/876/261 539/877/260 543/878/262 +f 568/879/263 543/880/262 545/881/264 +f 566/882/265 545/883/264 541/884/259 +f 569/885/266 549/886/267 550/887/268 +f 571/888/269 550/889/268 551/890/270 +f 572/891/271 551/892/270 548/893/272 +f 549/894/267 572/891/271 548/895/272 +f 550/896/268 574/897/273 545/898/264 +f 575/899/274 550/900/268 549/901/267 +f 576/902/275 549/903/267 541/904/259 +f 574/897/273 541/905/259 545/906/264 +f 553/907/276 565/873/258 554/908/277 +f 554/908/277 567/876/261 555/909/278 +f 556/910/279 567/876/261 568/879/263 +f 556/910/279 566/882/265 553/907/276 +f 557/911/280 569/885/266 558/912/281 +f 558/912/281 571/888/269 559/913/282 +f 559/913/282 572/891/271 560/914/283 +f 560/914/283 570/915/284 557/911/280 +f 561/916/285 573/917/286 562/918/287 +f 562/918/287 575/899/274 563/919/288 +f 564/920/289 575/899/274 576/902/275 +f 561/916/285 576/902/275 574/897/273 +f 589/921/290 593/922/291 592/923/292 +f 590/924/293 594/925/294 593/922/291 +f 592/923/292 596/926/295 595/927/296 +f 593/922/291 597/928/297 596/926/295 +f 596/926/295 598/929/298 595/927/296 +f 597/930/297 599/931/299 596/926/295 +f 599/931/299 601/932/300 598/929/298 +f 600/933/301 602/934/302 599/931/299 +f 601/935/300 605/936/303 604/937/304 +f 602/938/302 606/939/305 605/936/303 +f 604/937/304 608/940/306 607/941/307 +f 605/936/303 609/942/308 608/940/306 +f 608/940/306 610/943/309 607/941/307 +f 609/944/308 611/945/310 608/940/306 +f 611/945/310 589/921/290 610/943/309 +f 612/946/311 590/924/293 611/945/310 +f 615/947/312 614/948/313 613/949/313 +f 615/947/312 620/950/314 616/951/312 +f 621/952/249 618/953/315 623/954/249 +f 613/949/313 618/953/315 617/955/315 +f 619/956/314 622/957/249 620/950/314 +f 565/873/258 566/882/265 541/874/259 +f 567/876/261 565/873/258 539/877/260 +f 568/879/263 567/876/261 543/880/262 +f 566/882/265 568/879/263 545/883/264 +f 569/885/266 570/915/284 549/886/267 +f 571/888/269 569/885/266 550/889/268 +f 572/891/271 571/888/269 551/892/270 +f 549/894/267 570/915/284 572/891/271 +f 550/896/268 573/917/286 574/897/273 +f 575/899/274 573/917/286 550/900/268 +f 576/902/275 575/899/274 549/903/267 +f 574/897/273 576/902/275 541/905/259 +f 553/907/276 566/882/265 565/873/258 +f 554/908/277 565/873/258 567/876/261 +f 556/910/279 555/909/278 567/876/261 +f 556/910/279 568/879/263 566/882/265 +f 557/911/280 570/915/284 569/885/266 +f 558/912/281 569/885/266 571/888/269 +f 559/913/282 571/888/269 572/891/271 +f 560/914/283 572/891/271 570/915/284 +f 561/916/285 574/897/273 573/917/286 +f 562/918/287 573/917/286 575/899/274 +f 564/920/289 563/919/288 575/899/274 +f 561/916/285 564/920/289 576/902/275 +f 589/921/290 590/924/293 593/922/291 +f 590/924/293 591/958/316 594/925/294 +f 592/923/292 593/922/291 596/926/295 +f 593/922/291 594/959/294 597/928/297 +f 596/926/295 599/931/299 598/929/298 +f 597/930/297 600/960/301 599/931/299 +f 599/931/299 602/934/302 601/932/300 +f 600/933/301 603/961/317 602/934/302 +f 601/935/300 602/938/302 605/936/303 +f 602/938/302 603/962/317 606/939/305 +f 604/937/304 605/936/303 608/940/306 +f 605/936/303 606/963/305 609/942/308 +f 608/940/306 611/945/310 610/943/309 +f 609/944/308 612/964/311 611/945/310 +f 611/945/310 590/924/293 589/921/290 +f 612/946/311 591/965/316 590/924/293 +f 615/947/312 616/951/312 614/948/313 +f 615/947/312 619/956/314 620/950/314 +f 621/952/249 617/955/315 618/953/315 +f 613/949/313 614/948/313 618/953/315 +f 619/956/314 624/966/249 622/957/249 +o Body +v -1.357744 12.947865 -2.060404 +v -2.084779 16.857933 -2.060405 +v 1.337637 12.947863 -2.060404 +v 2.064677 16.857931 -2.060405 +v 0.755152 6.975003 -1.996005 +v -0.010055 8.739575 -1.996005 +v -0.010056 6.975003 -2.761213 +v -0.775265 6.975004 -1.996004 +v -0.010057 5.273831 -1.996004 +v 4.817903 -0.473352 -2.018208 +v 4.770588 -0.229360 -2.018208 +v 4.633528 0.154637 -2.018208 +v 4.414360 0.647646 -2.018208 +v 4.120724 1.218675 -2.018208 +v 3.760257 1.836732 -2.018208 +v 3.340600 2.470827 -2.018208 +v 2.869391 3.089965 -2.018208 +v 2.354269 3.663156 -2.018208 +v 1.802872 4.159407 -2.018208 +v 1.222840 4.547728 -2.018208 +v 0.621810 4.797125 -2.018208 +v 0.007423 4.876606 -2.018208 +v -0.601421 4.778955 -2.018208 +v -1.187155 4.534758 -2.018208 +v -1.744144 4.169732 -2.018208 +v -2.266752 3.709597 -2.018208 +v -2.749345 3.180070 -2.018208 +v -3.186286 2.606869 -2.018208 +v -3.571939 2.015710 -2.018208 +v -3.900671 1.432314 -2.018208 +v -4.166844 0.882396 -2.018208 +v -4.364824 0.391676 -2.018208 +v -4.488976 -0.014130 -2.018208 +v -4.533662 -0.309302 -2.018208 +v 5.330154 -0.529075 -2.018208 +v 5.277726 -0.258708 -2.018208 +v 5.125850 0.166797 -2.018208 +v 4.882992 0.713097 -2.018208 +v 4.557615 1.345852 -2.018208 +v 4.158184 2.030718 -2.018208 +v 3.693165 2.733354 -2.018209 +v 3.171020 3.419418 -2.018208 +v 2.600215 4.054568 -2.018208 +v 1.989216 4.604462 -2.018208 +v 1.346485 5.034757 -2.018208 +v 0.680488 5.311113 -2.018208 +v -0.000312 5.399186 -2.018208 +v -0.674968 5.290979 -2.018208 +v -1.324017 5.020385 -2.018208 +v -1.941214 4.615903 -2.018208 +v -2.520314 4.106030 -2.018208 +v -3.055072 3.519263 -2.018208 +v -3.539243 2.884101 -2.018208 +v -3.966585 2.229043 -2.018208 +v -4.330851 1.582583 -2.018208 +v -4.625796 0.973223 -2.018208 +v -4.845176 0.429459 -2.018208 +v -4.982747 -0.020212 -2.018208 +v -5.032264 -0.347291 -2.018208 +v -4.218641 14.357357 2.124614 +v -4.218643 11.132286 2.124614 +v 4.198537 14.357351 2.124614 +v 4.198535 11.132282 2.124614 +v -4.218642 12.932457 -2.118665 +v -4.218643 11.132286 -2.118664 +v 4.198536 12.932452 -2.118665 +v 4.198535 11.132282 -2.118665 +v -0.010052 14.471598 2.124614 +v -0.010054 11.098518 2.124614 +v -0.010053 13.633080 -2.118665 +v -0.010054 11.832909 -2.118665 +vt 0.144578 0.617647 +vt 0.096386 0.558824 +vt 0.144578 0.529412 +vt 0.192771 0.558824 +vt 0.192771 0.558824 +vt 0.144578 0.617647 +vt 0.096386 0.558824 +vt 0.325301 0.617647 +vt 0.303449 0.588235 +vt 0.325301 0.588235 +vt 0.626506 0.588235 +vt 0.590361 0.617647 +vt 0.590361 0.588235 +vt 0.590361 0.617647 +vt 0.554217 0.588235 +vt 0.590361 0.588235 +vt 0.373494 0.588235 +vt 0.337349 0.617647 +vt 0.337349 0.588235 +vt 0.265680 0.617647 +vt 0.303449 0.617647 +vt 0.554217 0.617647 +vt 0.518072 0.588235 +vt 0.409639 0.588235 +vt 0.373494 0.617647 +vt 0.228916 0.617647 +vt 0.265680 0.588235 +vt 0.518072 0.617647 +vt 0.481928 0.588235 +vt 0.445783 0.588235 +vt 0.409639 0.617647 +vt 0.192771 0.617647 +vt 0.228916 0.588235 +vt 0.481928 0.617647 +vt 0.445783 0.588235 +vt 0.481928 0.588235 +vt 0.445783 0.617647 +vt 0.192771 0.588235 +vt 0.228916 0.617647 +vt 0.192771 0.617647 +vt 0.445783 0.617647 +vt 0.409639 0.588235 +vt 0.518072 0.588235 +vt 0.481928 0.617647 +vt 0.228916 0.588235 +vt 0.265060 0.617647 +vt 0.409639 0.617647 +vt 0.373494 0.588235 +vt 0.554217 0.588235 +vt 0.518072 0.617647 +vt 0.301205 0.588235 +vt 0.265060 0.588235 +vt 0.373494 0.617647 +vt 0.554217 0.617647 +vt 0.626506 0.617647 +vt 0.626506 0.588235 +vt 0.301205 0.617647 +vt 0.626506 0.617647 +vt 0.192771 0.588235 +vt 0.289157 0.735294 +vt 0.192771 0.632353 +vt 0.289157 0.632353 +vt 0.192771 0.735294 +vt 0.096386 0.676471 +vt 0.578313 0.735294 +vt 0.481928 0.676471 +vt 0.578313 0.676471 +vt 0.385542 0.735294 +vt 0.385542 0.632353 +vt 0.000000 0.735294 +vt 0.000000 0.676471 +vt 0.096386 0.735294 +vt 0.481928 0.735294 +vt 0.000000 0.441176 +vt 0.080123 0.556041 +vt 0.016262 0.556041 +vt 0.096386 0.441176 +vn 0.6760 0.2932 -0.6760 +vn -0.6760 0.2932 -0.6760 +vn 0.6738 -0.3031 -0.6738 +vn -0.6738 -0.3031 -0.6738 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.6152 0.0000 0.7884 +vn 0.7053 0.0000 0.7089 +vn 0.7374 0.0000 -0.6755 +vn -0.7374 0.0000 -0.6755 +vn -0.7053 0.0000 0.7089 +vn -0.6152 0.0000 0.7884 +vn 0.7451 0.0000 -0.6669 +vn -0.7451 0.0000 -0.6669 +usemtl None +s off +f 630/967/318 629/968/318 631/969/318 +f 630/967/319 631/969/319 632/970/319 +f 631/969/320 629/971/320 633/972/320 +f 632/973/321 631/969/321 633/972/321 +f 642/974/322 668/975/322 667/976/322 +f 658/977/322 682/978/322 657/979/322 +f 635/980/322 661/981/322 660/982/322 +f 651/983/322 675/984/322 650/985/322 +f 644/986/322 668/975/322 643/987/322 +f 636/988/322 662/989/322 661/981/322 +f 652/990/322 676/991/322 651/983/322 +f 645/992/322 669/993/322 644/986/322 +f 637/994/322 663/995/322 662/989/322 +f 653/996/322 677/997/322 652/990/322 +f 646/998/322 670/999/322 645/992/322 +f 638/1000/322 664/1001/322 663/995/322 +f 654/1002/322 678/1003/322 653/996/322 +f 646/1004/322 672/1005/322 671/1006/322 +f 639/1007/322 665/1008/322 664/1001/322 +f 655/1009/322 679/1010/322 654/1002/322 +f 647/1011/322 673/1012/322 672/1005/322 +f 640/1013/322 666/1014/322 665/1008/322 +f 656/1015/322 680/1016/322 655/1009/322 +f 649/1017/322 673/1012/322 648/1018/322 +f 641/1019/322 667/976/322 666/1014/322 +f 657/979/322 681/1020/322 656/1015/322 +f 634/1021/322 660/982/322 659/1022/322 +f 650/985/322 674/1023/322 649/1017/322 +f 642/974/322 643/987/322 668/975/322 +f 658/977/322 683/1024/322 682/978/322 +f 635/980/322 636/988/322 661/981/322 +f 651/983/322 676/991/322 675/984/322 +f 644/986/322 669/993/322 668/975/322 +f 636/988/322 637/994/322 662/989/322 +f 652/990/322 677/997/322 676/991/322 +f 645/992/322 670/999/322 669/993/322 +f 637/994/322 638/1000/322 663/995/322 +f 653/996/322 678/1003/322 677/997/322 +f 646/998/322 671/1025/322 670/999/322 +f 638/1000/322 639/1007/322 664/1001/322 +f 654/1002/322 679/1010/322 678/1003/322 +f 646/1004/322 647/1011/322 672/1005/322 +f 639/1007/322 640/1013/322 665/1008/322 +f 655/1009/322 680/1016/322 679/1010/322 +f 647/1011/322 648/1018/322 673/1012/322 +f 640/1013/322 641/1019/322 666/1014/322 +f 656/1015/322 681/1020/322 680/1016/322 +f 649/1017/322 674/1023/322 673/1012/322 +f 641/1019/322 642/974/322 667/976/322 +f 657/979/322 682/978/322 681/1020/322 +f 634/1021/322 635/980/322 660/982/322 +f 650/985/322 675/984/322 674/1023/322 +s 1 +f 693/1026/323 686/1027/324 692/1028/323 +f 687/1029/325 690/1030/326 686/1027/324 +f 695/1031/322 688/1032/327 694/1033/322 +f 688/1032/327 685/1034/328 684/1035/329 +f 690/1030/326 695/1036/322 694/1037/322 +f 684/1035/329 693/1026/323 692/1028/323 +f 693/1026/323 687/1029/325 686/1027/324 +f 687/1029/325 691/1038/330 690/1030/326 +f 695/1031/322 689/1039/331 688/1032/327 +f 688/1032/327 689/1039/331 685/1034/328 +f 690/1030/326 691/1038/330 695/1036/322 +f 684/1035/329 685/1034/328 693/1026/323 +usemtl None_bismuth_armor.png.001 +s off +f 626/1040/322 627/1041/322 625/1042/322 +f 626/1040/322 628/1043/322 627/1041/322 diff --git a/src/main/resources/assets/hbm/textures/armor/bismuth.png b/src/main/resources/assets/hbm/textures/armor/bismuth.png new file mode 100644 index 0000000000000000000000000000000000000000..30da171b136201cf04e75fe28b3ec0ac39e12e41 GIT binary patch literal 10054 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 Hu0mjfbrFS} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/bismuth_legs.png b/src/main/resources/assets/hbm/textures/items/bismuth_legs.png new file mode 100644 index 0000000000000000000000000000000000000000..7c05e1ba94bc41b2f75303d64a22784ea4a92ff7 GIT binary patch literal 351 zcmV-l0igbgP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0Q5;jK~y+TV;C?{ z#LfL5$|N0>^YY@>OsvW6qQYQxOkf@o===JWv4n^Fe+8N?yLP?!zj^b+|I3$O1&i~r zv4F)f3;=Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0whU9K~y+TrBh32 z6HydB^UHKHg*`k@ zr^)S9>Nj3spVfSxlu9MMdQw0|Rvb;nBP1zkez*A0k?1b8+YUb$k+ovU z0>p@ja%CMYt&Z8T2cGR0#=|cWR1{RUEIN(@r)J|#q2M0k<%t>6QX6P$Kd^Lvo^$Ct zAQSgo{cRTHWWwD~O`apostv{I;Nhd!ock-7krnd7f8)i{21%tdWZ~Fo&ycxQCWK7& zVy1QTJj%U=X-y~3b2${~Ojp-F_SzC|&LVSZ*^9unZXWY^^#8$k2&`&{jx5q^jh?T< z+;ruUL4xS=5Q4G5P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T@%{o4_QkZj_)KD-bfe=*FO%2rmRN3c5&4 zA%luO2(r3Kg`hGdNwJ`8xH)xB+veNxDCW|-s2{wX!*kx}$8-MYJyLFNF8{+H1t*M^ zB2t3cfS+5R@5^`V6S8~_q9Ub6pxZ)z@j)CBk=PA2!kSSlmLCVPMxfukTevh)IMvB? zj11F1F^tGE;S66O(`pxsYk8|ekRUDJCQ{8-@{U@NGE}_&^bnKnFdm(U!rDDJ$Hz%B zW(0}Cluj8-UA0Kux*e@Sk9Xd~n+JD@O^-yK6JSGh1dlpfsBgYNxFit}1r)0yscV`M zN{9tDsUlu&WS4a(3&O{Z=G*MAEyX|Y<7r1Pv6_t>Ic-Bpav?xboQcal*NC3+5mIq1 zT~zKU=8XL$5nmiI<{&vPhD`y`g@ut2AHzOd0nSke;Rvjn94_9xg6pf7yX`|r=bP+8 zmzajjInAm12IY0$4L;*u&r5`yknNB~t_V_6lh8(QqqVICm+w0dIzM18F(8?X3Prg^ zE2k+DrAa03!a zdA3@K)sPUw)U1!HhI2}Nk&f1@d~?mw{rDp#W&;CnCzVK)5D#Q&l~1xF%9KTtz>pY= zd+rC*^7734>3%UnX`Y_`A@|D33_8lci}o6036UrA`U7HX{8e*}I4yExlwHtNL=00000 LNkvXXu0mjf_)JAA literal 0 HcmV?d00001 From 2f7bb54c3a53a2b76b07f53b3c89bf3b346c3ee3 Mon Sep 17 00:00:00 2001 From: Pheonix Date: Sun, 13 Mar 2022 22:15:56 +0000 Subject: [PATCH 02/17] aeugh --- .../java/com/hbm/extprop/HbmPlayerProps.java | 193 +- src/main/java/com/hbm/items/ModItems.java | 9 +- .../java/com/hbm/items/armor/ArmorFSB.java | 1205 +-- .../com/hbm/main/ModEventHandlerClient.java | 9 + .../hbm/render/util/RenderScreenOverlay.java | 439 +- .../assets/hbm/models/armor/remnant.obj | 8556 ++++++++--------- .../assets/hbm/textures/misc/overlay_dash.png | Bin 0 -> 1004 bytes .../assets/hbm/textures/misc/overlay_misc.png | Bin 4960 -> 5047 bytes 8 files changed, 5269 insertions(+), 5142 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/misc/overlay_dash.png diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index 119ec8003..a5f2ff618 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -1,80 +1,113 @@ -package com.hbm.extprop; - -import com.hbm.handler.HbmKeybinds.EnumKeybind; -import com.hbm.main.MainRegistry; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.IExtendedEntityProperties; - -public class HbmPlayerProps implements IExtendedEntityProperties { - - public static final String key = "NTM_EXT_PLAYER"; - public EntityPlayer player; - - public boolean enableHUD = true; - public boolean enableBackpack = true; - - private boolean[] keysPressed = new boolean[EnumKeybind.values().length]; - - public HbmPlayerProps(EntityPlayer player) { - this.player = player; - } - - public static HbmPlayerProps registerData(EntityPlayer player) { - - player.registerExtendedProperties(key, new HbmPlayerProps(player)); - return (HbmPlayerProps) player.getExtendedProperties(key); - } - - public static HbmPlayerProps getData(EntityPlayer player) { - - HbmPlayerProps props = (HbmPlayerProps) player.getExtendedProperties(key); - return props != null ? props : registerData(player); - } - - public boolean getKeyPressed(EnumKeybind key) { - return keysPressed[key.ordinal()]; - } - - public boolean isJetpackActive() { - return this.enableBackpack && getKeyPressed(EnumKeybind.JETPACK); - } - - public void setKeyPressed(EnumKeybind key, boolean pressed) { - - if(!getKeyPressed(key) && pressed) { - - if(key == EnumKeybind.TOGGLE_JETPACK) { - this.enableBackpack = !this.enableBackpack; - - if(this.enableBackpack) - MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Jetpack ON"); - else - MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Jetpack OFF"); - } - if(key == EnumKeybind.TOGGLE_HEAD) { - this.enableHUD = !this.enableHUD; - - if(this.enableHUD) - MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "HUD ON"); - else - MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "HUD OFF"); - } - } - - keysPressed[key.ordinal()] = pressed; - } - - @Override - public void init(Entity entity, World world) { } - - @Override - public void saveNBTData(NBTTagCompound compound) { } - - @Override - public void loadNBTData(NBTTagCompound compound) { } -} +package com.hbm.extprop; + +import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.IExtendedEntityProperties; + +public class HbmPlayerProps implements IExtendedEntityProperties { + + public static final String key = "NTM_EXT_PLAYER"; + public EntityPlayer player; + + public boolean enableHUD = true; + public boolean enableBackpack = true; + + private boolean[] keysPressed = new boolean[EnumKeybind.values().length]; + + public static final int dashCooldownLength = 10; + public int dashCooldown = 0; + + public int totalDashCount = 0; + public int stamina = 0; + + public HbmPlayerProps(EntityPlayer player) { + this.player = player; + } + + public static HbmPlayerProps registerData(EntityPlayer player) { + + player.registerExtendedProperties(key, new HbmPlayerProps(player)); + return (HbmPlayerProps) player.getExtendedProperties(key); + } + + public static HbmPlayerProps getData(EntityPlayer player) { + + HbmPlayerProps props = (HbmPlayerProps) player.getExtendedProperties(key); + return props != null ? props : registerData(player); + } + + public boolean getKeyPressed(EnumKeybind key) { + return keysPressed[key.ordinal()]; + } + + public boolean isJetpackActive() { + return this.enableBackpack && getKeyPressed(EnumKeybind.JETPACK); + } + + public void setKeyPressed(EnumKeybind key, boolean pressed) { + + if(!getKeyPressed(key) && pressed) { + + if(key == EnumKeybind.TOGGLE_JETPACK) { + this.enableBackpack = !this.enableBackpack; + + if(this.enableBackpack) + MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "Jetpack ON"); + else + MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "Jetpack OFF"); + } + if(key == EnumKeybind.TOGGLE_HEAD) { + this.enableHUD = !this.enableHUD; + + if(this.enableHUD) + MainRegistry.proxy.displayTooltip(EnumChatFormatting.GREEN + "HUD ON"); + else + MainRegistry.proxy.displayTooltip(EnumChatFormatting.RED + "HUD OFF"); + } + } + + keysPressed[key.ordinal()] = pressed; + } + + public void setDashCooldown(int cooldown) { + this.dashCooldown = cooldown; + return; + } + + public int getDashCooldown() { + return this.dashCooldown; + } + + public void setStamina(int stamina) { + this.stamina = stamina; + return; + } + + public int getStamina() { + return this.stamina; + } + + public void setDashCount(int count) { + this.totalDashCount = count; + return; + } + + public int getDashCount() { + return this.totalDashCount; + } + + @Override + public void init(Entity entity, World world) { } + + @Override + public void saveNBTData(NBTTagCompound compound) { } + + @Override + public void loadNBTData(NBTTagCompound compound) { } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index c58065fbd..85763c153 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4800,16 +4800,17 @@ public class ModItems { schrabidium_plate = new ArmorFSB(MainRegistry.aMatSchrab, 7, 1, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setUnlocalizedName("schrabidium_plate").setTextureName(RefStrings.MODID + ":schrabidium_plate"); schrabidium_legs = new ArmorFSB(MainRegistry.aMatSchrab, 7, 2, RefStrings.MODID + ":textures/armor/schrabidium_2.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_legs").setTextureName(RefStrings.MODID + ":schrabidium_legs"); schrabidium_boots = new ArmorFSB(MainRegistry.aMatSchrab, 7, 3, RefStrings.MODID + ":textures/armor/schrabidium_1.png").cloneStats((ArmorFSB) schrabidium_helmet).setCap(4F).setMod(0.1F).setUnlocalizedName("schrabidium_boots").setTextureName(RefStrings.MODID + ":schrabidium_boots"); - bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setCap(8F).setMod(0.75F) + bismuth_helmet = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setCap(8F).setMod(0.3F) .addResistance("fall", 0) .addEffect(new PotionEffect(Potion.jump.id, 20, 6)) .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) + .setDashCount(3) .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); - bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); - bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); - bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.75F).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); + bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); + bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); + bismuth_boots = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_boots").setTextureName(RefStrings.MODID + ":bismuth_boots"); titanium_helmet = new ArmorFSB(MainRegistry.aMatTitan, 7, 0, RefStrings.MODID + ":textures/armor/titanium_1.png").setMod(0.85F).setUnlocalizedName("titanium_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_helmet"); titanium_plate = new ArmorFSB(MainRegistry.aMatTitan, 7, 1, RefStrings.MODID + ":textures/armor/titanium_1.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_plate"); titanium_legs = new ArmorFSB(MainRegistry.aMatTitan, 7, 2, RefStrings.MODID + ":textures/armor/titanium_2.png").cloneStats((ArmorFSB) titanium_helmet).setUnlocalizedName("titanium_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":titanium_legs"); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 94a6ba88d..d06ad30d7 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -1,582 +1,623 @@ -package com.hbm.items.armor; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; - -import org.lwjgl.opengl.GL11; - -import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.util.I18nUtil; - -import cpw.mods.fml.common.gameevent.TickEvent; -import cpw.mods.fml.relauncher.ReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; - -//Armor with full set bonus -public class ArmorFSB extends ItemArmor { - - private String texture = ""; - private ResourceLocation overlay = null; - public List effects = new ArrayList(); - public HashMap resistance = new HashMap(); - public float blastProtection = -1; - public float projectileProtection = -1; - public float damageCap = -1; - public float damageMod = -1; - public float damageThreshold = 0; - public float protectionYield = 100F; - public boolean fireproof = false; - public boolean noHelmet = false; - public boolean vats = false; - public boolean thermal = false; - public boolean geigerSound = false; - public boolean customGeiger = false; - public boolean hardLanding = false; - public double gravity = 0; - public String step; - public String jump; - public String fall; - - public ArmorFSB(ArmorMaterial material, int layer, int slot, String texture) { - super(material, layer, slot); - this.texture = texture; - } - - public ArmorFSB addEffect(PotionEffect effect) { - effects.add(effect); - return this; - } - - public ArmorFSB addResistance(String damage, float mod) { - resistance.put(damage, mod); - return this; - } - - public ArmorFSB setCap(float cap) { - this.damageCap = cap; - return this; - } - - public ArmorFSB setMod(float mod) { - this.damageMod = mod; - return this; - } - - public ArmorFSB setThreshold(float threshold) { - this.damageThreshold = threshold; - return this; - } - - public ArmorFSB setProtectionLevel(float damageYield) { - this.protectionYield = damageYield; - return this; - } - - public ArmorFSB setBlastProtection(float blastProtection) { - this.blastProtection = blastProtection; - return this; - } - - public ArmorFSB setProjectileProtection(float projectileProtection) { - this.projectileProtection = projectileProtection; - return this; - } - - public ArmorFSB setFireproof(boolean fire) { - this.fireproof = fire; - return this; - } - - public ArmorFSB setNoHelmet(boolean noHelmet) { - this.noHelmet = noHelmet; - return this; - } - - public ArmorFSB enableVATS(boolean vats) { - this.vats = vats; - return this; - } - - public ArmorFSB enableThermalSight(boolean thermal) { - this.thermal = thermal; - return this; - } - - public ArmorFSB setHasGeigerSound(boolean geiger) { - this.geigerSound = geiger; - return this; - } - - public ArmorFSB setHasCustomGeiger(boolean geiger) { - this.customGeiger = geiger; - return this; - } - - public ArmorFSB setHasHardLanding(boolean hardLanding) { - this.hardLanding = hardLanding; - return this; - } - - public ArmorFSB setGravity(double gravity) { - this.gravity = gravity; - return this; - } - - public ArmorFSB setStep(String step) { - this.step = step; - return this; - } - - public ArmorFSB setJump(String jump) { - this.jump = jump; - return this; - } - - public ArmorFSB setFall(String fall) { - this.fall = fall; - return this; - } - - public ArmorFSB setOverlay(String path) { - this.overlay = new ResourceLocation(path); - return this; - } - - public ArmorFSB cloneStats(ArmorFSB original) { - - //lists aren't being modified after instantiation, so there's no need to dereference - this.effects = original.effects; - this.resistance = original.resistance; - this.damageCap = original.damageCap; - this.damageMod = original.damageMod; - this.damageThreshold = original.damageThreshold; - this.protectionYield = original.protectionYield; - this.blastProtection = original.blastProtection; - this.projectileProtection = original.projectileProtection; - this.fireproof = original.fireproof; - this.noHelmet = original.noHelmet; - this.vats = original.vats; - this.thermal = original.thermal; - this.geigerSound = original.geigerSound; - this.customGeiger = original.customGeiger; - this.hardLanding = original.hardLanding; - this.gravity = original.gravity; - this.step = original.step; - this.jump = original.jump; - this.fall = original.fall; - //overlay doesn't need to be copied because it's helmet exclusive - return this; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { - return texture; - } - - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); - - if(!effects.isEmpty()) { - - for(PotionEffect effect : effects) { - list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName())); - } - } - - if(!resistance.isEmpty()) { - - for(Entry struct : resistance.entrySet()) { - - if(struct.getValue() != 0) - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.damageModifier", struct.getValue(), I18n.format(struct.getKey()))); - else - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.nullDamage", I18n.format(struct.getKey()))); - } - } - - if(blastProtection != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.blastProtection", blastProtection)); - } - - if(projectileProtection != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.projectileProtection", projectileProtection)); - } - - if(damageCap != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.cap", damageCap)); - } - - if(damageMod != -1) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.modifier", damageMod)); - } - - if(damageThreshold > 0) { - list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.threshold", damageThreshold)); - } - - if(fireproof) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fireproof")); - } - - if(geigerSound) { - list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound")); - } - - if(customGeiger) { - list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD")); - } - - if(vats) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats")); - } - - if(thermal) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal")); - } - - if(hardLanding) { - list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding")); - } - - if(gravity != 0) { - list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity)); - } - - if(protectionYield != 100F) { - list.add(EnumChatFormatting.BLUE + " Protection applies to damage <" + protectionYield); - } - } - - public static boolean hasFSBArmor(EntityPlayer player) { - - ItemStack plate = player.inventory.armorInventory[2]; - - if(plate != null && plate.getItem() instanceof ArmorFSB) { - - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - boolean noHelmet = chestplate.noHelmet; - - for(int i = 0; i < (noHelmet ? 3 : 4); i++) { - - ItemStack armor = player.inventory.armorInventory[i]; - - if(armor == null || !(armor.getItem() instanceof ArmorFSB)) - return false; - - if(((ArmorFSB) armor.getItem()).getArmorMaterial() != chestplate.getArmorMaterial()) - return false; - - if(!((ArmorFSB) armor.getItem()).isArmorEnabled(armor)) - return false; - } - - return true; - } - - return false; - } - - public static boolean hasFSBArmorIgnoreCharge(EntityPlayer player) { - - ItemStack plate = player.inventory.armorInventory[2]; - - if(plate != null && plate.getItem() instanceof ArmorFSB) { - - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - boolean noHelmet = chestplate.noHelmet; - - for(int i = 0; i < (noHelmet ? 3 : 4); i++) { - - ItemStack armor = player.inventory.armorInventory[i]; - - if(armor == null || !(armor.getItem() instanceof ArmorFSB)) - return false; - - if(((ArmorFSB) armor.getItem()).getArmorMaterial() != chestplate.getArmorMaterial()) - return false; - } - - return true; - } - - return false; - } - - public void handleAttack(LivingAttackEvent event) { - - EntityLivingBase e = event.entityLiving; - - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) e; - - if(ArmorFSB.hasFSBArmor(player)) { - - ItemStack plate = player.inventory.armorInventory[2]; - - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - - if(chestplate.damageThreshold >= event.ammount && !event.source.isUnblockable()) { - event.setCanceled(true); - } - - if(chestplate.fireproof && event.source.isFireDamage()) { - player.extinguish(); - event.setCanceled(true); - } - - if(chestplate.resistance.get(event.source.getDamageType()) != null && chestplate.resistance.get(event.source.getDamageType()) <= 0) { - event.setCanceled(true); - } - } - } - } - - public void handleHurt(LivingHurtEvent event) { - - EntityLivingBase e = event.entityLiving; - - if(e instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) e; - - if(ArmorFSB.hasFSBArmor(player)) { - - ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); - - //store any damage above the yield - float overFlow = Math.max(0, event.ammount - chestplate.protectionYield); - //reduce the damage to the yield cap if it exceeds the yield - event.ammount = Math.min(event.ammount, chestplate.protectionYield); - - if(!event.source.isUnblockable()) - event.ammount -= chestplate.damageThreshold; - - if(chestplate.damageMod != -1) { - event.ammount *= chestplate.damageMod; - } - - if(chestplate.resistance.get(event.source.getDamageType()) != null) { - event.ammount *= chestplate.resistance.get(event.source.getDamageType()); - } - - if(chestplate.blastProtection != -1 && event.source.isExplosion()) { - event.ammount *= chestplate.blastProtection; - } - - if(chestplate.projectileProtection != -1 && event.source.isProjectile()) { - event.ammount *= chestplate.projectileProtection; - } - - if(chestplate.damageCap != -1) { - event.ammount = Math.min(event.ammount, chestplate.damageCap); - } - - //add back anything that was above the protection yield before - event.ammount += overFlow; - } - } - } - - public void handleTick(TickEvent.PlayerTickEvent event) { - - EntityPlayer player = event.player; - - if(ArmorFSB.hasFSBArmor(player)) { - - ItemStack plate = player.inventory.armorInventory[2]; - - ArmorFSB chestplate = (ArmorFSB) plate.getItem(); - - if(!chestplate.effects.isEmpty()) { - - for(PotionEffect i : chestplate.effects) { - player.addPotionEffect(new PotionEffect(i.getPotionID(), i.getDuration(), i.getAmplifier(), i.getIsAmbient())); - } - } - - if(!player.capabilities.isFlying && !player.isInWater()) - player.motionY -= chestplate.gravity; - - if(chestplate.step != null && player.worldObj.isRemote && player.onGround) { - - try { - Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b"); - Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R"); - - if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) { - player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); - } - - int px = MathHelper.floor_double(player.posX); - int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset); - int pz = MathHelper.floor_double(player.posZ); - Block block = player.worldObj.getBlock(px, py, pz); - - if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player)) - player.playSound(chestplate.step, 1.0F, 1.0F); - - player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); - - } catch(Exception x) { - } - } - } - } - - public void handleJump(EntityPlayer player) { - - if(ArmorFSB.hasFSBArmor(player)) { - - ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); - - if(chestplate.jump != null) - player.playSound(chestplate.jump, 1.0F, 1.0F); - } - } - - public void handleFall(EntityPlayer player) { - - if(ArmorFSB.hasFSBArmor(player)) { - - ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); - - if(chestplate.hardLanding && player.fallDistance > 10) { - - // player.playSound(Block.soundTypeAnvil.func_150496_b(), 2.0F, - // 0.5F); - - List entities = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, player.boundingBox.expand(3, 0, 3)); - - for(Entity e : entities) { - - Vec3 vec = Vec3.createVectorHelper(player.posX - e.posX, 0, player.posZ - e.posZ); - - if(vec.lengthVector() < 3) { - - double intensity = 3 - vec.lengthVector(); - e.motionX += vec.xCoord * intensity * -2; - e.motionY += 0.1D * intensity; - e.motionZ += vec.zCoord * intensity * -2; - - e.attackEntityFrom(DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), (float) (intensity * 10)); - } - } - // return; - } - - if(chestplate.fall != null) - player.playSound(chestplate.fall, 1.0F, 1.0F); - } - } - - @Override - public void onArmorTick(World world, EntityPlayer entity, ItemStack stack) { - - if(this.armorType != 1) - return; - - if(!this.hasFSBArmor(entity) || !this.geigerSound) - return; - - if(world.getTotalWorldTime() % 5 == 0) { - - int x = check(world, (int) entity.posX, (int) entity.posY, (int) entity.posZ); - - if(x > 0) { - List list = new ArrayList(); - - if(x < 1) - list.add(0); - if(x < 5) - list.add(0); - if(x < 10) - list.add(1); - if(x > 5 && x < 15) - list.add(2); - if(x > 10 && x < 20) - list.add(3); - if(x > 15 && x < 25) - list.add(4); - if(x > 20 && x < 30) - list.add(5); - if(x > 25) - list.add(6); - - int r = list.get(world.rand.nextInt(list.size())); - - if(r > 0) - world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); - } else if(world.rand.nextInt(50) == 0) { - world.playSoundAtEntity(entity, "hbm:item.geiger" + (1 + world.rand.nextInt(1)), 1.0F, 1.0F); - } - } - } - - public static int check(World world, int x, int y, int z) { - - int rads = (int) Math.ceil(ChunkRadiationManager.proxy.getRadiation(world, x, y, z)); - return rads; - } - - // For crazier stuff not possible without hooking the event - @SideOnly(Side.CLIENT) - public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { - } - - public boolean isArmorEnabled(ItemStack stack) { - return true; - } - - @SideOnly(Side.CLIENT) - public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY) { - - if(overlay == null) - return; - - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_ALPHA_TEST); - Minecraft.getMinecraft().getTextureManager().bindTexture(overlay); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, (double) resolution.getScaledHeight(), -90.0D, 0.0D, 1.0D); - tessellator.addVertexWithUV((double) resolution.getScaledWidth(), (double) resolution.getScaledHeight(), -90.0D, 1.0D, 1.0D); - tessellator.addVertexWithUV((double) resolution.getScaledWidth(), 0.0D, -90.0D, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D); - tessellator.draw(); - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } -} +package com.hbm.items.armor; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import org.lwjgl.opengl.GL11; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.relauncher.ReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +//Armor with full set bonus +public class ArmorFSB extends ItemArmor { + + private String texture = ""; + private ResourceLocation overlay = null; + public List effects = new ArrayList(); + public HashMap resistance = new HashMap(); + public float blastProtection = -1; + public float projectileProtection = -1; + public float damageCap = -1; + public float damageMod = -1; + public float damageThreshold = 0; + public float protectionYield = 100F; + public boolean fireproof = false; + public boolean noHelmet = false; + public boolean vats = false; + public boolean thermal = false; + public boolean geigerSound = false; + public boolean customGeiger = false; + public boolean hardLanding = false; + public double gravity = 0; + public int dashCount = 0; + public String step; + public String jump; + public String fall; + + public ArmorFSB(ArmorMaterial material, int layer, int slot, String texture) { + super(material, layer, slot); + this.texture = texture; + } + + public ArmorFSB addEffect(PotionEffect effect) { + effects.add(effect); + return this; + } + + public ArmorFSB addResistance(String damage, float mod) { + resistance.put(damage, mod); + return this; + } + + public ArmorFSB setCap(float cap) { + this.damageCap = cap; + return this; + } + + public ArmorFSB setMod(float mod) { + this.damageMod = mod; + return this; + } + + public ArmorFSB setThreshold(float threshold) { + this.damageThreshold = threshold; + return this; + } + + public ArmorFSB setProtectionLevel(float damageYield) { + this.protectionYield = damageYield; + return this; + } + + public ArmorFSB setBlastProtection(float blastProtection) { + this.blastProtection = blastProtection; + return this; + } + + public ArmorFSB setProjectileProtection(float projectileProtection) { + this.projectileProtection = projectileProtection; + return this; + } + + public ArmorFSB setFireproof(boolean fire) { + this.fireproof = fire; + return this; + } + + public ArmorFSB setNoHelmet(boolean noHelmet) { + this.noHelmet = noHelmet; + return this; + } + + public ArmorFSB enableVATS(boolean vats) { + this.vats = vats; + return this; + } + + public ArmorFSB enableThermalSight(boolean thermal) { + this.thermal = thermal; + return this; + } + + public ArmorFSB setHasGeigerSound(boolean geiger) { + this.geigerSound = geiger; + return this; + } + + public ArmorFSB setHasCustomGeiger(boolean geiger) { + this.customGeiger = geiger; + return this; + } + + public ArmorFSB setHasHardLanding(boolean hardLanding) { + this.hardLanding = hardLanding; + return this; + } + + public ArmorFSB setGravity(double gravity) { + this.gravity = gravity; + return this; + } + + public ArmorFSB setDashCount(int dashCount) { + this.dashCount = dashCount; + return this; + } + + public ArmorFSB setStep(String step) { + this.step = step; + return this; + } + + public ArmorFSB setJump(String jump) { + this.jump = jump; + return this; + } + + public ArmorFSB setFall(String fall) { + this.fall = fall; + return this; + } + + public ArmorFSB setOverlay(String path) { + this.overlay = new ResourceLocation(path); + return this; + } + + public ArmorFSB cloneStats(ArmorFSB original) { + + //lists aren't being modified after instantiation, so there's no need to dereference + this.effects = original.effects; + this.resistance = original.resistance; + this.damageCap = original.damageCap; + this.damageMod = original.damageMod; + this.damageThreshold = original.damageThreshold; + this.protectionYield = original.protectionYield; + this.blastProtection = original.blastProtection; + this.projectileProtection = original.projectileProtection; + this.fireproof = original.fireproof; + this.noHelmet = original.noHelmet; + this.vats = original.vats; + this.thermal = original.thermal; + this.geigerSound = original.geigerSound; + this.customGeiger = original.customGeiger; + this.hardLanding = original.hardLanding; + this.gravity = original.gravity; + this.dashCount = original.dashCount; + this.step = original.step; + this.jump = original.jump; + this.fall = original.fall; + //overlay doesn't need to be copied because it's helmet exclusive + return this; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { + return texture; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + list.add(EnumChatFormatting.GOLD + I18nUtil.resolveKey("armor.fullSetBonus")); + + if(!effects.isEmpty()) { + + for(PotionEffect effect : effects) { + list.add(EnumChatFormatting.AQUA + " " + I18n.format(Potion.potionTypes[effect.getPotionID()].getName())); + } + } + + if(!resistance.isEmpty()) { + + for(Entry struct : resistance.entrySet()) { + + if(struct.getValue() != 0) + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.damageModifier", struct.getValue(), I18n.format(struct.getKey()))); + else + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.nullDamage", I18n.format(struct.getKey()))); + } + } + + if(blastProtection != -1) { + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.blastProtection", blastProtection)); + } + + if(projectileProtection != -1) { + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.projectileProtection", projectileProtection)); + } + + if(damageCap != -1) { + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.cap", damageCap)); + } + + if(damageMod != -1) { + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.modifier", damageMod)); + } + + if(damageThreshold > 0) { + list.add(EnumChatFormatting.YELLOW + " " + I18nUtil.resolveKey("armor.threshold", damageThreshold)); + } + + if(fireproof) { + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.fireproof")); + } + + if(geigerSound) { + list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerSound")); + } + + if(customGeiger) { + list.add(EnumChatFormatting.GOLD + " " + I18nUtil.resolveKey("armor.geigerHUD")); + } + + if(vats) { + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.vats")); + } + + if(thermal) { + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.thermal")); + } + + if(hardLanding) { + list.add(EnumChatFormatting.RED + " " + I18nUtil.resolveKey("armor.hardLanding")); + } + + if(gravity != 0) { + list.add(EnumChatFormatting.BLUE + " " + I18nUtil.resolveKey("armor.gravity", gravity)); + } + + if(dashCount > 0) { + list.add(EnumChatFormatting.AQUA + " " + I18nUtil.resolveKey("armor.dash", dashCount)); + } + + if(protectionYield != 100F) { + list.add(EnumChatFormatting.BLUE + " Protection applies to damage <" + protectionYield); + } + } + + public static boolean hasFSBArmor(EntityPlayer player) { + + ItemStack plate = player.inventory.armorInventory[2]; + + if(plate != null && plate.getItem() instanceof ArmorFSB) { + + ArmorFSB chestplate = (ArmorFSB) plate.getItem(); + boolean noHelmet = chestplate.noHelmet; + + for(int i = 0; i < (noHelmet ? 3 : 4); i++) { + + ItemStack armor = player.inventory.armorInventory[i]; + + if(armor == null || !(armor.getItem() instanceof ArmorFSB)) + return false; + + if(((ArmorFSB) armor.getItem()).getArmorMaterial() != chestplate.getArmorMaterial()) + return false; + + if(!((ArmorFSB) armor.getItem()).isArmorEnabled(armor)) + return false; + } + + return true; + } + + return false; + } + + public static boolean hasFSBArmorIgnoreCharge(EntityPlayer player) { + + ItemStack plate = player.inventory.armorInventory[2]; + + if(plate != null && plate.getItem() instanceof ArmorFSB) { + + ArmorFSB chestplate = (ArmorFSB) plate.getItem(); + boolean noHelmet = chestplate.noHelmet; + + for(int i = 0; i < (noHelmet ? 3 : 4); i++) { + + ItemStack armor = player.inventory.armorInventory[i]; + + if(armor == null || !(armor.getItem() instanceof ArmorFSB)) + return false; + + if(((ArmorFSB) armor.getItem()).getArmorMaterial() != chestplate.getArmorMaterial()) + return false; + } + + return true; + } + + return false; + } + + public void handleAttack(LivingAttackEvent event) { + + EntityLivingBase e = event.entityLiving; + + if(e instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) e; + + if(ArmorFSB.hasFSBArmor(player)) { + + ItemStack plate = player.inventory.armorInventory[2]; + + ArmorFSB chestplate = (ArmorFSB) plate.getItem(); + + if(chestplate.damageThreshold >= event.ammount && !event.source.isUnblockable()) { + event.setCanceled(true); + } + + if(chestplate.fireproof && event.source.isFireDamage()) { + player.extinguish(); + event.setCanceled(true); + } + + if(chestplate.resistance.get(event.source.getDamageType()) != null && chestplate.resistance.get(event.source.getDamageType()) <= 0) { + event.setCanceled(true); + } + } + } + } + + public void handleHurt(LivingHurtEvent event) { + + EntityLivingBase e = event.entityLiving; + + if(e instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) e; + + if(ArmorFSB.hasFSBArmor(player)) { + + ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); + + //store any damage above the yield + float overFlow = Math.max(0, event.ammount - chestplate.protectionYield); + //reduce the damage to the yield cap if it exceeds the yield + event.ammount = Math.min(event.ammount, chestplate.protectionYield); + + if(!event.source.isUnblockable()) + event.ammount -= chestplate.damageThreshold; + + if(chestplate.damageMod != -1) { + event.ammount *= chestplate.damageMod; + } + + if(chestplate.resistance.get(event.source.getDamageType()) != null) { + event.ammount *= chestplate.resistance.get(event.source.getDamageType()); + } + + if(chestplate.blastProtection != -1 && event.source.isExplosion()) { + event.ammount *= chestplate.blastProtection; + } + + if(chestplate.projectileProtection != -1 && event.source.isProjectile()) { + event.ammount *= chestplate.projectileProtection; + } + + if(chestplate.damageCap != -1) { + event.ammount = Math.min(event.ammount, chestplate.damageCap); + } + + //add back anything that was above the protection yield before + event.ammount += overFlow; + } + } + } + + public void handleTick(TickEvent.PlayerTickEvent event) { + + EntityPlayer player = event.player; + + if(ArmorFSB.hasFSBArmor(player)) { + + ItemStack plate = player.inventory.armorInventory[2]; + + ArmorFSB chestplate = (ArmorFSB) plate.getItem(); + + if(!chestplate.effects.isEmpty()) { + + for(PotionEffect i : chestplate.effects) { + player.addPotionEffect(new PotionEffect(i.getPotionID(), i.getDuration(), i.getAmplifier(), i.getIsAmbient())); + } + } + + if(!player.capabilities.isFlying && !player.isInWater()) + player.motionY -= chestplate.gravity; + + if(chestplate.step != null && player.worldObj.isRemote && player.onGround) { + + try { + Field nextStepDistance = ReflectionHelper.findField(Entity.class, "nextStepDistance", "field_70150_b"); + Field distanceWalkedOnStepModified = ReflectionHelper.findField(Entity.class, "distanceWalkedOnStepModified", "field_82151_R"); + + if(player.getEntityData().getFloat("hfr_nextStepDistance") == 0) { + player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); + } + + int px = MathHelper.floor_double(player.posX); + int py = MathHelper.floor_double(player.posY - 0.2D - (double) player.yOffset); + int pz = MathHelper.floor_double(player.posZ); + Block block = player.worldObj.getBlock(px, py, pz); + + if(block.getMaterial() != Material.air && player.getEntityData().getFloat("hfr_nextStepDistance") <= distanceWalkedOnStepModified.getFloat(player)) + player.playSound(chestplate.step, 1.0F, 1.0F); + + player.getEntityData().setFloat("hfr_nextStepDistance", nextStepDistance.getFloat(player)); + + } catch(Exception x) { + } + } + + boolean v1enabled = true; + + if(dashCount > 0) { + + int perDash = 64; + + HbmPlayerProps props = (HbmPlayerProps) player.getExtendedProperties("NTM_EXT_PLAYER"); + + props.setDashCount(dashCount); + + if(props.getDashCooldown() <= 0) { + + if(!player.capabilities.isFlying && player.isSneaking() && props.getStamina() >= perDash) { + + Vec3 lookingIn = player.getLookVec(); + player.addVelocity(lookingIn.xCoord, 0, lookingIn.zCoord); + + props.setDashCooldown(HbmPlayerProps.dashCooldownLength); + props.setStamina(props.getStamina() - perDash); + } + } else { + props.setDashCooldown(props.getDashCooldown() - 1); + } + + if(props.getStamina() < props.getDashCount() * perDash) { + props.setStamina(props.getStamina() + 1); + } + } + } + } + + public void handleJump(EntityPlayer player) { + + if(ArmorFSB.hasFSBArmor(player)) { + + ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); + + if(chestplate.jump != null) + player.playSound(chestplate.jump, 1.0F, 1.0F); + } + } + + public void handleFall(EntityPlayer player) { + + if(ArmorFSB.hasFSBArmor(player)) { + + ArmorFSB chestplate = (ArmorFSB) player.inventory.armorInventory[2].getItem(); + + if(chestplate.hardLanding && player.fallDistance > 10) { + + // player.playSound(Block.soundTypeAnvil.func_150496_b(), 2.0F, + // 0.5F); + + List entities = player.worldObj.getEntitiesWithinAABBExcludingEntity(player, player.boundingBox.expand(3, 0, 3)); + + for(Entity e : entities) { + + Vec3 vec = Vec3.createVectorHelper(player.posX - e.posX, 0, player.posZ - e.posZ); + + if(vec.lengthVector() < 3) { + + double intensity = 3 - vec.lengthVector(); + e.motionX += vec.xCoord * intensity * -2; + e.motionY += 0.1D * intensity; + e.motionZ += vec.zCoord * intensity * -2; + + e.attackEntityFrom(DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), (float) (intensity * 10)); + } + } + // return; + } + + if(chestplate.fall != null) + player.playSound(chestplate.fall, 1.0F, 1.0F); + } + } + + @Override + public void onArmorTick(World world, EntityPlayer entity, ItemStack stack) { + + if(this.armorType != 1) + return; + + if(!this.hasFSBArmor(entity) || !this.geigerSound) + return; + + if(world.getTotalWorldTime() % 5 == 0) { + + int x = check(world, (int) entity.posX, (int) entity.posY, (int) entity.posZ); + + if(x > 0) { + List list = new ArrayList(); + + if(x < 1) + list.add(0); + if(x < 5) + list.add(0); + if(x < 10) + list.add(1); + if(x > 5 && x < 15) + list.add(2); + if(x > 10 && x < 20) + list.add(3); + if(x > 15 && x < 25) + list.add(4); + if(x > 20 && x < 30) + list.add(5); + if(x > 25) + list.add(6); + + int r = list.get(world.rand.nextInt(list.size())); + + if(r > 0) + world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); + } else if(world.rand.nextInt(50) == 0) { + world.playSoundAtEntity(entity, "hbm:item.geiger" + (1 + world.rand.nextInt(1)), 1.0F, 1.0F); + } + } + } + + public static int check(World world, int x, int y, int z) { + + int rads = (int) Math.ceil(ChunkRadiationManager.proxy.getRadiation(world, x, y, z)); + return rads; + } + + // For crazier stuff not possible without hooking the event + @SideOnly(Side.CLIENT) + public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { + } + + public boolean isArmorEnabled(ItemStack stack) { + return true; + } + + @SideOnly(Side.CLIENT) + public void renderHelmetOverlay(ItemStack stack, EntityPlayer player, ScaledResolution resolution, float partialTicks, boolean hasScreen, int mouseX, int mouseY) { + + if(overlay == null) + return; + + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(false); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + Minecraft.getMinecraft().getTextureManager().bindTexture(overlay); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, (double) resolution.getScaledHeight(), -90.0D, 0.0D, 1.0D); + tessellator.addVertexWithUV((double) resolution.getScaledWidth(), (double) resolution.getScaledHeight(), -90.0D, 1.0D, 1.0D); + tessellator.addVertexWithUV((double) resolution.getScaledWidth(), 0.0D, -90.0D, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D); + tessellator.draw(); + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + } +} diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index a61f82536..82165d81b 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -244,6 +244,15 @@ public class ModEventHandlerClient { tess.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); + + } + if(ArmorFSB.hasFSBArmor(player)) { + ArmorFSB chestplate = (ArmorFSB)player.inventory.armorInventory[2].getItem(); + if(chestplate.dashCount > 0) { + HbmPlayerProps props = (HbmPlayerProps)player.getExtendedProperties("NTM_EXT_PLAYER"); + RenderScreenOverlay.renderDashBar(event.resolution, Minecraft.getMinecraft().ingameGUI, props); + + } } } } diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 5c2b49c99..44036255e 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -1,198 +1,241 @@ -package com.hbm.render.util; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -public class RenderScreenOverlay { - - private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); - private static final RenderItem itemRenderer = RenderItem.getInstance(); - - private static long lastSurvey; - private static float prevResult; - private static float lastResult; - - public static void renderRadCounter(ScaledResolution resolution, float in, Gui gui) { - GL11.glPushMatrix(); - - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_ALPHA_TEST); - - float radiation = 0; - - radiation = lastResult - prevResult; - - if(System.currentTimeMillis() >= lastSurvey + 1000) { - lastSurvey = System.currentTimeMillis(); - prevResult = lastResult; - lastResult = in; - } - - int length = 74; - int maxRad = 1000; - - int bar = getScaled(in, maxRad, 74); - - //if(radiation >= 1 && radiation <= 999) - // bar -= (1 + Minecraft.getMinecraft().theWorld.rand.nextInt(3)); - - int posX = 16; - int posY = resolution.getScaledHeight() - 18 - 2; - - Minecraft.getMinecraft().renderEngine.bindTexture(misc); - gui.drawTexturedModalRect(posX, posY, 0, 0, 94, 18); - gui.drawTexturedModalRect(posX + 1, posY + 1, 1, 19, bar, 16); - - if(radiation >= 25) { - gui.drawTexturedModalRect(posX + length + 2, posY - 18, 36, 36, 18, 18); - - } else if(radiation >= 10) { - gui.drawTexturedModalRect(posX + length + 2, posY - 18, 18, 36, 18, 18); - - } else if(radiation >= 2.5) { - gui.drawTexturedModalRect(posX + length + 2, posY - 18, 0, 36, 18, 18); - - } - - if(radiation > 1000) { - Minecraft.getMinecraft().fontRenderer.drawString(">1000 RAD/s", posX, posY - 8, 0xFF0000); - } else if(radiation >= 1) { - Minecraft.getMinecraft().fontRenderer.drawString(((int)Math.round(radiation)) + " RAD/s", posX, posY - 8, 0xFF0000); - } else if(radiation > 0) { - Minecraft.getMinecraft().fontRenderer.drawString("<1 RAD/s", posX, posY - 8, 0xFF0000); - } - - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(true); - GL11.glPopMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); - } - - private static int getScaled(double cur, double max, double scale) { - - return (int) Math.min(cur / max * scale, scale); - } - - - public static void renderCustomCrosshairs(ScaledResolution resolution, Gui gui, Crosshair cross) { - - if(cross == Crosshair.NONE) { - Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); - return; - } - - int size = cross.size; - - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(misc); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); - gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - (size / 2), resolution.getScaledHeight() / 2 - (size / 2), cross.x, cross.y, size, size); - OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); - GL11.glDisable(GL11.GL_BLEND); - GL11.glPopMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); - } - - public static void renderAmmo(ScaledResolution resolution, Gui gui, Item ammo, int count, int max, int dura, boolean renderCount) { - - GL11.glPushMatrix(); - - Minecraft mc = Minecraft.getMinecraft(); - - int pX = resolution.getScaledWidth() / 2 + 62 + 36; - int pZ = resolution.getScaledHeight() - 21; - - Minecraft.getMinecraft().renderEngine.bindTexture(misc); - gui.drawTexturedModalRect(pX, pZ + 16, 94, 0, 52, 3); - gui.drawTexturedModalRect(pX + 1, pZ + 16, 95, 3, 50 - dura, 3); - - String cap = max == -1 ? ("∞") : ("" + max); - - if(renderCount) - Minecraft.getMinecraft().fontRenderer.drawString(count + " / " + cap, pX + 16, pZ + 6, 0xFFFFFF); - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - RenderHelper.enableGUIStandardItemLighting(); - itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), new ItemStack(ammo), pX, pZ); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - - GL11.glPopMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); - } - - public static void renderAmmoAlt(ScaledResolution resolution, Gui gui, Item ammo, int count) { - - GL11.glPushMatrix(); - - Minecraft mc = Minecraft.getMinecraft(); - - int pX = resolution.getScaledWidth() / 2 + 62 + 36 + 18; - int pZ = resolution.getScaledHeight() - 21 - 16; - - Minecraft.getMinecraft().renderEngine.bindTexture(misc); - - Minecraft.getMinecraft().fontRenderer.drawString(count + "x", pX + 16, pZ + 6, 0xFFFFFF); - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - RenderHelper.enableGUIStandardItemLighting(); - itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), new ItemStack(ammo), pX, pZ); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - - GL11.glPopMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); - } - - public enum Crosshair { - - NONE(0, 0, 0), - CROSS(1, 55, 16), - CIRCLE(19, 55, 16), - SEMI(37, 55, 16), - KRUCK(55, 55, 16), - DUAL(1, 73, 16), - SPLIT(19, 73, 16), - CLASSIC(37, 73, 16), - BOX(55, 73, 16), - L_CROSS(0, 90, 32), - L_KRUCK(32, 90, 32), - L_CLASSIC(64, 90, 32), - L_CIRCLE(96, 90, 32), - L_SPLIT(0, 122, 32), - L_ARROWS(32, 122, 32), - L_BOX(64, 122, 32), - L_CIRCUMFLEX(96, 122, 32), - L_RAD(0, 154, 32); - - public int x; - public int y; - public int size; - - private Crosshair(int x, int y, int size) { - this.x = x; - this.y = y; - this.size = size; - } - } - -} +package com.hbm.render.util; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.Gui; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class RenderScreenOverlay { + + private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png"); + private static final RenderItem itemRenderer = RenderItem.getInstance(); + + private static long lastSurvey; + private static float prevResult; + private static float lastResult; + + public static void renderRadCounter(ScaledResolution resolution, float in, Gui gui) { + GL11.glPushMatrix(); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(false); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + + float radiation = 0; + + radiation = lastResult - prevResult; + + if(System.currentTimeMillis() >= lastSurvey + 1000) { + lastSurvey = System.currentTimeMillis(); + prevResult = lastResult; + lastResult = in; + } + + int length = 74; + int maxRad = 1000; + + int bar = getScaled(in, maxRad, 74); + + //if(radiation >= 1 && radiation <= 999) + // bar -= (1 + Minecraft.getMinecraft().theWorld.rand.nextInt(3)); + + int posX = 16; + int posY = resolution.getScaledHeight() - 18 - 2; + + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + gui.drawTexturedModalRect(posX, posY, 0, 0, 94, 18); + gui.drawTexturedModalRect(posX + 1, posY + 1, 1, 19, bar, 16); + + if(radiation >= 25) { + gui.drawTexturedModalRect(posX + length + 2, posY - 18, 36, 36, 18, 18); + + } else if(radiation >= 10) { + gui.drawTexturedModalRect(posX + length + 2, posY - 18, 18, 36, 18, 18); + + } else if(radiation >= 2.5) { + gui.drawTexturedModalRect(posX + length + 2, posY - 18, 0, 36, 18, 18); + + } + + if(radiation > 1000) { + Minecraft.getMinecraft().fontRenderer.drawString(">1000 RAD/s", posX, posY - 8, 0xFF0000); + } else if(radiation >= 1) { + Minecraft.getMinecraft().fontRenderer.drawString(((int)Math.round(radiation)) + " RAD/s", posX, posY - 8, 0xFF0000); + } else if(radiation > 0) { + Minecraft.getMinecraft().fontRenderer.drawString("<1 RAD/s", posX, posY - 8, 0xFF0000); + } + + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + private static int getScaled(double cur, double max, double scale) { + + return (int) Math.min(cur / max * scale, scale); + } + + + public static void renderCustomCrosshairs(ScaledResolution resolution, Gui gui, Crosshair cross) { + + if(cross == Crosshair.NONE) { + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + return; + } + + int size = cross.size; + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR, 1, 0); + gui.drawTexturedModalRect(resolution.getScaledWidth() / 2 - (size / 2), resolution.getScaledHeight() / 2 - (size / 2), cross.x, cross.y, size, size); + OpenGlHelper.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + public static void renderAmmo(ScaledResolution resolution, Gui gui, Item ammo, int count, int max, int dura, boolean renderCount) { + + GL11.glPushMatrix(); + + Minecraft mc = Minecraft.getMinecraft(); + + int pX = resolution.getScaledWidth() / 2 + 62 + 36; + int pZ = resolution.getScaledHeight() - 21; + + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + gui.drawTexturedModalRect(pX, pZ + 16, 94, 0, 52, 3); + gui.drawTexturedModalRect(pX + 1, pZ + 16, 95, 3, 50 - dura, 3); + + String cap = max == -1 ? ("∞") : ("" + max); + + if(renderCount) + Minecraft.getMinecraft().fontRenderer.drawString(count + " / " + cap, pX + 16, pZ + 6, 0xFFFFFF); + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + RenderHelper.enableGUIStandardItemLighting(); + itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), new ItemStack(ammo), pX, pZ); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + public static void renderAmmoAlt(ScaledResolution resolution, Gui gui, Item ammo, int count) { + + GL11.glPushMatrix(); + + Minecraft mc = Minecraft.getMinecraft(); + + int pX = resolution.getScaledWidth() / 2 + 62 + 36 + 18; + int pZ = resolution.getScaledHeight() - 21 - 16; + + Minecraft.getMinecraft().renderEngine.bindTexture(misc); + + Minecraft.getMinecraft().fontRenderer.drawString(count + "x", pX + 16, pZ + 6, 0xFFFFFF); + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + RenderHelper.enableGUIStandardItemLighting(); + itemRenderer.renderItemAndEffectIntoGUI(mc.fontRenderer, mc.getTextureManager(), new ItemStack(ammo), pX, pZ); + RenderHelper.disableStandardItemLighting(); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + + GL11.glPopMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); + } + + public static void renderDashBar(ScaledResolution resolution, Gui gui, HbmPlayerProps props) { + + + GL11.glPushMatrix(); + + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(false); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + + Minecraft mc = Minecraft.getMinecraft(); + + int posX = 16; + int posY = resolution.getScaledHeight() - 48 - 2; + + mc.renderEngine.bindTexture(misc); + + gui.drawTexturedModalRect(posX-10, posY, 99, 18, 7, 10); + + int stamina = props.getStamina(); + + for(int x = 0; x < props.getDashCount(); x++) { + int status = 3; + int width = 22; + gui.drawTexturedModalRect(posX + (width+2)*x, posY, 76, 48, 30, 10); + if(stamina / 64 > x) { + status = 1; + } else if(stamina / 64 == x) { + width = (int)( (float)(stamina % 64) * (width/64F) ); + status = 2; + } + gui.drawTexturedModalRect(posX + 24*x, posY, 76, 18+(10*status), width, 10); + } + + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + GL11.glPopMatrix(); + mc.renderEngine.bindTexture(Gui.icons); + } + + public enum Crosshair { + + NONE(0, 0, 0), + CROSS(1, 55, 16), + CIRCLE(19, 55, 16), + SEMI(37, 55, 16), + KRUCK(55, 55, 16), + DUAL(1, 73, 16), + SPLIT(19, 73, 16), + CLASSIC(37, 73, 16), + BOX(55, 73, 16), + L_CROSS(0, 90, 32), + L_KRUCK(32, 90, 32), + L_CLASSIC(64, 90, 32), + L_CIRCLE(96, 90, 32), + L_SPLIT(0, 122, 32), + L_ARROWS(32, 122, 32), + L_BOX(64, 122, 32), + L_CIRCUMFLEX(96, 122, 32), + L_RAD(0, 154, 32); + + public int x; + public int y; + public int size; + + private Crosshair(int x, int y, int size) { + this.x = x; + this.y = y; + this.size = size; + } + } + +} diff --git a/src/main/resources/assets/hbm/models/armor/remnant.obj b/src/main/resources/assets/hbm/models/armor/remnant.obj index fe90d843f..0304f3273 100644 --- a/src/main/resources/assets/hbm/models/armor/remnant.obj +++ b/src/main/resources/assets/hbm/models/armor/remnant.obj @@ -1,4278 +1,4278 @@ -# Blender v2.79 (sub 0) OBJ File: 'remnant_scaled.blend' -# www.blender.org -o RightBoot -v -4.207808 18.567183 -2.139844 -v 0.192192 18.567184 -2.139844 -v -4.207808 18.567183 2.260156 -v 0.192192 18.567184 2.260156 -v -4.482813 24.617182 -2.414844 -v 0.467187 24.617186 -2.414844 -v -4.482813 24.617182 2.535156 -v 0.467187 24.617186 2.535156 -v -3.657813 24.617182 -3.514844 -v -0.357813 24.617186 -3.514844 -v -3.657812 22.967182 -3.514844 -v -0.357812 22.967186 -3.514844 -v -4.482811 21.867182 -2.414844 -v 0.467189 21.867186 -2.414844 -v -4.482809 18.567181 2.535156 -v 0.467192 18.567186 2.535156 -v -3.657808 18.567183 2.535156 -v -0.357808 18.567184 2.535156 -v -3.107809 19.667183 2.535156 -v -0.907809 19.667185 2.535156 -v -4.482809 18.567181 -2.414844 -v 0.467192 18.567186 -2.414844 -v -3.657808 18.567183 2.260156 -v -0.357808 18.567184 2.260156 -v -3.107809 19.667183 2.260156 -v -0.907809 19.667185 2.260156 -vt 0.500000 0.463158 -vt 0.736111 0.473684 -vt 0.750000 0.463158 -vt 0.486111 0.473684 -vt 0.250000 0.463158 -vt 0.263889 0.473684 -vt 0.013889 0.473684 -vt 0.236111 0.473684 -vt 0.763889 0.473684 -vt 0.791667 0.463158 -vt 0.500000 0.189474 -vt 0.250000 -0.000000 -vt 0.250000 0.189474 -vt 0.291667 0.231579 -vt 0.291667 0.294737 -vt 0.458333 0.231579 -vt 0.250000 0.336842 -vt 0.458333 0.294737 -vt 0.819444 0.421053 -vt 1.000000 0.463158 -vt 0.930556 0.421053 -vt 0.958333 0.463158 -vt 0.750000 0.231579 -vt 1.000000 0.231579 -vt 0.250000 0.231579 -vt 0.500000 0.231579 -vt 0.500000 0.336842 -vt 0.000000 0.463158 -vt 0.722222 0.484211 -vt 0.833333 0.473684 -vt 0.722222 0.473684 -vt 0.833333 0.484211 -vt 0.888889 0.473684 -vt 0.666667 0.484211 -vt 0.666667 0.473684 -vt 0.986111 0.473684 -vt 0.958333 0.473684 -vt 0.513889 0.473684 -vt 0.791667 0.473684 -vt 0.500000 0.000000 -vt 0.000000 0.231579 -vt 0.888889 0.484211 -vn 0.0000 -1.0000 0.0000 -vn -0.0000 1.0000 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn -0.0000 0.0000 1.0000 -vn 0.8000 0.0000 -0.6000 -vn -0.8000 -0.0000 -0.6000 -vn -1.0000 -0.0000 -0.0000 -vn 1.0000 0.0000 -0.0000 -vn -0.8944 -0.4472 -0.0000 -vn 0.8944 -0.4472 0.0000 -s off -f 21/1/1 3/2/1 15/3/1 -f 1/4/1 22/5/1 2/6/1 -f 22/5/1 4/7/1 2/8/1 -f 3/9/1 17/10/1 15/3/1 -f 5/11/2 8/12/2 6/13/2 -f 10/14/2 5/11/2 6/13/2 -f 12/15/3 9/16/3 10/14/3 -f 14/17/4 11/18/4 12/15/4 -f 19/19/5 15/3/5 17/10/5 -f 16/20/5 20/21/5 18/22/5 -f 7/23/5 20/21/5 8/24/5 -f 6/25/6 12/15/6 10/14/6 -f 5/26/7 11/18/7 13/27/7 -f 13/27/8 15/3/8 7/23/8 -f 16/28/9 22/5/9 14/17/9 -f 22/5/3 13/27/3 14/17/3 -f 25/29/1 20/30/1 19/31/1 -f 26/32/10 18/33/10 20/30/10 -f 23/34/11 19/31/11 17/35/11 -f 4/36/1 18/22/1 24/37/1 -f 21/1/1 1/38/1 3/2/1 -f 1/4/1 21/1/1 22/5/1 -f 22/5/1 16/28/1 4/7/1 -f 3/9/1 23/39/1 17/10/1 -f 5/11/2 7/40/2 8/12/2 -f 10/14/2 9/16/2 5/11/2 -f 12/15/3 11/18/3 9/16/3 -f 14/17/4 13/27/4 11/18/4 -f 19/19/5 7/23/5 15/3/5 -f 16/20/5 8/24/5 20/21/5 -f 7/23/5 19/19/5 20/21/5 -f 6/25/6 14/17/6 12/15/6 -f 5/26/7 9/16/7 11/18/7 -f 7/23/8 5/26/8 13/27/8 -f 13/27/8 21/1/8 15/3/8 -f 14/17/9 6/25/9 8/41/9 -f 8/41/9 16/28/9 14/17/9 -f 22/5/3 21/1/3 13/27/3 -f 25/29/1 26/32/1 20/30/1 -f 26/32/10 24/42/10 18/33/10 -f 23/34/11 25/29/11 19/31/11 -f 4/36/1 16/20/1 18/22/1 -o LeftBoot -v 4.207817 18.567188 -2.139844 -v -0.192183 18.567184 -2.139844 -v 4.207817 18.567188 2.260156 -v -0.192183 18.567184 2.260156 -v 4.482812 24.617189 -2.414844 -v -0.467188 24.617186 -2.414844 -v 4.482812 24.617189 2.535156 -v -0.467188 24.617186 2.535156 -v 3.657812 24.617189 -3.514844 -v 0.357812 24.617186 -3.514844 -v 3.657813 22.967188 -3.514844 -v 0.357813 22.967186 -3.514844 -v 4.482815 21.867189 -2.414844 -v -0.467186 21.867186 -2.414844 -v 4.482817 18.567188 2.535156 -v -0.467183 18.567184 2.535156 -v 3.657817 18.567188 2.535156 -v 0.357817 18.567186 2.535156 -v 3.107816 19.667189 2.535156 -v 0.907816 19.667187 2.535156 -v 4.482817 18.567188 -2.414844 -v -0.467183 18.567184 -2.414844 -v 3.657817 18.567188 2.260156 -v 0.357817 18.567186 2.260156 -v 3.107816 19.667189 2.260156 -v 0.907816 19.667187 2.260156 -vt 0.736111 0.473684 -vt 0.500000 0.463158 -vt 0.750000 0.463158 -vt 0.250000 0.463158 -vt 0.486111 0.473684 -vt 0.263889 0.473684 -vt 0.236111 0.473684 -vt 0.000000 0.463158 -vt 0.791667 0.463158 -vt 0.763889 0.473684 -vt 0.250000 -0.000000 -vt 0.500000 0.189474 -vt 0.250000 0.189474 -vt 0.458333 0.231579 -vt 0.291667 0.231579 -vt 0.291667 0.294737 -vt 0.458333 0.294737 -vt 0.250000 0.336842 -vt 0.819444 0.421053 -vt 1.000000 0.463158 -vt 0.930556 0.421053 -vt 1.000000 0.231579 -vt 0.750000 0.231579 -vt 0.250000 0.231579 -vt 0.500000 0.231579 -vt 0.500000 0.336842 -vt 0.000000 0.231579 -vt 0.833333 0.473684 -vt 0.722222 0.484211 -vt 0.722222 0.473684 -vt 0.888889 0.473684 -vt 0.833333 0.484211 -vt 0.666667 0.484211 -vt 0.666667 0.473684 -vt 0.986111 0.473684 -vt 0.958333 0.463158 -vt 0.513889 0.473684 -vt 0.013889 0.473684 -vt 0.791667 0.473684 -vt 0.500000 0.000000 -vt 0.888889 0.484211 -vt 0.958333 0.473684 -vn 0.0000 -1.0000 0.0000 -vn -0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.0000 1.0000 -vn -0.8000 -0.0000 -0.6000 -vn 0.8000 0.0000 -0.6000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.8944 -0.4472 0.0000 -vn -0.8944 -0.4472 0.0000 -s off -f 29/43/12 47/44/12 41/45/12 -f 48/46/12 27/47/12 28/48/12 -f 28/49/12 42/50/12 48/46/12 -f 43/51/12 29/52/12 41/45/12 -f 34/53/13 31/54/13 32/55/13 -f 32/55/13 35/56/13 36/57/13 -f 35/56/14 38/58/14 36/57/14 -f 37/59/15 40/60/15 38/58/15 -f 41/45/16 45/61/16 43/51/16 -f 42/62/16 46/63/16 34/64/16 -f 34/64/16 45/61/16 33/65/16 -f 38/58/17 32/66/17 36/57/17 -f 31/67/18 37/59/18 35/56/18 -f 41/45/19 47/44/19 39/68/19 -f 40/60/20 42/50/20 34/69/20 -f 39/68/14 48/46/14 40/60/14 -f 46/70/12 51/71/12 45/72/12 -f 44/73/21 52/74/21 46/70/21 -f 45/72/22 49/75/22 43/76/22 -f 30/77/12 44/78/12 42/62/12 -f 29/43/12 27/79/12 47/44/12 -f 48/46/12 47/44/12 27/47/12 -f 28/49/12 30/80/12 42/50/12 -f 43/51/12 49/81/12 29/52/12 -f 34/53/13 33/82/13 31/54/13 -f 32/55/13 31/54/13 35/56/13 -f 35/56/14 37/59/14 38/58/14 -f 37/59/15 39/68/15 40/60/15 -f 41/45/16 33/65/16 45/61/16 -f 42/62/16 44/78/16 46/63/16 -f 34/64/16 46/63/16 45/61/16 -f 38/58/17 40/60/17 32/66/17 -f 31/67/18 39/68/18 37/59/18 -f 39/68/19 31/67/19 33/65/19 -f 33/65/19 41/45/19 39/68/19 -f 34/69/20 32/66/20 40/60/20 -f 40/60/20 48/46/20 42/50/20 -f 39/68/14 47/44/14 48/46/14 -f 46/70/12 52/74/12 51/71/12 -f 44/73/21 50/83/21 52/74/21 -f 45/72/22 51/71/22 49/75/22 -f 30/77/12 50/84/12 44/78/12 -o RightLeg -v -4.207808 18.567183 -2.139844 -v -2.557802 11.417183 -2.139844 -v 0.192192 18.567184 -2.139844 -v 0.192198 11.417185 -2.139844 -v -4.207808 18.567183 2.260156 -v -2.557802 11.417183 2.260156 -v 0.192192 18.567184 2.260156 -v 0.192198 11.417185 2.260156 -v -4.482808 17.467182 2.535156 -v 0.467193 17.467186 2.535156 -v -4.482803 11.417181 2.535156 -v 0.467196 13.617186 2.535156 -v -2.557802 11.417183 2.535156 -v -3.657808 18.567183 2.260156 -v -0.357808 18.567184 2.260156 -v -3.107809 19.667183 2.260156 -v -0.907809 19.667185 2.260156 -v -4.482803 11.417181 -2.414844 -v -2.557802 11.417183 -2.414844 -v 0.467193 17.467186 -2.414844 -v 0.467196 13.617186 -2.414844 -v -4.482808 17.467182 -2.414844 -v -4.207807 17.467182 -2.139844 -v 0.192193 17.467186 -2.139844 -v -4.207807 17.467182 2.260156 -v 0.192193 17.467186 2.260156 -v -2.557804 13.617184 -2.139844 -v 0.192196 13.617186 -2.139844 -v 0.192196 13.617186 2.260156 -v -2.557804 13.617184 2.260156 -v -3.107809 20.217184 -2.414844 -v -0.907809 20.217186 -2.414844 -v -2.557809 19.667183 -2.964844 -v -1.457809 19.667185 -2.964844 -v -3.107808 18.567183 -2.964844 -v -0.907808 18.567184 -2.964844 -v -3.107806 16.367184 -2.964844 -v -0.907806 16.367184 -2.964844 -v -3.657808 18.567183 -2.414844 -v -0.357808 18.567184 -2.414844 -v -3.657806 16.367184 -2.414844 -v -0.357806 16.367186 -2.414844 -v -3.657808 18.567183 -2.139844 -v -0.357808 18.567184 -2.139844 -v -3.657806 16.367184 -2.139844 -v -0.357806 16.367186 -2.139844 -vt 0.638889 0.189474 -vt 0.861111 0.084211 -vt 0.638889 0.084211 -vt 1.000000 0.726316 -vt 0.750000 0.578947 -vt 0.847222 0.810526 -vt 0.500000 0.810526 -vt 0.402778 1.000000 -vt 0.500000 1.000000 -vt 0.250000 0.726316 -vt 0.000000 0.578947 -vt 0.000000 0.726316 -vt 0.250000 0.810526 -vt 0.250000 1.000000 -vt 0.500000 0.578947 -vt 0.750000 0.810526 -vt 0.402778 0.810526 -vt 0.513889 0.568421 -vt 0.736111 0.568421 -vt 0.236111 0.568421 -vt 0.250000 0.578947 -vt 1.000000 0.578947 -vt 0.763889 0.568421 -vt 0.486111 0.568421 -vt 0.263889 0.568421 -vt 0.222222 0.568421 -vt 0.444444 0.526316 -vt 0.222222 0.526316 -vt 0.861111 -0.000000 -vt 0.638889 -0.000000 -vt 0.500000 0.084211 -vt 1.000000 -0.000000 -vt 1.000000 0.084211 -vt 0.694444 0.526316 -vt 0.833333 0.484211 -vt 0.722222 0.484211 -vt 0.000000 0.526316 -vt 0.666667 0.568421 -vt 0.666667 0.526316 -vt 0.861111 0.526316 -vt 0.541667 0.810526 -vt 0.625000 0.831579 -vt 0.652778 0.810526 -vt 0.569444 0.831579 -vt 0.652778 0.873684 -vt 0.541667 0.957895 -vt 0.541667 0.873684 -vt 0.680556 0.957895 -vt 0.652778 0.957895 -vt 0.513889 0.873684 -vt 0.680556 0.873684 -vt 0.513889 0.978947 -vt 0.694444 0.957895 -vt 0.500000 0.873684 -vt 0.513889 0.957895 -vt 0.861111 0.189474 -vt 0.013889 0.568421 -vt 0.986111 0.568421 -vt 0.444444 0.568421 -vt 0.500000 -0.000000 -vt -0.000000 0.568421 -vt 0.888889 0.568421 -vt 0.888889 0.526316 -vt 0.680556 0.978947 -vt 0.694444 0.873684 -vt 0.500000 0.957895 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.5882 -0.8087 -0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn -0.0000 0.7071 -0.7071 -vn -0.7071 -0.0000 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn -0.5883 0.1961 -0.7845 -vn 0.6667 0.3333 -0.6667 -vn -0.6667 0.3333 -0.6667 -vn 0.5883 0.1961 -0.7845 -s off -f 58/85/23 56/86/23 60/87/23 -f 64/88/24 61/89/24 65/90/24 -f 70/91/23 65/92/23 63/93/23 -f 73/94/25 62/95/25 64/96/25 -f 65/92/26 73/97/26 64/98/26 -f 74/99/27 63/100/27 61/89/27 -f 74/99/28 73/94/28 71/101/28 -f 75/102/29 61/89/29 77/103/29 -f 76/104/29 62/95/29 72/105/29 -f 62/106/29 77/107/29 61/89/29 -f 72/105/29 75/108/29 76/109/29 -f 76/110/28 53/111/28 55/112/28 -f 80/113/25 60/87/25 56/86/25 -f 81/114/24 58/115/24 60/87/24 -f 79/116/28 56/86/28 54/117/28 -f 66/118/24 69/119/24 68/120/24 -f 59/121/25 76/110/25 55/112/25 -f 53/111/27 77/122/27 57/123/27 -f 67/124/24 66/118/24 77/122/24 -f 84/125/30 85/126/30 83/127/30 -f 86/128/28 87/129/28 85/126/28 -f 90/130/28 87/129/28 88/131/28 -f 93/132/31 87/129/31 89/133/31 -f 92/134/32 90/130/32 88/131/32 -f 85/126/33 91/135/33 83/127/33 -f 86/128/34 92/134/34 88/131/34 -f 94/136/23 89/133/23 90/130/23 -f 97/137/27 91/135/27 93/132/27 -f 96/138/25 94/139/25 92/134/25 -f 58/85/23 54/140/23 56/86/23 -f 62/106/24 61/89/24 64/88/24 -f 61/89/24 63/100/24 65/90/24 -f 70/91/23 71/101/23 65/92/23 -f 73/94/25 72/105/25 62/95/25 -f 65/92/26 71/101/26 73/97/26 -f 74/99/27 70/91/27 63/100/27 -f 71/101/28 70/91/28 74/99/28 -f 74/99/28 72/105/28 73/94/28 -f 75/102/29 74/99/29 61/89/29 -f 76/104/29 78/141/29 62/95/29 -f 62/106/29 78/142/29 77/107/29 -f 72/105/29 74/99/29 75/108/29 -f 76/110/28 75/143/28 53/111/28 -f 80/113/25 81/114/25 60/87/25 -f 81/114/24 82/144/24 58/115/24 -f 79/116/28 80/113/28 56/86/28 -f 66/118/24 67/124/24 69/119/24 -f 59/121/25 78/145/25 76/110/25 -f 53/111/27 75/143/27 77/122/27 -f 66/118/24 57/123/24 77/122/24 -f 77/122/24 78/146/24 67/124/24 -f 78/146/24 59/147/24 67/124/24 -f 84/125/30 86/128/30 85/126/30 -f 86/128/28 88/131/28 87/129/28 -f 90/130/28 89/133/28 87/129/28 -f 93/132/31 91/135/31 87/129/31 -f 92/134/32 94/139/32 90/130/32 -f 85/126/35 87/129/35 91/135/35 -f 86/128/36 84/125/36 92/134/36 -f 94/136/23 93/148/23 89/133/23 -f 97/137/27 95/149/27 91/135/27 -f 96/138/25 98/150/25 94/139/25 -o RightArm -v -3.799991 12.599996 2.200000 -v -3.799991 12.599996 -2.200000 -v -3.799986 6.549994 -2.200000 -v -3.799986 6.549994 2.200000 -v -8.199990 12.599992 2.200000 -v -8.199990 12.599992 -2.200000 -v -3.524988 9.849996 2.475000 -v -3.524988 9.849996 -2.475000 -v -8.474989 9.849992 2.475000 -v -8.474989 9.849992 -2.475000 -v -3.799989 10.949996 2.200000 -v -3.799989 10.949996 -2.200000 -v -8.199989 10.949992 2.200000 -v -8.199989 10.949992 -2.200000 -v -3.524986 6.549995 2.475000 -v -3.524986 6.549995 -2.475000 -v -8.474986 6.549990 2.475000 -v -8.474986 6.549990 -2.475000 -v -3.524985 5.449997 2.475000 -v -3.524985 5.449997 -2.475000 -v -8.474985 5.449991 2.475000 -v -8.474985 5.449991 -2.475000 -v -4.624986 6.549994 -2.475000 -v -7.374986 6.549992 -2.475000 -v -4.624987 7.099995 -2.475000 -v -7.374987 7.099993 -2.475000 -v -3.524980 -0.600004 2.475000 -v -3.524980 -0.600004 -2.475000 -v -8.474980 -0.600010 2.475000 -v -8.474980 -0.600010 -2.475000 -v -8.199986 6.549992 -2.200000 -v -8.199986 6.549992 2.200000 -v -4.624986 6.549994 -2.200000 -v -7.374986 6.549992 -2.200000 -v -4.624987 7.099995 -2.200000 -v -7.374987 7.099993 -2.200000 -v -3.799985 5.449995 -2.200000 -v -3.799985 5.449995 2.200000 -v -8.199985 5.449993 -2.200000 -v -8.199985 5.449993 2.200000 -v -4.899987 8.199994 2.475000 -v -7.099987 8.199992 2.475000 -v -5.449986 7.649994 3.025000 -v -6.549987 7.649992 3.025000 -v -4.899986 6.549994 3.025000 -v -7.099986 6.549992 3.025000 -v -4.899984 4.349995 3.025000 -v -7.099984 4.349993 3.025000 -v -4.349986 6.549994 2.475000 -v -7.649986 6.549992 2.475000 -v -4.349984 4.349995 2.475000 -v -7.649984 4.349993 2.475000 -v -4.349986 6.549994 2.200000 -v -7.649986 6.549992 2.200000 -v -4.349984 4.349995 2.200000 -v -7.649984 4.349993 2.200000 -v -8.474985 4.624990 -1.100000 -v -8.474985 4.624990 1.100000 -v -9.574984 4.349991 -1.100000 -v -9.574984 4.349991 1.100000 -v -8.474980 -0.600010 1.100000 -v -8.474980 -0.600010 -1.100000 -v -9.024980 -0.600010 1.100000 -v -9.024980 -0.600010 -1.100000 -v -3.524979 -1.700005 1.375000 -v -3.524979 -1.700005 -1.375000 -v -8.474979 -1.700010 1.375000 -v -8.474979 -1.700010 -1.375000 -v -9.574980 -0.600010 -1.375000 -v -9.574980 -0.600010 1.375000 -vt 0.763889 0.448276 -vt 1.000000 0.436782 -vt 0.750000 0.436782 -vt 0.222222 0.252874 -vt 0.444444 0.183908 -vt 0.222222 0.183908 -vt 0.666667 0.183908 -vt 0.888889 0.252874 -vt 0.888889 0.183908 -vt -0.000000 0.183908 -vt -0.000000 0.252874 -vt -0.000000 -0.000000 -vt 0.444444 0.252874 -vt 0.666667 0.252874 -vt 0.250000 0.298851 -vt 0.013889 0.252874 -vt 0.000000 0.298851 -vt 0.500000 0.298851 -vt 0.263889 0.252874 -vt 0.750000 0.298851 -vt 0.513889 0.252874 -vt 0.986111 0.252874 -vt 1.000000 0.298851 -vt 0.500000 0.436782 -vt -0.000000 0.436782 -vt 0.055556 0.413793 -vt 0.250000 0.436782 -vt 0.194444 0.413793 -vt 0.194444 0.436782 -vt 0.500000 0.540230 -vt 0.750000 0.793103 -vt 0.750000 0.540230 -vt 1.000000 0.793103 -vt 1.000000 0.540230 -vt 0.000000 0.540230 -vt 0.250000 0.793103 -vt 0.250000 0.540230 -vt 0.361111 0.839080 -vt 0.305556 0.793103 -vt 0.305556 0.839080 -vt 0.013889 0.448276 -vt 0.055556 0.436782 -vt 0.041667 0.459770 -vt 0.180556 0.448276 -vt 0.041667 0.448276 -vt 0.180556 0.459770 -vt 0.208333 0.448276 -vt 0.013889 0.459770 -vt 0.013889 0.448276 -vt 0.513889 0.448276 -vt 0.736111 0.448276 -vt 0.263889 0.448276 -vt 0.236111 0.448276 -vt 0.222222 0.528736 -vt 0.444444 0.482759 -vt 0.222222 0.482759 -vt 0.666667 0.528736 -vt 0.888889 0.482759 -vt 0.666667 0.482759 -vt 0.986111 0.528736 -vt 0.263889 0.528736 -vt 0.236111 0.528736 -vt 0.513889 0.528736 -vt 0.444444 0.528736 -vt 0.041667 0.482759 -vt 0.180556 0.482759 -vt 0.763889 0.793103 -vt 0.847222 0.816092 -vt 0.875000 0.793103 -vt 0.791667 0.816092 -vt 0.875000 0.862069 -vt 0.763889 0.862069 -vt 0.875000 0.954023 -vt 0.736111 0.954023 -vt 0.763889 0.954023 -vt 0.902778 0.862069 -vt 0.736111 0.862069 -vt 0.902778 0.977012 -vt 0.722222 0.862069 -vt 0.916667 0.954023 -vt 0.902778 0.954023 -vt 0.666667 0.839080 -vt 0.722222 0.931035 -vt 0.722222 0.839080 -vt 0.666667 0.931035 -vt 0.416667 0.954023 -vt 0.666667 0.977012 -vt 0.416667 0.839080 -vt 0.416667 0.816092 -vt 0.666667 0.793103 -vt 0.055556 0.954023 -vt 0.055556 0.839080 -vt 0.361111 0.954023 -vt 0.305556 0.954023 -vt 0.305556 1.000000 -vt 0.416667 1.000000 -vt 0.416667 0.793103 -vt 0.055556 1.000000 -vt -0.000000 1.000000 -vt -0.000000 0.793103 -vt 0.055556 0.793103 -vt 0.986111 0.448276 -vt 0.222222 -0.000000 -vt 0.236111 0.252874 -vt 0.486111 0.252874 -vt 0.736111 0.252874 -vt 0.763889 0.252874 -vt 0.500000 0.793103 -vt 0.055556 0.448276 -vt 0.208333 0.459770 -vt 0.486111 0.448276 -vt 0.194444 0.448276 -vt 0.888889 0.528736 -vt 0.763889 0.528736 -vt 0.486111 0.528736 -vt 0.013889 0.528736 -vt 0.736111 0.528736 -vt 0.000000 0.482759 -vt 0.000000 0.528736 -vt 0.736111 0.977012 -vt 0.722222 0.954023 -vt 0.916667 0.862069 -vt 0.416667 0.931035 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -0.0000 0.2425 -0.9701 -vn -0.9701 0.2425 0.0000 -vn -0.0000 0.2425 0.9701 -vn 0.9701 0.2425 0.0000 -vn -0.5774 -0.5774 -0.5773 -vn -0.0000 0.7071 0.7071 -vn -0.7071 -0.0000 0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.5883 0.1961 0.7845 -vn 0.5883 0.1961 0.7845 -vn -0.2425 0.9701 0.0000 -vn -0.9939 -0.1104 0.0000 -vn -0.5774 -0.5774 0.5773 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn -0.6667 0.3333 0.6667 -vn 0.6667 0.3333 0.6667 -s off -f 102/151/37 114/152/37 113/153/37 -f 112/154/38 103/155/38 104/156/38 -f 99/157/39 110/158/39 100/159/39 -f 112/154/40 100/160/40 110/161/40 -f 104/156/41 99/162/41 100/160/41 -f 99/157/42 111/163/42 109/164/42 -f 108/165/43 110/166/43 106/167/43 -f 107/168/44 112/169/44 108/165/44 -f 105/170/45 111/171/45 107/168/45 -f 110/172/46 105/170/46 106/173/46 -f 115/174/42 105/170/42 107/168/42 -f 113/153/39 106/173/39 105/170/39 -f 114/175/40 123/176/40 106/167/40 -f 116/177/38 107/168/38 108/165/38 -f 116/177/40 124/178/40 122/179/40 -f 106/167/40 124/178/40 108/165/40 -f 119/180/42 125/181/42 117/182/42 -f 117/182/39 126/183/39 118/184/39 -f 118/185/40 128/186/40 120/187/40 -f 128/186/38 119/180/38 120/187/38 -f 167/188/47 128/189/47 166/190/47 -f 101/191/37 121/192/37 114/175/37 -f 133/193/37 124/194/37 123/195/37 -f 134/196/39 122/197/39 124/194/39 -f 131/198/38 123/195/38 121/199/38 -f 113/153/37 130/200/37 102/201/37 -f 129/202/37 115/174/37 116/177/37 -f 122/179/37 129/203/37 116/177/37 -f 137/204/38 130/205/38 129/206/38 -f 136/207/39 101/208/39 102/209/39 -f 135/210/41 117/182/41 118/184/41 -f 119/180/41 137/211/41 120/187/41 -f 137/212/41 118/185/41 120/187/41 -f 117/182/41 138/213/41 119/180/41 -f 138/214/42 102/209/42 130/205/42 -f 131/215/40 134/196/40 133/193/40 -f 137/204/40 129/206/40 132/216/40 -f 140/217/48 141/218/48 139/219/48 -f 142/220/42 143/221/42 141/218/42 -f 144/222/42 145/223/42 143/221/42 -f 144/222/49 150/224/49 146/225/49 -f 145/223/50 147/226/50 143/221/50 -f 148/227/51 142/220/51 140/217/51 -f 141/218/52 147/226/52 139/219/52 -f 146/225/37 149/228/37 145/223/37 -f 152/229/38 150/224/38 148/227/38 -f 153/230/39 147/226/39 149/231/39 -f 157/232/53 156/233/53 155/234/53 -f 158/235/42 159/236/42 156/237/42 -f 162/238/54 158/235/54 157/232/54 -f 160/239/40 157/232/40 155/240/40 -f 163/241/37 166/190/37 164/242/37 -f 168/243/55 165/244/55 127/245/55 -f 167/188/41 127/246/41 128/247/41 -f 168/243/56 166/190/56 165/244/56 -f 127/245/57 163/241/57 125/248/57 -f 125/249/39 164/242/39 126/250/39 -f 126/251/58 166/190/58 128/189/58 -f 102/151/37 101/252/37 114/152/37 -f 112/154/38 111/163/38 103/155/38 -f 99/157/39 109/164/39 110/158/39 -f 112/154/40 104/156/40 100/160/40 -f 104/156/41 103/253/41 99/162/41 -f 99/157/42 103/155/42 111/163/42 -f 108/165/43 112/254/43 110/166/43 -f 107/168/44 111/255/44 112/169/44 -f 105/170/45 109/256/45 111/171/45 -f 110/172/46 109/257/46 105/170/46 -f 115/174/42 113/153/42 105/170/42 -f 113/153/39 114/152/39 106/173/39 -f 114/175/40 121/192/40 123/176/40 -f 116/177/38 115/174/38 107/168/38 -f 116/177/40 108/165/40 124/178/40 -f 106/167/40 123/176/40 124/178/40 -f 119/180/42 127/258/42 125/181/42 -f 117/182/39 125/181/39 126/183/39 -f 118/185/40 126/250/40 128/186/40 -f 128/186/38 127/258/38 119/180/38 -f 101/191/37 131/259/37 121/192/37 -f 133/193/37 134/196/37 124/194/37 -f 134/196/39 132/260/39 122/197/39 -f 131/198/38 133/193/38 123/195/38 -f 113/153/37 115/174/37 130/200/37 -f 129/202/37 130/261/37 115/174/37 -f 122/179/37 132/262/37 129/203/37 -f 137/204/38 138/214/38 130/205/38 -f 136/207/39 135/263/39 101/208/39 -f 135/210/41 136/264/41 117/182/41 -f 119/180/41 138/265/41 137/211/41 -f 137/212/41 135/266/41 118/185/41 -f 117/182/41 136/267/41 138/213/41 -f 138/214/42 136/207/42 102/209/42 -f 131/215/40 132/216/40 134/196/40 -f 132/216/40 131/215/40 137/204/40 -f 131/215/40 101/268/40 135/269/40 -f 137/204/40 131/215/40 135/269/40 -f 140/217/48 142/220/48 141/218/48 -f 142/220/42 144/222/42 143/221/42 -f 144/222/42 146/225/42 145/223/42 -f 144/222/49 148/227/49 150/224/49 -f 145/223/50 149/231/50 147/226/50 -f 148/227/59 144/222/59 142/220/59 -f 141/218/60 143/221/60 147/226/60 -f 146/225/37 150/270/37 149/228/37 -f 152/229/38 154/271/38 150/224/38 -f 153/230/39 151/272/39 147/226/39 -f 157/232/53 158/235/53 156/233/53 -f 158/235/42 161/273/42 159/236/42 -f 162/238/54 161/273/54 158/235/54 -f 160/239/40 162/238/40 157/232/40 -f 163/241/37 165/244/37 166/190/37 -f 167/188/41 168/243/41 127/246/41 -f 168/243/56 167/188/56 166/190/56 -f 127/245/57 165/244/57 163/241/57 -f 125/249/39 163/241/39 164/242/39 -f 126/251/58 164/242/58 166/190/58 -o Glow -v -2.199985 4.899996 5.610000 -v -2.032519 4.058094 5.610000 -v -1.555618 3.344362 5.610000 -v -0.841887 2.867462 5.610000 -v 0.000017 2.699999 5.610000 -v 0.841921 2.867462 5.610000 -v 1.555651 3.344366 5.610000 -v 2.032551 4.058098 5.610000 -v 2.200015 4.900000 5.610000 -v 2.032550 5.741901 5.610000 -v 1.555649 6.455635 5.610000 -v 0.841918 6.932533 5.610000 -v 0.000014 7.099998 5.610000 -v -0.841891 6.932533 5.610000 -v -1.555620 6.455631 5.610000 -v -2.032521 5.741898 5.610000 -vt 0.827102 0.319495 -vt 0.756405 0.331918 -vt 0.742342 0.269462 -vt 0.813040 0.331918 -vt 0.794666 0.338642 -vt 0.774778 0.338642 -vt 0.742342 0.319495 -vt 0.734732 0.303263 -vt 0.734732 0.285694 -vt 0.756405 0.257039 -vt 0.813039 0.257039 -vt 0.774778 0.250315 -vt 0.794666 0.250315 -vt 0.827102 0.269462 -vt 0.834713 0.285694 -vt 0.834713 0.303263 -vn -0.0000 0.0000 1.0000 -s off -f 169/274/61 173/275/61 177/276/61 -f 169/274/61 170/277/61 171/278/61 -f 171/278/61 172/279/61 173/275/61 -f 173/275/61 174/280/61 175/281/61 -f 175/281/61 176/282/61 177/276/61 -f 177/276/61 178/283/61 181/284/61 -f 178/283/61 179/285/61 181/284/61 -f 179/285/61 180/286/61 181/284/61 -f 181/284/61 182/287/61 183/288/61 -f 183/288/61 184/289/61 169/274/61 -f 169/274/61 171/278/61 173/275/61 -f 173/275/61 175/281/61 177/276/61 -f 181/284/61 183/288/61 177/276/61 -f 183/288/61 169/274/61 177/276/61 -o Fan -v -0.549985 4.899998 5.335000 -v -0.476298 4.624998 5.335000 -v -0.274984 4.423683 5.335000 -v 0.000016 4.349998 5.335000 -v 0.275016 4.423685 5.335000 -v 0.476329 4.624998 5.335000 -v 0.550015 4.899998 5.335000 -v 0.476328 5.174997 5.335000 -v 0.275015 5.376310 5.335000 -v 0.000015 5.449999 5.335000 -v -0.274985 5.376314 5.335000 -v -0.476298 5.174997 5.335000 -v -0.549985 4.899998 5.885000 -v -0.476298 4.624998 5.885000 -v -0.274984 4.423683 5.885000 -v 0.000016 4.349998 5.885000 -v 0.275016 4.423685 5.885000 -v 0.476329 4.624998 5.885000 -v 0.550015 4.899998 5.885000 -v 0.476328 5.174997 5.885000 -v 0.275015 5.376310 5.885000 -v 0.000015 5.449999 5.885000 -v -0.274985 5.376314 5.885000 -v -0.476298 5.174997 5.885000 -v -1.546860 5.078615 5.775000 -v -0.618734 3.471052 5.775000 -v 0.000017 3.249998 5.775000 -v 0.618767 3.471058 5.775000 -v 1.546890 5.078619 5.775000 -v 1.428957 5.725000 5.775000 -v 0.928139 6.150320 5.775000 -v -0.928111 6.150326 5.775000 -v -1.428927 5.724997 5.775000 -v -0.549985 4.899998 5.775000 -v -0.274984 4.423683 5.775000 -v 0.000016 4.349998 5.775000 -v 0.275016 4.423685 5.775000 -v 0.550015 4.899998 5.775000 -v 0.476328 5.174997 5.775000 -v 0.275015 5.376310 5.775000 -v -0.274985 5.376314 5.775000 -v -0.476298 5.174997 5.775000 -vt 0.858907 0.265751 -vt 0.864707 0.246628 -vt 0.880553 0.260627 -vt 0.881944 0.269939 -vt 0.895833 0.245399 -vt 0.895833 0.269939 -vt 0.909722 0.269939 -vt 0.902778 0.245399 -vt 0.881944 0.269939 -vt 0.895833 0.245399 -vt 0.895833 0.269939 -vt 0.909722 0.269939 -vt 0.902778 0.245399 -vt 0.909722 0.269939 -vt 0.895833 0.245399 -vt 0.902778 0.245399 -vt 0.881944 0.269939 -vt 0.895833 0.269939 -vt 0.877204 0.265751 -vt 0.871404 0.268710 -vt 0.864707 0.268710 -vt 0.855558 0.260627 -vt 0.855558 0.254710 -vt 0.858907 0.249586 -vt 0.871404 0.246628 -vt 0.877205 0.249586 -vt 0.880553 0.254710 -vt 0.888889 0.245399 -vt 0.888889 0.245399 -vt 0.888889 0.245399 -vt 0.840278 0.257669 -vt 0.854167 0.263804 -vt 0.840278 0.263804 -vt 0.840278 0.276074 -vt 0.854167 0.282209 -vt 0.840278 0.282209 -vt 0.840278 0.306748 -vt 0.854167 0.312883 -vt 0.840278 0.312883 -vt 0.840278 0.294479 -vt 0.854167 0.300613 -vt 0.840278 0.300613 -vt 0.840278 0.251534 -vt 0.854167 0.257669 -vt 0.840278 0.269939 -vt 0.854167 0.276074 -vt 0.854167 0.306748 -vt 0.840278 0.288344 -vt 0.854167 0.294479 -vt 0.840278 0.245399 -vt 0.854167 0.251534 -vt 0.854167 0.269939 -vt 0.854167 0.288344 -vt 0.854167 0.319018 -vt 0.840278 0.319018 -vt 0.854167 0.245399 -vn 0.0000 0.0000 1.0000 -vn 0.8660 0.5000 0.0000 -vn 0.7571 0.0000 0.6532 -vn 1.0000 0.0000 0.0000 -vn 0.5000 -0.8660 0.0000 -vn 0.0000 -0.7571 0.6532 -vn 0.0000 -1.0000 0.0000 -vn -0.8660 0.5000 0.0000 -vn -0.3786 0.6557 0.6532 -vn -0.5000 0.8660 0.0000 -vn -0.8660 -0.5000 0.0000 -vn -0.7571 0.0000 0.6532 -vn -1.0000 0.0000 0.0000 -vn 0.5000 0.8660 0.0000 -vn 0.6557 0.3786 0.6532 -vn 0.8660 -0.5000 0.0000 -vn 0.3786 -0.6557 0.6532 -vn -0.6557 0.3786 0.6532 -vn -0.5000 -0.8660 0.0000 -vn -0.6557 -0.3786 0.6532 -vn 0.0000 1.0000 0.0000 -vn 0.3786 0.6557 0.6532 -vn 0.6557 -0.3786 0.6532 -vn -0.3786 -0.6557 0.6532 -vn 0.0000 0.7571 0.6532 -s off -f 201/290/62 205/291/62 197/292/62 -f 212/293/62 220/294/62 211/295/62 -f 210/296/62 220/294/62 219/297/62 -f 209/298/62 226/299/62 217/300/62 -f 216/301/62 226/299/62 225/302/62 -f 213/303/62 223/304/62 222/305/62 -f 215/306/62 223/304/62 214/307/62 -f 197/292/62 198/308/62 201/290/62 -f 198/308/62 199/309/62 201/290/62 -f 199/309/62 200/310/62 201/290/62 -f 201/290/62 202/311/62 205/291/62 -f 202/311/62 203/312/62 205/291/62 -f 203/312/62 204/313/62 205/291/62 -f 205/291/62 206/314/62 207/315/62 -f 207/315/62 208/316/62 205/291/62 -f 208/316/62 197/292/62 205/291/62 -f 212/293/62 221/317/62 220/294/62 -f 210/296/62 211/295/62 220/294/62 -f 209/298/62 218/318/62 226/299/62 -f 216/301/62 217/300/62 226/299/62 -f 213/303/62 214/307/62 223/304/62 -f 215/306/62 224/319/62 223/304/62 -s 1 -f 192/320/63 203/321/64 191/322/65 -f 189/323/66 200/324/67 188/325/68 -f 196/326/69 207/327/70 195/328/71 -f 186/329/72 197/330/73 185/331/74 -f 193/332/75 204/333/76 192/320/63 -f 190/334/77 201/335/78 189/323/66 -f 185/331/74 208/336/79 196/326/69 -f 187/337/80 198/338/81 186/329/72 -f 194/339/82 205/340/83 193/332/75 -f 191/322/65 202/341/84 190/334/77 -f 188/325/68 199/342/85 187/337/80 -f 195/328/71 206/343/86 194/344/82 -f 192/320/63 204/333/76 203/321/64 -f 189/323/66 201/335/78 200/324/67 -f 196/326/69 208/336/79 207/327/70 -f 186/329/72 198/338/81 197/330/73 -f 193/332/75 205/340/83 204/333/76 -f 190/334/77 202/341/84 201/335/78 -f 185/331/74 197/330/73 208/336/79 -f 187/337/80 199/342/85 198/338/81 -f 194/339/82 206/345/86 205/340/83 -f 191/322/65 203/321/64 202/341/84 -f 188/325/68 200/324/67 199/342/85 -f 195/328/71 207/327/70 206/343/86 -o Head -v -4.399999 0.399996 -4.400000 -v -4.399999 0.399996 4.400000 -v 4.400002 0.400003 -4.400000 -v 4.400002 0.400003 4.400000 -v -4.399992 -8.400003 -4.400000 -v -4.399992 -8.400003 4.400000 -v 4.400009 -8.399996 4.400000 -v 4.400009 -8.399996 -4.400000 -v -1.649998 0.399998 -4.400000 -v 1.650002 0.400001 -4.400000 -v 1.100005 -2.899999 -4.400000 -v -1.099995 -2.900001 -4.400000 -v 1.100001 1.500001 -4.400000 -v -1.099999 1.499999 -4.400000 -v 1.100002 0.756062 -2.200000 -v -1.099998 0.756061 -2.200000 -v -1.099995 -2.900001 -4.950000 -v -1.649998 0.399998 -4.950000 -v 1.650002 0.400001 -4.950000 -v 1.100005 -2.899999 -4.950000 -v -1.099999 1.499999 -4.950000 -v 1.100001 1.500001 -4.950000 -v 2.750003 -0.974998 -4.675000 -v 1.925004 -2.349999 -4.675000 -v 4.400003 -1.799996 -4.675000 -v -4.399997 -1.800003 -4.675000 -v -4.399995 -3.725004 -4.400000 -v 4.400005 -3.724997 -4.400000 -v -1.099994 -4.825002 -4.400000 -v 1.100006 -4.825000 -4.400000 -v 1.100005 -2.899999 -4.675000 -v -1.099995 -2.900001 -4.675000 -v 4.400003 -1.799996 -4.400000 -v -4.399997 -1.800003 -4.400000 -v -4.399996 -2.900003 -4.675000 -v 4.400004 -2.899996 -4.675000 -v -1.099995 -4.000001 -4.675000 -v 1.100005 -3.999999 -4.675000 -v -1.649998 0.399998 -4.400000 -v 1.650002 0.400001 -4.400000 -v -1.649998 0.399998 -4.675000 -v 1.650002 0.400001 -4.675000 -v 3.850004 -2.074998 -4.675000 -v 2.475005 -2.899998 -4.675000 -v 2.750003 -0.974998 -4.812500 -v 1.925004 -2.349999 -4.812500 -v 3.850004 -2.074998 -4.812500 -v 2.475005 -2.899998 -4.812500 -v -2.749997 -0.975003 -4.675000 -v -1.924996 -2.350002 -4.675000 -v -3.849996 -2.075004 -4.675000 -v -2.474996 -2.900002 -4.675000 -v -2.749997 -0.975003 -4.812500 -v -1.924996 -2.350002 -4.812500 -v -3.849996 -2.075004 -4.812500 -v -2.474996 -2.900002 -4.812500 -v -1.099996 -2.625001 -4.950000 -v 1.100004 -2.624999 -4.950000 -v -1.374998 -0.150001 -4.950000 -v 1.375002 -0.149999 -4.950000 -v 0.000001 0.674999 -5.775000 -v 0.000003 -1.799999 -5.775000 -v 0.825006 -4.825000 -4.400000 -v 0.825006 -4.825000 -4.675000 -v 1.925005 -3.999999 -4.400000 -v 1.925005 -3.999999 -4.675000 -v 3.575006 -4.549996 -4.400000 -v 3.575006 -4.549996 -4.675000 -v 3.575007 -5.924996 -4.400000 -v 3.575007 -5.924996 -4.675000 -v 1.925007 -5.649998 -4.400000 -v 1.925007 -5.649998 -4.675000 -v -0.824994 -4.825001 -4.400000 -v -0.824994 -4.825001 -4.675000 -v -1.924995 -4.000001 -4.400000 -v -1.924995 -4.000001 -4.675000 -v -3.574994 -4.550002 -4.400000 -v -3.574994 -4.550002 -4.675000 -v -3.574993 -5.925002 -4.400000 -v -3.574993 -5.925002 -4.675000 -v -1.924993 -5.650001 -4.400000 -v -1.924993 -5.650001 -4.675000 -v 5.177825 -7.574996 -3.575000 -v 5.177824 -6.474996 -3.575000 -v -1.099993 -6.200002 -4.950000 -v 1.100007 -6.200000 -4.950000 -v -0.549992 -7.850001 -4.400000 -v 0.550008 -7.850000 -4.400000 -v 4.400008 -7.574997 -4.400000 -v -4.399992 -7.575004 -4.400000 -v 1.650009 -8.399999 -4.400000 -v -1.649991 -8.400001 -4.400000 -v -1.099994 -5.100001 -4.400000 -v 1.100006 -5.099999 -4.400000 -v 4.400007 -6.474997 -4.400000 -v -4.399993 -6.475004 -4.400000 -v -1.099993 -5.650001 -4.950000 -v 1.100007 -5.649999 -4.950000 -v 4.950005 -2.994087 -4.666029 -v 4.950006 -3.991024 -5.130909 -v 3.850005 -2.994088 -4.666029 -v 3.850005 -3.991025 -5.130909 -v 4.950006 -3.923849 -2.672152 -v 4.950006 -4.920786 -3.137032 -v 3.850005 -3.923850 -2.672152 -v 3.850006 -4.920787 -3.137032 -v -3.849996 -2.994094 -4.666029 -v -3.849995 -3.991031 -5.130909 -v -4.949996 -2.994095 -4.666029 -v -4.949995 -3.991032 -5.130909 -v -3.849995 -3.923856 -2.672152 -v -3.849994 -4.920793 -3.137032 -v -4.949995 -3.923857 -2.672152 -v -4.949995 -4.920794 -3.137032 -v 4.950006 -5.393002 -3.403062 -v 4.950006 -5.040611 -4.253800 -v 4.950006 -4.189877 -4.606187 -v 4.950005 -3.339142 -4.253800 -v 4.950005 -2.986751 -3.403062 -v 4.950005 -3.339142 -2.552324 -v 4.950006 -4.189877 -2.199937 -v 4.950006 -5.040611 -2.552324 -v 5.225006 -5.162149 -4.375333 -v 5.225006 -5.564876 -3.403062 -v 5.225005 -4.189876 -4.778062 -v 5.225004 -3.217603 -4.375333 -v 5.225004 -2.814876 -3.403062 -v 5.225004 -3.217603 -2.430790 -v 5.225005 -4.189876 -2.028062 -v 5.225006 -5.162149 -2.430790 -v 5.775006 -5.162148 -4.375333 -v 5.775006 -5.564876 -3.403062 -v 5.775005 -4.189876 -4.778062 -v 5.775004 -3.217603 -4.375333 -v 5.775004 -2.814876 -3.403062 -v 5.775004 -3.217603 -2.430790 -v 5.775005 -4.189876 -2.028062 -v 5.775006 -5.162148 -2.430790 -v 5.946881 -5.040610 -4.253800 -v 5.946881 -5.393001 -3.403062 -v 5.946880 -4.189876 -4.606187 -v 5.946880 -3.339141 -4.253800 -v 5.946879 -2.986751 -3.403062 -v 5.946880 -3.339141 -2.552324 -v 5.946880 -4.189876 -2.199937 -v 5.946881 -5.040610 -2.552324 -v 4.400002 -0.377816 -2.750000 -v -3.622181 0.399997 -3.850000 -v 3.622185 0.400003 -2.750000 -v -4.399998 -0.377823 -3.850000 -v 4.400002 -0.377816 -3.850000 -v -3.622181 0.399997 -2.750000 -v 3.622185 0.400003 -3.850000 -v -4.399998 -0.377823 -2.750000 -v -5.566725 0.788905 -3.850000 -v -4.788909 1.566723 -3.850000 -v -5.566725 0.788905 -2.750000 -v -4.788909 1.566723 -2.750000 -v 5.566728 0.788914 -3.850000 -v 4.788910 1.566730 -3.850000 -v 5.566728 0.788914 -2.750000 -v 4.788910 1.566730 -2.750000 -v -3.622177 -4.275002 -3.300000 -v -4.399995 -3.497185 -3.300000 -v -4.399994 -5.052822 -3.300000 -v -5.177812 -4.275004 -3.300000 -v -4.399993 -5.877822 -0.550000 -v -3.622177 -5.100003 -0.550000 -v -4.399995 -4.322185 -0.550000 -v -5.177811 -5.100005 -0.550000 -v -4.399993 -5.877822 2.750000 -v -3.622177 -5.100003 2.750000 -v -4.399995 -4.322185 2.750000 -v -5.177811 -5.100005 2.750000 -v -4.399996 -2.900003 5.727818 -v -3.622178 -2.900002 4.950000 -v -4.399996 -2.900003 4.172182 -v -5.177813 -2.900004 4.950000 -v -4.399999 0.399996 5.727818 -v -3.622181 0.399997 4.950000 -v -4.399999 0.399996 4.172182 -v -5.177816 0.399995 4.950000 -v 4.400007 -6.474997 -4.352818 -v 4.400008 -7.574997 -4.352818 -v 4.400007 -6.474997 -2.797183 -v 4.400008 -7.574997 -2.797183 -v 3.622190 -6.474998 -3.575000 -v 3.622191 -7.574998 -3.575000 -v 3.575009 -8.399997 -4.352818 -v 3.575010 -9.177815 -3.575000 -v 2.475009 -8.399998 -4.352818 -v 2.475010 -9.177816 -3.575000 -v 3.575008 -7.622178 -3.575000 -v 3.575009 -8.399997 -2.797183 -v 2.475008 -7.622179 -3.575000 -v 2.475009 -8.399998 -2.797183 -v 4.950008 -7.413906 2.200000 -v 5.338916 -7.024995 2.200000 -v 4.950007 -6.636087 2.200000 -v 4.561099 -7.024996 2.200000 -v 3.413918 -8.674996 -3.575000 -v 3.025009 -8.286088 -3.575000 -v 3.025010 -9.063907 -3.575000 -v 2.636101 -8.674997 -3.575000 -v 3.025010 -10.163907 0.550000 -v 3.413919 -9.774997 0.550000 -v 3.025010 -9.386088 0.550000 -v 2.636101 -9.774998 0.550000 -v 3.025009 -8.949998 4.675001 -v 3.413918 -8.674996 4.400000 -v 3.025009 -8.399997 4.125000 -v 2.636101 -8.674997 4.400000 -v 3.025009 -8.124997 4.788909 -v 3.413917 -8.124997 4.400000 -v 3.025009 -8.124997 4.011091 -v 2.636100 -8.124998 4.400000 -v 3.025002 0.400002 4.788909 -v 3.413911 0.400002 4.400000 -v 3.025002 0.400002 4.011091 -v 2.636093 0.400002 4.400000 -v 4.675007 -6.749996 4.125000 -v 5.063916 -6.474996 3.850000 -v 4.675007 -6.199997 3.575000 -v 4.286098 -6.474997 3.850000 -v 4.400006 -4.824997 4.788909 -v 4.788915 -4.824997 4.400000 -v 4.400006 -4.824997 4.011091 -v 4.011097 -4.824997 4.400000 -v 4.400002 0.400003 4.788909 -v 4.788910 0.400003 4.400000 -v 4.400002 0.400003 4.011091 -v 4.011093 0.400003 4.400000 -v -2.474991 -8.400002 -4.352818 -v -2.474991 -9.177820 -3.575000 -v -3.574991 -8.400002 -4.352818 -v -3.574991 -9.177821 -3.575000 -v -2.474992 -7.622183 -3.575000 -v -2.474991 -8.400002 -2.797183 -v -3.574992 -7.622184 -3.575000 -v -3.574991 -8.400002 -2.797183 -v -2.247174 -8.400002 -3.300000 -v -3.024992 -7.622183 -3.300000 -v -3.024991 -9.177821 -3.300000 -v -3.802809 -8.400002 -3.300000 -v -3.024989 -10.827821 1.100000 -v -2.247173 -10.050001 1.100000 -v -3.024991 -9.272185 1.100000 -v -3.802807 -10.050002 1.100000 -v -3.024990 -9.775002 5.500000 -v -2.247173 -9.225002 4.950000 -v -3.024991 -8.675002 4.400000 -v -3.802808 -9.225003 4.950000 -v -3.024992 -8.125003 5.727818 -v -2.247174 -8.125002 4.950000 -v -3.024992 -8.125003 4.172182 -v -3.802809 -8.125003 4.950000 -v -3.024998 0.399997 5.727818 -v -2.247181 0.399998 4.950000 -v -3.024998 0.399997 4.172182 -v -3.802815 0.399997 4.950000 -v 5.063916 -7.024995 -3.575000 -v 4.675007 -6.636087 -3.575000 -v 4.675008 -7.413906 -3.575000 -v 4.286099 -7.024996 -3.575000 -v 5.500008 -7.413906 -0.000000 -v 5.888916 -7.024995 -0.000000 -v 5.500007 -6.636087 -0.000000 -v 5.111099 -7.024995 -0.000000 -v 3.025002 0.950003 4.011091 -v 2.636093 0.950003 4.400000 -v 4.400001 0.950004 4.011091 -v 4.011092 0.950004 4.400000 -v -3.622182 1.499997 4.950000 -v -4.400000 1.499996 4.172182 -v -2.247182 1.499998 4.950000 -v -3.024999 1.499998 4.172182 -v 1.641907 0.400001 1.060914 -v 0.864089 0.400000 0.283096 -v 1.641907 1.500001 1.060914 -v 0.864088 1.500001 0.283096 -v 1.044727 0.400000 0.283098 -v 0.266909 0.400000 -0.494721 -v 1.044726 1.500001 0.283098 -v 0.266909 1.500000 -0.494721 -v -0.086269 0.400000 0.899822 -v -0.475178 0.399999 1.288731 -v -0.086270 0.950001 0.899822 -v -0.475179 0.950000 1.288731 -v -0.266905 0.399999 -0.655812 -v -0.655813 0.399999 -0.266903 -v -0.266905 0.950001 -0.655812 -v -0.655813 0.950000 -0.266903 -v 4.950006 -5.393002 -3.403062 -v 4.950006 -5.040611 -4.253800 -v 4.950006 -4.189877 -4.606187 -v 4.950005 -3.339142 -4.253800 -v 4.950005 -2.986751 -3.403062 -v 4.950005 -3.339142 -2.552324 -v 4.950006 -4.189877 -2.199937 -v 4.950006 -5.040611 -2.552324 -v 5.946881 -5.040610 -4.253800 -v 5.946881 -5.393001 -3.403062 -v 5.946880 -4.189876 -4.606187 -v 5.946880 -3.339141 -4.253800 -v 5.946879 -2.986751 -3.403062 -v 5.946880 -3.339141 -2.552324 -v 5.946880 -4.189876 -2.199937 -v 5.946881 -5.040610 -2.552324 -v 5.225006 -5.162149 -4.375333 -v 5.225006 -5.564876 -3.403062 -v 5.225005 -4.189876 -4.778062 -v 5.225004 -3.217603 -4.375333 -v 5.225004 -2.814876 -3.403062 -v 5.225004 -3.217603 -2.430790 -v 5.225005 -4.189876 -2.028062 -v 5.225006 -5.162149 -2.430790 -v 5.775006 -5.162148 -4.375333 -v 5.775006 -5.564876 -3.403062 -v 5.775005 -4.189876 -4.778062 -v 5.775004 -3.217603 -4.375333 -v 5.775004 -2.814876 -3.403062 -v 5.775004 -3.217603 -2.430790 -v 5.775005 -4.189876 -2.028062 -v 5.775006 -5.162148 -2.430790 -vt 0.363636 0.000000 -vt 0.181818 0.316832 -vt 0.181818 0.000000 -vt 0.363636 0.316832 -vt 0.181818 0.633663 -vt 0.000000 0.633663 -vt 0.000000 0.316832 -vt 0.545455 0.316832 -vt 0.363636 0.633663 -vt 0.613636 0.910891 -vt 0.659091 0.891089 -vt 0.659091 0.910891 -vt 0.613636 0.712871 -vt 0.590909 0.732673 -vt 0.590909 0.712871 -vt 0.613636 0.633663 -vt 0.659091 0.712871 -vt 0.659091 0.633663 -vt 0.681818 0.712871 -vt 0.613636 0.891089 -vt 0.670455 0.772277 -vt 0.602273 0.772277 -vt 0.659091 0.732673 -vt 0.727273 0.891089 -vt 0.727273 0.910891 -vt 0.613636 0.732673 -vt 0.545455 0.910891 -vt 0.437500 0.178218 -vt 0.482955 0.138614 -vt 0.482955 0.178218 -vt 0.551136 0.207921 -vt 0.551136 0.178218 -vt 0.181818 0.950495 -vt 0.727273 0.316832 -vt 0.545455 0.633663 -vt 0.551136 0.138614 -vt 0.556818 0.099010 -vt 0.556818 0.168317 -vt 0.369318 0.138614 -vt 0.363636 0.099010 -vt 0.369318 0.099010 -vt 0.551136 -0.000000 -vt 0.556818 -0.000000 -vt 0.363636 -0.000000 -vt 0.369318 -0.000000 -vt 0.437500 0.138614 -vt 0.102273 0.712871 -vt 0.136364 0.702970 -vt 0.136364 0.712871 -vt 0.147727 0.712871 -vt 0.181818 0.702970 -vt 0.181818 0.712871 -vt 0.159091 0.633663 -vt 0.125000 0.643564 -vt 0.125000 0.633663 -vt 0.147727 0.702970 -vt 0.068182 0.702970 -vt 0.102273 0.712871 -vt 0.068182 0.712871 -vt 0.022727 0.702970 -vt 0.056818 0.712871 -vt 0.022727 0.712871 -vt 0.079545 0.643564 -vt 0.045455 0.633663 -vt 0.079545 0.633663 -vt 0.056818 0.702970 -vt 0.585227 0.029703 -vt 0.585227 0.118812 -vt 0.556818 0.069307 -vt 0.613636 0.069307 -vt 0.607955 0.148515 -vt 0.562500 0.148515 -vt 0.556818 0.029703 -vt 0.585227 -0.000000 -vt 0.613636 0.029703 -vt 0.488636 0.752475 -vt 0.482955 0.792079 -vt 0.482955 0.752475 -vt 0.488636 0.792079 -vt 0.482955 0.851485 -vt 0.488636 0.851485 -vt 0.482955 0.900990 -vt 0.488636 0.900990 -vt 0.482955 0.960396 -vt 0.488636 1.000000 -vt 0.482955 1.000000 -vt 0.448864 0.891089 -vt 0.369318 0.792079 -vt 0.363636 0.752475 -vt 0.369318 0.752475 -vt 0.369318 0.851485 -vt 0.363636 0.792079 -vt 0.369318 0.900990 -vt 0.363636 0.851485 -vt 0.369318 0.960396 -vt 0.363636 0.900990 -vt 0.363636 1.000000 -vt 0.369318 1.000000 -vt 0.403409 0.891089 -vt 0.420455 0.752475 -vt 0.431818 0.673267 -vt 0.443182 0.732673 -vt 0.477273 0.653465 -vt 0.431818 0.633663 -vt 0.477273 0.633663 -vt 0.363636 0.683168 -vt 0.363636 0.722772 -vt 0.465909 0.732673 -vt 0.477273 0.673267 -vt 0.488636 0.752475 -vt 0.545455 0.722772 -vt 0.482955 0.207921 -vt 0.545455 0.683168 -vt 0.431818 0.653465 -vt 0.369318 0.207921 -vt 0.437500 0.207921 -vt 0.113636 0.752475 -vt 0.090909 0.712871 -vt 0.113636 0.712871 -vt 0.181818 0.752475 -vt 0.159091 0.831683 -vt 0.159091 0.752475 -vt 0.090909 0.831683 -vt 0.113636 0.871287 -vt 0.090909 0.871287 -vt 0.136364 0.752475 -vt 0.090909 0.752475 -vt 0.113636 0.831683 -vt 0.022727 0.752475 -vt -0.000000 0.712871 -vt 0.022727 0.712871 -vt 0.090909 0.752475 -vt 0.068182 0.831683 -vt 0.068182 0.752475 -vt -0.000000 0.831683 -vt 0.022727 0.871287 -vt 0.000000 0.871287 -vt 0.022727 0.831683 -vt 0.045455 0.752475 -vt 0.045455 0.831683 -vt -0.000000 0.752475 -vt 0.136364 0.831683 -vt -0.000000 0.039604 -vt 0.022727 0.099010 -vt -0.000000 0.099010 -vt 0.068182 0.099010 -vt 0.090909 0.039604 -vt 0.090909 0.099010 -vt 0.045455 0.039604 -vt 0.045455 0.099010 -vt 0.090909 0.099010 -vt 0.113636 0.039604 -vt 0.113636 0.099010 -vt 0.022727 0.000000 -vt 0.022727 0.039604 -vt 0.090909 0.000000 -vt 0.090909 0.039604 -vt 0.136364 0.099010 -vt 0.159091 0.039604 -vt 0.159091 0.099010 -vt 0.136364 0.039604 -vt 0.181818 0.039604 -vt 0.181818 0.099010 -vt 0.090909 0.138614 -vt 0.113636 0.099010 -vt 0.113636 0.138614 -vt 0.090909 0.178218 -vt 0.113636 0.178218 -vt 0.136364 0.099010 -vt 0.068182 0.099010 -vt 0.068182 0.138614 -vt 0.113636 0.217822 -vt 0.090909 0.178218 -vt 0.113636 0.178218 -vt 0.068182 0.217822 -vt 0.068182 0.178218 -vt 0.136364 0.217822 -vt 0.136364 0.178218 -vt 0.090909 0.217822 -vt 0.113636 0.257426 -vt 0.090909 0.257426 -vt 0.045455 0.138614 -vt 0.022727 0.099010 -vt 0.045455 0.099010 -vt 0.000000 0.138614 -vt 0.000000 0.099010 -vt 0.068182 0.138614 -vt 0.068182 0.099010 -vt 0.022727 0.138614 -vt 0.045455 0.178218 -vt 0.022727 0.178218 -vt 0.668093 0.077474 -vt 0.650089 0.077474 -vt 0.637358 0.055290 -vt 0.680823 0.134498 -vt 0.668093 0.156682 -vt 0.650089 0.080942 -vt 0.681818 0.732673 -vt 0.545455 0.891089 -vt 0.363636 0.950495 -vt 0.727273 0.633663 -vt 0.551136 0.099010 -vt 0.363636 0.168317 -vt 0.426136 0.019802 -vt 0.494318 0.019802 -vt 0.102273 0.702970 -vt 0.159091 0.643564 -vt 0.102273 0.702970 -vt 0.045455 0.643564 -vt 0.488636 0.960396 -vt 0.426136 0.861386 -vt 0.448864 0.831683 -vt 0.363636 0.960396 -vt 0.403409 0.831683 -vt 0.426136 0.861386 -vt 0.369318 0.178218 -vt 0.181818 0.831683 -vt 0.090909 0.831683 -vt 0.068182 0.039604 -vt -0.000000 0.000000 -vt 0.113636 0.000000 -vt 0.090909 0.099010 -vt 0.136364 0.138614 -vt 0.637358 0.023918 -vt 0.680823 0.023918 -vt 0.650089 0.001734 -vt 0.668093 0.001734 -vt 0.680823 0.055290 -vt 0.650089 0.156682 -vt 0.637358 0.134498 -vt 0.637358 0.103126 -vt 0.668093 0.080942 -vt 0.680823 0.103125 -vt 0.619318 0.277228 -vt 0.630682 0.316832 -vt 0.619318 0.316832 -vt 0.613636 0.000000 -vt 0.619318 0.039604 -vt 0.613636 0.039604 -vt 0.613636 0.118812 -vt 0.619318 0.079208 -vt 0.619318 0.118812 -vt 0.613636 0.198020 -vt 0.619318 0.237624 -vt 0.613636 0.237624 -vt 0.613636 0.316832 -vt 0.619318 0.277228 -vt 0.619318 0.316832 -vt 0.613636 0.079208 -vt 0.613636 0.158416 -vt 0.619318 0.158416 -vt 0.619318 0.198020 -vt 0.613636 0.277228 -vt 0.630682 0.079208 -vt 0.636364 0.118812 -vt 0.630682 0.118812 -vt 0.619318 0.198020 -vt 0.630682 0.237624 -vt 0.619318 0.237624 -vt 0.630682 0.237624 -vt 0.636364 0.198020 -vt 0.636364 0.237624 -vt 0.630682 0.277228 -vt 0.636364 0.316832 -vt 0.630682 0.316832 -vt 0.636364 0.039604 -vt 0.636364 0.079208 -vt 0.636364 0.158416 -vt 0.630682 0.158416 -vt 0.630682 0.198020 -vt 0.636364 0.277228 -vt 0.630682 0.039604 -vt 0.636364 -0.000000 -vt 0.750000 0.752475 -vt 0.727273 0.792079 -vt 0.727273 0.752475 -vt 0.750000 0.653465 -vt 0.772727 0.534653 -vt 0.772727 0.653465 -vt 0.795455 0.752475 -vt 0.818182 0.653465 -vt 0.818182 0.752475 -vt 0.772727 0.752475 -vt 0.795455 0.653465 -vt 0.727273 0.653465 -vt 0.795455 0.435644 -vt 0.795455 0.534653 -vt 0.750000 0.534653 -vt 0.818182 0.534653 -vt 0.818182 0.316832 -vt 0.818182 0.435644 -vt 0.727273 0.534653 -vt 0.750000 0.435644 -vt 0.772727 0.435644 -vt 0.863636 0.277228 -vt 0.840909 0.277228 -vt 0.840909 0.237624 -vt 0.772727 0.316832 -vt 0.795455 0.316832 -vt 0.727273 0.435644 -vt 0.750000 0.316832 -vt 0.965909 0.792079 -vt 0.977273 0.663366 -vt 0.977273 0.792079 -vt 0.988636 0.584158 -vt 0.977273 0.524752 -vt 0.988636 0.524752 -vt 0.965909 0.584158 -vt 0.954545 0.663366 -vt 0.954545 0.584158 -vt 0.965909 0.663366 -vt 0.977273 0.584158 -vt 0.988636 0.663366 -vt 1.000000 0.584158 -vt 0.943182 0.633663 -vt 0.954545 0.495050 -vt 0.954545 0.633663 -vt 0.931818 0.772277 -vt 0.920455 0.633663 -vt 0.931818 0.633663 -vt 0.943182 0.772277 -vt 0.920455 0.772277 -vt 0.909091 0.633663 -vt 0.954545 0.772277 -vt 0.943182 0.495050 -vt 0.931818 0.475248 -vt 0.943182 0.475248 -vt 0.920455 0.495050 -vt 0.931818 0.495050 -vt 0.909091 0.495050 -vt 0.909091 0.475248 -vt 0.920455 0.178218 -vt 0.920455 0.475248 -vt 0.954545 0.475248 -vt 0.772727 0.277228 -vt 0.795455 0.277228 -vt 0.954545 0.178218 -vt 0.931818 0.178218 -vt 0.943182 0.178218 -vt 0.977273 0.465347 -vt 0.988636 0.465347 -vt 0.965909 0.524752 -vt 1.000000 0.524752 -vt 1.000000 0.277228 -vt 1.000000 0.465347 -vt 0.954545 0.524752 -vt 0.965909 0.465347 -vt 1.000000 0.257426 -vt 0.988636 0.019802 -vt 1.000000 0.019802 -vt 0.977273 0.277228 -vt 0.988636 0.277228 -vt 0.954545 0.465347 -vt 0.965909 0.277228 -vt 0.840909 0.910891 -vt 0.818182 0.950495 -vt 0.818182 0.910891 -vt 0.863636 0.752475 -vt 0.840909 0.613861 -vt 0.863636 0.613861 -vt 0.886364 0.910891 -vt 0.909091 0.752475 -vt 0.909091 0.910891 -vt 0.863636 0.910891 -vt 0.840909 0.752475 -vt 0.886364 0.752475 -vt 0.818182 0.752475 -vt 0.886364 0.613861 -vt 0.863636 0.574257 -vt 0.886364 0.574257 -vt 0.818182 0.613861 -vt 0.909091 0.613861 -vt 0.909091 0.277228 -vt 0.909091 0.574257 -vt 0.840909 0.574257 -vt 0.886364 0.277228 -vt 0.909091 0.237624 -vt 0.818182 0.574257 -vt 0.988636 0.792079 -vt 1.000000 0.792079 -vt 1.000000 0.663366 -vt 0.977273 0.257426 -vt 0.965909 0.257426 -vt 0.920455 0.158416 -vt 0.931818 -0.000000 -vt 0.931818 0.158416 -vt 0.988636 0.257426 -vt 0.954545 0.277228 -vt 0.954545 0.257426 -vt 0.943182 0.158416 -vt 0.909091 0.178218 -vt 0.909091 0.158416 -vt 0.863636 0.237624 -vt 0.886364 0.237624 -vt 0.750000 0.277228 -vt 0.772727 0.039604 -vt 0.840909 0.237624 -vt 0.863636 0.039604 -vt 0.818182 0.277228 -vt 0.750000 0.277228 -vt 0.818182 0.039604 -vt 0.840909 -0.000000 -vt 0.840909 0.039604 -vt 0.818182 0.237624 -vt 0.909091 0.039604 -vt 0.909091 0.237624 -vt 0.886364 0.039604 -vt 0.727273 0.039604 -vt 0.750000 0.000000 -vt 0.750000 0.039604 -vt 0.727273 0.277228 -vt 0.818182 0.039604 -vt 0.818182 0.277228 -vt 0.795455 0.039604 -vt 0.909091 0.158416 -vt 0.920455 -0.000000 -vt 0.943182 0.158416 -vt 0.954545 -0.000000 -vt 0.954545 0.158416 -vt 0.943182 -0.000000 -vt 1.000000 -0.000000 -vt 0.954545 0.257426 -vt 0.965909 0.019802 -vt 0.988636 0.257426 -vt 0.977273 0.019802 -vt 0.619318 0.039604 -vt 0.630682 0.079208 -vt 0.619318 0.079208 -vt 0.619318 0.118812 -vt 0.630682 0.158416 -vt 0.619318 0.158416 -vt 0.630682 0.198020 -vt 0.630682 0.277228 -vt 0.619318 -0.000000 -vt 0.630682 0.039604 -vt 0.630682 0.118812 -vt 0.619318 -0.000000 -vt 0.630682 0.000000 -vt 0.750000 0.792079 -vt 0.727273 0.316832 -vt 0.909091 0.772277 -vt 0.840909 0.950495 -vt 0.818182 0.277228 -vt 0.954545 0.792079 -vt 0.818182 -0.000000 -vt 0.727273 0.000000 -vt 0.909091 -0.000000 -vt 0.988636 -0.000000 -vt 0.954545 0.019802 -vt 0.630682 0.000000 -vn -0.0000 1.0000 0.0000 -vn -0.0000 0.0000 -1.0000 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.8944 0.4472 0.0000 -vn -0.0000 0.9473 0.3203 -vn 0.8844 0.4422 0.1495 -vn -0.8844 0.4422 0.1495 -vn 0.9864 -0.1644 0.0000 -vn 0.8944 0.4472 0.0000 -vn -0.9864 -0.1644 0.0000 -vn 0.1048 -0.3145 -0.9435 -vn -0.0000 0.0000 1.0000 -vn 0.6247 0.7809 0.0000 -vn -0.6247 0.7809 0.0000 -vn -0.8575 0.5145 0.0000 -vn 0.5145 -0.8575 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.8575 0.5145 0.0000 -vn -0.5145 -0.8575 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 -0.7071 0.0000 -vn -0.5145 -0.0000 -0.8575 -vn 0.5145 0.0000 -0.8575 -vn 0.5681 -0.0631 -0.8206 -vn -0.5681 -0.0631 -0.8206 -vn 0.0000 -0.7071 -0.7071 -vn -0.0000 0.7071 0.7071 -vn -0.6000 0.8000 0.0000 -vn 0.3162 0.9487 0.0000 -vn -0.1644 -0.9864 0.0000 -vn -0.6000 -0.8000 0.0000 -vn 0.6000 0.8000 0.0000 -vn -0.3162 0.9487 0.0000 -vn 0.1644 -0.9864 0.0000 -vn 0.6000 -0.8000 0.0000 -vn 0.1361 -0.2722 -0.9526 -vn -0.0000 0.7071 -0.7071 -vn -0.1644 -0.0000 -0.9864 -vn 0.0000 -0.3162 -0.9487 -vn -0.1361 -0.2722 -0.9526 -vn -0.0678 -0.2260 -0.9718 -vn 0.0678 -0.2260 -0.9718 -vn 0.2826 0.6783 -0.6783 -vn -0.2826 0.6783 -0.6783 -vn -0.1048 -0.3145 -0.9435 -vn 0.1644 0.0000 -0.9864 -vn -0.0000 0.4226 -0.9063 -vn 0.0000 -0.4226 0.9063 -vn -0.0000 0.9063 0.4226 -vn 0.0000 -0.9063 -0.4226 -vn 0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 0.7071 -vn 0.0000 -0.7071 0.7071 -vn -0.5300 0.8480 0.0000 -vn -0.5300 0.5996 -0.5996 -vn -0.5300 -0.5996 -0.5996 -vn -0.5300 0.0000 -0.8480 -vn -0.5300 -0.5996 0.5996 -vn -0.5300 0.0000 0.8480 -vn -0.5300 0.5996 0.5996 -vn -0.5300 -0.8480 0.0000 -vn 0.7071 -0.5000 -0.5000 -vn 0.7071 -0.5000 0.5000 -vn 0.7071 0.5000 0.5000 -vn 0.7071 0.5000 -0.5000 -vn 0.8207 0.1069 -0.5612 -vn -0.8207 0.1069 -0.5612 -vn 0.0000 0.8831 -0.4690 -vn 0.9977 -0.0642 -0.0193 -vn 0.0000 -0.9431 0.3324 -vn 0.0000 -0.9906 -0.1366 -vn 0.0000 0.9878 0.1556 -vn 0.0000 -0.7288 -0.6847 -vn -0.9977 -0.0642 -0.0193 -vn -0.9783 -0.1465 0.1465 -vn 0.9783 -0.1465 0.1465 -vn 0.0000 0.8867 -0.4622 -vn -0.4264 -0.3015 -0.8528 -vn 0.0000 0.4622 -0.8867 -vn 0.0000 -0.3324 0.9431 -vn -0.0615 0.2971 0.9528 -vn 0.8528 -0.3015 0.4264 -vn 0.2356 0.7173 0.6557 -vn -0.9528 0.2971 0.0615 -vn 0.9744 0.0000 -0.2248 -vn 0.1051 -0.9944 0.0019 -vn -0.1011 -0.9946 0.0233 -vn -0.9822 -0.0899 -0.1650 -vn -0.9663 -0.2546 0.0377 -vn 0.9726 -0.0562 0.2254 -vn 0.1051 0.9944 0.0019 -vn -0.0020 0.9836 -0.1800 -vn 0.9999 0.0000 0.0082 -vn -0.0359 -0.9886 0.1458 -vn -0.9999 0.0000 -0.0102 -vn -0.9929 -0.1185 0.0038 -vn 0.0000 0.4339 -0.9009 -vn 0.0000 1.0000 -0.0049 -vn 0.0000 -0.9662 -0.2576 -vn 0.9929 -0.1185 0.0038 -vn 0.0000 -0.9999 0.0083 -vn -0.9928 0.1158 0.0309 -vn 0.9928 0.1158 0.0309 -vn 0.0000 0.9662 0.2576 -vn -0.9661 -0.1522 0.2083 -vn 0.0000 -0.0336 0.9994 -vn -0.9990 -0.0357 -0.0269 -vn 0.9661 -0.1522 0.2083 -vn 0.0000 -0.6626 0.7489 -vn 0.0000 -0.1801 -0.9836 -vn 0.9528 0.2971 0.0615 -vn 0.9990 -0.0357 -0.0269 -vn -0.6557 0.7173 -0.2356 -vn 0.4264 -0.3015 -0.8528 -vn 0.0615 0.2971 0.9528 -vn -0.8528 -0.3015 0.4264 -vn -0.0230 -0.1590 0.9870 -vn -0.9933 -0.0982 0.0602 -vn 0.9663 -0.0377 0.2546 -vn -0.0484 0.1663 -0.9849 -vn 0.9951 0.0497 0.0856 -vn -0.8165 -0.5773 0.0000 -vn 0.0000 -0.5773 -0.8165 -vn 0.8229 0.1314 -0.5527 -vn -0.8229 0.1314 -0.5527 -vn 0.0000 0.8960 -0.4440 -vn 0.0000 -0.9980 -0.0637 -vn 0.9633 -0.1685 0.2090 -vn 0.0000 -0.6784 0.7346 -vn 0.0000 0.9947 0.1027 -vn 0.0000 -0.7050 -0.7091 -vn 0.9924 -0.1223 -0.0140 -vn -0.9924 -0.1223 -0.0140 -vn -0.9633 -0.1685 0.2090 -vn 0.0000 0.4769 -0.8789 -vn -0.9744 0.0000 0.2248 -vn -0.1011 0.9946 0.0233 -vn -0.2356 0.7173 0.6557 -vn 0.6557 0.7173 -0.2356 -vn -0.5000 0.7071 0.5000 -vn 0.8165 0.5773 0.0000 -vn 0.8165 -0.5773 0.0000 -vn 0.0000 0.5773 -0.8165 -vn 0.5000 0.7071 -0.5000 -vn 0.5000 -0.7071 -0.5000 -vn -0.5000 -0.7071 0.5000 -vn -0.8165 0.5773 0.0000 -s off -f 230/346/87 227/347/87 228/348/87 -f 229/349/88 231/350/88 227/347/88 -f 227/347/89 232/351/89 228/352/89 -f 230/353/90 234/354/90 229/349/90 -f 238/355/91 246/356/91 237/357/91 -f 240/358/92 244/359/92 235/360/92 -f 242/361/93 239/362/93 240/358/93 -f 239/362/94 241/363/94 236/364/94 -f 240/358/95 235/360/95 242/361/95 -f 243/365/88 245/366/88 246/356/88 -f 244/367/88 248/368/88 245/366/88 -f 237/357/96 245/369/96 236/370/96 -f 236/364/97 248/368/97 239/362/97 -f 239/362/87 247/371/87 240/358/87 -f 235/372/98 243/365/98 238/355/98 -f 263/373/88 257/374/88 264/375/88 -f 254/376/99 264/375/99 262/377/99 -f 234/354/91 232/378/91 231/350/91 -f 228/379/100 233/380/100 230/353/100 -f 262/381/90 259/382/90 254/383/90 -f 261/384/89 260/385/89 252/386/89 -f 259/382/101 268/387/101 266/388/101 -f 252/386/102 265/389/102 267/390/102 -f 252/386/88 258/391/88 261/384/88 -f 262/381/88 264/375/88 257/374/88 -f 249/392/103 272/393/103 250/394/103 -f 270/395/104 273/396/104 269/397/104 -f 269/398/105 271/399/105 249/400/105 -f 250/394/106 274/401/106 270/395/106 -f 271/399/88 274/401/88 272/393/88 -f 280/402/107 275/403/107 276/404/107 -f 281/405/108 278/406/108 277/407/108 -f 279/408/109 277/409/109 275/410/109 -f 282/411/110 276/404/110 278/406/110 -f 282/411/88 279/408/88 280/402/88 -f 287/412/111 288/413/111 285/414/111 -f 287/412/112 286/415/112 288/413/112 -f 284/416/113 288/413/113 286/415/113 -f 285/414/114 288/413/114 283/417/114 -f 284/416/115 283/417/115 288/413/115 -f 286/418/116 287/419/116 285/420/116 -f 289/421/117 292/422/117 290/423/117 -f 291/424/118 294/425/118 292/422/118 -f 293/426/90 296/427/90 294/425/90 -f 295/428/119 298/429/119 296/427/119 -f 298/429/120 289/430/120 290/431/120 -f 294/425/88 296/427/88 298/432/88 -f 302/433/121 299/434/121 300/435/121 -f 304/436/122 301/437/122 302/433/122 -f 306/438/89 303/439/89 304/436/89 -f 308/440/123 305/441/123 306/438/123 -f 299/442/124 308/440/124 300/443/124 -f 308/444/88 306/438/88 304/436/88 -f 318/445/125 311/446/125 313/447/125 -f 324/448/126 319/449/126 320/450/126 -f 322/451/127 311/446/127 316/452/127 -f 314/453/128 311/446/128 312/454/128 -f 317/455/129 314/453/129 312/454/129 -f 311/446/130 318/445/130 316/452/130 -f 312/454/131 315/456/131 317/455/131 -f 256/457/128 263/373/128 264/375/128 -f 321/458/132 324/448/132 320/450/132 -f 319/449/133 323/459/133 322/451/133 -f 253/460/134 263/373/134 255/461/134 -f 311/446/88 324/448/88 312/454/88 -f 312/454/135 321/458/135 315/456/135 -f 326/462/136 327/463/136 325/464/136 -f 328/465/89 331/466/89 327/467/89 -f 332/468/137 329/469/137 331/470/137 -f 331/466/138 325/471/138 327/467/138 -f 328/472/139 330/473/139 332/468/139 -f 334/474/136 335/475/136 333/476/136 -f 336/477/89 339/478/89 335/479/89 -f 340/480/137 337/481/137 339/482/137 -f 338/483/90 333/484/90 337/485/90 -f 339/478/138 333/484/138 335/479/138 -f 336/486/139 338/483/139 340/480/139 -f 330/473/90 325/471/90 329/487/90 -f 383/488/106 376/489/106 380/490/106 -f 378/491/100 383/492/100 380/493/100 -f 382/494/105 378/491/105 374/495/105 -f 377/496/110 387/497/110 373/498/110 -f 383/488/109 382/499/109 381/500/109 -f 386/501/105 387/497/105 385/502/105 -f 375/503/109 386/504/109 379/505/109 -f 375/503/100 387/497/100 388/506/100 -f 381/500/88 374/495/88 376/489/88 -f 379/505/88 385/507/88 377/508/88 -f 309/509/140 409/510/140 310/511/140 -f 412/512/141 310/511/141 411/513/141 -f 413/514/87 310/511/87 409/510/87 -f 414/515/91 309/509/91 412/516/91 -f 416/517/115 417/518/115 415/519/115 -f 417/518/89 422/520/89 421/521/89 -f 420/522/90 415/519/90 419/523/90 -f 418/524/142 420/525/142 422/526/142 -f 460/527/115 461/528/115 459/529/115 -f 461/528/89 466/530/89 465/531/89 -f 464/532/90 459/529/90 463/533/90 -f 462/534/142 464/535/142 466/536/142 -f 523/537/89 522/538/89 521/539/89 -f 534/540/90 528/541/90 531/542/90 -f 230/346/87 229/349/87 227/347/87 -f 229/349/88 234/354/88 231/350/88 -f 227/347/89 231/350/89 232/351/89 -f 230/353/90 233/380/90 234/354/90 -f 238/355/91 243/365/91 246/356/91 -f 240/358/92 247/371/92 244/359/92 -f 242/361/93 241/363/93 239/362/93 -f 243/365/88 244/367/88 245/366/88 -f 244/367/88 247/371/88 248/368/88 -f 237/357/96 246/356/96 245/369/96 -f 236/364/97 245/543/97 248/368/97 -f 239/362/87 248/368/87 247/371/87 -f 235/372/98 244/544/98 243/365/98 -f 263/373/88 258/391/88 257/374/88 -f 254/376/99 256/457/99 264/375/99 -f 234/354/91 233/545/91 232/378/91 -f 228/379/100 232/546/100 233/380/100 -f 262/381/90 251/547/90 259/382/90 -f 261/384/89 253/548/89 260/385/89 -f 259/382/101 251/547/101 268/387/101 -f 252/386/102 260/385/102 265/389/102 -f 267/549/88 258/391/88 252/386/88 -f 258/391/88 263/373/88 261/384/88 -f 257/374/88 268/550/88 251/547/88 -f 251/547/88 262/381/88 257/374/88 -f 249/392/103 271/551/103 272/393/103 -f 270/395/104 274/401/104 273/396/104 -f 269/398/105 273/552/105 271/399/105 -f 250/394/106 272/393/106 274/401/106 -f 271/399/88 273/552/88 274/401/88 -f 280/402/107 279/553/107 275/403/107 -f 281/405/108 282/411/108 278/406/108 -f 279/408/109 281/554/109 277/409/109 -f 282/411/110 280/402/110 276/404/110 -f 282/411/88 281/554/88 279/408/88 -f 289/421/117 291/424/117 292/422/117 -f 291/424/118 293/426/118 294/425/118 -f 293/426/90 295/428/90 296/427/90 -f 295/428/119 297/555/119 298/429/119 -f 298/429/120 297/555/120 289/430/120 -f 290/556/88 292/557/88 298/432/88 -f 292/557/88 294/425/88 298/432/88 -f 302/433/121 301/437/121 299/434/121 -f 304/436/122 303/439/122 301/437/122 -f 306/438/89 305/441/89 303/439/89 -f 308/440/123 307/558/123 305/441/123 -f 299/442/124 307/558/124 308/440/124 -f 304/436/88 302/559/88 308/444/88 -f 302/559/88 300/560/88 308/444/88 -f 324/448/126 323/459/126 319/449/126 -f 322/451/127 323/459/127 311/446/127 -f 314/453/128 313/447/128 311/446/128 -f 256/457/128 255/461/128 263/373/128 -f 253/460/134 261/561/134 263/373/134 -f 311/446/88 323/459/88 324/448/88 -f 312/454/135 324/448/135 321/458/135 -f 326/462/136 328/472/136 327/463/136 -f 328/465/89 332/562/89 331/466/89 -f 332/468/137 330/473/137 329/469/137 -f 331/466/138 329/487/138 325/471/138 -f 328/472/139 326/462/139 330/473/139 -f 334/474/136 336/486/136 335/475/136 -f 336/477/89 340/563/89 339/478/89 -f 340/480/137 338/483/137 337/481/137 -f 338/483/90 334/474/90 333/484/90 -f 339/478/138 337/485/138 333/484/138 -f 336/486/139 334/474/139 338/483/139 -f 330/473/90 326/462/90 325/471/90 -f 383/488/106 381/500/106 376/489/106 -f 378/491/100 384/564/100 383/492/100 -f 382/494/105 384/564/105 378/491/105 -f 377/496/110 385/502/110 387/497/110 -f 383/488/109 384/565/109 382/499/109 -f 386/501/105 388/566/105 387/497/105 -f 375/503/109 388/506/109 386/504/109 -f 375/503/100 373/498/100 387/497/100 -f 381/500/88 382/494/88 374/495/88 -f 379/505/88 386/504/88 385/507/88 -f 309/509/140 410/567/140 409/510/140 -f 412/512/141 309/509/141 310/511/141 -f 413/514/87 411/568/87 310/511/87 -f 414/515/91 410/567/91 309/509/91 -f 416/517/115 418/524/115 417/518/115 -f 417/518/89 418/524/89 422/520/89 -f 420/522/90 416/517/90 415/519/90 -f 418/524/142 416/517/142 420/525/142 -f 460/527/115 462/534/115 461/528/115 -f 461/528/89 462/534/89 466/530/89 -f 464/532/90 460/527/90 459/529/90 -f 462/534/142 460/527/142 464/535/142 -f 521/539/89 520/569/89 525/570/89 -f 520/569/89 519/571/89 525/570/89 -f 519/571/89 526/572/89 525/570/89 -f 525/570/89 524/573/89 521/539/89 -f 524/573/89 523/537/89 521/539/89 -f 528/541/90 527/574/90 531/542/90 -f 527/574/90 529/575/90 531/542/90 -f 529/575/90 530/576/90 531/542/90 -f 531/542/90 532/577/90 533/578/90 -f 533/578/90 534/540/90 531/542/90 -s 1 -f 540/579/116 547/580/87 539/581/87 -f 345/582/143 352/583/144 344/584/144 -f 342/585/145 351/586/146 349/587/145 -f 348/588/147 355/589/148 347/590/148 -f 345/591/143 354/592/149 353/593/143 -f 344/584/144 351/586/146 343/594/146 -f 341/595/150 349/587/145 350/596/150 -f 341/595/150 356/597/147 348/588/147 -f 346/598/149 355/589/148 354/592/149 -f 359/599/140 365/600/151 357/601/151 -f 542/602/142 549/603/100 541/604/100 -f 363/605/141 372/606/152 371/607/141 -f 362/608/153 369/609/105 361/610/105 -f 359/599/140 368/611/154 367/612/140 -f 357/601/151 366/613/110 358/614/110 -f 364/615/152 366/613/110 372/606/152 -f 363/605/141 370/616/153 362/608/153 -f 360/617/154 369/618/105 368/611/154 -f 389/619/155 392/620/156 390/621/157 -f 394/622/158 397/623/159 393/624/160 -f 392/625/156 395/626/161 390/627/157 -f 391/628/162 394/622/158 393/624/160 -f 391/628/162 396/629/163 392/625/156 -f 389/619/155 395/630/161 394/622/158 -f 397/623/159 404/631/164 400/632/164 -f 393/624/160 400/632/164 396/629/163 -f 395/630/161 398/633/165 394/622/158 -f 396/629/163 399/634/166 395/626/161 -f 404/631/164 407/635/167 403/636/168 -f 399/637/166 402/638/165 398/633/165 -f 399/634/166 404/631/164 403/636/168 -f 398/633/165 401/639/169 397/623/159 -f 483/640/170 484/641/171 501/642/172 -f 402/638/165 405/643/170 401/639/169 -f 401/639/169 408/644/173 404/631/164 -f 403/645/168 406/646/171 402/638/165 -f 487/647/174 491/648/175 489/649/176 -f 426/650/177 447/651/142 450/652/178 -f 424/653/179 493/654/180 425/655/181 -f 424/653/179 491/648/175 492/656/182 -f 423/657/183 494/658/184 491/648/175 -f 425/659/181 494/658/184 426/650/177 -f 434/660/185 437/661/186 433/662/187 -f 429/663/188 432/664/189 431/665/190 -f 429/663/188 434/660/185 430/666/191 -f 427/667/192 433/668/187 432/664/189 -f 430/666/191 433/662/187 428/669/193 -f 438/670/194 439/671/195 442/672/196 -f 431/665/190 436/673/197 435/674/198 -f 431/665/190 438/670/194 434/660/185 -f 432/664/189 437/675/186 436/673/197 -f 441/676/199 444/677/200 440/678/201 -f 437/675/186 440/678/201 436/673/197 -f 437/661/186 442/672/196 441/679/199 -f 436/673/197 439/671/195 435/674/198 -f 408/644/173 499/680/172 500/681/202 -f 442/672/196 445/682/203 441/679/199 -f 440/678/201 443/683/204 439/671/195 -f 439/671/195 446/684/205 442/672/196 -f 450/652/178 451/685/206 454/686/207 -f 425/655/181 448/687/208 424/653/179 -f 426/650/177 449/688/126 425/659/181 -f 423/657/183 448/687/208 447/651/142 -f 454/686/207 457/689/203 453/690/209 -f 449/691/126 452/692/210 448/687/208 -f 450/652/178 453/690/209 449/688/126 -f 447/651/142 452/692/210 451/685/206 -f 457/693/203 516/694/211 515/695/212 -f 452/692/210 455/696/204 451/685/206 -f 451/685/206 458/697/205 454/686/207 -f 453/698/209 456/699/200 452/692/210 -f 467/700/213 470/701/214 468/702/215 -f 471/703/216 476/704/217 475/705/218 -f 470/706/214 473/707/219 468/708/215 -f 469/709/220 472/710/221 471/703/216 -f 469/709/220 474/711/222 470/706/214 -f 467/700/213 473/712/219 472/710/221 -f 478/713/223 479/714/195 482/715/196 -f 471/703/216 478/713/223 474/711/222 -f 472/710/221 477/716/224 476/704/217 -f 474/711/222 477/717/224 473/707/219 -f 482/715/196 485/718/167 481/719/199 -f 477/716/224 480/720/201 476/704/217 -f 477/717/224 482/715/196 481/719/199 -f 476/704/217 479/714/195 475/705/218 -f 485/718/167 486/721/173 502/722/202 -f 480/720/201 483/640/170 479/714/195 -f 479/714/195 486/721/173 482/715/196 -f 481/723/199 484/641/171 480/720/201 -f 489/649/176 494/658/184 490/724/225 -f 487/647/174 493/654/180 492/656/182 -f 488/725/226 494/658/184 493/726/180 -f 498/727/227 456/699/200 497/728/228 -f 495/729/228 514/730/229 496/731/227 -f 458/697/205 455/696/204 498/732/227 -f 456/699/200 457/733/203 497/734/228 -f 446/684/205 443/683/204 496/735/227 -f 444/677/200 445/736/203 495/737/228 -f 486/721/173 501/738/172 502/739/202 -f 406/740/171 509/741/230 499/680/172 -f 484/742/171 505/743/230 501/738/172 -f 407/635/167 408/644/173 500/744/202 -f 405/643/170 406/646/171 499/745/172 -f 504/746/212 505/747/230 503/748/231 -f 485/749/167 503/748/231 484/742/171 -f 502/739/202 504/750/212 485/751/167 -f 502/739/202 505/743/230 506/752/232 -f 508/753/212 509/754/230 507/755/231 -f 407/756/167 507/755/231 406/740/171 -f 500/681/202 508/757/212 407/758/167 -f 499/680/172 510/759/232 500/681/202 -f 445/760/203 513/761/233 495/729/228 -f 446/762/205 511/763/234 445/764/203 -f 496/731/227 512/765/235 446/762/205 -f 516/694/211 517/766/232 515/695/212 -f 457/767/203 517/768/232 497/728/228 -f 498/727/227 516/694/211 458/769/205 -f 497/728/228 518/770/236 498/727/227 -f 444/677/200 496/731/227 443/683/204 -f 538/771/126 545/772/88 537/773/88 -f 535/774/115 544/775/91 536/776/91 -f 536/776/91 550/777/142 542/602/142 -f 541/604/100 548/778/116 540/579/116 -f 539/779/87 546/780/126 538/771/126 -f 537/773/88 543/781/115 535/774/115 -f 540/579/116 548/778/116 547/580/87 -f 345/582/143 353/782/143 352/583/144 -f 342/585/145 343/594/146 351/586/146 -f 348/588/147 356/597/147 355/589/148 -f 345/591/143 346/598/149 354/592/149 -f 344/584/144 352/583/144 351/586/146 -f 341/595/150 342/585/145 349/587/145 -f 341/595/150 350/596/150 356/597/147 -f 346/598/149 347/590/148 355/589/148 -f 359/599/140 367/612/140 365/600/151 -f 542/602/142 550/777/142 549/603/100 -f 363/605/141 364/615/152 372/606/152 -f 362/608/153 370/616/153 369/609/105 -f 359/599/140 360/617/154 368/611/154 -f 357/601/151 365/600/151 366/613/110 -f 364/615/152 358/614/110 366/613/110 -f 363/605/141 371/607/141 370/616/153 -f 360/617/154 361/783/105 369/618/105 -f 389/619/155 391/784/162 392/620/156 -f 394/622/158 398/633/165 397/623/159 -f 392/625/156 396/629/163 395/626/161 -f 391/628/162 389/619/155 394/622/158 -f 391/628/162 393/624/160 396/629/163 -f 389/619/155 390/621/157 395/630/161 -f 397/623/159 401/639/169 404/631/164 -f 393/624/160 397/623/159 400/632/164 -f 395/630/161 399/637/166 398/633/165 -f 396/629/163 400/632/164 399/634/166 -f 404/631/164 408/644/173 407/635/167 -f 399/637/166 403/645/168 402/638/165 -f 399/634/166 400/632/164 404/631/164 -f 398/633/165 402/638/165 401/639/169 -f 402/638/165 406/646/171 405/643/170 -f 401/639/169 405/643/170 408/644/173 -f 403/645/168 407/785/167 406/646/171 -f 487/647/174 492/656/182 491/648/175 -f 426/650/177 423/657/183 447/651/142 -f 424/653/179 492/656/182 493/654/180 -f 424/653/179 423/657/183 491/648/175 -f 423/657/183 426/650/177 494/658/184 -f 425/659/181 493/726/180 494/658/184 -f 434/660/185 438/670/194 437/661/186 -f 429/663/188 427/667/192 432/664/189 -f 429/663/188 431/665/190 434/660/185 -f 427/667/192 428/786/193 433/668/187 -f 430/666/191 434/660/185 433/662/187 -f 438/670/194 435/674/198 439/671/195 -f 431/665/190 432/664/189 436/673/197 -f 431/665/190 435/674/198 438/670/194 -f 432/664/189 433/668/187 437/675/186 -f 441/676/199 445/736/203 444/677/200 -f 437/675/186 441/676/199 440/678/201 -f 437/661/186 438/670/194 442/672/196 -f 436/673/197 440/678/201 439/671/195 -f 408/644/173 405/643/170 499/680/172 -f 442/672/196 446/684/205 445/682/203 -f 440/678/201 444/677/200 443/683/204 -f 439/671/195 443/683/204 446/684/205 -f 450/652/178 447/651/142 451/685/206 -f 425/655/181 449/691/126 448/687/208 -f 426/650/177 450/652/178 449/688/126 -f 423/657/183 424/653/179 448/687/208 -f 454/686/207 458/697/205 457/689/203 -f 449/691/126 453/698/209 452/692/210 -f 450/652/178 454/686/207 453/690/209 -f 447/651/142 448/687/208 452/692/210 -f 457/693/203 458/769/205 516/694/211 -f 452/692/210 456/699/200 455/696/204 -f 451/685/206 455/696/204 458/697/205 -f 453/698/209 457/733/203 456/699/200 -f 467/700/213 469/787/220 470/701/214 -f 471/703/216 472/710/221 476/704/217 -f 470/706/214 474/711/222 473/707/219 -f 469/709/220 467/700/213 472/710/221 -f 469/709/220 471/703/216 474/711/222 -f 467/700/213 468/702/215 473/712/219 -f 478/713/223 475/705/218 479/714/195 -f 471/703/216 475/705/218 478/713/223 -f 472/710/221 473/712/219 477/716/224 -f 474/711/222 478/713/223 477/717/224 -f 482/715/196 486/721/173 485/718/167 -f 477/716/224 481/723/199 480/720/201 -f 477/717/224 478/713/223 482/715/196 -f 476/704/217 480/720/201 479/714/195 -f 480/720/201 484/641/171 483/640/170 -f 479/714/195 483/640/170 486/721/173 -f 481/723/199 485/788/167 484/641/171 -f 489/649/176 491/648/175 494/658/184 -f 487/647/174 488/789/226 493/654/180 -f 488/725/226 490/724/225 494/658/184 -f 498/727/227 455/696/204 456/699/200 -f 495/729/228 513/761/233 514/730/229 -f 486/721/173 483/640/170 501/738/172 -f 406/740/171 507/755/231 509/741/230 -f 484/742/171 503/748/231 505/743/230 -f 504/746/212 506/790/232 505/747/230 -f 485/749/167 504/746/212 503/748/231 -f 502/739/202 506/752/232 504/750/212 -f 502/739/202 501/738/172 505/743/230 -f 508/753/212 510/791/232 509/754/230 -f 407/756/167 508/753/212 507/755/231 -f 500/681/202 510/759/232 508/757/212 -f 499/680/172 509/741/230 510/759/232 -f 445/760/203 511/792/234 513/761/233 -f 446/762/205 512/765/235 511/763/234 -f 496/731/227 514/730/229 512/765/235 -f 516/694/211 518/793/236 517/766/232 -f 457/767/203 515/794/212 517/768/232 -f 498/727/227 518/770/236 516/694/211 -f 497/728/228 517/768/232 518/770/236 -f 444/677/200 495/729/228 496/731/227 -f 538/771/126 546/780/126 545/772/88 -f 535/774/115 543/781/115 544/775/91 -f 536/776/91 544/775/91 550/777/142 -f 541/604/100 549/603/100 548/778/116 -f 539/779/87 547/795/87 546/780/126 -f 537/773/88 545/772/88 543/781/115 -o LeftArm -v 3.800009 12.600001 2.200000 -v 3.800009 12.600001 -2.200000 -v 3.800014 6.550001 -2.200000 -v 3.800014 6.550001 2.200000 -v 8.200009 12.600005 2.200000 -v 8.200009 12.600005 -2.200000 -v 3.525011 9.850001 2.475000 -v 3.525011 9.850001 -2.475000 -v 8.475012 9.850005 2.475000 -v 8.475012 9.850005 -2.475000 -v 3.800010 10.950002 2.200000 -v 3.800010 10.950002 -2.200000 -v 8.200010 10.950006 2.200000 -v 8.200010 10.950006 -2.200000 -v 3.525014 6.549999 2.475000 -v 3.525014 6.549999 -2.475000 -v 8.475015 6.550005 2.475000 -v 8.475015 6.550005 -2.475000 -v 3.525015 5.450001 2.475000 -v 3.525015 5.450001 -2.475000 -v 8.475016 5.450006 2.475000 -v 8.475016 5.450006 -2.475000 -v 4.625014 6.550001 -2.475000 -v 7.375014 6.550003 -2.475000 -v 4.625013 7.100002 -2.475000 -v 7.375013 7.100004 -2.475000 -v 3.525020 -0.600000 2.475000 -v 3.525020 -0.600000 -2.475000 -v 8.475020 -0.599995 2.475000 -v 8.475020 -0.599995 -2.475000 -v 8.200014 6.550003 -2.200000 -v 8.200014 6.550003 2.200000 -v 4.625014 6.550001 -2.200000 -v 7.375014 6.550003 -2.200000 -v 4.625013 7.100002 -2.200000 -v 7.375013 7.100004 -2.200000 -v 3.800015 5.450003 -2.200000 -v 3.800015 5.450003 2.200000 -v 8.200015 5.450005 -2.200000 -v 8.200015 5.450005 2.200000 -v 4.900013 8.200002 2.475000 -v 7.100013 8.200004 2.475000 -v 5.450013 7.650002 3.025000 -v 6.550014 7.650003 3.025000 -v 4.900014 6.550001 3.025000 -v 7.100014 6.550003 3.025000 -v 4.900016 4.350002 3.025000 -v 7.100016 4.350004 3.025000 -v 4.350014 6.550001 2.475000 -v 7.650014 6.550003 2.475000 -v 4.350016 4.350002 2.475000 -v 7.650016 4.350004 2.475000 -v 4.350014 6.550001 2.200000 -v 7.650014 6.550003 2.200000 -v 4.350016 4.350002 2.200000 -v 7.650016 4.350004 2.200000 -v 8.475016 4.625006 -1.100000 -v 8.475016 4.625006 1.100000 -v 9.575016 4.350006 -1.100000 -v 9.575016 4.350006 1.100000 -v 8.475020 -0.599995 1.100000 -v 8.475020 -0.599995 -1.100000 -v 9.025020 -0.599995 1.100000 -v 9.025020 -0.599995 -1.100000 -v 3.525021 -1.700001 1.375000 -v 3.525021 -1.700001 -1.375000 -v 8.475021 -1.699995 1.375000 -v 8.475021 -1.699995 -1.375000 -v 9.575020 -0.599995 -1.375000 -v 9.575020 -0.599995 1.375000 -vt 1.000000 0.436782 -vt 0.763889 0.448276 -vt 0.750000 0.436782 -vt 0.444444 0.183908 -vt 0.222222 0.252874 -vt 0.222222 0.183908 -vt 0.888889 0.252874 -vt 0.666667 0.183908 -vt 0.888889 0.183908 -vt -0.000000 0.183908 -vt -0.000000 0.252874 -vt -0.000000 -0.000000 -vt 0.444444 0.252874 -vt 0.666667 0.252874 -vt 0.000000 0.298851 -vt 0.236111 0.252874 -vt 0.250000 0.298851 -vt 0.486111 0.252874 -vt 0.500000 0.298851 -vt 0.750000 0.298851 -vt 0.513889 0.252874 -vt 0.736111 0.252874 -vt 0.986111 0.252874 -vt 1.000000 0.298851 -vt 0.500000 0.436782 -vt -0.000000 0.436782 -vt 0.055556 0.413793 -vt 0.055556 0.436782 -vt 0.250000 0.436782 -vt 0.194444 0.413793 -vt 0.194444 0.436782 -vt 0.750000 0.793103 -vt 0.500000 0.540230 -vt 0.750000 0.540230 -vt 1.000000 0.793103 -vt 1.000000 0.540230 -vt 0.250000 0.793103 -vt 0.000000 0.540230 -vt 0.250000 0.540230 -vt 0.361111 0.839080 -vt 0.305556 0.839080 -vt 0.305556 0.793103 -vt 0.013889 0.448276 -vt 0.180556 0.448276 -vt 0.041667 0.459770 -vt 0.041667 0.448276 -vt 0.208333 0.448276 -vt 0.180556 0.459770 -vt 0.013889 0.459770 -vt 0.013889 0.448276 -vt 0.513889 0.448276 -vt 0.736111 0.448276 -vt 0.263889 0.448276 -vt 0.236111 0.448276 -vt 0.444444 0.482759 -vt 0.222222 0.528736 -vt 0.222222 0.482759 -vt 0.888889 0.482759 -vt 0.666667 0.528736 -vt 0.666667 0.482759 -vt 0.986111 0.528736 -vt 0.263889 0.528736 -vt 0.236111 0.528736 -vt 0.513889 0.528736 -vt 0.444444 0.528736 -vt 0.041667 0.482759 -vt 0.000000 0.528736 -vt 0.847222 0.816092 -vt 0.763889 0.793103 -vt 0.875000 0.793103 -vt 0.875000 0.862069 -vt 0.791667 0.816092 -vt 0.875000 0.954023 -vt 0.763889 0.862069 -vt 0.736111 0.954023 -vt 0.763889 0.954023 -vt 0.902778 0.862069 -vt 0.736111 0.862069 -vt 0.902778 0.977012 -vt 0.722222 0.862069 -vt 0.916667 0.954023 -vt 0.902778 0.954023 -vt 0.722222 0.931035 -vt 0.666667 0.839080 -vt 0.722222 0.839080 -vt 0.666667 0.931035 -vt 0.416667 0.954023 -vt 0.416667 0.931035 -vt 0.416667 0.839080 -vt 0.416667 0.816092 -vt 0.666667 0.793103 -vt 0.055556 0.954023 -vt 0.055556 0.839080 -vt 0.361111 0.954023 -vt 0.305556 1.000000 -vt 0.305556 0.954023 -vt 0.416667 1.000000 -vt 0.416667 0.793103 -vt 0.055556 1.000000 -vt -0.000000 1.000000 -vt -0.000000 0.793103 -vt 0.055556 0.793103 -vt 0.986111 0.448276 -vt 0.222222 -0.000000 -vt 0.013889 0.252874 -vt 0.263889 0.252874 -vt 0.763889 0.252874 -vt 0.500000 0.793103 -vt 0.055556 0.448276 -vt 0.208333 0.459770 -vt 0.486111 0.448276 -vt 0.194444 0.448276 -vt 0.888889 0.528736 -vt 0.763889 0.528736 -vt 0.486111 0.528736 -vt 0.013889 0.528736 -vt 0.736111 0.528736 -vt 0.180556 0.482759 -vt 0.000000 0.482759 -vt 0.736111 0.977012 -vt 0.722222 0.954023 -vt 0.916667 0.862069 -vt 0.666667 0.977012 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn -0.0000 0.0000 -1.0000 -vn -0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -0.0000 0.2425 -0.9701 -vn 0.9701 0.2425 0.0000 -vn -0.0000 0.2425 0.9701 -vn -0.9701 0.2425 0.0000 -vn 0.5774 -0.5773 -0.5774 -vn -0.0000 0.7071 0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.7071 -0.0000 0.7071 -vn 0.5883 0.1961 0.7845 -vn -0.6667 0.3333 0.6667 -vn 0.2425 0.9701 0.0000 -vn 0.9939 -0.1104 0.0000 -vn 0.5774 -0.5773 0.5774 -vn 0.7071 -0.7071 0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.6667 0.3333 0.6667 -vn -0.5883 0.1961 0.7845 -s off -f 566/796/237 554/797/237 565/798/237 -f 555/799/238 564/800/238 556/801/238 -f 562/802/239 551/803/239 552/804/239 -f 552/805/240 564/800/240 562/806/240 -f 551/807/241 556/801/241 552/805/241 -f 563/808/242 551/803/242 561/809/242 -f 558/810/243 564/811/243 560/812/243 -f 560/812/244 563/813/244 559/814/244 -f 557/815/245 563/816/245 561/817/245 -f 557/815/246 562/818/246 558/819/246 -f 557/815/242 567/820/242 559/814/242 -f 558/819/239 565/798/239 557/815/239 -f 566/821/240 575/822/240 573/823/240 -f 559/814/238 568/824/238 560/812/238 -f 576/825/240 568/824/240 574/826/240 -f 576/825/240 558/810/240 560/812/240 -f 577/827/242 571/828/242 569/829/242 -f 578/830/239 569/829/239 570/831/239 -f 580/832/240 570/833/240 572/834/240 -f 571/828/238 580/832/238 572/834/238 -f 619/835/247 618/836/247 580/837/247 -f 573/823/237 553/838/237 566/821/237 -f 576/839/237 585/840/237 575/841/237 -f 574/842/239 586/843/239 576/839/239 -f 575/841/238 583/844/238 573/845/238 -f 582/846/237 565/798/237 554/847/237 -f 567/820/237 581/848/237 568/824/237 -f 581/849/237 574/826/237 568/824/237 -f 582/850/238 589/851/238 581/852/238 -f 553/853/239 588/854/239 554/855/239 -f 569/829/241 587/856/241 570/831/241 -f 589/857/241 571/828/241 572/834/241 -f 570/833/241 589/858/241 572/834/241 -f 590/859/241 569/829/241 571/828/241 -f 554/855/242 590/860/242 582/850/242 -f 586/843/240 583/861/240 585/840/240 -f 589/851/240 587/862/240 583/861/240 -f 593/863/248 592/864/248 591/865/248 -f 595/866/242 594/867/242 593/863/242 -f 597/868/242 596/869/242 595/866/242 -f 602/870/249 596/869/249 598/871/249 -f 599/872/250 597/868/250 595/866/250 -f 594/867/251 600/873/251 592/864/251 -f 593/863/252 599/872/252 595/866/252 -f 601/874/237 598/871/237 597/868/237 -f 602/870/238 604/875/238 600/873/238 -f 599/872/239 605/876/239 601/877/239 -f 608/878/253 609/879/253 607/880/253 -f 610/881/242 611/882/242 613/883/242 -f 610/881/254 614/884/254 609/879/254 -f 609/879/240 612/885/240 607/886/240 -f 618/836/237 615/887/237 616/888/237 -f 620/889/255 579/890/255 617/891/255 -f 579/892/241 619/835/241 580/893/241 -f 618/836/256 620/889/256 617/891/256 -f 615/887/257 579/890/257 577/894/257 -f 616/888/239 577/895/239 578/896/239 -f 618/836/258 578/897/258 580/837/258 -f 566/796/237 553/898/237 554/797/237 -f 555/799/238 563/808/238 564/800/238 -f 562/802/239 561/809/239 551/803/239 -f 552/805/240 556/801/240 564/800/240 -f 551/807/241 555/899/241 556/801/241 -f 563/808/242 555/799/242 551/803/242 -f 558/810/243 562/900/243 564/811/243 -f 560/812/244 564/901/244 563/813/244 -f 557/815/245 559/814/245 563/816/245 -f 557/815/246 561/902/246 562/818/246 -f 557/815/242 565/798/242 567/820/242 -f 558/819/239 566/796/239 565/798/239 -f 566/821/240 558/810/240 575/822/240 -f 559/814/238 567/820/238 568/824/238 -f 576/825/240 560/812/240 568/824/240 -f 576/825/240 575/822/240 558/810/240 -f 577/827/242 579/903/242 571/828/242 -f 578/830/239 577/827/239 569/829/239 -f 580/832/240 578/896/240 570/833/240 -f 571/828/238 579/903/238 580/832/238 -f 573/823/237 583/904/237 553/838/237 -f 576/839/237 586/843/237 585/840/237 -f 574/842/239 584/905/239 586/843/239 -f 575/841/238 585/840/238 583/844/238 -f 582/846/237 567/820/237 565/798/237 -f 567/820/237 582/906/237 581/848/237 -f 581/849/237 584/907/237 574/826/237 -f 582/850/238 590/860/238 589/851/238 -f 553/853/239 587/908/239 588/854/239 -f 569/829/241 588/909/241 587/856/241 -f 589/857/241 590/910/241 571/828/241 -f 570/833/241 587/911/241 589/858/241 -f 590/859/241 588/912/241 569/829/241 -f 554/855/242 588/854/242 590/860/242 -f 586/843/240 584/913/240 583/861/240 -f 553/914/240 583/861/240 587/862/240 -f 583/861/240 584/913/240 589/851/240 -f 584/913/240 581/852/240 589/851/240 -f 593/863/248 594/867/248 592/864/248 -f 595/866/242 596/869/242 594/867/242 -f 597/868/242 598/871/242 596/869/242 -f 602/870/249 600/873/249 596/869/249 -f 599/872/250 601/877/250 597/868/250 -f 594/867/259 596/869/259 600/873/259 -f 593/863/260 591/865/260 599/872/260 -f 601/874/237 602/915/237 598/871/237 -f 602/870/238 606/916/238 604/875/238 -f 599/872/239 603/917/239 605/876/239 -f 608/878/253 610/881/253 609/879/253 -f 610/881/242 608/918/242 611/882/242 -f 610/881/254 613/883/254 614/884/254 -f 609/879/240 614/884/240 612/885/240 -f 618/836/237 617/891/237 615/887/237 -f 579/892/241 620/889/241 619/835/241 -f 618/836/256 619/835/256 620/889/256 -f 615/887/257 617/891/257 579/890/257 -f 616/888/239 615/887/239 577/895/239 -f 618/836/258 616/888/258 578/897/258 -o Body -v -4.399981 -0.600006 -2.200000 -v -4.399981 -0.600006 2.200000 -v 4.400020 -0.599998 -2.200000 -v 4.400020 -0.599998 2.200000 -v -4.399989 10.399994 -2.200000 -v -4.399989 10.399994 2.200000 -v 4.400011 10.400002 2.200000 -v 4.400011 10.400002 -2.200000 -v -4.674989 10.399994 -2.475000 -v 4.675011 10.400002 -2.475000 -v -4.674989 10.399994 2.475000 -v 4.675011 10.400002 2.475000 -v -4.674991 12.599995 -2.475000 -v 4.675009 12.600002 -2.475000 -v -4.674991 12.599995 2.475000 -v 4.675009 12.600002 2.475000 -v -2.474991 12.599997 -2.475000 -v -2.474991 12.599997 2.475000 -v 2.475009 12.600000 -2.475000 -v 2.475009 12.600000 2.475000 -v -1.374992 13.699998 -2.475000 -v -1.374992 13.699998 2.475000 -v 1.375008 13.700000 -2.475000 -v 1.375008 13.700000 2.475000 -v -2.474989 10.399996 -2.475000 -v 2.475011 10.400000 -2.475000 -v -2.474991 12.049996 -2.475000 -v 2.475010 12.050000 -2.475000 -v -1.374991 13.149997 -2.475000 -v 1.375009 13.149999 -2.475000 -v -2.474989 10.399996 -2.750000 -v 2.475011 10.400000 -2.750000 -v -2.474991 12.049996 -2.750000 -v 2.475010 12.050000 -2.750000 -v -1.374991 13.149997 -2.750000 -v 1.375009 13.149999 -2.750000 -v -2.474989 10.399996 2.750000 -v 2.475011 10.400000 2.750000 -v -2.474989 10.399996 2.475000 -v 2.475011 10.400000 2.475000 -v -2.474991 12.049996 2.750000 -v 2.475010 12.050000 2.750000 -v -2.474991 12.049996 2.475000 -v 2.475010 12.050000 2.475000 -v -0.824989 10.674997 2.750000 -v 0.825011 10.674999 2.750000 -v -0.824990 11.224998 2.750000 -v 0.825010 11.224999 2.750000 -v -0.824989 10.674997 3.025000 -v 0.825011 10.674999 3.025000 -v -0.824990 11.224998 3.025000 -v 0.825010 11.224999 3.025000 -v -4.674989 10.399994 -2.475000 -v -4.674989 10.399994 2.475000 -v -4.674991 12.049994 -2.475000 -v -4.674991 12.049994 2.475000 -v -4.949989 10.399994 -2.750000 -v -4.949989 10.399994 2.750000 -v -4.949991 12.049994 -2.750000 -v -4.949991 12.049994 2.750000 -v -4.124989 10.399995 -2.475000 -v -4.124990 12.049995 -2.475000 -v -4.399989 10.399994 -2.750000 -v -4.399991 12.049994 -2.750000 -v -4.124989 10.399995 2.475000 -v -4.124990 12.049995 2.475000 -v -4.399989 10.399994 2.750000 -v -4.399991 12.049994 2.750000 -v 4.950011 10.400002 -2.750000 -v 4.950011 10.400002 2.750000 -v 4.950010 12.050002 -2.750000 -v 4.950010 12.050002 2.750000 -v 4.675010 12.050002 -2.475000 -v 4.675010 12.050002 2.475000 -v 4.675011 10.400002 -2.475000 -v 4.675011 10.400002 2.475000 -v 4.400011 10.400002 -2.750000 -v 4.400010 12.050002 -2.750000 -v 4.125010 12.050001 -2.475000 -v 4.125011 10.400001 -2.475000 -v 4.400011 10.400002 2.750000 -v 4.400010 12.050002 2.750000 -v 4.125010 12.050001 2.475000 -v 4.125011 10.400001 2.475000 -v -4.674988 8.749994 -2.200000 -v 4.675013 8.750002 -2.200000 -v -4.674988 8.749994 2.200000 -v 4.675013 8.750002 2.200000 -v -3.024988 8.749995 -2.750000 -v 3.025012 8.750001 -2.750000 -v -3.024988 8.749995 2.750000 -v 3.025012 8.750001 2.750000 -v -2.474988 8.749996 -2.750000 -v 2.475012 8.750000 -2.750000 -v -1.374987 7.649996 -2.750000 -v 1.375013 7.650000 -2.750000 -v -3.024981 -0.050003 -2.750000 -v 3.025019 -0.049999 -2.750000 -v -4.674981 -0.050005 -2.200000 -v 4.675019 -0.049997 -2.200000 -v -4.674981 -0.050005 2.200000 -v 4.675019 -0.049997 2.200000 -v -3.024981 -0.050003 2.750000 -v 3.025019 -0.049999 2.750000 -v -4.674982 1.049994 -2.200000 -v 3.025018 1.049999 -2.750000 -v -3.024982 1.049995 -2.750000 -v -2.474988 8.749996 -2.200000 -v 2.475012 8.750000 -2.200000 -v -1.374987 7.649996 -2.200000 -v 1.375013 7.650000 -2.200000 -v -3.024988 8.749995 2.200000 -v 3.025012 8.750001 2.200000 -v 4.400012 8.750002 -2.200000 -v 4.400012 8.750002 2.200000 -v -4.399988 8.749994 -2.200000 -v -4.399988 8.749994 2.200000 -v 4.675019 1.050001 -2.200000 -v 0.550018 1.324999 -2.750000 -v -0.549982 1.324999 -2.750000 -v -4.674982 1.049994 -2.475000 -v 3.025018 1.049999 -3.025000 -v -3.024982 1.049995 -3.025000 -v 4.675019 1.050001 -2.475000 -v 0.550018 1.324999 -3.025000 -v -0.549982 1.324999 -3.025000 -v -4.674984 3.799994 -2.200000 -v 4.675016 3.800001 -2.200000 -v -4.674984 3.799994 -2.475000 -v 4.675016 3.800001 -2.475000 -v 3.025016 4.350000 -3.025000 -v -3.024984 4.349997 -3.025000 -v 0.550016 4.074999 -3.025000 -v -0.549984 4.074999 -3.025000 -v 3.025016 4.350000 -2.750000 -v -3.024984 4.349997 -2.750000 -v 0.550016 4.074999 -2.750000 -v -0.549984 4.074999 -2.750000 -v -3.849977 -4.450006 6.050000 -v 3.850023 -4.449999 6.050000 -v 4.950023 -4.449999 4.950000 -v -4.949977 -4.450006 4.950000 -v 4.950023 -4.449999 0.550000 -v -4.949977 -4.450006 0.550000 -v 4.400021 -2.249998 -2.750000 -v -4.399979 -2.250006 -2.750000 -v 2.750018 2.150000 -4.400000 -v -2.749982 2.149996 -4.400000 -v 3.850017 2.700003 -4.400000 -v -3.849983 2.699995 -4.400000 -v 9.350022 -3.349995 0.550000 -v 7.150020 -0.599997 -3.300000 -v -9.349978 -3.350010 0.550000 -v -7.149981 -0.600008 -3.300000 -v -3.849978 -3.900007 6.600000 -v 3.850023 -3.900000 6.600000 -v -3.849981 -0.050005 6.600000 -v 3.850019 -0.049997 6.600000 -v 8.800022 -2.799994 2.750000 -v -8.799978 -2.800009 2.750000 -v 6.600020 -0.599997 5.500000 -v -6.599981 -0.600008 5.500000 -v -3.849983 2.699995 4.950000 -v 3.850017 2.700003 4.950000 -v 4.400021 -2.249998 -2.200000 -v -4.399979 -2.250006 -2.200000 -v 2.750018 2.150000 -3.850000 -v -2.749982 2.149996 -3.850000 -v 3.850017 2.700003 -3.850000 -v -3.849983 2.699995 -3.850000 -v 7.150020 -0.599997 -2.750000 -v -7.149981 -0.600008 -2.750000 -v 4.950023 -3.900000 4.950000 -v -4.949978 -3.900007 4.950000 -v 4.950023 -3.900000 0.550000 -v -4.949978 -3.900007 0.550000 -v 9.350022 -2.799994 0.550000 -v -9.349978 -2.800009 0.550000 -v 8.800021 -2.249994 2.200000 -v -8.799979 -2.250010 2.200000 -v 3.850017 2.700003 4.950000 -v -3.849983 2.699995 4.950000 -v -2.749987 7.649996 2.750000 -v 2.750013 7.650000 2.750000 -v -2.749982 2.149996 2.750000 -v 2.750018 2.150000 2.750000 -v -2.749987 7.649996 5.500000 -v 2.750013 7.650000 5.500000 -v -2.749982 2.149996 5.500000 -v 2.750018 2.150000 5.500000 -v -2.474985 4.899996 5.500000 -v -2.286585 3.952856 5.500000 -v -1.750072 3.149904 5.500000 -v -0.947125 2.613396 5.500000 -v 0.000017 2.424997 5.500000 -v 0.947159 2.613396 5.500000 -v 1.750106 3.149908 5.500000 -v 2.286617 3.952860 5.500000 -v 2.475015 4.900000 5.500000 -v 2.286615 5.847139 5.500000 -v 1.750103 6.650087 5.500000 -v 0.947156 7.186602 5.500000 -v 0.000013 7.374998 5.500000 -v -0.947129 7.186602 5.500000 -v -1.750075 6.650084 5.500000 -v -2.286588 5.847136 5.500000 -v -2.199985 4.899996 5.500000 -v -2.032519 4.058094 5.500000 -v -1.555618 3.344362 5.500000 -v -0.841887 2.867462 5.500000 -v 0.000017 2.699999 5.500000 -v 0.841921 2.867462 5.500000 -v 1.555651 3.344366 5.500000 -v 2.032551 4.058098 5.500000 -v 2.200015 4.900000 5.500000 -v 2.032550 5.741901 5.500000 -v 1.555649 6.455635 5.500000 -v 0.841918 6.932533 5.500000 -v 0.000014 7.099998 5.500000 -v -0.841891 6.932533 5.500000 -v -1.555620 6.455631 5.500000 -v -2.032521 5.741898 5.500000 -v -2.286585 3.952856 6.050001 -v -2.474985 4.899996 6.050001 -v -1.750072 3.149904 6.050001 -v -0.947125 2.613396 6.050001 -v 0.000017 2.424997 6.050001 -v 0.947159 2.613396 6.050001 -v 1.750106 3.149908 6.050001 -v 2.286617 3.952860 6.050001 -v 2.475015 4.900000 6.050001 -v 2.286615 5.847139 6.050001 -v 1.750103 6.650087 6.050001 -v 0.947156 7.186602 6.050001 -v 0.000013 7.374998 6.050001 -v -0.947129 7.186602 6.050001 -v -1.750075 6.650084 6.050001 -v -2.286588 5.847136 6.050001 -v -2.032519 4.058094 6.050000 -v -2.199985 4.899996 6.050000 -v -1.555618 3.344362 6.050000 -v -0.841887 2.867462 6.050000 -v 0.000017 2.699999 6.050000 -v 0.841921 2.867462 6.050000 -v 1.555651 3.344366 6.050000 -v 2.032551 4.058098 6.050000 -v 2.200015 4.900000 6.050000 -v 2.032550 5.741901 6.050000 -v 1.555649 6.455635 6.050000 -v 0.841918 6.932533 6.050000 -v 0.000014 7.099998 6.050000 -v -0.841891 6.932533 6.050000 -v -1.555620 6.455631 6.050000 -v -2.032521 5.741898 6.050000 -v 2.750018 2.150000 -4.400000 -v -2.749982 2.149996 -4.400000 -v 3.850017 2.700003 -4.400000 -v -3.849983 2.699995 -4.400000 -v 2.750018 2.150000 -3.850000 -v -2.749982 2.149996 -3.850000 -v 3.850017 2.700003 -3.850000 -v -3.849983 2.699995 -3.850000 -v 3.850017 2.700003 -4.400000 -v 9.350022 -3.349995 0.550000 -v 7.150020 -0.599997 -3.300000 -v 3.850019 -0.049997 6.600000 -v 8.800022 -2.799994 2.750000 -v 6.600020 -0.599997 5.500000 -v 3.850017 2.700003 4.950000 -v 3.850017 2.700003 2.750000 -v 3.850017 2.700003 -3.850000 -v 7.150020 -0.599997 -2.750000 -v 9.350022 -2.799994 0.550000 -v 8.800021 -2.249994 2.200000 -v -3.849983 2.699995 -4.400000 -v -9.349978 -3.350010 0.550000 -v -7.149981 -0.600008 -3.300000 -v -3.849981 -0.050005 6.600000 -v -8.799978 -2.800009 2.750000 -v -6.599981 -0.600008 5.500000 -v -3.849983 2.699995 4.950000 -v -3.849983 2.699995 2.750000 -v -3.849983 2.699995 -3.850000 -v -7.149981 -0.600008 -2.750000 -v -9.349978 -2.800009 0.550000 -v -8.799979 -2.250010 2.200000 -v -4.949977 -4.450006 4.950000 -v -4.949977 -4.450006 0.550000 -v -4.399979 -2.250006 -2.750000 -v -2.749982 2.149996 -4.400000 -v -4.399979 -2.250006 -2.200000 -v -2.749982 2.149996 -3.850000 -v -4.949978 -3.900007 4.950000 -v -4.949978 -3.900007 0.550000 -v 4.950023 -4.449999 4.950000 -v 4.950023 -4.449999 0.550000 -v 4.400021 -2.249998 -2.750000 -v 2.750018 2.150000 -4.400000 -v 4.400021 -2.249998 -2.200000 -v 2.750018 2.150000 -3.850000 -v 4.950023 -3.900000 4.950000 -v 4.950023 -3.900000 0.550000 -v -3.849977 -4.450006 6.050000 -v 3.850023 -4.449999 6.050000 -v 4.950023 -4.449999 4.950000 -v -4.949977 -4.450006 4.950000 -v -3.849983 2.699995 2.750000 -v 3.850017 2.700003 2.750000 -v 4.950023 -3.900000 4.950000 -v -4.949978 -3.900007 4.950000 -v 8.800021 -2.249994 2.200000 -v -8.799979 -2.250010 2.200000 -v -3.849978 -3.900007 6.050000 -v 3.850023 -3.900000 6.050000 -v -3.849983 2.699995 2.750000 -v 3.850017 2.700003 2.750000 -v 2.200016 4.693750 5.940001 -v -2.199985 4.693747 5.940000 -v 2.200016 4.556250 5.940001 -v -2.199985 4.556246 5.940000 -v 2.062516 4.143749 5.940001 -v -2.062484 4.143745 5.940000 -v 2.062516 4.006250 5.940001 -v -2.062484 4.006247 5.940000 -v 1.787516 3.593750 5.940001 -v -1.787484 3.593746 5.940000 -v 1.787517 3.456249 5.940001 -v -1.787483 3.456245 5.940000 -v 1.375017 3.043751 5.940001 -v -1.374983 3.043747 5.940000 -v 1.375017 2.906250 5.940001 -v -1.374983 2.906246 5.940000 -v 2.062515 5.793751 5.940001 -v -2.062485 5.793747 5.940000 -v 2.062515 5.656250 5.940001 -v -2.062485 5.656246 5.940000 -v 2.200015 5.243750 5.940001 -v -2.199985 5.243746 5.940000 -v 2.200015 5.106251 5.940001 -v -2.199985 5.106247 5.940000 -v 1.375014 6.893749 5.940001 -v -1.374986 6.893745 5.940000 -v 1.375014 6.756250 5.940001 -v -1.374986 6.756247 5.940000 -v 1.787514 6.343750 5.940001 -v -1.787486 6.343746 5.940000 -v 1.787514 6.206249 5.940001 -v -1.787486 6.206245 5.940000 -vt 0.118056 0.472393 -vt 0.340278 0.570552 -vt 0.118056 0.570552 -vt 0.361111 0.184049 -vt 0.479167 0.190184 -vt 0.368056 0.190184 -vt 0.152778 0.263804 -vt 0.118056 0.251534 -vt 0.166667 0.251534 -vt 0.500000 0.263804 -vt 0.465278 0.251534 -vt 0.500000 0.251534 -vt 0.284722 0.226994 -vt 0.159722 0.226994 -vt 0.111111 0.190184 -vt 0.687500 0.251534 -vt 0.652778 0.263804 -vt 0.652778 0.251534 -vt -0.000000 0.134969 -vt 0.125000 0.184049 -vt 0.000000 0.184049 -vt 0.361111 0.134969 -vt 0.486111 0.184049 -vt 0.000000 0.085890 -vt 0.125000 0.134969 -vt 0.361111 0.085890 -vt 0.486111 0.134969 -vt 0.208333 0.000000 -vt 0.180556 0.110429 -vt 0.180556 -0.000000 -vt 0.277778 0.110429 -vt 0.305556 0.000000 -vt 0.305556 0.110429 -vt 0.208333 0.110429 -vt 0.666667 0.134969 -vt 0.569444 0.110429 -vt 0.638889 0.110429 -vt 0.305556 0.134969 -vt 0.180556 0.134969 -vt 0.722222 0.134969 -vt 0.722222 0.184049 -vt 0.131944 0.190184 -vt 0.354167 0.190184 -vt 0.118056 0.190184 -vt 0.006944 0.190184 -vt 0.715278 0.190184 -vt 0.493056 0.190184 -vt 0.048611 0.000000 -vt 0.173611 0.006135 -vt 0.048611 0.006135 -vt 0.173611 0.042945 -vt 0.048611 0.049080 -vt 0.048611 0.042945 -vt 0.312500 0.030675 -vt 0.437500 0.067485 -vt 0.312500 0.067485 -vt 0.340278 0.006135 -vt 0.437500 0.030675 -vt 0.340278 -0.000000 -vt 0.312500 0.006135 -vt 0.312500 -0.000000 -vt 0.409722 -0.000000 -vt 0.444444 0.067485 -vt 0.444444 0.030675 -vt 0.312500 0.073620 -vt 0.437500 0.073620 -vt 0.437500 -0.000000 -vt 0.409722 0.006135 -vt 0.305556 0.030675 -vt 0.305556 0.067485 -vt 0.041667 0.042945 -vt 0.180556 0.006135 -vt 0.180556 0.042945 -vt 0.180556 0.067485 -vt 0.173611 0.055215 -vt 0.180556 0.055215 -vt 0.173611 0.049080 -vt 0.131944 0.055215 -vt 0.131944 0.049080 -vt 0.125000 0.055215 -vt 0.131944 0.067485 -vt 0.125000 0.067485 -vt 0.173611 0.073620 -vt 0.131944 0.073620 -vt 0.173611 0.067485 -vt 0.506944 0.042945 -vt 0.493056 0.006135 -vt 0.506944 0.006135 -vt 0.645833 0.042945 -vt 0.645833 0.006135 -vt 0.506944 0.000000 -vt 0.493056 0.000000 -vt 0.638889 -0.000000 -vt 0.513889 0.000000 -vt 0.506944 0.049080 -vt 0.493056 0.042945 -vt 0.513889 0.049080 -vt 0.638889 0.049080 -vt 0.486111 0.042945 -vt 0.486111 0.006135 -vt 0.645833 0.000000 -vt 0.659722 0.006135 -vt 0.645833 0.049080 -vt 0.659722 0.042945 -vt 0.659722 0.049080 -vt 0.666667 0.006135 -vt 0.506944 0.092025 -vt 0.645833 0.055215 -vt 0.645833 0.092025 -vt 0.638889 0.049080 -vt 0.506944 0.055215 -vt 0.513889 0.049080 -vt 0.638889 0.098160 -vt 0.513889 0.098160 -vt 0.506944 0.098160 -vt 0.493056 0.092025 -vt 0.506944 0.049080 -vt 0.493056 0.055215 -vt 0.493056 0.049080 -vt 0.486111 0.092025 -vt 0.645833 0.098160 -vt 0.659722 0.092025 -vt 0.659722 0.098160 -vt 0.645833 0.049080 -vt 0.659722 0.055215 -vt 0.666667 0.092025 -vt 0.194444 0.288344 -vt 0.152778 0.460123 -vt 0.305556 0.263804 -vt 0.263889 0.288344 -vt 0.291667 0.263804 -vt 0.305556 0.460123 -vt 0.111111 0.460123 -vt 0.000000 0.263804 -vt 0.111111 0.263804 -vt 0.458333 0.460123 -vt 0.347222 0.263804 -vt 0.458333 0.263804 -vt 0.347222 0.460123 -vt 0.500000 0.460123 -vt 0.694444 0.263804 -vt 0.652778 0.460123 -vt 0.194444 0.263804 -vt 0.263889 0.251534 -vt 0.263889 0.263804 -vt 0.291667 0.251534 -vt 0.340278 0.631902 -vt 0.347222 0.595092 -vt 0.347222 0.631902 -vt 0.576389 0.631902 -vt 0.569444 0.595092 -vt 0.576389 0.595092 -vt 0.347222 0.257669 -vt 0.000000 0.257669 -vt 0.444444 0.190184 -vt 0.333333 0.226994 -vt 0.333333 0.190184 -vt 0.666667 0.190184 -vt 0.631944 0.226994 -vt 0.479167 0.226994 -vt -0.000000 0.226994 -vt 0.000000 0.190184 -vt 0.166667 0.263804 -vt 0.340278 0.251534 -vt 0.465278 0.588957 -vt 0.458333 0.644172 -vt 0.458333 0.588957 -vt 0.458333 0.644172 -vt 0.451389 0.588957 -vt 0.458333 0.588957 -vt 0.340278 0.595092 -vt 0.347222 0.533742 -vt 0.569444 0.533742 -vt 0.388889 0.521472 -vt 0.451389 0.527607 -vt 0.527778 0.521472 -vt 0.527778 0.595092 -vt 0.388889 0.595092 -vt 0.451389 0.472393 -vt 0.458333 0.527607 -vt 0.458333 0.527607 -vt 0.465278 0.472393 -vt 0.465278 0.527607 -vt 0.340278 0.496933 -vt 0.340278 0.533742 -vt 0.576389 0.496933 -vt 0.576389 0.533742 -vt -0.000000 0.460123 -vt 0.104167 0.472393 -vt 0.006944 0.472393 -vt 0.458333 0.472393 -vt 0.347222 0.472393 -vt 0.340278 0.472393 -vt 0.687500 0.472393 -vt 0.465278 0.472393 -vt 0.694444 0.460123 -vt 0.930556 0.061350 -vt 0.791667 0.184049 -vt 0.791667 0.061350 -vt 1.000000 0.184049 -vt 1.000000 0.061350 -vt 0.791667 0.245399 -vt 0.930556 0.184049 -vt 0.930556 0.245399 -vt 0.722222 0.061350 -vt 0.722222 0.184049 -vt 0.930556 0.000000 -vt 0.791667 0.000000 -vt 0.708333 0.226994 -vt 0.715278 0.208589 -vt 0.715278 0.226994 -vt 0.708333 0.208589 -vt 0.715278 0.190184 -vt 0.708333 0.466258 -vt 0.715278 0.484663 -vt 0.708333 0.484663 -vt 0.708333 0.447853 -vt 0.715278 0.466258 -vt 0.715278 0.429448 -vt 0.715278 0.447853 -vt 0.708333 0.411043 -vt 0.708333 0.429448 -vt 0.715278 0.392638 -vt 0.715278 0.411043 -vt 0.708333 0.392638 -vt 0.715278 0.374233 -vt 0.708333 0.374233 -vt 0.715278 0.355828 -vt 0.708333 0.337423 -vt 0.708333 0.355828 -vt 0.715278 0.319018 -vt 0.715278 0.337423 -vt 0.708333 0.300613 -vt 0.708333 0.319018 -vt 0.708333 0.282209 -vt 0.715278 0.300613 -vt 0.708333 0.263804 -vt 0.715278 0.282209 -vt 0.715278 0.245399 -vt 0.715278 0.263804 -vt 0.708333 0.245399 -vt 1.000000 0.184049 -vt 0.930556 0.190184 -vt 0.930556 0.184049 -vt 1.000000 0.184049 -vt 0.930556 0.190184 -vt 0.930556 0.184049 -vt 0.993056 0.184049 -vt 0.937500 0.190184 -vt 0.937500 0.184049 -vt 0.986111 0.184049 -vt 0.944444 0.190184 -vt 0.944444 0.184049 -vt 1.000000 0.184049 -vt 0.930556 0.190184 -vt 0.930556 0.184049 -vt 1.000000 0.184049 -vt 0.930556 0.190184 -vt 0.930556 0.184049 -vt 0.986111 0.184049 -vt 0.944444 0.190184 -vt 0.944444 0.184049 -vt 0.993056 0.184049 -vt 0.937500 0.190184 -vt 0.937500 0.184049 -vt 0.111111 0.251534 -vt 0.458333 0.251534 -vt 0.256944 0.251534 -vt 0.187500 0.251534 -vt 0.111111 0.226994 -vt 0.694444 0.251534 -vt 0.125000 0.085890 -vt 0.486111 0.085890 -vt 0.277778 0.000000 -vt 0.541667 0.134969 -vt 0.173611 0.000000 -vt 0.173611 0.049080 -vt 0.437500 0.006135 -vt 0.041667 0.006135 -vt 0.493056 0.049080 -vt 0.659722 0.000000 -vt 0.666667 0.042945 -vt 0.493056 0.098160 -vt 0.486111 0.055215 -vt 0.659722 0.049080 -vt 0.666667 0.055215 -vt 0.194444 0.251534 -vt 0.569444 0.631902 -vt 0.458333 0.257669 -vt 0.111111 0.257669 -vt 0.444444 0.226994 -vt 0.666667 0.226994 -vt 0.347222 0.251534 -vt 0.465278 0.644172 -vt 0.451389 0.644172 -vt 0.458333 0.472393 -vt 0.458333 0.472393 -vt 0.347222 0.496933 -vt 0.569444 0.496933 -vt 0.708333 0.190184 -vt 1.000000 0.190184 -vt 1.000000 0.190184 -vt 0.993056 0.190184 -vt 0.986111 0.190184 -vt 1.000000 0.190184 -vt 1.000000 0.190184 -vt 0.986111 0.190184 -vt 0.993056 0.190184 -vt 0.701389 0.496933 -vt 0.701389 0.607362 -vt 0.673611 0.496933 -vt 0.729167 0.496933 -vt 0.756944 0.496933 -vt 0.729167 0.607362 -vt 0.840278 0.693252 -vt 0.729167 0.693252 -vt 0.812500 0.607362 -vt 0.701389 0.693252 -vt 0.590278 0.693252 -vt 0.618056 0.607362 -vt 0.187500 0.803681 -vt 0.381944 0.815951 -vt 0.187500 0.815951 -vt 0.194444 0.717791 -vt 0.381944 0.803681 -vt 0.701389 0.791411 -vt 0.590278 0.791411 -vt 0.729167 0.791411 -vt 0.840278 0.791411 -vt 0.416667 0.828221 -vt 0.534722 0.815951 -vt 0.451389 0.730061 -vt 0.381944 0.717791 -vt 0.118056 0.730061 -vt 0.034722 0.815951 -vt 0.152778 0.828221 -vt 0.381944 0.644172 -vt 0.444444 0.644172 -vt 0.569444 0.699386 -vt 0.458333 0.717791 -vt 0.125000 0.987730 -vt 0.166667 0.828221 -vt 0.166667 0.987730 -vt 0.576389 0.791411 -vt 0.590278 0.693252 -vt 0.590278 0.791411 -vt 0.000000 0.987730 -vt 0.402778 0.987730 -vt 0.361111 0.987730 -vt 0.361111 0.828221 -vt 0.576389 0.607362 -vt 0.576389 0.693252 -vt 0.402778 1.000000 -vt 0.361111 1.000000 -vt 0.729167 0.693252 -vt 0.715278 0.607362 -vt 0.729167 0.607362 -vt 0.590278 0.607362 -vt 0.576389 0.496933 -vt 0.590278 0.496933 -vt 0.527778 0.987730 -vt 0.729167 0.791411 -vt 0.715278 0.693252 -vt 0.125000 1.000000 -vt 0.166667 1.000000 -vt 0.715278 0.496933 -vt 0.729167 0.496933 -vt 0.701389 0.693252 -vt 0.715278 0.607362 -vt 0.715278 0.693252 -vt 0.569444 0.717791 -vt 0.381944 0.644172 -vt 0.715278 0.791411 -vt 0.701389 0.791411 -vt 0.701389 0.607362 -vt 0.715278 0.496933 -vt 0.381944 0.717791 -vt 0.729167 0.496933 -vt 0.729167 0.607362 -vt 0.756944 0.496933 -vt 0.701389 0.496933 -vt 0.673611 0.496933 -vt 0.701389 0.607362 -vt 0.812500 0.607362 -vt 0.618056 0.607362 -vt 0.590278 0.693252 -vt 0.840278 0.693252 -vt 0.701389 0.693252 -vt 0.729167 0.693252 -vt 0.729167 0.791411 -vt 0.701389 0.791411 -vt 0.590278 0.791411 -vt 0.840278 0.791411 -vt 0.145833 0.644172 -vt 0.340278 0.595092 -vt 0.340278 0.644172 -vt 0.729167 0.496933 -vt 0.756944 0.484663 -vt 0.756944 0.496933 -vt 0.673611 0.496933 -vt 0.701389 0.484663 -vt 0.701389 0.496933 -vt 0.694444 0.319018 -vt 0.694444 0.337423 -vt 0.729167 0.429448 -vt 0.729167 0.411043 -vt 0.729167 0.374233 -vt 0.729167 0.355828 -vt 0.694444 0.300613 -vt 0.729167 0.337423 -vt 0.694444 0.282209 -vt 0.729167 0.319018 -vt 0.694444 0.263804 -vt 0.729167 0.300613 -vt 0.694444 0.245399 -vt 0.729167 0.282209 -vt 0.694444 0.226994 -vt 0.729167 0.263804 -vt 0.694444 0.208589 -vt 0.729167 0.245399 -vt 0.694444 0.190184 -vt 0.729167 0.226994 -vt 0.694444 0.466258 -vt 0.694444 0.484663 -vt 0.729167 0.208589 -vt 0.694444 0.447853 -vt 0.694444 0.392638 -vt 0.694444 0.411043 -vt 0.729167 0.190184 -vt 0.694444 0.429448 -vt 0.694444 0.374233 -vt 0.729167 0.484663 -vt 0.729167 0.466258 -vt 0.694444 0.355828 -vt 0.729167 0.447853 -vt 0.729167 0.392638 -vt 0.194444 0.717791 -vt 0.111111 0.717791 -vt 0.187500 0.644172 -vt 0.125000 0.644172 -vt 0.000000 0.717791 -vt 0.000000 0.699386 -vt 0.840278 0.607362 -vt 0.854167 0.496933 -vt 0.854167 0.607362 -vt 0.840278 0.693252 -vt 0.854167 0.693252 -vt 0.854167 0.791411 -vt 0.840278 0.791411 -vt 0.187500 0.644172 -vt 0.715278 0.791411 -vt 0.701389 0.496933 -vt 0.145833 0.595092 -vt 0.729167 0.484663 -vt 0.673611 0.484663 -vt 0.840278 0.496933 -vn 0.0000 -1.0000 0.0000 -vn -0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.0000 0.0000 1.0000 -vn 0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.7071 -0.0000 -0.7071 -vn -0.7071 -0.0000 0.7071 -vn -0.3162 -0.0000 -0.9487 -vn 0.3162 0.0000 -0.9487 -vn 0.3162 0.0000 0.9487 -vn -0.3162 -0.0000 0.9487 -vn -0.1104 -0.9939 0.0000 -vn 0.1104 -0.9939 0.0000 -vn 0.1104 0.9939 0.0000 -vn -0.1104 0.9939 0.0000 -vn -0.3162 0.9487 0.0000 -vn 0.3162 0.9487 0.0000 -vn -0.8944 -0.4472 0.0000 -vn 0.8944 -0.4472 0.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.3123 -0.1562 -0.9370 -vn -0.3123 -0.1562 -0.9370 -vn 0.0000 -0.7071 0.7071 -vn -0.3123 -0.1562 0.9370 -vn 0.3123 -0.1562 0.9370 -vn -0.1489 -0.2978 -0.9429 -vn -0.1622 -0.5900 -0.7909 -vn -0.0976 -0.3049 -0.9473 -vn 0.1489 -0.2978 -0.9429 -vn 0.0976 -0.3049 -0.9473 -vn 0.1622 -0.5900 -0.7909 -vn 0.3431 -0.9113 -0.2275 -vn 0.2316 -0.9265 -0.2965 -vn 0.1566 -0.5372 -0.8288 -vn -0.2316 -0.9265 -0.2965 -vn -0.3431 -0.9113 -0.2275 -vn -0.1566 -0.5372 -0.8288 -vn 0.2756 -0.3890 0.8790 -vn -0.3458 -0.6635 0.6635 -vn 0.3458 -0.6635 0.6635 -vn 0.1194 0.1874 0.9750 -vn -0.2756 -0.3890 0.8790 -vn -0.5296 -0.7133 0.4590 -vn -0.5761 -0.6748 0.4612 -vn 0.5296 -0.7132 0.4590 -vn 0.5761 -0.6748 0.4612 -vn -0.5420 -0.1779 0.8213 -vn -0.1194 0.1874 0.9750 -vn 0.5420 -0.1779 0.8213 -vn 0.0000 0.5145 0.8575 -vn -0.7466 0.6634 0.0495 -vn -0.9031 0.3471 0.2525 -vn -0.6895 0.6510 0.3172 -vn 0.6337 -0.2249 -0.7401 -vn 0.1905 -0.4235 -0.8856 -vn 0.3595 -0.2069 -0.9099 -vn -0.9961 0.0523 -0.0710 -vn -0.9000 0.3082 0.3083 -vn 0.4410 -0.3491 -0.8268 -vn -0.6337 -0.2249 -0.7401 -vn -0.3595 -0.2069 -0.9099 -vn -0.1905 -0.4235 -0.8856 -vn -0.7644 0.6446 -0.0149 -vn -0.9875 0.0000 -0.1572 -vn -0.3827 0.0000 -0.9239 -vn -0.9975 -0.0083 0.0696 -vn -0.9628 -0.2700 0.0069 -vn -0.9455 -0.3254 0.0000 -vn -0.7295 0.6840 0.0000 -vn -0.4410 -0.3491 -0.8268 -vn -0.9936 0.0000 0.1128 -vn 0.3827 0.0000 -0.9239 -vn -0.9363 -0.3511 0.0000 -vn 0.9975 -0.0083 0.0696 -vn 0.9628 -0.2700 0.0069 -vn 0.9936 0.0000 0.1128 -vn -0.7179 0.6428 0.2672 -vn 0.9455 -0.3254 0.0000 -vn 0.9363 -0.3511 0.0000 -vn -0.4072 0.4699 0.7831 -vn -0.1489 0.2978 0.9429 -vn -0.1613 0.6007 0.7830 -vn -0.0976 0.3049 0.9473 -vn 0.1489 0.2978 0.9429 -vn 0.0976 0.3049 0.9473 -vn 0.1613 0.6007 0.7830 -vn -0.1614 0.5435 0.8237 -vn 0.1614 0.5435 0.8237 -vn 0.3768 0.9069 0.1884 -vn -0.3768 0.9069 0.1884 -vn 0.2327 0.9310 0.2812 -vn -0.2327 0.9310 0.2812 -vn -0.3317 0.9384 -0.0971 -vn 0.3317 0.9384 -0.0971 -vn 0.5959 0.6810 -0.4256 -vn -0.5959 0.6810 -0.4256 -vn -0.4472 0.8944 0.0000 -vn 0.4472 0.8944 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.0000 -0.7462 0.6657 -vn 0.9239 -0.3827 0.0000 -vn 0.6571 0.0000 0.7537 -vn 0.2515 0.6071 0.7537 -vn 0.3827 0.9239 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 0.2855 -0.6894 0.6657 -vn 0.0000 0.6571 0.7537 -vn 0.5276 -0.5276 0.6657 -vn -0.2515 0.6071 0.7537 -vn -0.3827 0.9239 0.0000 -vn 0.6894 -0.2855 0.6657 -vn -0.4646 0.4646 0.7537 -vn 0.9239 0.3827 0.0000 -vn 0.7462 0.0000 0.6657 -vn -0.6071 0.2515 0.7537 -vn -0.9239 0.3827 0.0000 -vn 0.6894 0.2855 0.6657 -vn -0.6571 0.0000 0.7537 -vn 0.5276 0.5276 0.6657 -vn -0.6071 -0.2515 0.7537 -vn -0.9239 -0.3827 0.0000 -vn 0.2855 0.6894 0.6657 -vn -0.4646 -0.4646 0.7537 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 0.7462 0.6657 -vn -0.2515 -0.6071 0.7537 -vn -0.3827 -0.9239 0.0000 -vn -0.2855 0.6894 0.6657 -vn -0.7462 0.0000 0.6657 -vn 0.0000 -0.6571 0.7537 -vn -0.5276 0.5276 0.6657 -vn -0.6894 -0.2855 0.6657 -vn 0.2515 -0.6071 0.7537 -vn -0.6894 0.2855 0.6657 -vn -0.5276 -0.5276 0.6657 -vn 0.4646 -0.4646 0.7537 -vn 0.6071 0.2515 0.7537 -vn -0.2855 -0.6894 0.6657 -vn 0.6071 -0.2515 0.7537 -vn 0.4646 0.4646 0.7537 -vn 0.4072 0.4699 0.7831 -vn 0.6895 0.6510 0.3172 -vn 0.7179 0.6428 0.2672 -vn 0.7466 0.6634 0.0495 -vn 0.9000 0.3083 0.3083 -vn 0.9031 0.3471 0.2525 -vn 0.7295 0.6840 0.0000 -vn 0.7644 0.6446 -0.0149 -vn 0.9961 0.0523 -0.0710 -vn 0.9875 0.0000 -0.1572 -s off -f 621/919/261 624/920/261 622/921/261 -f 630/922/261 627/923/261 628/924/261 -f 709/925/262 736/926/262 728/927/262 -f 712/928/262 735/929/262 733/930/262 -f 729/931/263 728/932/263 625/933/263 -f 737/934/262 711/935/262 732/936/262 -f 635/937/264 629/938/264 631/939/264 -f 634/940/265 632/941/265 630/922/265 -f 638/942/262 633/943/262 635/937/262 -f 639/944/262 636/945/262 634/940/262 -f 642/946/266 637/947/266 638/948/266 -f 643/949/267 640/950/267 639/951/267 -f 642/946/262 643/949/262 641/952/262 -f 638/953/268 644/954/268 642/955/268 -f 641/952/263 639/956/263 637/957/263 -f 629/938/263 637/957/263 639/956/263 -f 638/953/268 635/958/268 631/959/268 -f 625/960/261 630/922/261 628/961/261 -f 631/939/261 625/962/261 626/963/261 -f 632/941/261 626/964/261 627/965/261 -f 664/966/262 661/967/262 662/968/262 -f 657/969/261 660/970/261 658/971/261 -f 653/972/263 652/973/263 651/974/263 -f 655/975/263 654/976/263 653/972/263 -f 649/977/266 653/978/266 647/979/266 -f 650/980/262 655/975/262 649/977/262 -f 646/981/265 654/976/265 648/982/265 -f 645/983/261 652/973/261 646/984/261 -f 648/985/267 656/986/267 650/980/267 -f 647/987/264 651/974/264 645/988/264 -f 658/971/268 661/967/268 657/969/268 -f 660/989/265 662/968/265 658/971/265 -f 657/969/264 663/990/264 659/991/264 -f 665/992/264 671/993/264 667/994/264 -f 667/995/262 672/996/262 668/997/262 -f 668/998/265 670/999/265 666/1000/265 -f 670/999/261 665/1001/261 666/1002/261 -f 672/996/268 669/1003/268 670/999/268 -f 679/1004/263 683/1005/263 677/1006/263 -f 680/1007/264 677/1006/264 678/1008/264 -f 673/1009/261 683/1005/261 681/1010/261 -f 674/1011/261 677/1006/261 673/1012/261 -f 675/1013/262 684/1014/262 679/1004/262 -f 675/1015/262 680/1007/262 676/1016/262 -f 683/1005/269 682/1017/269 681/1018/269 -f 674/1019/261 687/1020/261 678/1008/261 -f 676/1021/262 688/1022/262 686/1023/262 -f 678/1008/268 688/1022/268 680/1007/268 -f 685/1024/270 688/1022/270 687/1020/270 -f 689/1025/265 692/1026/265 690/1027/265 -f 694/1028/262 691/1029/262 693/1030/262 -f 689/1025/261 696/1031/261 695/1032/261 -f 695/1033/261 697/1034/261 689/1025/261 -f 693/1035/262 698/1036/262 699/1037/262 -f 689/1025/263 698/1036/263 691/1029/263 -f 700/1038/271 698/1036/271 697/1034/271 -f 696/1039/261 701/1040/261 704/1041/261 -f 694/1042/262 702/1043/262 692/1026/262 -f 692/1026/268 701/1040/268 690/1027/268 -f 702/1043/272 704/1044/272 701/1040/272 -f 709/925/263 715/1045/263 717/1046/263 -f 710/1047/263 716/1048/263 714/1049/263 -f 718/1050/263 715/1045/263 716/1048/263 -f 719/1051/264 707/1052/264 705/1053/264 -f 722/1054/265 706/1055/265 708/1056/265 -f 709/925/273 719/1051/273 705/1053/273 -f 720/1057/274 710/1047/274 706/1055/274 -f 711/935/268 724/1058/268 712/928/268 -f 724/1058/275 708/1056/275 712/928/275 -f 707/1059/276 723/1060/276 711/935/276 -f 715/1061/262 731/1062/262 716/1063/262 -f 716/1063/266 729/1064/266 714/1049/266 -f 727/1065/261 741/1066/261 743/1067/261 -f 726/1068/261 744/1069/261 738/1070/261 -f 712/928/262 732/936/262 711/935/262 -f 734/1071/262 708/1056/262 706/1055/262 -f 737/1072/262 705/1053/262 707/1052/262 -f 627/1073/265 734/1074/265 628/1075/265 -f 626/1076/268 732/1077/268 733/1078/268 -f 625/933/264 737/1079/264 626/1080/264 -f 728/927/267 715/1061/267 713/1081/267 -f 734/1082/262 710/1047/262 729/1064/262 -f 745/1083/277 726/1084/277 739/1085/277 -f 727/1086/278 746/1087/278 740/1088/278 -f 725/1089/264 749/1090/264 741/1066/264 -f 750/1091/265 738/1070/265 744/1069/265 -f 746/1087/263 752/1092/263 754/1093/263 -f 745/1083/263 751/1094/263 742/1095/263 -f 743/1096/273 749/1090/273 752/1092/273 -f 742/1095/274 750/1091/274 744/1069/274 -f 752/1097/279 758/1098/279 754/1093/279 -f 757/1099/280 751/1100/280 753/1101/280 -f 756/1102/281 749/1090/281 747/1103/281 -f 754/1093/265 740/1088/265 746/1087/265 -f 739/1085/264 753/1101/264 745/1083/264 -f 750/1091/282 755/1104/282 748/1105/282 -f 721/1106/283 621/1107/283 622/1108/283 -f 720/1057/284 624/1109/284 623/1110/284 -f 623/1111/285 717/1046/285 718/1050/285 -f 718/1050/286 720/1057/286 623/1111/286 -f 717/1046/287 621/919/287 719/1051/287 -f 724/1058/288 622/1112/288 624/1113/288 -f 721/1114/289 622/1112/289 723/1060/289 -f 722/1054/290 724/1058/290 624/1113/290 -f 807/1115/268 810/1116/268 808/1117/268 -f 805/1118/264 807/1115/264 803/1119/264 -f 806/1120/261 809/1121/261 805/1122/261 -f 804/1123/265 810/1116/265 806/1124/265 -f 803/1125/262 808/1117/262 804/1126/262 -f 853/1127/268 870/1128/268 869/1129/268 -f 854/1130/268 871/1131/268 870/1128/268 -f 856/1132/268 871/1133/268 855/1134/268 -f 857/1135/268 872/1136/268 856/1132/268 -f 857/1135/268 874/1137/268 873/1138/268 -f 844/1139/268 874/1137/268 858/1140/268 -f 844/1139/268 859/1141/268 860/1142/268 -f 843/1143/268 861/1144/268 859/1141/268 -f 845/1145/268 862/1146/268 861/1144/268 -f 847/1147/268 862/1146/268 846/1148/268 -f 847/1147/268 864/1149/268 863/1150/268 -f 849/1151/268 864/1149/268 848/1152/268 -f 850/1153/268 865/1154/268 849/1151/268 -f 851/1155/268 866/1156/268 850/1153/268 -f 851/1155/268 868/1157/268 867/1158/268 -f 853/1127/268 868/1157/268 852/1159/268 -f 938/1160/268 939/1161/268 937/1162/268 -f 942/1163/268 943/1164/268 941/1165/268 -f 946/1166/268 947/1167/268 945/1168/268 -f 950/1169/268 951/1170/268 949/1171/268 -f 954/1172/268 955/1173/268 953/1174/268 -f 958/1175/268 959/1176/268 957/1177/268 -f 962/1178/268 963/1179/268 961/1180/268 -f 966/1181/268 967/1182/268 965/1183/268 -f 621/919/261 623/1111/261 624/920/261 -f 630/922/261 632/941/261 627/923/261 -f 728/927/262 713/1081/262 709/925/262 -f 709/925/262 705/1184/262 736/926/262 -f 712/928/262 708/1185/262 735/929/262 -f 625/933/263 628/1075/263 729/931/263 -f 628/1075/263 734/1074/263 729/931/263 -f 729/931/263 731/1186/263 730/1187/263 -f 728/932/263 736/1188/263 625/933/263 -f 729/931/263 730/1187/263 728/932/263 -f 737/934/262 707/1189/262 711/935/262 -f 635/937/264 633/943/264 629/938/264 -f 634/940/265 636/945/265 632/941/265 -f 638/942/262 637/1190/262 633/943/262 -f 639/944/262 640/1191/262 636/945/262 -f 642/946/266 641/952/266 637/947/266 -f 643/949/267 644/1192/267 640/950/267 -f 642/946/262 644/1192/262 643/949/262 -f 638/953/268 640/1193/268 644/954/268 -f 641/952/263 643/949/263 639/956/263 -f 634/940/263 630/922/263 639/956/263 -f 630/922/263 629/938/263 639/956/263 -f 629/938/263 633/943/263 637/957/263 -f 631/959/268 632/941/268 640/1193/268 -f 632/941/268 636/945/268 640/1193/268 -f 640/1193/268 638/953/268 631/959/268 -f 625/960/261 629/938/261 630/922/261 -f 631/939/261 629/938/261 625/962/261 -f 632/941/261 631/959/261 626/964/261 -f 664/966/262 663/1194/262 661/967/262 -f 657/969/261 659/1195/261 660/970/261 -f 653/972/263 654/976/263 652/973/263 -f 655/975/263 656/986/263 654/976/263 -f 649/977/266 655/975/266 653/978/266 -f 650/980/262 656/986/262 655/975/262 -f 646/981/265 652/973/265 654/976/265 -f 645/983/261 651/974/261 652/973/261 -f 648/985/267 654/1196/267 656/986/267 -f 647/987/264 653/972/264 651/974/264 -f 658/971/268 662/968/268 661/967/268 -f 660/989/265 664/1197/265 662/968/265 -f 657/969/264 661/967/264 663/990/264 -f 665/992/264 669/1003/264 671/993/264 -f 667/995/262 671/993/262 672/996/262 -f 668/998/265 672/996/265 670/999/265 -f 670/999/261 669/1003/261 665/1001/261 -f 672/996/268 671/993/268 669/1003/268 -f 679/1004/263 684/1014/263 683/1005/263 -f 680/1007/264 679/1004/264 677/1006/264 -f 673/1009/261 677/1006/261 683/1005/261 -f 674/1011/261 678/1008/261 677/1006/261 -f 675/1013/262 682/1198/262 684/1014/262 -f 675/1015/262 679/1004/262 680/1007/262 -f 683/1005/269 684/1014/269 682/1017/269 -f 674/1019/261 685/1199/261 687/1020/261 -f 676/1021/262 680/1007/262 688/1022/262 -f 678/1008/268 687/1020/268 688/1022/268 -f 685/1024/270 686/1200/270 688/1022/270 -f 689/1025/265 691/1029/265 692/1026/265 -f 694/1028/262 692/1026/262 691/1029/262 -f 689/1025/261 690/1027/261 696/1031/261 -f 695/1033/261 700/1201/261 697/1034/261 -f 693/1035/262 691/1029/262 698/1036/262 -f 689/1025/263 697/1034/263 698/1036/263 -f 700/1038/271 699/1202/271 698/1036/271 -f 696/1039/261 690/1027/261 701/1040/261 -f 694/1042/262 703/1203/262 702/1043/262 -f 692/1026/268 702/1043/268 701/1040/268 -f 702/1043/272 703/1204/272 704/1044/272 -f 709/925/263 713/1081/263 715/1045/263 -f 710/1047/263 718/1050/263 716/1048/263 -f 718/1050/263 717/1046/263 715/1045/263 -f 719/1051/264 721/1106/264 707/1052/264 -f 722/1054/265 720/1057/265 706/1055/265 -f 709/925/273 717/1046/273 719/1051/273 -f 720/1057/274 718/1050/274 710/1047/274 -f 711/935/268 723/1060/268 724/1058/268 -f 724/1058/275 722/1054/275 708/1056/275 -f 707/1059/276 721/1114/276 723/1060/276 -f 715/1061/262 730/1205/262 731/1062/262 -f 716/1063/266 731/1062/266 729/1064/266 -f 727/1065/261 725/1089/261 741/1066/261 -f 726/1068/261 742/1206/261 744/1069/261 -f 712/928/262 733/930/262 732/936/262 -f 734/1071/262 735/1207/262 708/1056/262 -f 737/1072/262 736/1208/262 705/1053/262 -f 627/1073/265 735/1209/265 734/1074/265 -f 735/1209/268 627/1073/268 733/1078/268 -f 627/1073/268 626/1076/268 733/1078/268 -f 626/1076/268 737/1210/268 732/1077/268 -f 625/933/264 736/1188/264 737/1079/264 -f 728/927/267 730/1205/267 715/1061/267 -f 706/1211/262 710/1047/262 734/1082/262 -f 710/1047/262 714/1049/262 729/1064/262 -f 745/1083/277 742/1212/277 726/1084/277 -f 727/1086/278 743/1213/278 746/1087/278 -f 725/1089/264 747/1103/264 749/1090/264 -f 750/1091/265 748/1105/265 738/1070/265 -f 746/1087/263 743/1096/263 752/1092/263 -f 745/1083/263 753/1101/263 751/1094/263 -f 743/1096/273 741/1066/273 749/1090/273 -f 742/1095/274 751/1094/274 750/1091/274 -f 752/1097/279 756/1214/279 758/1098/279 -f 757/1099/280 755/1215/280 751/1100/280 -f 756/1102/281 752/1216/281 749/1090/281 -f 754/1093/265 758/1098/265 740/1088/265 -f 739/1085/264 757/1099/264 753/1101/264 -f 750/1091/282 751/1217/282 755/1104/282 -f 721/1106/283 719/1051/283 621/1107/283 -f 720/1057/284 722/1054/284 624/1109/284 -f 623/1111/285 621/919/285 717/1046/285 -f 724/1058/288 723/1060/288 622/1112/288 -f 807/1115/268 809/1121/268 810/1116/268 -f 805/1118/264 809/1121/264 807/1115/264 -f 806/1120/261 810/1116/261 809/1121/261 -f 804/1123/265 808/1117/265 810/1116/265 -f 803/1125/262 807/1115/262 808/1117/262 -f 853/1127/268 854/1130/268 870/1128/268 -f 854/1130/268 855/1218/268 871/1131/268 -f 856/1132/268 872/1136/268 871/1133/268 -f 857/1135/268 873/1138/268 872/1136/268 -f 857/1135/268 858/1140/268 874/1137/268 -f 844/1139/268 860/1142/268 874/1137/268 -f 844/1139/268 843/1143/268 859/1141/268 -f 843/1143/268 845/1145/268 861/1144/268 -f 845/1145/268 846/1148/268 862/1146/268 -f 847/1147/268 863/1150/268 862/1146/268 -f 847/1147/268 848/1152/268 864/1149/268 -f 849/1151/268 865/1154/268 864/1149/268 -f 850/1153/268 866/1156/268 865/1154/268 -f 851/1155/268 867/1158/268 866/1156/268 -f 851/1155/268 852/1159/268 868/1157/268 -f 853/1127/268 869/1129/268 868/1157/268 -f 938/1160/268 940/1219/268 939/1161/268 -f 942/1163/268 944/1220/268 943/1164/268 -f 946/1166/268 948/1221/268 947/1167/268 -f 950/1169/268 952/1222/268 951/1170/268 -f 954/1172/268 956/1223/268 955/1173/268 -f 958/1175/268 960/1224/268 959/1176/268 -f 962/1178/268 964/1225/268 963/1179/268 -f 966/1181/268 968/1226/268 967/1182/268 -s 1 -f 768/1227/291 766/1228/292 770/1229/293 -f 767/1230/294 769/1231/295 765/1232/296 -f 765/1232/296 771/1233/297 763/1234/298 -f 771/1233/297 765/1232/296 772/1235/299 -f 769/1231/295 772/1235/299 765/1232/296 -f 764/1236/300 773/1237/301 766/1228/292 -f 766/1228/292 773/1237/301 774/1238/302 -f 766/1228/292 774/1238/302 770/1229/293 -f 776/1239/303 759/1240/304 760/1241/305 -f 778/1242/306 775/1243/307 776/1239/303 -f 762/1244/308 773/1237/301 764/1236/300 -f 773/1237/301 762/1244/308 780/1245/309 -f 763/1234/298 771/1233/297 761/1246/310 -f 771/1233/297 779/1247/311 761/1246/310 -f 762/1248/308 759/1240/304 780/1249/309 -f 775/1243/307 780/1249/309 759/1240/304 -f 780/1249/309 775/1243/307 782/1250/312 -f 775/1243/307 777/1251/313 782/1250/312 -f 776/1239/303 781/1252/314 778/1242/306 -f 781/1252/314 776/1239/303 779/1253/311 -f 776/1239/303 760/1241/305 779/1253/311 -f 761/1254/310 779/1253/311 760/1241/305 -f 778/1242/306 783/1255/315 777/1251/313 -f 902/1256/316 906/1257/317 900/1258/318 -f 930/1259/319 927/1260/320 933/1261/321 -f 906/1262/317 896/1263/322 899/1264/323 -f 932/1265/324 927/1260/320 930/1259/319 -f 929/1266/325 934/1267/326 928/1268/327 -f 904/1269/328 896/1263/322 905/1270/329 -f 934/1267/326 925/1271/271 924/1272/330 -f 916/1273/331 919/1274/332 917/1275/333 -f 897/1276/334 903/1277/266 895/1278/266 -f 931/1279/335 929/1266/325 928/1268/327 -f 915/1280/264 922/1281/336 916/1273/331 -f 926/1282/269 933/1261/321 923/1283/337 -f 923/1283/337 934/1267/326 924/1272/330 -f 917/1275/333 920/1284/338 918/1285/338 -f 908/1286/339 911/1287/340 914/1288/341 -f 900/1258/318 906/1257/317 899/1289/323 -f 901/1290/342 902/1256/316 900/1258/318 -f 908/1286/339 913/1291/265 907/1292/265 -f 909/1293/343 912/1294/344 911/1287/340 -f 898/1295/345 901/1290/342 900/1258/318 -f 787/1296/346 785/1297/347 789/1298/348 -f 788/1299/349 790/1300/350 786/1301/351 -f 789/1298/348 785/1297/347 791/1302/352 -f 790/1300/350 792/1303/353 786/1301/351 -f 798/1304/354 786/1301/351 792/1303/353 -f 797/1305/355 791/1302/352 785/1297/347 -f 786/1301/351 798/1304/354 796/1306/356 -f 785/1297/347 795/1307/357 797/1305/355 -f 795/1307/357 793/1308/358 797/1305/355 -f 794/1309/359 796/1306/356 798/1304/354 -f 798/1304/354 800/1310/360 794/1309/359 -f 797/1305/355 793/1308/358 799/1311/361 -f 801/1312/262 935/1313/262 802/1314/262 -f 875/1315/362 881/1316/362 877/1317/362 -f 878/1318/363 880/1319/363 876/1320/363 -f 816/1321/364 847/1147/365 815/1322/261 -f 842/1323/366 860/1142/367 827/1324/265 -f 829/1325/267 862/1146/368 830/1326/369 -f 817/1327/370 848/1152/371 816/1321/364 -f 830/1326/369 863/1150/372 831/1328/262 -f 818/1329/366 849/1151/373 817/1327/370 -f 831/1328/262 864/1149/374 832/1330/375 -f 819/1331/265 850/1153/376 818/1329/366 -f 832/1330/375 865/1154/377 833/1332/266 -f 820/1333/378 851/1155/379 819/1331/265 -f 833/1332/266 866/1156/380 834/1334/381 -f 821/1335/267 852/1159/382 820/1333/378 -f 834/1334/381 867/1158/383 835/1336/264 -f 822/1337/369 853/1127/384 821/1335/267 -f 835/1336/264 868/1157/385 836/1338/386 -f 823/1339/262 854/1130/387 822/1337/369 -f 836/1338/386 869/1129/388 837/1340/389 -f 824/1341/375 855/1134/390 823/1342/262 -f 837/1340/389 870/1128/391 838/1343/392 -f 825/1344/266 856/1132/393 824/1341/375 -f 812/1345/386 844/1139/394 811/1346/264 -f 838/1343/392 871/1131/395 839/1347/261 -f 826/1348/381 857/1135/396 825/1344/266 -f 813/1349/389 843/1143/397 812/1345/386 -f 839/1350/261 872/1136/398 840/1351/364 -f 811/1346/264 858/1140/399 826/1348/381 -f 814/1352/392 845/1145/400 813/1349/389 -f 840/1351/364 873/1138/401 841/1353/370 -f 827/1324/265 859/1141/402 828/1354/378 -f 815/1322/261 846/1148/403 814/1352/392 -f 841/1353/370 874/1137/404 842/1323/366 -f 828/1354/378 861/1144/405 829/1325/267 -f 886/1355/406 888/1356/407 889/1357/408 -f 889/1357/408 888/1356/407 890/1358/409 -f 888/1356/407 887/1359/410 894/1360/411 -f 885/1361/412 891/1362/267 892/1363/413 -f 884/1364/414 892/1363/413 893/1365/415 -f 884/1364/414 894/1366/411 887/1367/410 -f 890/1358/409 888/1356/407 894/1360/411 -f 934/1267/326 927/1260/320 928/1268/327 -f 776/1239/303 775/1243/307 759/1240/304 -f 778/1242/306 777/1251/313 775/1243/307 -f 778/1242/306 784/1368/315 783/1255/315 -f 906/1262/317 905/1270/329 896/1263/322 -f 904/1269/328 897/1276/334 896/1263/322 -f 934/1267/326 929/1266/325 925/1271/271 -f 916/1273/331 922/1281/336 919/1274/332 -f 897/1276/334 904/1269/328 903/1277/266 -f 915/1280/264 921/1369/264 922/1281/336 -f 926/1282/269 930/1259/319 933/1261/321 -f 923/1283/337 933/1261/321 934/1267/326 -f 917/1275/333 919/1274/332 920/1284/338 -f 908/1286/339 909/1293/343 911/1287/340 -f 908/1286/339 914/1288/341 913/1291/265 -f 909/1293/343 910/1370/344 912/1294/344 -f 801/1312/262 936/1371/262 935/1313/262 -f 875/1315/362 879/1372/362 881/1316/362 -f 878/1318/363 882/1373/363 880/1319/363 -f 816/1321/364 848/1152/371 847/1147/365 -f 842/1323/366 874/1137/404 860/1142/367 -f 829/1325/267 861/1144/405 862/1146/368 -f 817/1327/370 849/1151/373 848/1152/371 -f 830/1326/369 862/1146/368 863/1150/372 -f 818/1329/366 850/1153/376 849/1151/373 -f 831/1328/262 863/1150/372 864/1149/374 -f 819/1331/265 851/1155/379 850/1153/376 -f 832/1330/375 864/1149/374 865/1154/377 -f 820/1333/378 852/1159/382 851/1155/379 -f 833/1332/266 865/1154/377 866/1156/380 -f 821/1335/267 853/1127/384 852/1159/382 -f 834/1334/381 866/1156/380 867/1158/383 -f 822/1337/369 854/1130/387 853/1127/384 -f 835/1336/264 867/1158/383 868/1157/385 -f 823/1339/262 855/1218/390 854/1130/387 -f 836/1338/386 868/1157/385 869/1129/388 -f 824/1341/375 856/1132/393 855/1134/390 -f 837/1340/389 869/1129/388 870/1128/391 -f 825/1344/266 857/1135/396 856/1132/393 -f 812/1345/386 843/1143/397 844/1139/394 -f 838/1343/392 870/1128/391 871/1131/395 -f 826/1348/381 858/1140/399 857/1135/396 -f 813/1349/389 845/1145/400 843/1143/397 -f 839/1350/261 871/1133/395 872/1136/398 -f 811/1346/264 844/1139/394 858/1140/399 -f 814/1352/392 846/1148/403 845/1145/400 -f 840/1351/364 872/1136/398 873/1138/401 -f 827/1324/265 860/1142/367 859/1141/402 -f 815/1322/261 847/1147/365 846/1148/403 -f 841/1353/370 873/1138/401 874/1137/404 -f 828/1354/378 859/1141/402 861/1144/405 -f 885/1361/412 883/1374/267 891/1362/267 -f 884/1364/414 885/1361/412 892/1363/413 -f 884/1364/414 893/1365/415 894/1366/411 -f 934/1267/326 933/1261/321 927/1260/320 -o LeftLeg -v 4.207817 18.567188 -2.139844 -v 2.557822 11.417187 -2.139844 -v -0.192183 18.567184 -2.139844 -v -0.192177 11.417185 -2.139844 -v 4.207817 18.567188 2.260156 -v 2.557822 11.417187 2.260156 -v -0.192183 18.567184 2.260156 -v -0.192177 11.417185 2.260156 -v 4.482818 17.467190 2.535156 -v -0.467182 17.467186 2.535156 -v 4.482823 11.417189 2.535156 -v -0.467179 13.617186 2.535156 -v 2.557822 11.417187 2.535156 -v 3.657817 18.567188 2.260156 -v 0.357817 18.567186 2.260156 -v 3.107816 19.667189 2.260156 -v 0.907816 19.667187 2.260156 -v 4.482823 11.417189 -2.414844 -v 2.557822 11.417187 -2.414844 -v -0.467182 17.467186 -2.414844 -v -0.467179 13.617186 -2.414844 -v 4.482818 17.467190 -2.414844 -v 4.207818 17.467190 -2.139844 -v -0.192182 17.467186 -2.139844 -v 4.207818 17.467190 2.260156 -v -0.192182 17.467186 2.260156 -v 2.557821 13.617188 -2.139844 -v -0.192179 13.617186 -2.139844 -v -0.192179 13.617186 2.260156 -v 2.557821 13.617188 2.260156 -v 3.107816 20.217188 -2.414844 -v 0.907816 20.217186 -2.414844 -v 2.557816 19.667187 -2.964844 -v 1.457816 19.667187 -2.964844 -v 3.107817 18.567188 -2.964844 -v 0.907817 18.567186 -2.964844 -v 3.107819 16.367188 -2.964844 -v 0.907819 16.367188 -2.964844 -v 3.657817 18.567188 -2.414844 -v 0.357817 18.567186 -2.414844 -v 3.657819 16.367188 -2.414844 -v 0.357819 16.367186 -2.414844 -v 3.657817 18.567188 -2.139844 -v 0.357817 18.567186 -2.139844 -v 3.657819 16.367188 -2.139844 -v 0.357819 16.367186 -2.139844 -vt 0.861111 0.084211 -vt 0.638889 0.189474 -vt 0.638889 0.084211 -vt 0.847222 0.810526 -vt 0.750000 0.578947 -vt 1.000000 0.726316 -vt 0.402778 1.000000 -vt 0.500000 0.810526 -vt 0.500000 1.000000 -vt 0.000000 0.578947 -vt 0.250000 0.726316 -vt 0.000000 0.726316 -vt 0.250000 0.810526 -vt 0.250000 1.000000 -vt 0.750000 0.810526 -vt 0.500000 0.578947 -vt 0.250000 0.578947 -vt 0.513889 0.568421 -vt 0.736111 0.568421 -vt 0.236111 0.568421 -vt 1.000000 0.578947 -vt 0.763889 0.568421 -vt 0.986111 0.568421 -vt 0.486111 0.568421 -vt 0.444444 0.526316 -vt 0.222222 0.568421 -vt 0.222222 0.526316 -vt 0.861111 -0.000000 -vt 0.500000 0.084211 -vt 0.638889 -0.000000 -vt 1.000000 -0.000000 -vt 1.000000 0.084211 -vt 0.833333 0.484211 -vt 0.694444 0.526316 -vt 0.722222 0.484211 -vt 0.000000 0.526316 -vt 0.666667 0.568421 -vt 0.666667 0.526316 -vt 0.861111 0.526316 -vt 0.888889 0.568421 -vt 0.625000 0.831579 -vt 0.541667 0.810526 -vt 0.652778 0.810526 -vt 0.541667 0.873684 -vt 0.569444 0.831579 -vt 0.652778 0.873684 -vt 0.541667 0.957895 -vt 0.680556 0.957895 -vt 0.652778 0.957895 -vt 0.513889 0.873684 -vt 0.680556 0.873684 -vt 0.513889 0.978947 -vt 0.694444 0.957895 -vt 0.513889 0.957895 -vt 0.500000 0.873684 -vt 0.861111 0.189474 -vt 0.402778 0.810526 -vt 0.013889 0.568421 -vt 0.263889 0.568421 -vt 0.444444 0.568421 -vt 0.500000 -0.000000 -vt -0.000000 0.568421 -vt 0.888889 0.526316 -vt 0.680556 0.978947 -vt 0.694444 0.873684 -vt 0.500000 0.957895 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 -0.0000 0.0000 -vn -0.5882 -0.8087 0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn -0.0000 0.7071 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 -0.0000 -0.7071 -vn 0.5883 0.1961 -0.7845 -vn -0.5884 0.1961 -0.7845 -vn 0.6667 0.3333 -0.6667 -vn -0.6667 0.3333 -0.6667 -s off -f 972/1375/416 974/1376/416 976/1377/416 -f 981/1378/417 977/1379/417 980/1380/417 -f 981/1381/416 986/1382/416 979/1383/416 -f 978/1384/418 989/1385/418 980/1386/418 -f 989/1387/419 981/1381/419 980/1388/419 -f 979/1389/420 990/1390/420 977/1379/420 -f 989/1385/421 988/1391/421 990/1390/421 -f 977/1379/422 991/1392/422 993/1393/422 -f 978/1384/422 992/1394/422 988/1391/422 -f 978/1395/422 993/1396/422 994/1397/422 -f 988/1391/422 991/1398/422 990/1390/422 -f 969/1399/421 992/1400/421 971/1401/421 -f 976/1377/418 996/1402/418 972/1375/418 -f 974/1403/417 997/1404/417 976/1377/417 -f 972/1375/421 995/1405/421 970/1406/421 -f 985/1407/417 982/1408/417 984/1409/417 -f 992/1400/418 975/1410/418 971/1401/418 -f 993/1411/420 969/1399/420 973/1412/420 -f 983/1413/417 994/1414/417 993/1411/417 -f 1001/1415/423 1000/1416/423 999/1417/423 -f 1001/1415/421 1004/1418/421 1002/1419/421 -f 1003/1420/421 1006/1421/421 1004/1418/421 -f 1003/1420/424 1009/1422/424 1005/1423/424 -f 1006/1421/425 1008/1424/425 1004/1418/425 -f 1007/1425/426 1001/1415/426 999/1417/426 -f 1002/1419/427 1008/1424/427 1000/1416/427 -f 1005/1423/416 1010/1426/416 1006/1421/416 -f 1007/1425/420 1013/1427/420 1009/1422/420 -f 1010/1428/418 1012/1429/418 1008/1424/418 -f 972/1375/416 970/1430/416 974/1376/416 -f 979/1389/417 977/1379/417 981/1378/417 -f 977/1379/417 978/1395/417 980/1380/417 -f 981/1381/416 987/1431/416 986/1382/416 -f 978/1384/418 988/1391/418 989/1385/418 -f 989/1387/419 987/1431/419 981/1381/419 -f 979/1389/420 986/1382/420 990/1390/420 -f 990/1390/421 986/1382/421 987/1431/421 -f 987/1431/421 989/1385/421 990/1390/421 -f 977/1379/422 990/1390/422 991/1392/422 -f 978/1384/422 994/1432/422 992/1394/422 -f 978/1395/422 977/1379/422 993/1396/422 -f 988/1391/422 992/1433/422 991/1398/422 -f 969/1399/421 991/1434/421 992/1400/421 -f 976/1377/418 997/1404/418 996/1402/418 -f 974/1403/417 998/1435/417 997/1404/417 -f 972/1375/421 996/1402/421 995/1405/421 -f 985/1407/417 983/1413/417 982/1408/417 -f 992/1400/418 994/1436/418 975/1410/418 -f 993/1411/420 991/1434/420 969/1399/420 -f 993/1411/417 973/1412/417 982/1408/417 -f 983/1413/417 975/1437/417 994/1414/417 -f 993/1411/417 982/1408/417 983/1413/417 -f 1001/1415/423 1002/1419/423 1000/1416/423 -f 1001/1415/421 1003/1420/421 1004/1418/421 -f 1003/1420/421 1005/1423/421 1006/1421/421 -f 1003/1420/424 1007/1425/424 1009/1422/424 -f 1006/1421/425 1010/1428/425 1008/1424/425 -f 1007/1425/428 1003/1420/428 1001/1415/428 -f 1002/1419/429 1004/1418/429 1008/1424/429 -f 1005/1423/416 1009/1438/416 1010/1426/416 -f 1007/1425/420 1011/1439/420 1013/1427/420 -f 1010/1428/418 1014/1440/418 1012/1429/418 +# Blender v2.79 (sub 0) OBJ File: 'remnant_scaled.blend' +# www.blender.org +o RightBoot +v -4.207808 18.567183 -2.139844 +v 0.192192 18.567184 -2.139844 +v -4.207808 18.567183 2.260156 +v 0.192192 18.567184 2.260156 +v -4.482813 24.617182 -2.414844 +v 0.467187 24.617186 -2.414844 +v -4.482813 24.617182 2.535156 +v 0.467187 24.617186 2.535156 +v -3.657813 24.617182 -3.514844 +v -0.357813 24.617186 -3.514844 +v -3.657812 22.967182 -3.514844 +v -0.357812 22.967186 -3.514844 +v -4.482811 21.867182 -2.414844 +v 0.467189 21.867186 -2.414844 +v -4.482809 18.567181 2.535156 +v 0.467192 18.567186 2.535156 +v -3.657808 18.567183 2.535156 +v -0.357808 18.567184 2.535156 +v -3.107809 19.667183 2.535156 +v -0.907809 19.667185 2.535156 +v -4.482809 18.567181 -2.414844 +v 0.467192 18.567186 -2.414844 +v -3.657808 18.567183 2.260156 +v -0.357808 18.567184 2.260156 +v -3.107809 19.667183 2.260156 +v -0.907809 19.667185 2.260156 +vt 0.500000 0.463158 +vt 0.736111 0.473684 +vt 0.750000 0.463158 +vt 0.486111 0.473684 +vt 0.250000 0.463158 +vt 0.263889 0.473684 +vt 0.013889 0.473684 +vt 0.236111 0.473684 +vt 0.763889 0.473684 +vt 0.791667 0.463158 +vt 0.500000 0.189474 +vt 0.250000 -0.000000 +vt 0.250000 0.189474 +vt 0.291667 0.231579 +vt 0.291667 0.294737 +vt 0.458333 0.231579 +vt 0.250000 0.336842 +vt 0.458333 0.294737 +vt 0.819444 0.421053 +vt 1.000000 0.463158 +vt 0.930556 0.421053 +vt 0.958333 0.463158 +vt 0.750000 0.231579 +vt 1.000000 0.231579 +vt 0.250000 0.231579 +vt 0.500000 0.231579 +vt 0.500000 0.336842 +vt 0.000000 0.463158 +vt 0.722222 0.484211 +vt 0.833333 0.473684 +vt 0.722222 0.473684 +vt 0.833333 0.484211 +vt 0.888889 0.473684 +vt 0.666667 0.484211 +vt 0.666667 0.473684 +vt 0.986111 0.473684 +vt 0.958333 0.473684 +vt 0.513889 0.473684 +vt 0.791667 0.473684 +vt 0.500000 0.000000 +vt 0.000000 0.231579 +vt 0.888889 0.484211 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn -0.0000 0.0000 1.0000 +vn 0.8000 0.0000 -0.6000 +vn -0.8000 -0.0000 -0.6000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 0.0000 -0.0000 +vn -0.8944 -0.4472 -0.0000 +vn 0.8944 -0.4472 0.0000 +s off +f 21/1/1 3/2/1 15/3/1 +f 1/4/1 22/5/1 2/6/1 +f 22/5/1 4/7/1 2/8/1 +f 3/9/1 17/10/1 15/3/1 +f 5/11/2 8/12/2 6/13/2 +f 10/14/2 5/11/2 6/13/2 +f 12/15/3 9/16/3 10/14/3 +f 14/17/4 11/18/4 12/15/4 +f 19/19/5 15/3/5 17/10/5 +f 16/20/5 20/21/5 18/22/5 +f 7/23/5 20/21/5 8/24/5 +f 6/25/6 12/15/6 10/14/6 +f 5/26/7 11/18/7 13/27/7 +f 13/27/8 15/3/8 7/23/8 +f 16/28/9 22/5/9 14/17/9 +f 22/5/3 13/27/3 14/17/3 +f 25/29/1 20/30/1 19/31/1 +f 26/32/10 18/33/10 20/30/10 +f 23/34/11 19/31/11 17/35/11 +f 4/36/1 18/22/1 24/37/1 +f 21/1/1 1/38/1 3/2/1 +f 1/4/1 21/1/1 22/5/1 +f 22/5/1 16/28/1 4/7/1 +f 3/9/1 23/39/1 17/10/1 +f 5/11/2 7/40/2 8/12/2 +f 10/14/2 9/16/2 5/11/2 +f 12/15/3 11/18/3 9/16/3 +f 14/17/4 13/27/4 11/18/4 +f 19/19/5 7/23/5 15/3/5 +f 16/20/5 8/24/5 20/21/5 +f 7/23/5 19/19/5 20/21/5 +f 6/25/6 14/17/6 12/15/6 +f 5/26/7 9/16/7 11/18/7 +f 7/23/8 5/26/8 13/27/8 +f 13/27/8 21/1/8 15/3/8 +f 14/17/9 6/25/9 8/41/9 +f 8/41/9 16/28/9 14/17/9 +f 22/5/3 21/1/3 13/27/3 +f 25/29/1 26/32/1 20/30/1 +f 26/32/10 24/42/10 18/33/10 +f 23/34/11 25/29/11 19/31/11 +f 4/36/1 16/20/1 18/22/1 +o LeftBoot +v 4.207817 18.567188 -2.139844 +v -0.192183 18.567184 -2.139844 +v 4.207817 18.567188 2.260156 +v -0.192183 18.567184 2.260156 +v 4.482812 24.617189 -2.414844 +v -0.467188 24.617186 -2.414844 +v 4.482812 24.617189 2.535156 +v -0.467188 24.617186 2.535156 +v 3.657812 24.617189 -3.514844 +v 0.357812 24.617186 -3.514844 +v 3.657813 22.967188 -3.514844 +v 0.357813 22.967186 -3.514844 +v 4.482815 21.867189 -2.414844 +v -0.467186 21.867186 -2.414844 +v 4.482817 18.567188 2.535156 +v -0.467183 18.567184 2.535156 +v 3.657817 18.567188 2.535156 +v 0.357817 18.567186 2.535156 +v 3.107816 19.667189 2.535156 +v 0.907816 19.667187 2.535156 +v 4.482817 18.567188 -2.414844 +v -0.467183 18.567184 -2.414844 +v 3.657817 18.567188 2.260156 +v 0.357817 18.567186 2.260156 +v 3.107816 19.667189 2.260156 +v 0.907816 19.667187 2.260156 +vt 0.736111 0.473684 +vt 0.500000 0.463158 +vt 0.750000 0.463158 +vt 0.250000 0.463158 +vt 0.486111 0.473684 +vt 0.263889 0.473684 +vt 0.236111 0.473684 +vt 0.000000 0.463158 +vt 0.791667 0.463158 +vt 0.763889 0.473684 +vt 0.250000 -0.000000 +vt 0.500000 0.189474 +vt 0.250000 0.189474 +vt 0.458333 0.231579 +vt 0.291667 0.231579 +vt 0.291667 0.294737 +vt 0.458333 0.294737 +vt 0.250000 0.336842 +vt 0.819444 0.421053 +vt 1.000000 0.463158 +vt 0.930556 0.421053 +vt 1.000000 0.231579 +vt 0.750000 0.231579 +vt 0.250000 0.231579 +vt 0.500000 0.231579 +vt 0.500000 0.336842 +vt 0.000000 0.231579 +vt 0.833333 0.473684 +vt 0.722222 0.484211 +vt 0.722222 0.473684 +vt 0.888889 0.473684 +vt 0.833333 0.484211 +vt 0.666667 0.484211 +vt 0.666667 0.473684 +vt 0.986111 0.473684 +vt 0.958333 0.463158 +vt 0.513889 0.473684 +vt 0.013889 0.473684 +vt 0.791667 0.473684 +vt 0.500000 0.000000 +vt 0.888889 0.484211 +vt 0.958333 0.473684 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.0000 1.0000 +vn -0.8000 -0.0000 -0.6000 +vn 0.8000 0.0000 -0.6000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.8944 -0.4472 0.0000 +vn -0.8944 -0.4472 0.0000 +s off +f 29/43/12 47/44/12 41/45/12 +f 48/46/12 27/47/12 28/48/12 +f 28/49/12 42/50/12 48/46/12 +f 43/51/12 29/52/12 41/45/12 +f 34/53/13 31/54/13 32/55/13 +f 32/55/13 35/56/13 36/57/13 +f 35/56/14 38/58/14 36/57/14 +f 37/59/15 40/60/15 38/58/15 +f 41/45/16 45/61/16 43/51/16 +f 42/62/16 46/63/16 34/64/16 +f 34/64/16 45/61/16 33/65/16 +f 38/58/17 32/66/17 36/57/17 +f 31/67/18 37/59/18 35/56/18 +f 41/45/19 47/44/19 39/68/19 +f 40/60/20 42/50/20 34/69/20 +f 39/68/14 48/46/14 40/60/14 +f 46/70/12 51/71/12 45/72/12 +f 44/73/21 52/74/21 46/70/21 +f 45/72/22 49/75/22 43/76/22 +f 30/77/12 44/78/12 42/62/12 +f 29/43/12 27/79/12 47/44/12 +f 48/46/12 47/44/12 27/47/12 +f 28/49/12 30/80/12 42/50/12 +f 43/51/12 49/81/12 29/52/12 +f 34/53/13 33/82/13 31/54/13 +f 32/55/13 31/54/13 35/56/13 +f 35/56/14 37/59/14 38/58/14 +f 37/59/15 39/68/15 40/60/15 +f 41/45/16 33/65/16 45/61/16 +f 42/62/16 44/78/16 46/63/16 +f 34/64/16 46/63/16 45/61/16 +f 38/58/17 40/60/17 32/66/17 +f 31/67/18 39/68/18 37/59/18 +f 39/68/19 31/67/19 33/65/19 +f 33/65/19 41/45/19 39/68/19 +f 34/69/20 32/66/20 40/60/20 +f 40/60/20 48/46/20 42/50/20 +f 39/68/14 47/44/14 48/46/14 +f 46/70/12 52/74/12 51/71/12 +f 44/73/21 50/83/21 52/74/21 +f 45/72/22 51/71/22 49/75/22 +f 30/77/12 50/84/12 44/78/12 +o RightLeg +v -4.207808 18.567183 -2.139844 +v -2.557802 11.417183 -2.139844 +v 0.192192 18.567184 -2.139844 +v 0.192198 11.417185 -2.139844 +v -4.207808 18.567183 2.260156 +v -2.557802 11.417183 2.260156 +v 0.192192 18.567184 2.260156 +v 0.192198 11.417185 2.260156 +v -4.482808 17.467182 2.535156 +v 0.467193 17.467186 2.535156 +v -4.482803 11.417181 2.535156 +v 0.467196 13.617186 2.535156 +v -2.557802 11.417183 2.535156 +v -3.657808 18.567183 2.260156 +v -0.357808 18.567184 2.260156 +v -3.107809 19.667183 2.260156 +v -0.907809 19.667185 2.260156 +v -4.482803 11.417181 -2.414844 +v -2.557802 11.417183 -2.414844 +v 0.467193 17.467186 -2.414844 +v 0.467196 13.617186 -2.414844 +v -4.482808 17.467182 -2.414844 +v -4.207807 17.467182 -2.139844 +v 0.192193 17.467186 -2.139844 +v -4.207807 17.467182 2.260156 +v 0.192193 17.467186 2.260156 +v -2.557804 13.617184 -2.139844 +v 0.192196 13.617186 -2.139844 +v 0.192196 13.617186 2.260156 +v -2.557804 13.617184 2.260156 +v -3.107809 20.217184 -2.414844 +v -0.907809 20.217186 -2.414844 +v -2.557809 19.667183 -2.964844 +v -1.457809 19.667185 -2.964844 +v -3.107808 18.567183 -2.964844 +v -0.907808 18.567184 -2.964844 +v -3.107806 16.367184 -2.964844 +v -0.907806 16.367184 -2.964844 +v -3.657808 18.567183 -2.414844 +v -0.357808 18.567184 -2.414844 +v -3.657806 16.367184 -2.414844 +v -0.357806 16.367186 -2.414844 +v -3.657808 18.567183 -2.139844 +v -0.357808 18.567184 -2.139844 +v -3.657806 16.367184 -2.139844 +v -0.357806 16.367186 -2.139844 +vt 0.638889 0.189474 +vt 0.861111 0.084211 +vt 0.638889 0.084211 +vt 1.000000 0.726316 +vt 0.750000 0.578947 +vt 0.847222 0.810526 +vt 0.500000 0.810526 +vt 0.402778 1.000000 +vt 0.500000 1.000000 +vt 0.250000 0.726316 +vt 0.000000 0.578947 +vt 0.000000 0.726316 +vt 0.250000 0.810526 +vt 0.250000 1.000000 +vt 0.500000 0.578947 +vt 0.750000 0.810526 +vt 0.402778 0.810526 +vt 0.513889 0.568421 +vt 0.736111 0.568421 +vt 0.236111 0.568421 +vt 0.250000 0.578947 +vt 1.000000 0.578947 +vt 0.763889 0.568421 +vt 0.486111 0.568421 +vt 0.263889 0.568421 +vt 0.222222 0.568421 +vt 0.444444 0.526316 +vt 0.222222 0.526316 +vt 0.861111 -0.000000 +vt 0.638889 -0.000000 +vt 0.500000 0.084211 +vt 1.000000 -0.000000 +vt 1.000000 0.084211 +vt 0.694444 0.526316 +vt 0.833333 0.484211 +vt 0.722222 0.484211 +vt 0.000000 0.526316 +vt 0.666667 0.568421 +vt 0.666667 0.526316 +vt 0.861111 0.526316 +vt 0.541667 0.810526 +vt 0.625000 0.831579 +vt 0.652778 0.810526 +vt 0.569444 0.831579 +vt 0.652778 0.873684 +vt 0.541667 0.957895 +vt 0.541667 0.873684 +vt 0.680556 0.957895 +vt 0.652778 0.957895 +vt 0.513889 0.873684 +vt 0.680556 0.873684 +vt 0.513889 0.978947 +vt 0.694444 0.957895 +vt 0.500000 0.873684 +vt 0.513889 0.957895 +vt 0.861111 0.189474 +vt 0.013889 0.568421 +vt 0.986111 0.568421 +vt 0.444444 0.568421 +vt 0.500000 -0.000000 +vt -0.000000 0.568421 +vt 0.888889 0.568421 +vt 0.888889 0.526316 +vt 0.680556 0.978947 +vt 0.694444 0.873684 +vt 0.500000 0.957895 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 -0.0000 +vn 0.5882 -0.8087 -0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.5883 0.1961 -0.7845 +vn 0.6667 0.3333 -0.6667 +vn -0.6667 0.3333 -0.6667 +vn 0.5883 0.1961 -0.7845 +s off +f 58/85/23 56/86/23 60/87/23 +f 64/88/24 61/89/24 65/90/24 +f 70/91/23 65/92/23 63/93/23 +f 73/94/25 62/95/25 64/96/25 +f 65/92/26 73/97/26 64/98/26 +f 74/99/27 63/100/27 61/89/27 +f 74/99/28 73/94/28 71/101/28 +f 75/102/29 61/89/29 77/103/29 +f 76/104/29 62/95/29 72/105/29 +f 62/106/29 77/107/29 61/89/29 +f 72/105/29 75/108/29 76/109/29 +f 76/110/28 53/111/28 55/112/28 +f 80/113/25 60/87/25 56/86/25 +f 81/114/24 58/115/24 60/87/24 +f 79/116/28 56/86/28 54/117/28 +f 66/118/24 69/119/24 68/120/24 +f 59/121/25 76/110/25 55/112/25 +f 53/111/27 77/122/27 57/123/27 +f 67/124/24 66/118/24 77/122/24 +f 84/125/30 85/126/30 83/127/30 +f 86/128/28 87/129/28 85/126/28 +f 90/130/28 87/129/28 88/131/28 +f 93/132/31 87/129/31 89/133/31 +f 92/134/32 90/130/32 88/131/32 +f 85/126/33 91/135/33 83/127/33 +f 86/128/34 92/134/34 88/131/34 +f 94/136/23 89/133/23 90/130/23 +f 97/137/27 91/135/27 93/132/27 +f 96/138/25 94/139/25 92/134/25 +f 58/85/23 54/140/23 56/86/23 +f 62/106/24 61/89/24 64/88/24 +f 61/89/24 63/100/24 65/90/24 +f 70/91/23 71/101/23 65/92/23 +f 73/94/25 72/105/25 62/95/25 +f 65/92/26 71/101/26 73/97/26 +f 74/99/27 70/91/27 63/100/27 +f 71/101/28 70/91/28 74/99/28 +f 74/99/28 72/105/28 73/94/28 +f 75/102/29 74/99/29 61/89/29 +f 76/104/29 78/141/29 62/95/29 +f 62/106/29 78/142/29 77/107/29 +f 72/105/29 74/99/29 75/108/29 +f 76/110/28 75/143/28 53/111/28 +f 80/113/25 81/114/25 60/87/25 +f 81/114/24 82/144/24 58/115/24 +f 79/116/28 80/113/28 56/86/28 +f 66/118/24 67/124/24 69/119/24 +f 59/121/25 78/145/25 76/110/25 +f 53/111/27 75/143/27 77/122/27 +f 66/118/24 57/123/24 77/122/24 +f 77/122/24 78/146/24 67/124/24 +f 78/146/24 59/147/24 67/124/24 +f 84/125/30 86/128/30 85/126/30 +f 86/128/28 88/131/28 87/129/28 +f 90/130/28 89/133/28 87/129/28 +f 93/132/31 91/135/31 87/129/31 +f 92/134/32 94/139/32 90/130/32 +f 85/126/35 87/129/35 91/135/35 +f 86/128/36 84/125/36 92/134/36 +f 94/136/23 93/148/23 89/133/23 +f 97/137/27 95/149/27 91/135/27 +f 96/138/25 98/150/25 94/139/25 +o RightArm +v -3.799991 12.599996 2.200000 +v -3.799991 12.599996 -2.200000 +v -3.799986 6.549994 -2.200000 +v -3.799986 6.549994 2.200000 +v -8.199990 12.599992 2.200000 +v -8.199990 12.599992 -2.200000 +v -3.524988 9.849996 2.475000 +v -3.524988 9.849996 -2.475000 +v -8.474989 9.849992 2.475000 +v -8.474989 9.849992 -2.475000 +v -3.799989 10.949996 2.200000 +v -3.799989 10.949996 -2.200000 +v -8.199989 10.949992 2.200000 +v -8.199989 10.949992 -2.200000 +v -3.524986 6.549995 2.475000 +v -3.524986 6.549995 -2.475000 +v -8.474986 6.549990 2.475000 +v -8.474986 6.549990 -2.475000 +v -3.524985 5.449997 2.475000 +v -3.524985 5.449997 -2.475000 +v -8.474985 5.449991 2.475000 +v -8.474985 5.449991 -2.475000 +v -4.624986 6.549994 -2.475000 +v -7.374986 6.549992 -2.475000 +v -4.624987 7.099995 -2.475000 +v -7.374987 7.099993 -2.475000 +v -3.524980 -0.600004 2.475000 +v -3.524980 -0.600004 -2.475000 +v -8.474980 -0.600010 2.475000 +v -8.474980 -0.600010 -2.475000 +v -8.199986 6.549992 -2.200000 +v -8.199986 6.549992 2.200000 +v -4.624986 6.549994 -2.200000 +v -7.374986 6.549992 -2.200000 +v -4.624987 7.099995 -2.200000 +v -7.374987 7.099993 -2.200000 +v -3.799985 5.449995 -2.200000 +v -3.799985 5.449995 2.200000 +v -8.199985 5.449993 -2.200000 +v -8.199985 5.449993 2.200000 +v -4.899987 8.199994 2.475000 +v -7.099987 8.199992 2.475000 +v -5.449986 7.649994 3.025000 +v -6.549987 7.649992 3.025000 +v -4.899986 6.549994 3.025000 +v -7.099986 6.549992 3.025000 +v -4.899984 4.349995 3.025000 +v -7.099984 4.349993 3.025000 +v -4.349986 6.549994 2.475000 +v -7.649986 6.549992 2.475000 +v -4.349984 4.349995 2.475000 +v -7.649984 4.349993 2.475000 +v -4.349986 6.549994 2.200000 +v -7.649986 6.549992 2.200000 +v -4.349984 4.349995 2.200000 +v -7.649984 4.349993 2.200000 +v -8.474985 4.624990 -1.100000 +v -8.474985 4.624990 1.100000 +v -9.574984 4.349991 -1.100000 +v -9.574984 4.349991 1.100000 +v -8.474980 -0.600010 1.100000 +v -8.474980 -0.600010 -1.100000 +v -9.024980 -0.600010 1.100000 +v -9.024980 -0.600010 -1.100000 +v -3.524979 -1.700005 1.375000 +v -3.524979 -1.700005 -1.375000 +v -8.474979 -1.700010 1.375000 +v -8.474979 -1.700010 -1.375000 +v -9.574980 -0.600010 -1.375000 +v -9.574980 -0.600010 1.375000 +vt 0.763889 0.448276 +vt 1.000000 0.436782 +vt 0.750000 0.436782 +vt 0.222222 0.252874 +vt 0.444444 0.183908 +vt 0.222222 0.183908 +vt 0.666667 0.183908 +vt 0.888889 0.252874 +vt 0.888889 0.183908 +vt -0.000000 0.183908 +vt -0.000000 0.252874 +vt -0.000000 -0.000000 +vt 0.444444 0.252874 +vt 0.666667 0.252874 +vt 0.250000 0.298851 +vt 0.013889 0.252874 +vt 0.000000 0.298851 +vt 0.500000 0.298851 +vt 0.263889 0.252874 +vt 0.750000 0.298851 +vt 0.513889 0.252874 +vt 0.986111 0.252874 +vt 1.000000 0.298851 +vt 0.500000 0.436782 +vt -0.000000 0.436782 +vt 0.055556 0.413793 +vt 0.250000 0.436782 +vt 0.194444 0.413793 +vt 0.194444 0.436782 +vt 0.500000 0.540230 +vt 0.750000 0.793103 +vt 0.750000 0.540230 +vt 1.000000 0.793103 +vt 1.000000 0.540230 +vt 0.000000 0.540230 +vt 0.250000 0.793103 +vt 0.250000 0.540230 +vt 0.361111 0.839080 +vt 0.305556 0.793103 +vt 0.305556 0.839080 +vt 0.013889 0.448276 +vt 0.055556 0.436782 +vt 0.041667 0.459770 +vt 0.180556 0.448276 +vt 0.041667 0.448276 +vt 0.180556 0.459770 +vt 0.208333 0.448276 +vt 0.013889 0.459770 +vt 0.013889 0.448276 +vt 0.513889 0.448276 +vt 0.736111 0.448276 +vt 0.263889 0.448276 +vt 0.236111 0.448276 +vt 0.222222 0.528736 +vt 0.444444 0.482759 +vt 0.222222 0.482759 +vt 0.666667 0.528736 +vt 0.888889 0.482759 +vt 0.666667 0.482759 +vt 0.986111 0.528736 +vt 0.263889 0.528736 +vt 0.236111 0.528736 +vt 0.513889 0.528736 +vt 0.444444 0.528736 +vt 0.041667 0.482759 +vt 0.180556 0.482759 +vt 0.763889 0.793103 +vt 0.847222 0.816092 +vt 0.875000 0.793103 +vt 0.791667 0.816092 +vt 0.875000 0.862069 +vt 0.763889 0.862069 +vt 0.875000 0.954023 +vt 0.736111 0.954023 +vt 0.763889 0.954023 +vt 0.902778 0.862069 +vt 0.736111 0.862069 +vt 0.902778 0.977012 +vt 0.722222 0.862069 +vt 0.916667 0.954023 +vt 0.902778 0.954023 +vt 0.666667 0.839080 +vt 0.722222 0.931035 +vt 0.722222 0.839080 +vt 0.666667 0.931035 +vt 0.416667 0.954023 +vt 0.666667 0.977012 +vt 0.416667 0.839080 +vt 0.416667 0.816092 +vt 0.666667 0.793103 +vt 0.055556 0.954023 +vt 0.055556 0.839080 +vt 0.361111 0.954023 +vt 0.305556 0.954023 +vt 0.305556 1.000000 +vt 0.416667 1.000000 +vt 0.416667 0.793103 +vt 0.055556 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.793103 +vt 0.055556 0.793103 +vt 0.986111 0.448276 +vt 0.222222 -0.000000 +vt 0.236111 0.252874 +vt 0.486111 0.252874 +vt 0.736111 0.252874 +vt 0.763889 0.252874 +vt 0.500000 0.793103 +vt 0.055556 0.448276 +vt 0.208333 0.459770 +vt 0.486111 0.448276 +vt 0.194444 0.448276 +vt 0.888889 0.528736 +vt 0.763889 0.528736 +vt 0.486111 0.528736 +vt 0.013889 0.528736 +vt 0.736111 0.528736 +vt 0.000000 0.482759 +vt 0.000000 0.528736 +vt 0.736111 0.977012 +vt 0.722222 0.954023 +vt 0.916667 0.862069 +vt 0.416667 0.931035 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.2425 -0.9701 +vn -0.9701 0.2425 0.0000 +vn -0.0000 0.2425 0.9701 +vn 0.9701 0.2425 0.0000 +vn -0.5774 -0.5774 -0.5773 +vn -0.0000 0.7071 0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.5883 0.1961 0.7845 +vn 0.5883 0.1961 0.7845 +vn -0.2425 0.9701 0.0000 +vn -0.9939 -0.1104 0.0000 +vn -0.5774 -0.5774 0.5773 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn -0.6667 0.3333 0.6667 +vn 0.6667 0.3333 0.6667 +s off +f 102/151/37 114/152/37 113/153/37 +f 112/154/38 103/155/38 104/156/38 +f 99/157/39 110/158/39 100/159/39 +f 112/154/40 100/160/40 110/161/40 +f 104/156/41 99/162/41 100/160/41 +f 99/157/42 111/163/42 109/164/42 +f 108/165/43 110/166/43 106/167/43 +f 107/168/44 112/169/44 108/165/44 +f 105/170/45 111/171/45 107/168/45 +f 110/172/46 105/170/46 106/173/46 +f 115/174/42 105/170/42 107/168/42 +f 113/153/39 106/173/39 105/170/39 +f 114/175/40 123/176/40 106/167/40 +f 116/177/38 107/168/38 108/165/38 +f 116/177/40 124/178/40 122/179/40 +f 106/167/40 124/178/40 108/165/40 +f 119/180/42 125/181/42 117/182/42 +f 117/182/39 126/183/39 118/184/39 +f 118/185/40 128/186/40 120/187/40 +f 128/186/38 119/180/38 120/187/38 +f 167/188/47 128/189/47 166/190/47 +f 101/191/37 121/192/37 114/175/37 +f 133/193/37 124/194/37 123/195/37 +f 134/196/39 122/197/39 124/194/39 +f 131/198/38 123/195/38 121/199/38 +f 113/153/37 130/200/37 102/201/37 +f 129/202/37 115/174/37 116/177/37 +f 122/179/37 129/203/37 116/177/37 +f 137/204/38 130/205/38 129/206/38 +f 136/207/39 101/208/39 102/209/39 +f 135/210/41 117/182/41 118/184/41 +f 119/180/41 137/211/41 120/187/41 +f 137/212/41 118/185/41 120/187/41 +f 117/182/41 138/213/41 119/180/41 +f 138/214/42 102/209/42 130/205/42 +f 131/215/40 134/196/40 133/193/40 +f 137/204/40 129/206/40 132/216/40 +f 140/217/48 141/218/48 139/219/48 +f 142/220/42 143/221/42 141/218/42 +f 144/222/42 145/223/42 143/221/42 +f 144/222/49 150/224/49 146/225/49 +f 145/223/50 147/226/50 143/221/50 +f 148/227/51 142/220/51 140/217/51 +f 141/218/52 147/226/52 139/219/52 +f 146/225/37 149/228/37 145/223/37 +f 152/229/38 150/224/38 148/227/38 +f 153/230/39 147/226/39 149/231/39 +f 157/232/53 156/233/53 155/234/53 +f 158/235/42 159/236/42 156/237/42 +f 162/238/54 158/235/54 157/232/54 +f 160/239/40 157/232/40 155/240/40 +f 163/241/37 166/190/37 164/242/37 +f 168/243/55 165/244/55 127/245/55 +f 167/188/41 127/246/41 128/247/41 +f 168/243/56 166/190/56 165/244/56 +f 127/245/57 163/241/57 125/248/57 +f 125/249/39 164/242/39 126/250/39 +f 126/251/58 166/190/58 128/189/58 +f 102/151/37 101/252/37 114/152/37 +f 112/154/38 111/163/38 103/155/38 +f 99/157/39 109/164/39 110/158/39 +f 112/154/40 104/156/40 100/160/40 +f 104/156/41 103/253/41 99/162/41 +f 99/157/42 103/155/42 111/163/42 +f 108/165/43 112/254/43 110/166/43 +f 107/168/44 111/255/44 112/169/44 +f 105/170/45 109/256/45 111/171/45 +f 110/172/46 109/257/46 105/170/46 +f 115/174/42 113/153/42 105/170/42 +f 113/153/39 114/152/39 106/173/39 +f 114/175/40 121/192/40 123/176/40 +f 116/177/38 115/174/38 107/168/38 +f 116/177/40 108/165/40 124/178/40 +f 106/167/40 123/176/40 124/178/40 +f 119/180/42 127/258/42 125/181/42 +f 117/182/39 125/181/39 126/183/39 +f 118/185/40 126/250/40 128/186/40 +f 128/186/38 127/258/38 119/180/38 +f 101/191/37 131/259/37 121/192/37 +f 133/193/37 134/196/37 124/194/37 +f 134/196/39 132/260/39 122/197/39 +f 131/198/38 133/193/38 123/195/38 +f 113/153/37 115/174/37 130/200/37 +f 129/202/37 130/261/37 115/174/37 +f 122/179/37 132/262/37 129/203/37 +f 137/204/38 138/214/38 130/205/38 +f 136/207/39 135/263/39 101/208/39 +f 135/210/41 136/264/41 117/182/41 +f 119/180/41 138/265/41 137/211/41 +f 137/212/41 135/266/41 118/185/41 +f 117/182/41 136/267/41 138/213/41 +f 138/214/42 136/207/42 102/209/42 +f 131/215/40 132/216/40 134/196/40 +f 132/216/40 131/215/40 137/204/40 +f 131/215/40 101/268/40 135/269/40 +f 137/204/40 131/215/40 135/269/40 +f 140/217/48 142/220/48 141/218/48 +f 142/220/42 144/222/42 143/221/42 +f 144/222/42 146/225/42 145/223/42 +f 144/222/49 148/227/49 150/224/49 +f 145/223/50 149/231/50 147/226/50 +f 148/227/59 144/222/59 142/220/59 +f 141/218/60 143/221/60 147/226/60 +f 146/225/37 150/270/37 149/228/37 +f 152/229/38 154/271/38 150/224/38 +f 153/230/39 151/272/39 147/226/39 +f 157/232/53 158/235/53 156/233/53 +f 158/235/42 161/273/42 159/236/42 +f 162/238/54 161/273/54 158/235/54 +f 160/239/40 162/238/40 157/232/40 +f 163/241/37 165/244/37 166/190/37 +f 167/188/41 168/243/41 127/246/41 +f 168/243/56 167/188/56 166/190/56 +f 127/245/57 165/244/57 163/241/57 +f 125/249/39 163/241/39 164/242/39 +f 126/251/58 164/242/58 166/190/58 +o Glow +v -2.199985 4.899996 5.610000 +v -2.032519 4.058094 5.610000 +v -1.555618 3.344362 5.610000 +v -0.841887 2.867462 5.610000 +v 0.000017 2.699999 5.610000 +v 0.841921 2.867462 5.610000 +v 1.555651 3.344366 5.610000 +v 2.032551 4.058098 5.610000 +v 2.200015 4.900000 5.610000 +v 2.032550 5.741901 5.610000 +v 1.555649 6.455635 5.610000 +v 0.841918 6.932533 5.610000 +v 0.000014 7.099998 5.610000 +v -0.841891 6.932533 5.610000 +v -1.555620 6.455631 5.610000 +v -2.032521 5.741898 5.610000 +vt 0.827102 0.319495 +vt 0.756405 0.331918 +vt 0.742342 0.269462 +vt 0.813040 0.331918 +vt 0.794666 0.338642 +vt 0.774778 0.338642 +vt 0.742342 0.319495 +vt 0.734732 0.303263 +vt 0.734732 0.285694 +vt 0.756405 0.257039 +vt 0.813039 0.257039 +vt 0.774778 0.250315 +vt 0.794666 0.250315 +vt 0.827102 0.269462 +vt 0.834713 0.285694 +vt 0.834713 0.303263 +vn -0.0000 0.0000 1.0000 +s off +f 169/274/61 173/275/61 177/276/61 +f 169/274/61 170/277/61 171/278/61 +f 171/278/61 172/279/61 173/275/61 +f 173/275/61 174/280/61 175/281/61 +f 175/281/61 176/282/61 177/276/61 +f 177/276/61 178/283/61 181/284/61 +f 178/283/61 179/285/61 181/284/61 +f 179/285/61 180/286/61 181/284/61 +f 181/284/61 182/287/61 183/288/61 +f 183/288/61 184/289/61 169/274/61 +f 169/274/61 171/278/61 173/275/61 +f 173/275/61 175/281/61 177/276/61 +f 181/284/61 183/288/61 177/276/61 +f 183/288/61 169/274/61 177/276/61 +o Fan +v -0.549985 4.899998 5.335000 +v -0.476298 4.624998 5.335000 +v -0.274984 4.423683 5.335000 +v 0.000016 4.349998 5.335000 +v 0.275016 4.423685 5.335000 +v 0.476329 4.624998 5.335000 +v 0.550015 4.899998 5.335000 +v 0.476328 5.174997 5.335000 +v 0.275015 5.376310 5.335000 +v 0.000015 5.449999 5.335000 +v -0.274985 5.376314 5.335000 +v -0.476298 5.174997 5.335000 +v -0.549985 4.899998 5.885000 +v -0.476298 4.624998 5.885000 +v -0.274984 4.423683 5.885000 +v 0.000016 4.349998 5.885000 +v 0.275016 4.423685 5.885000 +v 0.476329 4.624998 5.885000 +v 0.550015 4.899998 5.885000 +v 0.476328 5.174997 5.885000 +v 0.275015 5.376310 5.885000 +v 0.000015 5.449999 5.885000 +v -0.274985 5.376314 5.885000 +v -0.476298 5.174997 5.885000 +v -1.546860 5.078615 5.775000 +v -0.618734 3.471052 5.775000 +v 0.000017 3.249998 5.775000 +v 0.618767 3.471058 5.775000 +v 1.546890 5.078619 5.775000 +v 1.428957 5.725000 5.775000 +v 0.928139 6.150320 5.775000 +v -0.928111 6.150326 5.775000 +v -1.428927 5.724997 5.775000 +v -0.549985 4.899998 5.775000 +v -0.274984 4.423683 5.775000 +v 0.000016 4.349998 5.775000 +v 0.275016 4.423685 5.775000 +v 0.550015 4.899998 5.775000 +v 0.476328 5.174997 5.775000 +v 0.275015 5.376310 5.775000 +v -0.274985 5.376314 5.775000 +v -0.476298 5.174997 5.775000 +vt 0.858907 0.265751 +vt 0.864707 0.246628 +vt 0.880553 0.260627 +vt 0.881944 0.269939 +vt 0.895833 0.245399 +vt 0.895833 0.269939 +vt 0.909722 0.269939 +vt 0.902778 0.245399 +vt 0.881944 0.269939 +vt 0.895833 0.245399 +vt 0.895833 0.269939 +vt 0.909722 0.269939 +vt 0.902778 0.245399 +vt 0.909722 0.269939 +vt 0.895833 0.245399 +vt 0.902778 0.245399 +vt 0.881944 0.269939 +vt 0.895833 0.269939 +vt 0.877204 0.265751 +vt 0.871404 0.268710 +vt 0.864707 0.268710 +vt 0.855558 0.260627 +vt 0.855558 0.254710 +vt 0.858907 0.249586 +vt 0.871404 0.246628 +vt 0.877205 0.249586 +vt 0.880553 0.254710 +vt 0.888889 0.245399 +vt 0.888889 0.245399 +vt 0.888889 0.245399 +vt 0.840278 0.257669 +vt 0.854167 0.263804 +vt 0.840278 0.263804 +vt 0.840278 0.276074 +vt 0.854167 0.282209 +vt 0.840278 0.282209 +vt 0.840278 0.306748 +vt 0.854167 0.312883 +vt 0.840278 0.312883 +vt 0.840278 0.294479 +vt 0.854167 0.300613 +vt 0.840278 0.300613 +vt 0.840278 0.251534 +vt 0.854167 0.257669 +vt 0.840278 0.269939 +vt 0.854167 0.276074 +vt 0.854167 0.306748 +vt 0.840278 0.288344 +vt 0.854167 0.294479 +vt 0.840278 0.245399 +vt 0.854167 0.251534 +vt 0.854167 0.269939 +vt 0.854167 0.288344 +vt 0.854167 0.319018 +vt 0.840278 0.319018 +vt 0.854167 0.245399 +vn 0.0000 0.0000 1.0000 +vn 0.8660 0.5000 0.0000 +vn 0.7571 0.0000 0.6532 +vn 1.0000 0.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.0000 -0.7571 0.6532 +vn 0.0000 -1.0000 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.3786 0.6557 0.6532 +vn -0.5000 0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.7571 0.0000 0.6532 +vn -1.0000 0.0000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.6557 0.3786 0.6532 +vn 0.8660 -0.5000 0.0000 +vn 0.3786 -0.6557 0.6532 +vn -0.6557 0.3786 0.6532 +vn -0.5000 -0.8660 0.0000 +vn -0.6557 -0.3786 0.6532 +vn 0.0000 1.0000 0.0000 +vn 0.3786 0.6557 0.6532 +vn 0.6557 -0.3786 0.6532 +vn -0.3786 -0.6557 0.6532 +vn 0.0000 0.7571 0.6532 +s off +f 201/290/62 205/291/62 197/292/62 +f 212/293/62 220/294/62 211/295/62 +f 210/296/62 220/294/62 219/297/62 +f 209/298/62 226/299/62 217/300/62 +f 216/301/62 226/299/62 225/302/62 +f 213/303/62 223/304/62 222/305/62 +f 215/306/62 223/304/62 214/307/62 +f 197/292/62 198/308/62 201/290/62 +f 198/308/62 199/309/62 201/290/62 +f 199/309/62 200/310/62 201/290/62 +f 201/290/62 202/311/62 205/291/62 +f 202/311/62 203/312/62 205/291/62 +f 203/312/62 204/313/62 205/291/62 +f 205/291/62 206/314/62 207/315/62 +f 207/315/62 208/316/62 205/291/62 +f 208/316/62 197/292/62 205/291/62 +f 212/293/62 221/317/62 220/294/62 +f 210/296/62 211/295/62 220/294/62 +f 209/298/62 218/318/62 226/299/62 +f 216/301/62 217/300/62 226/299/62 +f 213/303/62 214/307/62 223/304/62 +f 215/306/62 224/319/62 223/304/62 +s 1 +f 192/320/63 203/321/64 191/322/65 +f 189/323/66 200/324/67 188/325/68 +f 196/326/69 207/327/70 195/328/71 +f 186/329/72 197/330/73 185/331/74 +f 193/332/75 204/333/76 192/320/63 +f 190/334/77 201/335/78 189/323/66 +f 185/331/74 208/336/79 196/326/69 +f 187/337/80 198/338/81 186/329/72 +f 194/339/82 205/340/83 193/332/75 +f 191/322/65 202/341/84 190/334/77 +f 188/325/68 199/342/85 187/337/80 +f 195/328/71 206/343/86 194/344/82 +f 192/320/63 204/333/76 203/321/64 +f 189/323/66 201/335/78 200/324/67 +f 196/326/69 208/336/79 207/327/70 +f 186/329/72 198/338/81 197/330/73 +f 193/332/75 205/340/83 204/333/76 +f 190/334/77 202/341/84 201/335/78 +f 185/331/74 197/330/73 208/336/79 +f 187/337/80 199/342/85 198/338/81 +f 194/339/82 206/345/86 205/340/83 +f 191/322/65 203/321/64 202/341/84 +f 188/325/68 200/324/67 199/342/85 +f 195/328/71 207/327/70 206/343/86 +o Head +v -4.399999 0.399996 -4.400000 +v -4.399999 0.399996 4.400000 +v 4.400002 0.400003 -4.400000 +v 4.400002 0.400003 4.400000 +v -4.399992 -8.400003 -4.400000 +v -4.399992 -8.400003 4.400000 +v 4.400009 -8.399996 4.400000 +v 4.400009 -8.399996 -4.400000 +v -1.649998 0.399998 -4.400000 +v 1.650002 0.400001 -4.400000 +v 1.100005 -2.899999 -4.400000 +v -1.099995 -2.900001 -4.400000 +v 1.100001 1.500001 -4.400000 +v -1.099999 1.499999 -4.400000 +v 1.100002 0.756062 -2.200000 +v -1.099998 0.756061 -2.200000 +v -1.099995 -2.900001 -4.950000 +v -1.649998 0.399998 -4.950000 +v 1.650002 0.400001 -4.950000 +v 1.100005 -2.899999 -4.950000 +v -1.099999 1.499999 -4.950000 +v 1.100001 1.500001 -4.950000 +v 2.750003 -0.974998 -4.675000 +v 1.925004 -2.349999 -4.675000 +v 4.400003 -1.799996 -4.675000 +v -4.399997 -1.800003 -4.675000 +v -4.399995 -3.725004 -4.400000 +v 4.400005 -3.724997 -4.400000 +v -1.099994 -4.825002 -4.400000 +v 1.100006 -4.825000 -4.400000 +v 1.100005 -2.899999 -4.675000 +v -1.099995 -2.900001 -4.675000 +v 4.400003 -1.799996 -4.400000 +v -4.399997 -1.800003 -4.400000 +v -4.399996 -2.900003 -4.675000 +v 4.400004 -2.899996 -4.675000 +v -1.099995 -4.000001 -4.675000 +v 1.100005 -3.999999 -4.675000 +v -1.649998 0.399998 -4.400000 +v 1.650002 0.400001 -4.400000 +v -1.649998 0.399998 -4.675000 +v 1.650002 0.400001 -4.675000 +v 3.850004 -2.074998 -4.675000 +v 2.475005 -2.899998 -4.675000 +v 2.750003 -0.974998 -4.812500 +v 1.925004 -2.349999 -4.812500 +v 3.850004 -2.074998 -4.812500 +v 2.475005 -2.899998 -4.812500 +v -2.749997 -0.975003 -4.675000 +v -1.924996 -2.350002 -4.675000 +v -3.849996 -2.075004 -4.675000 +v -2.474996 -2.900002 -4.675000 +v -2.749997 -0.975003 -4.812500 +v -1.924996 -2.350002 -4.812500 +v -3.849996 -2.075004 -4.812500 +v -2.474996 -2.900002 -4.812500 +v -1.099996 -2.625001 -4.950000 +v 1.100004 -2.624999 -4.950000 +v -1.374998 -0.150001 -4.950000 +v 1.375002 -0.149999 -4.950000 +v 0.000001 0.674999 -5.775000 +v 0.000003 -1.799999 -5.775000 +v 0.825006 -4.825000 -4.400000 +v 0.825006 -4.825000 -4.675000 +v 1.925005 -3.999999 -4.400000 +v 1.925005 -3.999999 -4.675000 +v 3.575006 -4.549996 -4.400000 +v 3.575006 -4.549996 -4.675000 +v 3.575007 -5.924996 -4.400000 +v 3.575007 -5.924996 -4.675000 +v 1.925007 -5.649998 -4.400000 +v 1.925007 -5.649998 -4.675000 +v -0.824994 -4.825001 -4.400000 +v -0.824994 -4.825001 -4.675000 +v -1.924995 -4.000001 -4.400000 +v -1.924995 -4.000001 -4.675000 +v -3.574994 -4.550002 -4.400000 +v -3.574994 -4.550002 -4.675000 +v -3.574993 -5.925002 -4.400000 +v -3.574993 -5.925002 -4.675000 +v -1.924993 -5.650001 -4.400000 +v -1.924993 -5.650001 -4.675000 +v 5.177825 -7.574996 -3.575000 +v 5.177824 -6.474996 -3.575000 +v -1.099993 -6.200002 -4.950000 +v 1.100007 -6.200000 -4.950000 +v -0.549992 -7.850001 -4.400000 +v 0.550008 -7.850000 -4.400000 +v 4.400008 -7.574997 -4.400000 +v -4.399992 -7.575004 -4.400000 +v 1.650009 -8.399999 -4.400000 +v -1.649991 -8.400001 -4.400000 +v -1.099994 -5.100001 -4.400000 +v 1.100006 -5.099999 -4.400000 +v 4.400007 -6.474997 -4.400000 +v -4.399993 -6.475004 -4.400000 +v -1.099993 -5.650001 -4.950000 +v 1.100007 -5.649999 -4.950000 +v 4.950005 -2.994087 -4.666029 +v 4.950006 -3.991024 -5.130909 +v 3.850005 -2.994088 -4.666029 +v 3.850005 -3.991025 -5.130909 +v 4.950006 -3.923849 -2.672152 +v 4.950006 -4.920786 -3.137032 +v 3.850005 -3.923850 -2.672152 +v 3.850006 -4.920787 -3.137032 +v -3.849996 -2.994094 -4.666029 +v -3.849995 -3.991031 -5.130909 +v -4.949996 -2.994095 -4.666029 +v -4.949995 -3.991032 -5.130909 +v -3.849995 -3.923856 -2.672152 +v -3.849994 -4.920793 -3.137032 +v -4.949995 -3.923857 -2.672152 +v -4.949995 -4.920794 -3.137032 +v 4.950006 -5.393002 -3.403062 +v 4.950006 -5.040611 -4.253800 +v 4.950006 -4.189877 -4.606187 +v 4.950005 -3.339142 -4.253800 +v 4.950005 -2.986751 -3.403062 +v 4.950005 -3.339142 -2.552324 +v 4.950006 -4.189877 -2.199937 +v 4.950006 -5.040611 -2.552324 +v 5.225006 -5.162149 -4.375333 +v 5.225006 -5.564876 -3.403062 +v 5.225005 -4.189876 -4.778062 +v 5.225004 -3.217603 -4.375333 +v 5.225004 -2.814876 -3.403062 +v 5.225004 -3.217603 -2.430790 +v 5.225005 -4.189876 -2.028062 +v 5.225006 -5.162149 -2.430790 +v 5.775006 -5.162148 -4.375333 +v 5.775006 -5.564876 -3.403062 +v 5.775005 -4.189876 -4.778062 +v 5.775004 -3.217603 -4.375333 +v 5.775004 -2.814876 -3.403062 +v 5.775004 -3.217603 -2.430790 +v 5.775005 -4.189876 -2.028062 +v 5.775006 -5.162148 -2.430790 +v 5.946881 -5.040610 -4.253800 +v 5.946881 -5.393001 -3.403062 +v 5.946880 -4.189876 -4.606187 +v 5.946880 -3.339141 -4.253800 +v 5.946879 -2.986751 -3.403062 +v 5.946880 -3.339141 -2.552324 +v 5.946880 -4.189876 -2.199937 +v 5.946881 -5.040610 -2.552324 +v 4.400002 -0.377816 -2.750000 +v -3.622181 0.399997 -3.850000 +v 3.622185 0.400003 -2.750000 +v -4.399998 -0.377823 -3.850000 +v 4.400002 -0.377816 -3.850000 +v -3.622181 0.399997 -2.750000 +v 3.622185 0.400003 -3.850000 +v -4.399998 -0.377823 -2.750000 +v -5.566725 0.788905 -3.850000 +v -4.788909 1.566723 -3.850000 +v -5.566725 0.788905 -2.750000 +v -4.788909 1.566723 -2.750000 +v 5.566728 0.788914 -3.850000 +v 4.788910 1.566730 -3.850000 +v 5.566728 0.788914 -2.750000 +v 4.788910 1.566730 -2.750000 +v -3.622177 -4.275002 -3.300000 +v -4.399995 -3.497185 -3.300000 +v -4.399994 -5.052822 -3.300000 +v -5.177812 -4.275004 -3.300000 +v -4.399993 -5.877822 -0.550000 +v -3.622177 -5.100003 -0.550000 +v -4.399995 -4.322185 -0.550000 +v -5.177811 -5.100005 -0.550000 +v -4.399993 -5.877822 2.750000 +v -3.622177 -5.100003 2.750000 +v -4.399995 -4.322185 2.750000 +v -5.177811 -5.100005 2.750000 +v -4.399996 -2.900003 5.727818 +v -3.622178 -2.900002 4.950000 +v -4.399996 -2.900003 4.172182 +v -5.177813 -2.900004 4.950000 +v -4.399999 0.399996 5.727818 +v -3.622181 0.399997 4.950000 +v -4.399999 0.399996 4.172182 +v -5.177816 0.399995 4.950000 +v 4.400007 -6.474997 -4.352818 +v 4.400008 -7.574997 -4.352818 +v 4.400007 -6.474997 -2.797183 +v 4.400008 -7.574997 -2.797183 +v 3.622190 -6.474998 -3.575000 +v 3.622191 -7.574998 -3.575000 +v 3.575009 -8.399997 -4.352818 +v 3.575010 -9.177815 -3.575000 +v 2.475009 -8.399998 -4.352818 +v 2.475010 -9.177816 -3.575000 +v 3.575008 -7.622178 -3.575000 +v 3.575009 -8.399997 -2.797183 +v 2.475008 -7.622179 -3.575000 +v 2.475009 -8.399998 -2.797183 +v 4.950008 -7.413906 2.200000 +v 5.338916 -7.024995 2.200000 +v 4.950007 -6.636087 2.200000 +v 4.561099 -7.024996 2.200000 +v 3.413918 -8.674996 -3.575000 +v 3.025009 -8.286088 -3.575000 +v 3.025010 -9.063907 -3.575000 +v 2.636101 -8.674997 -3.575000 +v 3.025010 -10.163907 0.550000 +v 3.413919 -9.774997 0.550000 +v 3.025010 -9.386088 0.550000 +v 2.636101 -9.774998 0.550000 +v 3.025009 -8.949998 4.675001 +v 3.413918 -8.674996 4.400000 +v 3.025009 -8.399997 4.125000 +v 2.636101 -8.674997 4.400000 +v 3.025009 -8.124997 4.788909 +v 3.413917 -8.124997 4.400000 +v 3.025009 -8.124997 4.011091 +v 2.636100 -8.124998 4.400000 +v 3.025002 0.400002 4.788909 +v 3.413911 0.400002 4.400000 +v 3.025002 0.400002 4.011091 +v 2.636093 0.400002 4.400000 +v 4.675007 -6.749996 4.125000 +v 5.063916 -6.474996 3.850000 +v 4.675007 -6.199997 3.575000 +v 4.286098 -6.474997 3.850000 +v 4.400006 -4.824997 4.788909 +v 4.788915 -4.824997 4.400000 +v 4.400006 -4.824997 4.011091 +v 4.011097 -4.824997 4.400000 +v 4.400002 0.400003 4.788909 +v 4.788910 0.400003 4.400000 +v 4.400002 0.400003 4.011091 +v 4.011093 0.400003 4.400000 +v -2.474991 -8.400002 -4.352818 +v -2.474991 -9.177820 -3.575000 +v -3.574991 -8.400002 -4.352818 +v -3.574991 -9.177821 -3.575000 +v -2.474992 -7.622183 -3.575000 +v -2.474991 -8.400002 -2.797183 +v -3.574992 -7.622184 -3.575000 +v -3.574991 -8.400002 -2.797183 +v -2.247174 -8.400002 -3.300000 +v -3.024992 -7.622183 -3.300000 +v -3.024991 -9.177821 -3.300000 +v -3.802809 -8.400002 -3.300000 +v -3.024989 -10.827821 1.100000 +v -2.247173 -10.050001 1.100000 +v -3.024991 -9.272185 1.100000 +v -3.802807 -10.050002 1.100000 +v -3.024990 -9.775002 5.500000 +v -2.247173 -9.225002 4.950000 +v -3.024991 -8.675002 4.400000 +v -3.802808 -9.225003 4.950000 +v -3.024992 -8.125003 5.727818 +v -2.247174 -8.125002 4.950000 +v -3.024992 -8.125003 4.172182 +v -3.802809 -8.125003 4.950000 +v -3.024998 0.399997 5.727818 +v -2.247181 0.399998 4.950000 +v -3.024998 0.399997 4.172182 +v -3.802815 0.399997 4.950000 +v 5.063916 -7.024995 -3.575000 +v 4.675007 -6.636087 -3.575000 +v 4.675008 -7.413906 -3.575000 +v 4.286099 -7.024996 -3.575000 +v 5.500008 -7.413906 -0.000000 +v 5.888916 -7.024995 -0.000000 +v 5.500007 -6.636087 -0.000000 +v 5.111099 -7.024995 -0.000000 +v 3.025002 0.950003 4.011091 +v 2.636093 0.950003 4.400000 +v 4.400001 0.950004 4.011091 +v 4.011092 0.950004 4.400000 +v -3.622182 1.499997 4.950000 +v -4.400000 1.499996 4.172182 +v -2.247182 1.499998 4.950000 +v -3.024999 1.499998 4.172182 +v 1.641907 0.400001 1.060914 +v 0.864089 0.400000 0.283096 +v 1.641907 1.500001 1.060914 +v 0.864088 1.500001 0.283096 +v 1.044727 0.400000 0.283098 +v 0.266909 0.400000 -0.494721 +v 1.044726 1.500001 0.283098 +v 0.266909 1.500000 -0.494721 +v -0.086269 0.400000 0.899822 +v -0.475178 0.399999 1.288731 +v -0.086270 0.950001 0.899822 +v -0.475179 0.950000 1.288731 +v -0.266905 0.399999 -0.655812 +v -0.655813 0.399999 -0.266903 +v -0.266905 0.950001 -0.655812 +v -0.655813 0.950000 -0.266903 +v 4.950006 -5.393002 -3.403062 +v 4.950006 -5.040611 -4.253800 +v 4.950006 -4.189877 -4.606187 +v 4.950005 -3.339142 -4.253800 +v 4.950005 -2.986751 -3.403062 +v 4.950005 -3.339142 -2.552324 +v 4.950006 -4.189877 -2.199937 +v 4.950006 -5.040611 -2.552324 +v 5.946881 -5.040610 -4.253800 +v 5.946881 -5.393001 -3.403062 +v 5.946880 -4.189876 -4.606187 +v 5.946880 -3.339141 -4.253800 +v 5.946879 -2.986751 -3.403062 +v 5.946880 -3.339141 -2.552324 +v 5.946880 -4.189876 -2.199937 +v 5.946881 -5.040610 -2.552324 +v 5.225006 -5.162149 -4.375333 +v 5.225006 -5.564876 -3.403062 +v 5.225005 -4.189876 -4.778062 +v 5.225004 -3.217603 -4.375333 +v 5.225004 -2.814876 -3.403062 +v 5.225004 -3.217603 -2.430790 +v 5.225005 -4.189876 -2.028062 +v 5.225006 -5.162149 -2.430790 +v 5.775006 -5.162148 -4.375333 +v 5.775006 -5.564876 -3.403062 +v 5.775005 -4.189876 -4.778062 +v 5.775004 -3.217603 -4.375333 +v 5.775004 -2.814876 -3.403062 +v 5.775004 -3.217603 -2.430790 +v 5.775005 -4.189876 -2.028062 +v 5.775006 -5.162148 -2.430790 +vt 0.363636 0.000000 +vt 0.181818 0.316832 +vt 0.181818 0.000000 +vt 0.363636 0.316832 +vt 0.181818 0.633663 +vt 0.000000 0.633663 +vt 0.000000 0.316832 +vt 0.545455 0.316832 +vt 0.363636 0.633663 +vt 0.613636 0.910891 +vt 0.659091 0.891089 +vt 0.659091 0.910891 +vt 0.613636 0.712871 +vt 0.590909 0.732673 +vt 0.590909 0.712871 +vt 0.613636 0.633663 +vt 0.659091 0.712871 +vt 0.659091 0.633663 +vt 0.681818 0.712871 +vt 0.613636 0.891089 +vt 0.670455 0.772277 +vt 0.602273 0.772277 +vt 0.659091 0.732673 +vt 0.727273 0.891089 +vt 0.727273 0.910891 +vt 0.613636 0.732673 +vt 0.545455 0.910891 +vt 0.437500 0.178218 +vt 0.482955 0.138614 +vt 0.482955 0.178218 +vt 0.551136 0.207921 +vt 0.551136 0.178218 +vt 0.181818 0.950495 +vt 0.727273 0.316832 +vt 0.545455 0.633663 +vt 0.551136 0.138614 +vt 0.556818 0.099010 +vt 0.556818 0.168317 +vt 0.369318 0.138614 +vt 0.363636 0.099010 +vt 0.369318 0.099010 +vt 0.551136 -0.000000 +vt 0.556818 -0.000000 +vt 0.363636 -0.000000 +vt 0.369318 -0.000000 +vt 0.437500 0.138614 +vt 0.102273 0.712871 +vt 0.136364 0.702970 +vt 0.136364 0.712871 +vt 0.147727 0.712871 +vt 0.181818 0.702970 +vt 0.181818 0.712871 +vt 0.159091 0.633663 +vt 0.125000 0.643564 +vt 0.125000 0.633663 +vt 0.147727 0.702970 +vt 0.068182 0.702970 +vt 0.102273 0.712871 +vt 0.068182 0.712871 +vt 0.022727 0.702970 +vt 0.056818 0.712871 +vt 0.022727 0.712871 +vt 0.079545 0.643564 +vt 0.045455 0.633663 +vt 0.079545 0.633663 +vt 0.056818 0.702970 +vt 0.585227 0.029703 +vt 0.585227 0.118812 +vt 0.556818 0.069307 +vt 0.613636 0.069307 +vt 0.607955 0.148515 +vt 0.562500 0.148515 +vt 0.556818 0.029703 +vt 0.585227 -0.000000 +vt 0.613636 0.029703 +vt 0.488636 0.752475 +vt 0.482955 0.792079 +vt 0.482955 0.752475 +vt 0.488636 0.792079 +vt 0.482955 0.851485 +vt 0.488636 0.851485 +vt 0.482955 0.900990 +vt 0.488636 0.900990 +vt 0.482955 0.960396 +vt 0.488636 1.000000 +vt 0.482955 1.000000 +vt 0.448864 0.891089 +vt 0.369318 0.792079 +vt 0.363636 0.752475 +vt 0.369318 0.752475 +vt 0.369318 0.851485 +vt 0.363636 0.792079 +vt 0.369318 0.900990 +vt 0.363636 0.851485 +vt 0.369318 0.960396 +vt 0.363636 0.900990 +vt 0.363636 1.000000 +vt 0.369318 1.000000 +vt 0.403409 0.891089 +vt 0.420455 0.752475 +vt 0.431818 0.673267 +vt 0.443182 0.732673 +vt 0.477273 0.653465 +vt 0.431818 0.633663 +vt 0.477273 0.633663 +vt 0.363636 0.683168 +vt 0.363636 0.722772 +vt 0.465909 0.732673 +vt 0.477273 0.673267 +vt 0.488636 0.752475 +vt 0.545455 0.722772 +vt 0.482955 0.207921 +vt 0.545455 0.683168 +vt 0.431818 0.653465 +vt 0.369318 0.207921 +vt 0.437500 0.207921 +vt 0.113636 0.752475 +vt 0.090909 0.712871 +vt 0.113636 0.712871 +vt 0.181818 0.752475 +vt 0.159091 0.831683 +vt 0.159091 0.752475 +vt 0.090909 0.831683 +vt 0.113636 0.871287 +vt 0.090909 0.871287 +vt 0.136364 0.752475 +vt 0.090909 0.752475 +vt 0.113636 0.831683 +vt 0.022727 0.752475 +vt -0.000000 0.712871 +vt 0.022727 0.712871 +vt 0.090909 0.752475 +vt 0.068182 0.831683 +vt 0.068182 0.752475 +vt -0.000000 0.831683 +vt 0.022727 0.871287 +vt 0.000000 0.871287 +vt 0.022727 0.831683 +vt 0.045455 0.752475 +vt 0.045455 0.831683 +vt -0.000000 0.752475 +vt 0.136364 0.831683 +vt -0.000000 0.039604 +vt 0.022727 0.099010 +vt -0.000000 0.099010 +vt 0.068182 0.099010 +vt 0.090909 0.039604 +vt 0.090909 0.099010 +vt 0.045455 0.039604 +vt 0.045455 0.099010 +vt 0.090909 0.099010 +vt 0.113636 0.039604 +vt 0.113636 0.099010 +vt 0.022727 0.000000 +vt 0.022727 0.039604 +vt 0.090909 0.000000 +vt 0.090909 0.039604 +vt 0.136364 0.099010 +vt 0.159091 0.039604 +vt 0.159091 0.099010 +vt 0.136364 0.039604 +vt 0.181818 0.039604 +vt 0.181818 0.099010 +vt 0.090909 0.138614 +vt 0.113636 0.099010 +vt 0.113636 0.138614 +vt 0.090909 0.178218 +vt 0.113636 0.178218 +vt 0.136364 0.099010 +vt 0.068182 0.099010 +vt 0.068182 0.138614 +vt 0.113636 0.217822 +vt 0.090909 0.178218 +vt 0.113636 0.178218 +vt 0.068182 0.217822 +vt 0.068182 0.178218 +vt 0.136364 0.217822 +vt 0.136364 0.178218 +vt 0.090909 0.217822 +vt 0.113636 0.257426 +vt 0.090909 0.257426 +vt 0.045455 0.138614 +vt 0.022727 0.099010 +vt 0.045455 0.099010 +vt 0.000000 0.138614 +vt 0.000000 0.099010 +vt 0.068182 0.138614 +vt 0.068182 0.099010 +vt 0.022727 0.138614 +vt 0.045455 0.178218 +vt 0.022727 0.178218 +vt 0.668093 0.077474 +vt 0.650089 0.077474 +vt 0.637358 0.055290 +vt 0.680823 0.134498 +vt 0.668093 0.156682 +vt 0.650089 0.080942 +vt 0.681818 0.732673 +vt 0.545455 0.891089 +vt 0.363636 0.950495 +vt 0.727273 0.633663 +vt 0.551136 0.099010 +vt 0.363636 0.168317 +vt 0.426136 0.019802 +vt 0.494318 0.019802 +vt 0.102273 0.702970 +vt 0.159091 0.643564 +vt 0.102273 0.702970 +vt 0.045455 0.643564 +vt 0.488636 0.960396 +vt 0.426136 0.861386 +vt 0.448864 0.831683 +vt 0.363636 0.960396 +vt 0.403409 0.831683 +vt 0.426136 0.861386 +vt 0.369318 0.178218 +vt 0.181818 0.831683 +vt 0.090909 0.831683 +vt 0.068182 0.039604 +vt -0.000000 0.000000 +vt 0.113636 0.000000 +vt 0.090909 0.099010 +vt 0.136364 0.138614 +vt 0.637358 0.023918 +vt 0.680823 0.023918 +vt 0.650089 0.001734 +vt 0.668093 0.001734 +vt 0.680823 0.055290 +vt 0.650089 0.156682 +vt 0.637358 0.134498 +vt 0.637358 0.103126 +vt 0.668093 0.080942 +vt 0.680823 0.103125 +vt 0.619318 0.277228 +vt 0.630682 0.316832 +vt 0.619318 0.316832 +vt 0.613636 0.000000 +vt 0.619318 0.039604 +vt 0.613636 0.039604 +vt 0.613636 0.118812 +vt 0.619318 0.079208 +vt 0.619318 0.118812 +vt 0.613636 0.198020 +vt 0.619318 0.237624 +vt 0.613636 0.237624 +vt 0.613636 0.316832 +vt 0.619318 0.277228 +vt 0.619318 0.316832 +vt 0.613636 0.079208 +vt 0.613636 0.158416 +vt 0.619318 0.158416 +vt 0.619318 0.198020 +vt 0.613636 0.277228 +vt 0.630682 0.079208 +vt 0.636364 0.118812 +vt 0.630682 0.118812 +vt 0.619318 0.198020 +vt 0.630682 0.237624 +vt 0.619318 0.237624 +vt 0.630682 0.237624 +vt 0.636364 0.198020 +vt 0.636364 0.237624 +vt 0.630682 0.277228 +vt 0.636364 0.316832 +vt 0.630682 0.316832 +vt 0.636364 0.039604 +vt 0.636364 0.079208 +vt 0.636364 0.158416 +vt 0.630682 0.158416 +vt 0.630682 0.198020 +vt 0.636364 0.277228 +vt 0.630682 0.039604 +vt 0.636364 -0.000000 +vt 0.750000 0.752475 +vt 0.727273 0.792079 +vt 0.727273 0.752475 +vt 0.750000 0.653465 +vt 0.772727 0.534653 +vt 0.772727 0.653465 +vt 0.795455 0.752475 +vt 0.818182 0.653465 +vt 0.818182 0.752475 +vt 0.772727 0.752475 +vt 0.795455 0.653465 +vt 0.727273 0.653465 +vt 0.795455 0.435644 +vt 0.795455 0.534653 +vt 0.750000 0.534653 +vt 0.818182 0.534653 +vt 0.818182 0.316832 +vt 0.818182 0.435644 +vt 0.727273 0.534653 +vt 0.750000 0.435644 +vt 0.772727 0.435644 +vt 0.863636 0.277228 +vt 0.840909 0.277228 +vt 0.840909 0.237624 +vt 0.772727 0.316832 +vt 0.795455 0.316832 +vt 0.727273 0.435644 +vt 0.750000 0.316832 +vt 0.965909 0.792079 +vt 0.977273 0.663366 +vt 0.977273 0.792079 +vt 0.988636 0.584158 +vt 0.977273 0.524752 +vt 0.988636 0.524752 +vt 0.965909 0.584158 +vt 0.954545 0.663366 +vt 0.954545 0.584158 +vt 0.965909 0.663366 +vt 0.977273 0.584158 +vt 0.988636 0.663366 +vt 1.000000 0.584158 +vt 0.943182 0.633663 +vt 0.954545 0.495050 +vt 0.954545 0.633663 +vt 0.931818 0.772277 +vt 0.920455 0.633663 +vt 0.931818 0.633663 +vt 0.943182 0.772277 +vt 0.920455 0.772277 +vt 0.909091 0.633663 +vt 0.954545 0.772277 +vt 0.943182 0.495050 +vt 0.931818 0.475248 +vt 0.943182 0.475248 +vt 0.920455 0.495050 +vt 0.931818 0.495050 +vt 0.909091 0.495050 +vt 0.909091 0.475248 +vt 0.920455 0.178218 +vt 0.920455 0.475248 +vt 0.954545 0.475248 +vt 0.772727 0.277228 +vt 0.795455 0.277228 +vt 0.954545 0.178218 +vt 0.931818 0.178218 +vt 0.943182 0.178218 +vt 0.977273 0.465347 +vt 0.988636 0.465347 +vt 0.965909 0.524752 +vt 1.000000 0.524752 +vt 1.000000 0.277228 +vt 1.000000 0.465347 +vt 0.954545 0.524752 +vt 0.965909 0.465347 +vt 1.000000 0.257426 +vt 0.988636 0.019802 +vt 1.000000 0.019802 +vt 0.977273 0.277228 +vt 0.988636 0.277228 +vt 0.954545 0.465347 +vt 0.965909 0.277228 +vt 0.840909 0.910891 +vt 0.818182 0.950495 +vt 0.818182 0.910891 +vt 0.863636 0.752475 +vt 0.840909 0.613861 +vt 0.863636 0.613861 +vt 0.886364 0.910891 +vt 0.909091 0.752475 +vt 0.909091 0.910891 +vt 0.863636 0.910891 +vt 0.840909 0.752475 +vt 0.886364 0.752475 +vt 0.818182 0.752475 +vt 0.886364 0.613861 +vt 0.863636 0.574257 +vt 0.886364 0.574257 +vt 0.818182 0.613861 +vt 0.909091 0.613861 +vt 0.909091 0.277228 +vt 0.909091 0.574257 +vt 0.840909 0.574257 +vt 0.886364 0.277228 +vt 0.909091 0.237624 +vt 0.818182 0.574257 +vt 0.988636 0.792079 +vt 1.000000 0.792079 +vt 1.000000 0.663366 +vt 0.977273 0.257426 +vt 0.965909 0.257426 +vt 0.920455 0.158416 +vt 0.931818 -0.000000 +vt 0.931818 0.158416 +vt 0.988636 0.257426 +vt 0.954545 0.277228 +vt 0.954545 0.257426 +vt 0.943182 0.158416 +vt 0.909091 0.178218 +vt 0.909091 0.158416 +vt 0.863636 0.237624 +vt 0.886364 0.237624 +vt 0.750000 0.277228 +vt 0.772727 0.039604 +vt 0.840909 0.237624 +vt 0.863636 0.039604 +vt 0.818182 0.277228 +vt 0.750000 0.277228 +vt 0.818182 0.039604 +vt 0.840909 -0.000000 +vt 0.840909 0.039604 +vt 0.818182 0.237624 +vt 0.909091 0.039604 +vt 0.909091 0.237624 +vt 0.886364 0.039604 +vt 0.727273 0.039604 +vt 0.750000 0.000000 +vt 0.750000 0.039604 +vt 0.727273 0.277228 +vt 0.818182 0.039604 +vt 0.818182 0.277228 +vt 0.795455 0.039604 +vt 0.909091 0.158416 +vt 0.920455 -0.000000 +vt 0.943182 0.158416 +vt 0.954545 -0.000000 +vt 0.954545 0.158416 +vt 0.943182 -0.000000 +vt 1.000000 -0.000000 +vt 0.954545 0.257426 +vt 0.965909 0.019802 +vt 0.988636 0.257426 +vt 0.977273 0.019802 +vt 0.619318 0.039604 +vt 0.630682 0.079208 +vt 0.619318 0.079208 +vt 0.619318 0.118812 +vt 0.630682 0.158416 +vt 0.619318 0.158416 +vt 0.630682 0.198020 +vt 0.630682 0.277228 +vt 0.619318 -0.000000 +vt 0.630682 0.039604 +vt 0.630682 0.118812 +vt 0.619318 -0.000000 +vt 0.630682 0.000000 +vt 0.750000 0.792079 +vt 0.727273 0.316832 +vt 0.909091 0.772277 +vt 0.840909 0.950495 +vt 0.818182 0.277228 +vt 0.954545 0.792079 +vt 0.818182 -0.000000 +vt 0.727273 0.000000 +vt 0.909091 -0.000000 +vt 0.988636 -0.000000 +vt 0.954545 0.019802 +vt 0.630682 0.000000 +vn -0.0000 1.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.8944 0.4472 0.0000 +vn -0.0000 0.9473 0.3203 +vn 0.8844 0.4422 0.1495 +vn -0.8844 0.4422 0.1495 +vn 0.9864 -0.1644 0.0000 +vn 0.8944 0.4472 0.0000 +vn -0.9864 -0.1644 0.0000 +vn 0.1048 -0.3145 -0.9435 +vn -0.0000 0.0000 1.0000 +vn 0.6247 0.7809 0.0000 +vn -0.6247 0.7809 0.0000 +vn -0.8575 0.5145 0.0000 +vn 0.5145 -0.8575 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.8575 0.5145 0.0000 +vn -0.5145 -0.8575 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.5145 -0.0000 -0.8575 +vn 0.5145 0.0000 -0.8575 +vn 0.5681 -0.0631 -0.8206 +vn -0.5681 -0.0631 -0.8206 +vn 0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.6000 0.8000 0.0000 +vn 0.3162 0.9487 0.0000 +vn -0.1644 -0.9864 0.0000 +vn -0.6000 -0.8000 0.0000 +vn 0.6000 0.8000 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.1644 -0.9864 0.0000 +vn 0.6000 -0.8000 0.0000 +vn 0.1361 -0.2722 -0.9526 +vn -0.0000 0.7071 -0.7071 +vn -0.1644 -0.0000 -0.9864 +vn 0.0000 -0.3162 -0.9487 +vn -0.1361 -0.2722 -0.9526 +vn -0.0678 -0.2260 -0.9718 +vn 0.0678 -0.2260 -0.9718 +vn 0.2826 0.6783 -0.6783 +vn -0.2826 0.6783 -0.6783 +vn -0.1048 -0.3145 -0.9435 +vn 0.1644 0.0000 -0.9864 +vn -0.0000 0.4226 -0.9063 +vn 0.0000 -0.4226 0.9063 +vn -0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 -0.7071 0.7071 +vn -0.5300 0.8480 0.0000 +vn -0.5300 0.5996 -0.5996 +vn -0.5300 -0.5996 -0.5996 +vn -0.5300 0.0000 -0.8480 +vn -0.5300 -0.5996 0.5996 +vn -0.5300 0.0000 0.8480 +vn -0.5300 0.5996 0.5996 +vn -0.5300 -0.8480 0.0000 +vn 0.7071 -0.5000 -0.5000 +vn 0.7071 -0.5000 0.5000 +vn 0.7071 0.5000 0.5000 +vn 0.7071 0.5000 -0.5000 +vn 0.8207 0.1069 -0.5612 +vn -0.8207 0.1069 -0.5612 +vn 0.0000 0.8831 -0.4690 +vn 0.9977 -0.0642 -0.0193 +vn 0.0000 -0.9431 0.3324 +vn 0.0000 -0.9906 -0.1366 +vn 0.0000 0.9878 0.1556 +vn 0.0000 -0.7288 -0.6847 +vn -0.9977 -0.0642 -0.0193 +vn -0.9783 -0.1465 0.1465 +vn 0.9783 -0.1465 0.1465 +vn 0.0000 0.8867 -0.4622 +vn -0.4264 -0.3015 -0.8528 +vn 0.0000 0.4622 -0.8867 +vn 0.0000 -0.3324 0.9431 +vn -0.0615 0.2971 0.9528 +vn 0.8528 -0.3015 0.4264 +vn 0.2356 0.7173 0.6557 +vn -0.9528 0.2971 0.0615 +vn 0.9744 0.0000 -0.2248 +vn 0.1051 -0.9944 0.0019 +vn -0.1011 -0.9946 0.0233 +vn -0.9822 -0.0899 -0.1650 +vn -0.9663 -0.2546 0.0377 +vn 0.9726 -0.0562 0.2254 +vn 0.1051 0.9944 0.0019 +vn -0.0020 0.9836 -0.1800 +vn 0.9999 0.0000 0.0082 +vn -0.0359 -0.9886 0.1458 +vn -0.9999 0.0000 -0.0102 +vn -0.9929 -0.1185 0.0038 +vn 0.0000 0.4339 -0.9009 +vn 0.0000 1.0000 -0.0049 +vn 0.0000 -0.9662 -0.2576 +vn 0.9929 -0.1185 0.0038 +vn 0.0000 -0.9999 0.0083 +vn -0.9928 0.1158 0.0309 +vn 0.9928 0.1158 0.0309 +vn 0.0000 0.9662 0.2576 +vn -0.9661 -0.1522 0.2083 +vn 0.0000 -0.0336 0.9994 +vn -0.9990 -0.0357 -0.0269 +vn 0.9661 -0.1522 0.2083 +vn 0.0000 -0.6626 0.7489 +vn 0.0000 -0.1801 -0.9836 +vn 0.9528 0.2971 0.0615 +vn 0.9990 -0.0357 -0.0269 +vn -0.6557 0.7173 -0.2356 +vn 0.4264 -0.3015 -0.8528 +vn 0.0615 0.2971 0.9528 +vn -0.8528 -0.3015 0.4264 +vn -0.0230 -0.1590 0.9870 +vn -0.9933 -0.0982 0.0602 +vn 0.9663 -0.0377 0.2546 +vn -0.0484 0.1663 -0.9849 +vn 0.9951 0.0497 0.0856 +vn -0.8165 -0.5773 0.0000 +vn 0.0000 -0.5773 -0.8165 +vn 0.8229 0.1314 -0.5527 +vn -0.8229 0.1314 -0.5527 +vn 0.0000 0.8960 -0.4440 +vn 0.0000 -0.9980 -0.0637 +vn 0.9633 -0.1685 0.2090 +vn 0.0000 -0.6784 0.7346 +vn 0.0000 0.9947 0.1027 +vn 0.0000 -0.7050 -0.7091 +vn 0.9924 -0.1223 -0.0140 +vn -0.9924 -0.1223 -0.0140 +vn -0.9633 -0.1685 0.2090 +vn 0.0000 0.4769 -0.8789 +vn -0.9744 0.0000 0.2248 +vn -0.1011 0.9946 0.0233 +vn -0.2356 0.7173 0.6557 +vn 0.6557 0.7173 -0.2356 +vn -0.5000 0.7071 0.5000 +vn 0.8165 0.5773 0.0000 +vn 0.8165 -0.5773 0.0000 +vn 0.0000 0.5773 -0.8165 +vn 0.5000 0.7071 -0.5000 +vn 0.5000 -0.7071 -0.5000 +vn -0.5000 -0.7071 0.5000 +vn -0.8165 0.5773 0.0000 +s off +f 230/346/87 227/347/87 228/348/87 +f 229/349/88 231/350/88 227/347/88 +f 227/347/89 232/351/89 228/352/89 +f 230/353/90 234/354/90 229/349/90 +f 238/355/91 246/356/91 237/357/91 +f 240/358/92 244/359/92 235/360/92 +f 242/361/93 239/362/93 240/358/93 +f 239/362/94 241/363/94 236/364/94 +f 240/358/95 235/360/95 242/361/95 +f 243/365/88 245/366/88 246/356/88 +f 244/367/88 248/368/88 245/366/88 +f 237/357/96 245/369/96 236/370/96 +f 236/364/97 248/368/97 239/362/97 +f 239/362/87 247/371/87 240/358/87 +f 235/372/98 243/365/98 238/355/98 +f 263/373/88 257/374/88 264/375/88 +f 254/376/99 264/375/99 262/377/99 +f 234/354/91 232/378/91 231/350/91 +f 228/379/100 233/380/100 230/353/100 +f 262/381/90 259/382/90 254/383/90 +f 261/384/89 260/385/89 252/386/89 +f 259/382/101 268/387/101 266/388/101 +f 252/386/102 265/389/102 267/390/102 +f 252/386/88 258/391/88 261/384/88 +f 262/381/88 264/375/88 257/374/88 +f 249/392/103 272/393/103 250/394/103 +f 270/395/104 273/396/104 269/397/104 +f 269/398/105 271/399/105 249/400/105 +f 250/394/106 274/401/106 270/395/106 +f 271/399/88 274/401/88 272/393/88 +f 280/402/107 275/403/107 276/404/107 +f 281/405/108 278/406/108 277/407/108 +f 279/408/109 277/409/109 275/410/109 +f 282/411/110 276/404/110 278/406/110 +f 282/411/88 279/408/88 280/402/88 +f 287/412/111 288/413/111 285/414/111 +f 287/412/112 286/415/112 288/413/112 +f 284/416/113 288/413/113 286/415/113 +f 285/414/114 288/413/114 283/417/114 +f 284/416/115 283/417/115 288/413/115 +f 286/418/116 287/419/116 285/420/116 +f 289/421/117 292/422/117 290/423/117 +f 291/424/118 294/425/118 292/422/118 +f 293/426/90 296/427/90 294/425/90 +f 295/428/119 298/429/119 296/427/119 +f 298/429/120 289/430/120 290/431/120 +f 294/425/88 296/427/88 298/432/88 +f 302/433/121 299/434/121 300/435/121 +f 304/436/122 301/437/122 302/433/122 +f 306/438/89 303/439/89 304/436/89 +f 308/440/123 305/441/123 306/438/123 +f 299/442/124 308/440/124 300/443/124 +f 308/444/88 306/438/88 304/436/88 +f 318/445/125 311/446/125 313/447/125 +f 324/448/126 319/449/126 320/450/126 +f 322/451/127 311/446/127 316/452/127 +f 314/453/128 311/446/128 312/454/128 +f 317/455/129 314/453/129 312/454/129 +f 311/446/130 318/445/130 316/452/130 +f 312/454/131 315/456/131 317/455/131 +f 256/457/128 263/373/128 264/375/128 +f 321/458/132 324/448/132 320/450/132 +f 319/449/133 323/459/133 322/451/133 +f 253/460/134 263/373/134 255/461/134 +f 311/446/88 324/448/88 312/454/88 +f 312/454/135 321/458/135 315/456/135 +f 326/462/136 327/463/136 325/464/136 +f 328/465/89 331/466/89 327/467/89 +f 332/468/137 329/469/137 331/470/137 +f 331/466/138 325/471/138 327/467/138 +f 328/472/139 330/473/139 332/468/139 +f 334/474/136 335/475/136 333/476/136 +f 336/477/89 339/478/89 335/479/89 +f 340/480/137 337/481/137 339/482/137 +f 338/483/90 333/484/90 337/485/90 +f 339/478/138 333/484/138 335/479/138 +f 336/486/139 338/483/139 340/480/139 +f 330/473/90 325/471/90 329/487/90 +f 383/488/106 376/489/106 380/490/106 +f 378/491/100 383/492/100 380/493/100 +f 382/494/105 378/491/105 374/495/105 +f 377/496/110 387/497/110 373/498/110 +f 383/488/109 382/499/109 381/500/109 +f 386/501/105 387/497/105 385/502/105 +f 375/503/109 386/504/109 379/505/109 +f 375/503/100 387/497/100 388/506/100 +f 381/500/88 374/495/88 376/489/88 +f 379/505/88 385/507/88 377/508/88 +f 309/509/140 409/510/140 310/511/140 +f 412/512/141 310/511/141 411/513/141 +f 413/514/87 310/511/87 409/510/87 +f 414/515/91 309/509/91 412/516/91 +f 416/517/115 417/518/115 415/519/115 +f 417/518/89 422/520/89 421/521/89 +f 420/522/90 415/519/90 419/523/90 +f 418/524/142 420/525/142 422/526/142 +f 460/527/115 461/528/115 459/529/115 +f 461/528/89 466/530/89 465/531/89 +f 464/532/90 459/529/90 463/533/90 +f 462/534/142 464/535/142 466/536/142 +f 523/537/89 522/538/89 521/539/89 +f 534/540/90 528/541/90 531/542/90 +f 230/346/87 229/349/87 227/347/87 +f 229/349/88 234/354/88 231/350/88 +f 227/347/89 231/350/89 232/351/89 +f 230/353/90 233/380/90 234/354/90 +f 238/355/91 243/365/91 246/356/91 +f 240/358/92 247/371/92 244/359/92 +f 242/361/93 241/363/93 239/362/93 +f 243/365/88 244/367/88 245/366/88 +f 244/367/88 247/371/88 248/368/88 +f 237/357/96 246/356/96 245/369/96 +f 236/364/97 245/543/97 248/368/97 +f 239/362/87 248/368/87 247/371/87 +f 235/372/98 244/544/98 243/365/98 +f 263/373/88 258/391/88 257/374/88 +f 254/376/99 256/457/99 264/375/99 +f 234/354/91 233/545/91 232/378/91 +f 228/379/100 232/546/100 233/380/100 +f 262/381/90 251/547/90 259/382/90 +f 261/384/89 253/548/89 260/385/89 +f 259/382/101 251/547/101 268/387/101 +f 252/386/102 260/385/102 265/389/102 +f 267/549/88 258/391/88 252/386/88 +f 258/391/88 263/373/88 261/384/88 +f 257/374/88 268/550/88 251/547/88 +f 251/547/88 262/381/88 257/374/88 +f 249/392/103 271/551/103 272/393/103 +f 270/395/104 274/401/104 273/396/104 +f 269/398/105 273/552/105 271/399/105 +f 250/394/106 272/393/106 274/401/106 +f 271/399/88 273/552/88 274/401/88 +f 280/402/107 279/553/107 275/403/107 +f 281/405/108 282/411/108 278/406/108 +f 279/408/109 281/554/109 277/409/109 +f 282/411/110 280/402/110 276/404/110 +f 282/411/88 281/554/88 279/408/88 +f 289/421/117 291/424/117 292/422/117 +f 291/424/118 293/426/118 294/425/118 +f 293/426/90 295/428/90 296/427/90 +f 295/428/119 297/555/119 298/429/119 +f 298/429/120 297/555/120 289/430/120 +f 290/556/88 292/557/88 298/432/88 +f 292/557/88 294/425/88 298/432/88 +f 302/433/121 301/437/121 299/434/121 +f 304/436/122 303/439/122 301/437/122 +f 306/438/89 305/441/89 303/439/89 +f 308/440/123 307/558/123 305/441/123 +f 299/442/124 307/558/124 308/440/124 +f 304/436/88 302/559/88 308/444/88 +f 302/559/88 300/560/88 308/444/88 +f 324/448/126 323/459/126 319/449/126 +f 322/451/127 323/459/127 311/446/127 +f 314/453/128 313/447/128 311/446/128 +f 256/457/128 255/461/128 263/373/128 +f 253/460/134 261/561/134 263/373/134 +f 311/446/88 323/459/88 324/448/88 +f 312/454/135 324/448/135 321/458/135 +f 326/462/136 328/472/136 327/463/136 +f 328/465/89 332/562/89 331/466/89 +f 332/468/137 330/473/137 329/469/137 +f 331/466/138 329/487/138 325/471/138 +f 328/472/139 326/462/139 330/473/139 +f 334/474/136 336/486/136 335/475/136 +f 336/477/89 340/563/89 339/478/89 +f 340/480/137 338/483/137 337/481/137 +f 338/483/90 334/474/90 333/484/90 +f 339/478/138 337/485/138 333/484/138 +f 336/486/139 334/474/139 338/483/139 +f 330/473/90 326/462/90 325/471/90 +f 383/488/106 381/500/106 376/489/106 +f 378/491/100 384/564/100 383/492/100 +f 382/494/105 384/564/105 378/491/105 +f 377/496/110 385/502/110 387/497/110 +f 383/488/109 384/565/109 382/499/109 +f 386/501/105 388/566/105 387/497/105 +f 375/503/109 388/506/109 386/504/109 +f 375/503/100 373/498/100 387/497/100 +f 381/500/88 382/494/88 374/495/88 +f 379/505/88 386/504/88 385/507/88 +f 309/509/140 410/567/140 409/510/140 +f 412/512/141 309/509/141 310/511/141 +f 413/514/87 411/568/87 310/511/87 +f 414/515/91 410/567/91 309/509/91 +f 416/517/115 418/524/115 417/518/115 +f 417/518/89 418/524/89 422/520/89 +f 420/522/90 416/517/90 415/519/90 +f 418/524/142 416/517/142 420/525/142 +f 460/527/115 462/534/115 461/528/115 +f 461/528/89 462/534/89 466/530/89 +f 464/532/90 460/527/90 459/529/90 +f 462/534/142 460/527/142 464/535/142 +f 521/539/89 520/569/89 525/570/89 +f 520/569/89 519/571/89 525/570/89 +f 519/571/89 526/572/89 525/570/89 +f 525/570/89 524/573/89 521/539/89 +f 524/573/89 523/537/89 521/539/89 +f 528/541/90 527/574/90 531/542/90 +f 527/574/90 529/575/90 531/542/90 +f 529/575/90 530/576/90 531/542/90 +f 531/542/90 532/577/90 533/578/90 +f 533/578/90 534/540/90 531/542/90 +s 1 +f 540/579/116 547/580/87 539/581/87 +f 345/582/143 352/583/144 344/584/144 +f 342/585/145 351/586/146 349/587/145 +f 348/588/147 355/589/148 347/590/148 +f 345/591/143 354/592/149 353/593/143 +f 344/584/144 351/586/146 343/594/146 +f 341/595/150 349/587/145 350/596/150 +f 341/595/150 356/597/147 348/588/147 +f 346/598/149 355/589/148 354/592/149 +f 359/599/140 365/600/151 357/601/151 +f 542/602/142 549/603/100 541/604/100 +f 363/605/141 372/606/152 371/607/141 +f 362/608/153 369/609/105 361/610/105 +f 359/599/140 368/611/154 367/612/140 +f 357/601/151 366/613/110 358/614/110 +f 364/615/152 366/613/110 372/606/152 +f 363/605/141 370/616/153 362/608/153 +f 360/617/154 369/618/105 368/611/154 +f 389/619/155 392/620/156 390/621/157 +f 394/622/158 397/623/159 393/624/160 +f 392/625/156 395/626/161 390/627/157 +f 391/628/162 394/622/158 393/624/160 +f 391/628/162 396/629/163 392/625/156 +f 389/619/155 395/630/161 394/622/158 +f 397/623/159 404/631/164 400/632/164 +f 393/624/160 400/632/164 396/629/163 +f 395/630/161 398/633/165 394/622/158 +f 396/629/163 399/634/166 395/626/161 +f 404/631/164 407/635/167 403/636/168 +f 399/637/166 402/638/165 398/633/165 +f 399/634/166 404/631/164 403/636/168 +f 398/633/165 401/639/169 397/623/159 +f 483/640/170 484/641/171 501/642/172 +f 402/638/165 405/643/170 401/639/169 +f 401/639/169 408/644/173 404/631/164 +f 403/645/168 406/646/171 402/638/165 +f 487/647/174 491/648/175 489/649/176 +f 426/650/177 447/651/142 450/652/178 +f 424/653/179 493/654/180 425/655/181 +f 424/653/179 491/648/175 492/656/182 +f 423/657/183 494/658/184 491/648/175 +f 425/659/181 494/658/184 426/650/177 +f 434/660/185 437/661/186 433/662/187 +f 429/663/188 432/664/189 431/665/190 +f 429/663/188 434/660/185 430/666/191 +f 427/667/192 433/668/187 432/664/189 +f 430/666/191 433/662/187 428/669/193 +f 438/670/194 439/671/195 442/672/196 +f 431/665/190 436/673/197 435/674/198 +f 431/665/190 438/670/194 434/660/185 +f 432/664/189 437/675/186 436/673/197 +f 441/676/199 444/677/200 440/678/201 +f 437/675/186 440/678/201 436/673/197 +f 437/661/186 442/672/196 441/679/199 +f 436/673/197 439/671/195 435/674/198 +f 408/644/173 499/680/172 500/681/202 +f 442/672/196 445/682/203 441/679/199 +f 440/678/201 443/683/204 439/671/195 +f 439/671/195 446/684/205 442/672/196 +f 450/652/178 451/685/206 454/686/207 +f 425/655/181 448/687/208 424/653/179 +f 426/650/177 449/688/126 425/659/181 +f 423/657/183 448/687/208 447/651/142 +f 454/686/207 457/689/203 453/690/209 +f 449/691/126 452/692/210 448/687/208 +f 450/652/178 453/690/209 449/688/126 +f 447/651/142 452/692/210 451/685/206 +f 457/693/203 516/694/211 515/695/212 +f 452/692/210 455/696/204 451/685/206 +f 451/685/206 458/697/205 454/686/207 +f 453/698/209 456/699/200 452/692/210 +f 467/700/213 470/701/214 468/702/215 +f 471/703/216 476/704/217 475/705/218 +f 470/706/214 473/707/219 468/708/215 +f 469/709/220 472/710/221 471/703/216 +f 469/709/220 474/711/222 470/706/214 +f 467/700/213 473/712/219 472/710/221 +f 478/713/223 479/714/195 482/715/196 +f 471/703/216 478/713/223 474/711/222 +f 472/710/221 477/716/224 476/704/217 +f 474/711/222 477/717/224 473/707/219 +f 482/715/196 485/718/167 481/719/199 +f 477/716/224 480/720/201 476/704/217 +f 477/717/224 482/715/196 481/719/199 +f 476/704/217 479/714/195 475/705/218 +f 485/718/167 486/721/173 502/722/202 +f 480/720/201 483/640/170 479/714/195 +f 479/714/195 486/721/173 482/715/196 +f 481/723/199 484/641/171 480/720/201 +f 489/649/176 494/658/184 490/724/225 +f 487/647/174 493/654/180 492/656/182 +f 488/725/226 494/658/184 493/726/180 +f 498/727/227 456/699/200 497/728/228 +f 495/729/228 514/730/229 496/731/227 +f 458/697/205 455/696/204 498/732/227 +f 456/699/200 457/733/203 497/734/228 +f 446/684/205 443/683/204 496/735/227 +f 444/677/200 445/736/203 495/737/228 +f 486/721/173 501/738/172 502/739/202 +f 406/740/171 509/741/230 499/680/172 +f 484/742/171 505/743/230 501/738/172 +f 407/635/167 408/644/173 500/744/202 +f 405/643/170 406/646/171 499/745/172 +f 504/746/212 505/747/230 503/748/231 +f 485/749/167 503/748/231 484/742/171 +f 502/739/202 504/750/212 485/751/167 +f 502/739/202 505/743/230 506/752/232 +f 508/753/212 509/754/230 507/755/231 +f 407/756/167 507/755/231 406/740/171 +f 500/681/202 508/757/212 407/758/167 +f 499/680/172 510/759/232 500/681/202 +f 445/760/203 513/761/233 495/729/228 +f 446/762/205 511/763/234 445/764/203 +f 496/731/227 512/765/235 446/762/205 +f 516/694/211 517/766/232 515/695/212 +f 457/767/203 517/768/232 497/728/228 +f 498/727/227 516/694/211 458/769/205 +f 497/728/228 518/770/236 498/727/227 +f 444/677/200 496/731/227 443/683/204 +f 538/771/126 545/772/88 537/773/88 +f 535/774/115 544/775/91 536/776/91 +f 536/776/91 550/777/142 542/602/142 +f 541/604/100 548/778/116 540/579/116 +f 539/779/87 546/780/126 538/771/126 +f 537/773/88 543/781/115 535/774/115 +f 540/579/116 548/778/116 547/580/87 +f 345/582/143 353/782/143 352/583/144 +f 342/585/145 343/594/146 351/586/146 +f 348/588/147 356/597/147 355/589/148 +f 345/591/143 346/598/149 354/592/149 +f 344/584/144 352/583/144 351/586/146 +f 341/595/150 342/585/145 349/587/145 +f 341/595/150 350/596/150 356/597/147 +f 346/598/149 347/590/148 355/589/148 +f 359/599/140 367/612/140 365/600/151 +f 542/602/142 550/777/142 549/603/100 +f 363/605/141 364/615/152 372/606/152 +f 362/608/153 370/616/153 369/609/105 +f 359/599/140 360/617/154 368/611/154 +f 357/601/151 365/600/151 366/613/110 +f 364/615/152 358/614/110 366/613/110 +f 363/605/141 371/607/141 370/616/153 +f 360/617/154 361/783/105 369/618/105 +f 389/619/155 391/784/162 392/620/156 +f 394/622/158 398/633/165 397/623/159 +f 392/625/156 396/629/163 395/626/161 +f 391/628/162 389/619/155 394/622/158 +f 391/628/162 393/624/160 396/629/163 +f 389/619/155 390/621/157 395/630/161 +f 397/623/159 401/639/169 404/631/164 +f 393/624/160 397/623/159 400/632/164 +f 395/630/161 399/637/166 398/633/165 +f 396/629/163 400/632/164 399/634/166 +f 404/631/164 408/644/173 407/635/167 +f 399/637/166 403/645/168 402/638/165 +f 399/634/166 400/632/164 404/631/164 +f 398/633/165 402/638/165 401/639/169 +f 402/638/165 406/646/171 405/643/170 +f 401/639/169 405/643/170 408/644/173 +f 403/645/168 407/785/167 406/646/171 +f 487/647/174 492/656/182 491/648/175 +f 426/650/177 423/657/183 447/651/142 +f 424/653/179 492/656/182 493/654/180 +f 424/653/179 423/657/183 491/648/175 +f 423/657/183 426/650/177 494/658/184 +f 425/659/181 493/726/180 494/658/184 +f 434/660/185 438/670/194 437/661/186 +f 429/663/188 427/667/192 432/664/189 +f 429/663/188 431/665/190 434/660/185 +f 427/667/192 428/786/193 433/668/187 +f 430/666/191 434/660/185 433/662/187 +f 438/670/194 435/674/198 439/671/195 +f 431/665/190 432/664/189 436/673/197 +f 431/665/190 435/674/198 438/670/194 +f 432/664/189 433/668/187 437/675/186 +f 441/676/199 445/736/203 444/677/200 +f 437/675/186 441/676/199 440/678/201 +f 437/661/186 438/670/194 442/672/196 +f 436/673/197 440/678/201 439/671/195 +f 408/644/173 405/643/170 499/680/172 +f 442/672/196 446/684/205 445/682/203 +f 440/678/201 444/677/200 443/683/204 +f 439/671/195 443/683/204 446/684/205 +f 450/652/178 447/651/142 451/685/206 +f 425/655/181 449/691/126 448/687/208 +f 426/650/177 450/652/178 449/688/126 +f 423/657/183 424/653/179 448/687/208 +f 454/686/207 458/697/205 457/689/203 +f 449/691/126 453/698/209 452/692/210 +f 450/652/178 454/686/207 453/690/209 +f 447/651/142 448/687/208 452/692/210 +f 457/693/203 458/769/205 516/694/211 +f 452/692/210 456/699/200 455/696/204 +f 451/685/206 455/696/204 458/697/205 +f 453/698/209 457/733/203 456/699/200 +f 467/700/213 469/787/220 470/701/214 +f 471/703/216 472/710/221 476/704/217 +f 470/706/214 474/711/222 473/707/219 +f 469/709/220 467/700/213 472/710/221 +f 469/709/220 471/703/216 474/711/222 +f 467/700/213 468/702/215 473/712/219 +f 478/713/223 475/705/218 479/714/195 +f 471/703/216 475/705/218 478/713/223 +f 472/710/221 473/712/219 477/716/224 +f 474/711/222 478/713/223 477/717/224 +f 482/715/196 486/721/173 485/718/167 +f 477/716/224 481/723/199 480/720/201 +f 477/717/224 478/713/223 482/715/196 +f 476/704/217 480/720/201 479/714/195 +f 480/720/201 484/641/171 483/640/170 +f 479/714/195 483/640/170 486/721/173 +f 481/723/199 485/788/167 484/641/171 +f 489/649/176 491/648/175 494/658/184 +f 487/647/174 488/789/226 493/654/180 +f 488/725/226 490/724/225 494/658/184 +f 498/727/227 455/696/204 456/699/200 +f 495/729/228 513/761/233 514/730/229 +f 486/721/173 483/640/170 501/738/172 +f 406/740/171 507/755/231 509/741/230 +f 484/742/171 503/748/231 505/743/230 +f 504/746/212 506/790/232 505/747/230 +f 485/749/167 504/746/212 503/748/231 +f 502/739/202 506/752/232 504/750/212 +f 502/739/202 501/738/172 505/743/230 +f 508/753/212 510/791/232 509/754/230 +f 407/756/167 508/753/212 507/755/231 +f 500/681/202 510/759/232 508/757/212 +f 499/680/172 509/741/230 510/759/232 +f 445/760/203 511/792/234 513/761/233 +f 446/762/205 512/765/235 511/763/234 +f 496/731/227 514/730/229 512/765/235 +f 516/694/211 518/793/236 517/766/232 +f 457/767/203 515/794/212 517/768/232 +f 498/727/227 518/770/236 516/694/211 +f 497/728/228 517/768/232 518/770/236 +f 444/677/200 495/729/228 496/731/227 +f 538/771/126 546/780/126 545/772/88 +f 535/774/115 543/781/115 544/775/91 +f 536/776/91 544/775/91 550/777/142 +f 541/604/100 549/603/100 548/778/116 +f 539/779/87 547/795/87 546/780/126 +f 537/773/88 545/772/88 543/781/115 +o LeftArm +v 3.800009 12.600001 2.200000 +v 3.800009 12.600001 -2.200000 +v 3.800014 6.550001 -2.200000 +v 3.800014 6.550001 2.200000 +v 8.200009 12.600005 2.200000 +v 8.200009 12.600005 -2.200000 +v 3.525011 9.850001 2.475000 +v 3.525011 9.850001 -2.475000 +v 8.475012 9.850005 2.475000 +v 8.475012 9.850005 -2.475000 +v 3.800010 10.950002 2.200000 +v 3.800010 10.950002 -2.200000 +v 8.200010 10.950006 2.200000 +v 8.200010 10.950006 -2.200000 +v 3.525014 6.549999 2.475000 +v 3.525014 6.549999 -2.475000 +v 8.475015 6.550005 2.475000 +v 8.475015 6.550005 -2.475000 +v 3.525015 5.450001 2.475000 +v 3.525015 5.450001 -2.475000 +v 8.475016 5.450006 2.475000 +v 8.475016 5.450006 -2.475000 +v 4.625014 6.550001 -2.475000 +v 7.375014 6.550003 -2.475000 +v 4.625013 7.100002 -2.475000 +v 7.375013 7.100004 -2.475000 +v 3.525020 -0.600000 2.475000 +v 3.525020 -0.600000 -2.475000 +v 8.475020 -0.599995 2.475000 +v 8.475020 -0.599995 -2.475000 +v 8.200014 6.550003 -2.200000 +v 8.200014 6.550003 2.200000 +v 4.625014 6.550001 -2.200000 +v 7.375014 6.550003 -2.200000 +v 4.625013 7.100002 -2.200000 +v 7.375013 7.100004 -2.200000 +v 3.800015 5.450003 -2.200000 +v 3.800015 5.450003 2.200000 +v 8.200015 5.450005 -2.200000 +v 8.200015 5.450005 2.200000 +v 4.900013 8.200002 2.475000 +v 7.100013 8.200004 2.475000 +v 5.450013 7.650002 3.025000 +v 6.550014 7.650003 3.025000 +v 4.900014 6.550001 3.025000 +v 7.100014 6.550003 3.025000 +v 4.900016 4.350002 3.025000 +v 7.100016 4.350004 3.025000 +v 4.350014 6.550001 2.475000 +v 7.650014 6.550003 2.475000 +v 4.350016 4.350002 2.475000 +v 7.650016 4.350004 2.475000 +v 4.350014 6.550001 2.200000 +v 7.650014 6.550003 2.200000 +v 4.350016 4.350002 2.200000 +v 7.650016 4.350004 2.200000 +v 8.475016 4.625006 -1.100000 +v 8.475016 4.625006 1.100000 +v 9.575016 4.350006 -1.100000 +v 9.575016 4.350006 1.100000 +v 8.475020 -0.599995 1.100000 +v 8.475020 -0.599995 -1.100000 +v 9.025020 -0.599995 1.100000 +v 9.025020 -0.599995 -1.100000 +v 3.525021 -1.700001 1.375000 +v 3.525021 -1.700001 -1.375000 +v 8.475021 -1.699995 1.375000 +v 8.475021 -1.699995 -1.375000 +v 9.575020 -0.599995 -1.375000 +v 9.575020 -0.599995 1.375000 +vt 1.000000 0.436782 +vt 0.763889 0.448276 +vt 0.750000 0.436782 +vt 0.444444 0.183908 +vt 0.222222 0.252874 +vt 0.222222 0.183908 +vt 0.888889 0.252874 +vt 0.666667 0.183908 +vt 0.888889 0.183908 +vt -0.000000 0.183908 +vt -0.000000 0.252874 +vt -0.000000 -0.000000 +vt 0.444444 0.252874 +vt 0.666667 0.252874 +vt 0.000000 0.298851 +vt 0.236111 0.252874 +vt 0.250000 0.298851 +vt 0.486111 0.252874 +vt 0.500000 0.298851 +vt 0.750000 0.298851 +vt 0.513889 0.252874 +vt 0.736111 0.252874 +vt 0.986111 0.252874 +vt 1.000000 0.298851 +vt 0.500000 0.436782 +vt -0.000000 0.436782 +vt 0.055556 0.413793 +vt 0.055556 0.436782 +vt 0.250000 0.436782 +vt 0.194444 0.413793 +vt 0.194444 0.436782 +vt 0.750000 0.793103 +vt 0.500000 0.540230 +vt 0.750000 0.540230 +vt 1.000000 0.793103 +vt 1.000000 0.540230 +vt 0.250000 0.793103 +vt 0.000000 0.540230 +vt 0.250000 0.540230 +vt 0.361111 0.839080 +vt 0.305556 0.839080 +vt 0.305556 0.793103 +vt 0.013889 0.448276 +vt 0.180556 0.448276 +vt 0.041667 0.459770 +vt 0.041667 0.448276 +vt 0.208333 0.448276 +vt 0.180556 0.459770 +vt 0.013889 0.459770 +vt 0.013889 0.448276 +vt 0.513889 0.448276 +vt 0.736111 0.448276 +vt 0.263889 0.448276 +vt 0.236111 0.448276 +vt 0.444444 0.482759 +vt 0.222222 0.528736 +vt 0.222222 0.482759 +vt 0.888889 0.482759 +vt 0.666667 0.528736 +vt 0.666667 0.482759 +vt 0.986111 0.528736 +vt 0.263889 0.528736 +vt 0.236111 0.528736 +vt 0.513889 0.528736 +vt 0.444444 0.528736 +vt 0.041667 0.482759 +vt 0.000000 0.528736 +vt 0.847222 0.816092 +vt 0.763889 0.793103 +vt 0.875000 0.793103 +vt 0.875000 0.862069 +vt 0.791667 0.816092 +vt 0.875000 0.954023 +vt 0.763889 0.862069 +vt 0.736111 0.954023 +vt 0.763889 0.954023 +vt 0.902778 0.862069 +vt 0.736111 0.862069 +vt 0.902778 0.977012 +vt 0.722222 0.862069 +vt 0.916667 0.954023 +vt 0.902778 0.954023 +vt 0.722222 0.931035 +vt 0.666667 0.839080 +vt 0.722222 0.839080 +vt 0.666667 0.931035 +vt 0.416667 0.954023 +vt 0.416667 0.931035 +vt 0.416667 0.839080 +vt 0.416667 0.816092 +vt 0.666667 0.793103 +vt 0.055556 0.954023 +vt 0.055556 0.839080 +vt 0.361111 0.954023 +vt 0.305556 1.000000 +vt 0.305556 0.954023 +vt 0.416667 1.000000 +vt 0.416667 0.793103 +vt 0.055556 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.793103 +vt 0.055556 0.793103 +vt 0.986111 0.448276 +vt 0.222222 -0.000000 +vt 0.013889 0.252874 +vt 0.263889 0.252874 +vt 0.763889 0.252874 +vt 0.500000 0.793103 +vt 0.055556 0.448276 +vt 0.208333 0.459770 +vt 0.486111 0.448276 +vt 0.194444 0.448276 +vt 0.888889 0.528736 +vt 0.763889 0.528736 +vt 0.486111 0.528736 +vt 0.013889 0.528736 +vt 0.736111 0.528736 +vt 0.180556 0.482759 +vt 0.000000 0.482759 +vt 0.736111 0.977012 +vt 0.722222 0.954023 +vt 0.916667 0.862069 +vt 0.666667 0.977012 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.2425 -0.9701 +vn 0.9701 0.2425 0.0000 +vn -0.0000 0.2425 0.9701 +vn -0.9701 0.2425 0.0000 +vn 0.5774 -0.5773 -0.5774 +vn -0.0000 0.7071 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.5883 0.1961 0.7845 +vn -0.6667 0.3333 0.6667 +vn 0.2425 0.9701 0.0000 +vn 0.9939 -0.1104 0.0000 +vn 0.5774 -0.5773 0.5774 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.6667 0.3333 0.6667 +vn -0.5883 0.1961 0.7845 +s off +f 566/796/237 554/797/237 565/798/237 +f 555/799/238 564/800/238 556/801/238 +f 562/802/239 551/803/239 552/804/239 +f 552/805/240 564/800/240 562/806/240 +f 551/807/241 556/801/241 552/805/241 +f 563/808/242 551/803/242 561/809/242 +f 558/810/243 564/811/243 560/812/243 +f 560/812/244 563/813/244 559/814/244 +f 557/815/245 563/816/245 561/817/245 +f 557/815/246 562/818/246 558/819/246 +f 557/815/242 567/820/242 559/814/242 +f 558/819/239 565/798/239 557/815/239 +f 566/821/240 575/822/240 573/823/240 +f 559/814/238 568/824/238 560/812/238 +f 576/825/240 568/824/240 574/826/240 +f 576/825/240 558/810/240 560/812/240 +f 577/827/242 571/828/242 569/829/242 +f 578/830/239 569/829/239 570/831/239 +f 580/832/240 570/833/240 572/834/240 +f 571/828/238 580/832/238 572/834/238 +f 619/835/247 618/836/247 580/837/247 +f 573/823/237 553/838/237 566/821/237 +f 576/839/237 585/840/237 575/841/237 +f 574/842/239 586/843/239 576/839/239 +f 575/841/238 583/844/238 573/845/238 +f 582/846/237 565/798/237 554/847/237 +f 567/820/237 581/848/237 568/824/237 +f 581/849/237 574/826/237 568/824/237 +f 582/850/238 589/851/238 581/852/238 +f 553/853/239 588/854/239 554/855/239 +f 569/829/241 587/856/241 570/831/241 +f 589/857/241 571/828/241 572/834/241 +f 570/833/241 589/858/241 572/834/241 +f 590/859/241 569/829/241 571/828/241 +f 554/855/242 590/860/242 582/850/242 +f 586/843/240 583/861/240 585/840/240 +f 589/851/240 587/862/240 583/861/240 +f 593/863/248 592/864/248 591/865/248 +f 595/866/242 594/867/242 593/863/242 +f 597/868/242 596/869/242 595/866/242 +f 602/870/249 596/869/249 598/871/249 +f 599/872/250 597/868/250 595/866/250 +f 594/867/251 600/873/251 592/864/251 +f 593/863/252 599/872/252 595/866/252 +f 601/874/237 598/871/237 597/868/237 +f 602/870/238 604/875/238 600/873/238 +f 599/872/239 605/876/239 601/877/239 +f 608/878/253 609/879/253 607/880/253 +f 610/881/242 611/882/242 613/883/242 +f 610/881/254 614/884/254 609/879/254 +f 609/879/240 612/885/240 607/886/240 +f 618/836/237 615/887/237 616/888/237 +f 620/889/255 579/890/255 617/891/255 +f 579/892/241 619/835/241 580/893/241 +f 618/836/256 620/889/256 617/891/256 +f 615/887/257 579/890/257 577/894/257 +f 616/888/239 577/895/239 578/896/239 +f 618/836/258 578/897/258 580/837/258 +f 566/796/237 553/898/237 554/797/237 +f 555/799/238 563/808/238 564/800/238 +f 562/802/239 561/809/239 551/803/239 +f 552/805/240 556/801/240 564/800/240 +f 551/807/241 555/899/241 556/801/241 +f 563/808/242 555/799/242 551/803/242 +f 558/810/243 562/900/243 564/811/243 +f 560/812/244 564/901/244 563/813/244 +f 557/815/245 559/814/245 563/816/245 +f 557/815/246 561/902/246 562/818/246 +f 557/815/242 565/798/242 567/820/242 +f 558/819/239 566/796/239 565/798/239 +f 566/821/240 558/810/240 575/822/240 +f 559/814/238 567/820/238 568/824/238 +f 576/825/240 560/812/240 568/824/240 +f 576/825/240 575/822/240 558/810/240 +f 577/827/242 579/903/242 571/828/242 +f 578/830/239 577/827/239 569/829/239 +f 580/832/240 578/896/240 570/833/240 +f 571/828/238 579/903/238 580/832/238 +f 573/823/237 583/904/237 553/838/237 +f 576/839/237 586/843/237 585/840/237 +f 574/842/239 584/905/239 586/843/239 +f 575/841/238 585/840/238 583/844/238 +f 582/846/237 567/820/237 565/798/237 +f 567/820/237 582/906/237 581/848/237 +f 581/849/237 584/907/237 574/826/237 +f 582/850/238 590/860/238 589/851/238 +f 553/853/239 587/908/239 588/854/239 +f 569/829/241 588/909/241 587/856/241 +f 589/857/241 590/910/241 571/828/241 +f 570/833/241 587/911/241 589/858/241 +f 590/859/241 588/912/241 569/829/241 +f 554/855/242 588/854/242 590/860/242 +f 586/843/240 584/913/240 583/861/240 +f 553/914/240 583/861/240 587/862/240 +f 583/861/240 584/913/240 589/851/240 +f 584/913/240 581/852/240 589/851/240 +f 593/863/248 594/867/248 592/864/248 +f 595/866/242 596/869/242 594/867/242 +f 597/868/242 598/871/242 596/869/242 +f 602/870/249 600/873/249 596/869/249 +f 599/872/250 601/877/250 597/868/250 +f 594/867/259 596/869/259 600/873/259 +f 593/863/260 591/865/260 599/872/260 +f 601/874/237 602/915/237 598/871/237 +f 602/870/238 606/916/238 604/875/238 +f 599/872/239 603/917/239 605/876/239 +f 608/878/253 610/881/253 609/879/253 +f 610/881/242 608/918/242 611/882/242 +f 610/881/254 613/883/254 614/884/254 +f 609/879/240 614/884/240 612/885/240 +f 618/836/237 617/891/237 615/887/237 +f 579/892/241 620/889/241 619/835/241 +f 618/836/256 619/835/256 620/889/256 +f 615/887/257 617/891/257 579/890/257 +f 616/888/239 615/887/239 577/895/239 +f 618/836/258 616/888/258 578/897/258 +o Body +v -4.399981 -0.600006 -2.200000 +v -4.399981 -0.600006 2.200000 +v 4.400020 -0.599998 -2.200000 +v 4.400020 -0.599998 2.200000 +v -4.399989 10.399994 -2.200000 +v -4.399989 10.399994 2.200000 +v 4.400011 10.400002 2.200000 +v 4.400011 10.400002 -2.200000 +v -4.674989 10.399994 -2.475000 +v 4.675011 10.400002 -2.475000 +v -4.674989 10.399994 2.475000 +v 4.675011 10.400002 2.475000 +v -4.674991 12.599995 -2.475000 +v 4.675009 12.600002 -2.475000 +v -4.674991 12.599995 2.475000 +v 4.675009 12.600002 2.475000 +v -2.474991 12.599997 -2.475000 +v -2.474991 12.599997 2.475000 +v 2.475009 12.600000 -2.475000 +v 2.475009 12.600000 2.475000 +v -1.374992 13.699998 -2.475000 +v -1.374992 13.699998 2.475000 +v 1.375008 13.700000 -2.475000 +v 1.375008 13.700000 2.475000 +v -2.474989 10.399996 -2.475000 +v 2.475011 10.400000 -2.475000 +v -2.474991 12.049996 -2.475000 +v 2.475010 12.050000 -2.475000 +v -1.374991 13.149997 -2.475000 +v 1.375009 13.149999 -2.475000 +v -2.474989 10.399996 -2.750000 +v 2.475011 10.400000 -2.750000 +v -2.474991 12.049996 -2.750000 +v 2.475010 12.050000 -2.750000 +v -1.374991 13.149997 -2.750000 +v 1.375009 13.149999 -2.750000 +v -2.474989 10.399996 2.750000 +v 2.475011 10.400000 2.750000 +v -2.474989 10.399996 2.475000 +v 2.475011 10.400000 2.475000 +v -2.474991 12.049996 2.750000 +v 2.475010 12.050000 2.750000 +v -2.474991 12.049996 2.475000 +v 2.475010 12.050000 2.475000 +v -0.824989 10.674997 2.750000 +v 0.825011 10.674999 2.750000 +v -0.824990 11.224998 2.750000 +v 0.825010 11.224999 2.750000 +v -0.824989 10.674997 3.025000 +v 0.825011 10.674999 3.025000 +v -0.824990 11.224998 3.025000 +v 0.825010 11.224999 3.025000 +v -4.674989 10.399994 -2.475000 +v -4.674989 10.399994 2.475000 +v -4.674991 12.049994 -2.475000 +v -4.674991 12.049994 2.475000 +v -4.949989 10.399994 -2.750000 +v -4.949989 10.399994 2.750000 +v -4.949991 12.049994 -2.750000 +v -4.949991 12.049994 2.750000 +v -4.124989 10.399995 -2.475000 +v -4.124990 12.049995 -2.475000 +v -4.399989 10.399994 -2.750000 +v -4.399991 12.049994 -2.750000 +v -4.124989 10.399995 2.475000 +v -4.124990 12.049995 2.475000 +v -4.399989 10.399994 2.750000 +v -4.399991 12.049994 2.750000 +v 4.950011 10.400002 -2.750000 +v 4.950011 10.400002 2.750000 +v 4.950010 12.050002 -2.750000 +v 4.950010 12.050002 2.750000 +v 4.675010 12.050002 -2.475000 +v 4.675010 12.050002 2.475000 +v 4.675011 10.400002 -2.475000 +v 4.675011 10.400002 2.475000 +v 4.400011 10.400002 -2.750000 +v 4.400010 12.050002 -2.750000 +v 4.125010 12.050001 -2.475000 +v 4.125011 10.400001 -2.475000 +v 4.400011 10.400002 2.750000 +v 4.400010 12.050002 2.750000 +v 4.125010 12.050001 2.475000 +v 4.125011 10.400001 2.475000 +v -4.674988 8.749994 -2.200000 +v 4.675013 8.750002 -2.200000 +v -4.674988 8.749994 2.200000 +v 4.675013 8.750002 2.200000 +v -3.024988 8.749995 -2.750000 +v 3.025012 8.750001 -2.750000 +v -3.024988 8.749995 2.750000 +v 3.025012 8.750001 2.750000 +v -2.474988 8.749996 -2.750000 +v 2.475012 8.750000 -2.750000 +v -1.374987 7.649996 -2.750000 +v 1.375013 7.650000 -2.750000 +v -3.024981 -0.050003 -2.750000 +v 3.025019 -0.049999 -2.750000 +v -4.674981 -0.050005 -2.200000 +v 4.675019 -0.049997 -2.200000 +v -4.674981 -0.050005 2.200000 +v 4.675019 -0.049997 2.200000 +v -3.024981 -0.050003 2.750000 +v 3.025019 -0.049999 2.750000 +v -4.674982 1.049994 -2.200000 +v 3.025018 1.049999 -2.750000 +v -3.024982 1.049995 -2.750000 +v -2.474988 8.749996 -2.200000 +v 2.475012 8.750000 -2.200000 +v -1.374987 7.649996 -2.200000 +v 1.375013 7.650000 -2.200000 +v -3.024988 8.749995 2.200000 +v 3.025012 8.750001 2.200000 +v 4.400012 8.750002 -2.200000 +v 4.400012 8.750002 2.200000 +v -4.399988 8.749994 -2.200000 +v -4.399988 8.749994 2.200000 +v 4.675019 1.050001 -2.200000 +v 0.550018 1.324999 -2.750000 +v -0.549982 1.324999 -2.750000 +v -4.674982 1.049994 -2.475000 +v 3.025018 1.049999 -3.025000 +v -3.024982 1.049995 -3.025000 +v 4.675019 1.050001 -2.475000 +v 0.550018 1.324999 -3.025000 +v -0.549982 1.324999 -3.025000 +v -4.674984 3.799994 -2.200000 +v 4.675016 3.800001 -2.200000 +v -4.674984 3.799994 -2.475000 +v 4.675016 3.800001 -2.475000 +v 3.025016 4.350000 -3.025000 +v -3.024984 4.349997 -3.025000 +v 0.550016 4.074999 -3.025000 +v -0.549984 4.074999 -3.025000 +v 3.025016 4.350000 -2.750000 +v -3.024984 4.349997 -2.750000 +v 0.550016 4.074999 -2.750000 +v -0.549984 4.074999 -2.750000 +v -3.849977 -4.450006 6.050000 +v 3.850023 -4.449999 6.050000 +v 4.950023 -4.449999 4.950000 +v -4.949977 -4.450006 4.950000 +v 4.950023 -4.449999 0.550000 +v -4.949977 -4.450006 0.550000 +v 4.400021 -2.249998 -2.750000 +v -4.399979 -2.250006 -2.750000 +v 2.750018 2.150000 -4.400000 +v -2.749982 2.149996 -4.400000 +v 3.850017 2.700003 -4.400000 +v -3.849983 2.699995 -4.400000 +v 9.350022 -3.349995 0.550000 +v 7.150020 -0.599997 -3.300000 +v -9.349978 -3.350010 0.550000 +v -7.149981 -0.600008 -3.300000 +v -3.849978 -3.900007 6.600000 +v 3.850023 -3.900000 6.600000 +v -3.849981 -0.050005 6.600000 +v 3.850019 -0.049997 6.600000 +v 8.800022 -2.799994 2.750000 +v -8.799978 -2.800009 2.750000 +v 6.600020 -0.599997 5.500000 +v -6.599981 -0.600008 5.500000 +v -3.849983 2.699995 4.950000 +v 3.850017 2.700003 4.950000 +v 4.400021 -2.249998 -2.200000 +v -4.399979 -2.250006 -2.200000 +v 2.750018 2.150000 -3.850000 +v -2.749982 2.149996 -3.850000 +v 3.850017 2.700003 -3.850000 +v -3.849983 2.699995 -3.850000 +v 7.150020 -0.599997 -2.750000 +v -7.149981 -0.600008 -2.750000 +v 4.950023 -3.900000 4.950000 +v -4.949978 -3.900007 4.950000 +v 4.950023 -3.900000 0.550000 +v -4.949978 -3.900007 0.550000 +v 9.350022 -2.799994 0.550000 +v -9.349978 -2.800009 0.550000 +v 8.800021 -2.249994 2.200000 +v -8.799979 -2.250010 2.200000 +v 3.850017 2.700003 4.950000 +v -3.849983 2.699995 4.950000 +v -2.749987 7.649996 2.750000 +v 2.750013 7.650000 2.750000 +v -2.749982 2.149996 2.750000 +v 2.750018 2.150000 2.750000 +v -2.749987 7.649996 5.500000 +v 2.750013 7.650000 5.500000 +v -2.749982 2.149996 5.500000 +v 2.750018 2.150000 5.500000 +v -2.474985 4.899996 5.500000 +v -2.286585 3.952856 5.500000 +v -1.750072 3.149904 5.500000 +v -0.947125 2.613396 5.500000 +v 0.000017 2.424997 5.500000 +v 0.947159 2.613396 5.500000 +v 1.750106 3.149908 5.500000 +v 2.286617 3.952860 5.500000 +v 2.475015 4.900000 5.500000 +v 2.286615 5.847139 5.500000 +v 1.750103 6.650087 5.500000 +v 0.947156 7.186602 5.500000 +v 0.000013 7.374998 5.500000 +v -0.947129 7.186602 5.500000 +v -1.750075 6.650084 5.500000 +v -2.286588 5.847136 5.500000 +v -2.199985 4.899996 5.500000 +v -2.032519 4.058094 5.500000 +v -1.555618 3.344362 5.500000 +v -0.841887 2.867462 5.500000 +v 0.000017 2.699999 5.500000 +v 0.841921 2.867462 5.500000 +v 1.555651 3.344366 5.500000 +v 2.032551 4.058098 5.500000 +v 2.200015 4.900000 5.500000 +v 2.032550 5.741901 5.500000 +v 1.555649 6.455635 5.500000 +v 0.841918 6.932533 5.500000 +v 0.000014 7.099998 5.500000 +v -0.841891 6.932533 5.500000 +v -1.555620 6.455631 5.500000 +v -2.032521 5.741898 5.500000 +v -2.286585 3.952856 6.050001 +v -2.474985 4.899996 6.050001 +v -1.750072 3.149904 6.050001 +v -0.947125 2.613396 6.050001 +v 0.000017 2.424997 6.050001 +v 0.947159 2.613396 6.050001 +v 1.750106 3.149908 6.050001 +v 2.286617 3.952860 6.050001 +v 2.475015 4.900000 6.050001 +v 2.286615 5.847139 6.050001 +v 1.750103 6.650087 6.050001 +v 0.947156 7.186602 6.050001 +v 0.000013 7.374998 6.050001 +v -0.947129 7.186602 6.050001 +v -1.750075 6.650084 6.050001 +v -2.286588 5.847136 6.050001 +v -2.032519 4.058094 6.050000 +v -2.199985 4.899996 6.050000 +v -1.555618 3.344362 6.050000 +v -0.841887 2.867462 6.050000 +v 0.000017 2.699999 6.050000 +v 0.841921 2.867462 6.050000 +v 1.555651 3.344366 6.050000 +v 2.032551 4.058098 6.050000 +v 2.200015 4.900000 6.050000 +v 2.032550 5.741901 6.050000 +v 1.555649 6.455635 6.050000 +v 0.841918 6.932533 6.050000 +v 0.000014 7.099998 6.050000 +v -0.841891 6.932533 6.050000 +v -1.555620 6.455631 6.050000 +v -2.032521 5.741898 6.050000 +v 2.750018 2.150000 -4.400000 +v -2.749982 2.149996 -4.400000 +v 3.850017 2.700003 -4.400000 +v -3.849983 2.699995 -4.400000 +v 2.750018 2.150000 -3.850000 +v -2.749982 2.149996 -3.850000 +v 3.850017 2.700003 -3.850000 +v -3.849983 2.699995 -3.850000 +v 3.850017 2.700003 -4.400000 +v 9.350022 -3.349995 0.550000 +v 7.150020 -0.599997 -3.300000 +v 3.850019 -0.049997 6.600000 +v 8.800022 -2.799994 2.750000 +v 6.600020 -0.599997 5.500000 +v 3.850017 2.700003 4.950000 +v 3.850017 2.700003 2.750000 +v 3.850017 2.700003 -3.850000 +v 7.150020 -0.599997 -2.750000 +v 9.350022 -2.799994 0.550000 +v 8.800021 -2.249994 2.200000 +v -3.849983 2.699995 -4.400000 +v -9.349978 -3.350010 0.550000 +v -7.149981 -0.600008 -3.300000 +v -3.849981 -0.050005 6.600000 +v -8.799978 -2.800009 2.750000 +v -6.599981 -0.600008 5.500000 +v -3.849983 2.699995 4.950000 +v -3.849983 2.699995 2.750000 +v -3.849983 2.699995 -3.850000 +v -7.149981 -0.600008 -2.750000 +v -9.349978 -2.800009 0.550000 +v -8.799979 -2.250010 2.200000 +v -4.949977 -4.450006 4.950000 +v -4.949977 -4.450006 0.550000 +v -4.399979 -2.250006 -2.750000 +v -2.749982 2.149996 -4.400000 +v -4.399979 -2.250006 -2.200000 +v -2.749982 2.149996 -3.850000 +v -4.949978 -3.900007 4.950000 +v -4.949978 -3.900007 0.550000 +v 4.950023 -4.449999 4.950000 +v 4.950023 -4.449999 0.550000 +v 4.400021 -2.249998 -2.750000 +v 2.750018 2.150000 -4.400000 +v 4.400021 -2.249998 -2.200000 +v 2.750018 2.150000 -3.850000 +v 4.950023 -3.900000 4.950000 +v 4.950023 -3.900000 0.550000 +v -3.849977 -4.450006 6.050000 +v 3.850023 -4.449999 6.050000 +v 4.950023 -4.449999 4.950000 +v -4.949977 -4.450006 4.950000 +v -3.849983 2.699995 2.750000 +v 3.850017 2.700003 2.750000 +v 4.950023 -3.900000 4.950000 +v -4.949978 -3.900007 4.950000 +v 8.800021 -2.249994 2.200000 +v -8.799979 -2.250010 2.200000 +v -3.849978 -3.900007 6.050000 +v 3.850023 -3.900000 6.050000 +v -3.849983 2.699995 2.750000 +v 3.850017 2.700003 2.750000 +v 2.200016 4.693750 5.940001 +v -2.199985 4.693747 5.940000 +v 2.200016 4.556250 5.940001 +v -2.199985 4.556246 5.940000 +v 2.062516 4.143749 5.940001 +v -2.062484 4.143745 5.940000 +v 2.062516 4.006250 5.940001 +v -2.062484 4.006247 5.940000 +v 1.787516 3.593750 5.940001 +v -1.787484 3.593746 5.940000 +v 1.787517 3.456249 5.940001 +v -1.787483 3.456245 5.940000 +v 1.375017 3.043751 5.940001 +v -1.374983 3.043747 5.940000 +v 1.375017 2.906250 5.940001 +v -1.374983 2.906246 5.940000 +v 2.062515 5.793751 5.940001 +v -2.062485 5.793747 5.940000 +v 2.062515 5.656250 5.940001 +v -2.062485 5.656246 5.940000 +v 2.200015 5.243750 5.940001 +v -2.199985 5.243746 5.940000 +v 2.200015 5.106251 5.940001 +v -2.199985 5.106247 5.940000 +v 1.375014 6.893749 5.940001 +v -1.374986 6.893745 5.940000 +v 1.375014 6.756250 5.940001 +v -1.374986 6.756247 5.940000 +v 1.787514 6.343750 5.940001 +v -1.787486 6.343746 5.940000 +v 1.787514 6.206249 5.940001 +v -1.787486 6.206245 5.940000 +vt 0.118056 0.472393 +vt 0.340278 0.570552 +vt 0.118056 0.570552 +vt 0.361111 0.184049 +vt 0.479167 0.190184 +vt 0.368056 0.190184 +vt 0.152778 0.263804 +vt 0.118056 0.251534 +vt 0.166667 0.251534 +vt 0.500000 0.263804 +vt 0.465278 0.251534 +vt 0.500000 0.251534 +vt 0.284722 0.226994 +vt 0.159722 0.226994 +vt 0.111111 0.190184 +vt 0.687500 0.251534 +vt 0.652778 0.263804 +vt 0.652778 0.251534 +vt -0.000000 0.134969 +vt 0.125000 0.184049 +vt 0.000000 0.184049 +vt 0.361111 0.134969 +vt 0.486111 0.184049 +vt 0.000000 0.085890 +vt 0.125000 0.134969 +vt 0.361111 0.085890 +vt 0.486111 0.134969 +vt 0.208333 0.000000 +vt 0.180556 0.110429 +vt 0.180556 -0.000000 +vt 0.277778 0.110429 +vt 0.305556 0.000000 +vt 0.305556 0.110429 +vt 0.208333 0.110429 +vt 0.666667 0.134969 +vt 0.569444 0.110429 +vt 0.638889 0.110429 +vt 0.305556 0.134969 +vt 0.180556 0.134969 +vt 0.722222 0.134969 +vt 0.722222 0.184049 +vt 0.131944 0.190184 +vt 0.354167 0.190184 +vt 0.118056 0.190184 +vt 0.006944 0.190184 +vt 0.715278 0.190184 +vt 0.493056 0.190184 +vt 0.048611 0.000000 +vt 0.173611 0.006135 +vt 0.048611 0.006135 +vt 0.173611 0.042945 +vt 0.048611 0.049080 +vt 0.048611 0.042945 +vt 0.312500 0.030675 +vt 0.437500 0.067485 +vt 0.312500 0.067485 +vt 0.340278 0.006135 +vt 0.437500 0.030675 +vt 0.340278 -0.000000 +vt 0.312500 0.006135 +vt 0.312500 -0.000000 +vt 0.409722 -0.000000 +vt 0.444444 0.067485 +vt 0.444444 0.030675 +vt 0.312500 0.073620 +vt 0.437500 0.073620 +vt 0.437500 -0.000000 +vt 0.409722 0.006135 +vt 0.305556 0.030675 +vt 0.305556 0.067485 +vt 0.041667 0.042945 +vt 0.180556 0.006135 +vt 0.180556 0.042945 +vt 0.180556 0.067485 +vt 0.173611 0.055215 +vt 0.180556 0.055215 +vt 0.173611 0.049080 +vt 0.131944 0.055215 +vt 0.131944 0.049080 +vt 0.125000 0.055215 +vt 0.131944 0.067485 +vt 0.125000 0.067485 +vt 0.173611 0.073620 +vt 0.131944 0.073620 +vt 0.173611 0.067485 +vt 0.506944 0.042945 +vt 0.493056 0.006135 +vt 0.506944 0.006135 +vt 0.645833 0.042945 +vt 0.645833 0.006135 +vt 0.506944 0.000000 +vt 0.493056 0.000000 +vt 0.638889 -0.000000 +vt 0.513889 0.000000 +vt 0.506944 0.049080 +vt 0.493056 0.042945 +vt 0.513889 0.049080 +vt 0.638889 0.049080 +vt 0.486111 0.042945 +vt 0.486111 0.006135 +vt 0.645833 0.000000 +vt 0.659722 0.006135 +vt 0.645833 0.049080 +vt 0.659722 0.042945 +vt 0.659722 0.049080 +vt 0.666667 0.006135 +vt 0.506944 0.092025 +vt 0.645833 0.055215 +vt 0.645833 0.092025 +vt 0.638889 0.049080 +vt 0.506944 0.055215 +vt 0.513889 0.049080 +vt 0.638889 0.098160 +vt 0.513889 0.098160 +vt 0.506944 0.098160 +vt 0.493056 0.092025 +vt 0.506944 0.049080 +vt 0.493056 0.055215 +vt 0.493056 0.049080 +vt 0.486111 0.092025 +vt 0.645833 0.098160 +vt 0.659722 0.092025 +vt 0.659722 0.098160 +vt 0.645833 0.049080 +vt 0.659722 0.055215 +vt 0.666667 0.092025 +vt 0.194444 0.288344 +vt 0.152778 0.460123 +vt 0.305556 0.263804 +vt 0.263889 0.288344 +vt 0.291667 0.263804 +vt 0.305556 0.460123 +vt 0.111111 0.460123 +vt 0.000000 0.263804 +vt 0.111111 0.263804 +vt 0.458333 0.460123 +vt 0.347222 0.263804 +vt 0.458333 0.263804 +vt 0.347222 0.460123 +vt 0.500000 0.460123 +vt 0.694444 0.263804 +vt 0.652778 0.460123 +vt 0.194444 0.263804 +vt 0.263889 0.251534 +vt 0.263889 0.263804 +vt 0.291667 0.251534 +vt 0.340278 0.631902 +vt 0.347222 0.595092 +vt 0.347222 0.631902 +vt 0.576389 0.631902 +vt 0.569444 0.595092 +vt 0.576389 0.595092 +vt 0.347222 0.257669 +vt 0.000000 0.257669 +vt 0.444444 0.190184 +vt 0.333333 0.226994 +vt 0.333333 0.190184 +vt 0.666667 0.190184 +vt 0.631944 0.226994 +vt 0.479167 0.226994 +vt -0.000000 0.226994 +vt 0.000000 0.190184 +vt 0.166667 0.263804 +vt 0.340278 0.251534 +vt 0.465278 0.588957 +vt 0.458333 0.644172 +vt 0.458333 0.588957 +vt 0.458333 0.644172 +vt 0.451389 0.588957 +vt 0.458333 0.588957 +vt 0.340278 0.595092 +vt 0.347222 0.533742 +vt 0.569444 0.533742 +vt 0.388889 0.521472 +vt 0.451389 0.527607 +vt 0.527778 0.521472 +vt 0.527778 0.595092 +vt 0.388889 0.595092 +vt 0.451389 0.472393 +vt 0.458333 0.527607 +vt 0.458333 0.527607 +vt 0.465278 0.472393 +vt 0.465278 0.527607 +vt 0.340278 0.496933 +vt 0.340278 0.533742 +vt 0.576389 0.496933 +vt 0.576389 0.533742 +vt -0.000000 0.460123 +vt 0.104167 0.472393 +vt 0.006944 0.472393 +vt 0.458333 0.472393 +vt 0.347222 0.472393 +vt 0.340278 0.472393 +vt 0.687500 0.472393 +vt 0.465278 0.472393 +vt 0.694444 0.460123 +vt 0.930556 0.061350 +vt 0.791667 0.184049 +vt 0.791667 0.061350 +vt 1.000000 0.184049 +vt 1.000000 0.061350 +vt 0.791667 0.245399 +vt 0.930556 0.184049 +vt 0.930556 0.245399 +vt 0.722222 0.061350 +vt 0.722222 0.184049 +vt 0.930556 0.000000 +vt 0.791667 0.000000 +vt 0.708333 0.226994 +vt 0.715278 0.208589 +vt 0.715278 0.226994 +vt 0.708333 0.208589 +vt 0.715278 0.190184 +vt 0.708333 0.466258 +vt 0.715278 0.484663 +vt 0.708333 0.484663 +vt 0.708333 0.447853 +vt 0.715278 0.466258 +vt 0.715278 0.429448 +vt 0.715278 0.447853 +vt 0.708333 0.411043 +vt 0.708333 0.429448 +vt 0.715278 0.392638 +vt 0.715278 0.411043 +vt 0.708333 0.392638 +vt 0.715278 0.374233 +vt 0.708333 0.374233 +vt 0.715278 0.355828 +vt 0.708333 0.337423 +vt 0.708333 0.355828 +vt 0.715278 0.319018 +vt 0.715278 0.337423 +vt 0.708333 0.300613 +vt 0.708333 0.319018 +vt 0.708333 0.282209 +vt 0.715278 0.300613 +vt 0.708333 0.263804 +vt 0.715278 0.282209 +vt 0.715278 0.245399 +vt 0.715278 0.263804 +vt 0.708333 0.245399 +vt 1.000000 0.184049 +vt 0.930556 0.190184 +vt 0.930556 0.184049 +vt 1.000000 0.184049 +vt 0.930556 0.190184 +vt 0.930556 0.184049 +vt 0.993056 0.184049 +vt 0.937500 0.190184 +vt 0.937500 0.184049 +vt 0.986111 0.184049 +vt 0.944444 0.190184 +vt 0.944444 0.184049 +vt 1.000000 0.184049 +vt 0.930556 0.190184 +vt 0.930556 0.184049 +vt 1.000000 0.184049 +vt 0.930556 0.190184 +vt 0.930556 0.184049 +vt 0.986111 0.184049 +vt 0.944444 0.190184 +vt 0.944444 0.184049 +vt 0.993056 0.184049 +vt 0.937500 0.190184 +vt 0.937500 0.184049 +vt 0.111111 0.251534 +vt 0.458333 0.251534 +vt 0.256944 0.251534 +vt 0.187500 0.251534 +vt 0.111111 0.226994 +vt 0.694444 0.251534 +vt 0.125000 0.085890 +vt 0.486111 0.085890 +vt 0.277778 0.000000 +vt 0.541667 0.134969 +vt 0.173611 0.000000 +vt 0.173611 0.049080 +vt 0.437500 0.006135 +vt 0.041667 0.006135 +vt 0.493056 0.049080 +vt 0.659722 0.000000 +vt 0.666667 0.042945 +vt 0.493056 0.098160 +vt 0.486111 0.055215 +vt 0.659722 0.049080 +vt 0.666667 0.055215 +vt 0.194444 0.251534 +vt 0.569444 0.631902 +vt 0.458333 0.257669 +vt 0.111111 0.257669 +vt 0.444444 0.226994 +vt 0.666667 0.226994 +vt 0.347222 0.251534 +vt 0.465278 0.644172 +vt 0.451389 0.644172 +vt 0.458333 0.472393 +vt 0.458333 0.472393 +vt 0.347222 0.496933 +vt 0.569444 0.496933 +vt 0.708333 0.190184 +vt 1.000000 0.190184 +vt 1.000000 0.190184 +vt 0.993056 0.190184 +vt 0.986111 0.190184 +vt 1.000000 0.190184 +vt 1.000000 0.190184 +vt 0.986111 0.190184 +vt 0.993056 0.190184 +vt 0.701389 0.496933 +vt 0.701389 0.607362 +vt 0.673611 0.496933 +vt 0.729167 0.496933 +vt 0.756944 0.496933 +vt 0.729167 0.607362 +vt 0.840278 0.693252 +vt 0.729167 0.693252 +vt 0.812500 0.607362 +vt 0.701389 0.693252 +vt 0.590278 0.693252 +vt 0.618056 0.607362 +vt 0.187500 0.803681 +vt 0.381944 0.815951 +vt 0.187500 0.815951 +vt 0.194444 0.717791 +vt 0.381944 0.803681 +vt 0.701389 0.791411 +vt 0.590278 0.791411 +vt 0.729167 0.791411 +vt 0.840278 0.791411 +vt 0.416667 0.828221 +vt 0.534722 0.815951 +vt 0.451389 0.730061 +vt 0.381944 0.717791 +vt 0.118056 0.730061 +vt 0.034722 0.815951 +vt 0.152778 0.828221 +vt 0.381944 0.644172 +vt 0.444444 0.644172 +vt 0.569444 0.699386 +vt 0.458333 0.717791 +vt 0.125000 0.987730 +vt 0.166667 0.828221 +vt 0.166667 0.987730 +vt 0.576389 0.791411 +vt 0.590278 0.693252 +vt 0.590278 0.791411 +vt 0.000000 0.987730 +vt 0.402778 0.987730 +vt 0.361111 0.987730 +vt 0.361111 0.828221 +vt 0.576389 0.607362 +vt 0.576389 0.693252 +vt 0.402778 1.000000 +vt 0.361111 1.000000 +vt 0.729167 0.693252 +vt 0.715278 0.607362 +vt 0.729167 0.607362 +vt 0.590278 0.607362 +vt 0.576389 0.496933 +vt 0.590278 0.496933 +vt 0.527778 0.987730 +vt 0.729167 0.791411 +vt 0.715278 0.693252 +vt 0.125000 1.000000 +vt 0.166667 1.000000 +vt 0.715278 0.496933 +vt 0.729167 0.496933 +vt 0.701389 0.693252 +vt 0.715278 0.607362 +vt 0.715278 0.693252 +vt 0.569444 0.717791 +vt 0.381944 0.644172 +vt 0.715278 0.791411 +vt 0.701389 0.791411 +vt 0.701389 0.607362 +vt 0.715278 0.496933 +vt 0.381944 0.717791 +vt 0.729167 0.496933 +vt 0.729167 0.607362 +vt 0.756944 0.496933 +vt 0.701389 0.496933 +vt 0.673611 0.496933 +vt 0.701389 0.607362 +vt 0.812500 0.607362 +vt 0.618056 0.607362 +vt 0.590278 0.693252 +vt 0.840278 0.693252 +vt 0.701389 0.693252 +vt 0.729167 0.693252 +vt 0.729167 0.791411 +vt 0.701389 0.791411 +vt 0.590278 0.791411 +vt 0.840278 0.791411 +vt 0.145833 0.644172 +vt 0.340278 0.595092 +vt 0.340278 0.644172 +vt 0.729167 0.496933 +vt 0.756944 0.484663 +vt 0.756944 0.496933 +vt 0.673611 0.496933 +vt 0.701389 0.484663 +vt 0.701389 0.496933 +vt 0.694444 0.319018 +vt 0.694444 0.337423 +vt 0.729167 0.429448 +vt 0.729167 0.411043 +vt 0.729167 0.374233 +vt 0.729167 0.355828 +vt 0.694444 0.300613 +vt 0.729167 0.337423 +vt 0.694444 0.282209 +vt 0.729167 0.319018 +vt 0.694444 0.263804 +vt 0.729167 0.300613 +vt 0.694444 0.245399 +vt 0.729167 0.282209 +vt 0.694444 0.226994 +vt 0.729167 0.263804 +vt 0.694444 0.208589 +vt 0.729167 0.245399 +vt 0.694444 0.190184 +vt 0.729167 0.226994 +vt 0.694444 0.466258 +vt 0.694444 0.484663 +vt 0.729167 0.208589 +vt 0.694444 0.447853 +vt 0.694444 0.392638 +vt 0.694444 0.411043 +vt 0.729167 0.190184 +vt 0.694444 0.429448 +vt 0.694444 0.374233 +vt 0.729167 0.484663 +vt 0.729167 0.466258 +vt 0.694444 0.355828 +vt 0.729167 0.447853 +vt 0.729167 0.392638 +vt 0.194444 0.717791 +vt 0.111111 0.717791 +vt 0.187500 0.644172 +vt 0.125000 0.644172 +vt 0.000000 0.717791 +vt 0.000000 0.699386 +vt 0.840278 0.607362 +vt 0.854167 0.496933 +vt 0.854167 0.607362 +vt 0.840278 0.693252 +vt 0.854167 0.693252 +vt 0.854167 0.791411 +vt 0.840278 0.791411 +vt 0.187500 0.644172 +vt 0.715278 0.791411 +vt 0.701389 0.496933 +vt 0.145833 0.595092 +vt 0.729167 0.484663 +vt 0.673611 0.484663 +vt 0.840278 0.496933 +vn 0.0000 -1.0000 0.0000 +vn -0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 -0.0000 -0.7071 +vn -0.7071 -0.0000 0.7071 +vn -0.3162 -0.0000 -0.9487 +vn 0.3162 0.0000 -0.9487 +vn 0.3162 0.0000 0.9487 +vn -0.3162 -0.0000 0.9487 +vn -0.1104 -0.9939 0.0000 +vn 0.1104 -0.9939 0.0000 +vn 0.1104 0.9939 0.0000 +vn -0.1104 0.9939 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.3162 0.9487 0.0000 +vn -0.8944 -0.4472 0.0000 +vn 0.8944 -0.4472 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.3123 -0.1562 -0.9370 +vn -0.3123 -0.1562 -0.9370 +vn 0.0000 -0.7071 0.7071 +vn -0.3123 -0.1562 0.9370 +vn 0.3123 -0.1562 0.9370 +vn -0.1489 -0.2978 -0.9429 +vn -0.1622 -0.5900 -0.7909 +vn -0.0976 -0.3049 -0.9473 +vn 0.1489 -0.2978 -0.9429 +vn 0.0976 -0.3049 -0.9473 +vn 0.1622 -0.5900 -0.7909 +vn 0.3431 -0.9113 -0.2275 +vn 0.2316 -0.9265 -0.2965 +vn 0.1566 -0.5372 -0.8288 +vn -0.2316 -0.9265 -0.2965 +vn -0.3431 -0.9113 -0.2275 +vn -0.1566 -0.5372 -0.8288 +vn 0.2756 -0.3890 0.8790 +vn -0.3458 -0.6635 0.6635 +vn 0.3458 -0.6635 0.6635 +vn 0.1194 0.1874 0.9750 +vn -0.2756 -0.3890 0.8790 +vn -0.5296 -0.7133 0.4590 +vn -0.5761 -0.6748 0.4612 +vn 0.5296 -0.7132 0.4590 +vn 0.5761 -0.6748 0.4612 +vn -0.5420 -0.1779 0.8213 +vn -0.1194 0.1874 0.9750 +vn 0.5420 -0.1779 0.8213 +vn 0.0000 0.5145 0.8575 +vn -0.7466 0.6634 0.0495 +vn -0.9031 0.3471 0.2525 +vn -0.6895 0.6510 0.3172 +vn 0.6337 -0.2249 -0.7401 +vn 0.1905 -0.4235 -0.8856 +vn 0.3595 -0.2069 -0.9099 +vn -0.9961 0.0523 -0.0710 +vn -0.9000 0.3082 0.3083 +vn 0.4410 -0.3491 -0.8268 +vn -0.6337 -0.2249 -0.7401 +vn -0.3595 -0.2069 -0.9099 +vn -0.1905 -0.4235 -0.8856 +vn -0.7644 0.6446 -0.0149 +vn -0.9875 0.0000 -0.1572 +vn -0.3827 0.0000 -0.9239 +vn -0.9975 -0.0083 0.0696 +vn -0.9628 -0.2700 0.0069 +vn -0.9455 -0.3254 0.0000 +vn -0.7295 0.6840 0.0000 +vn -0.4410 -0.3491 -0.8268 +vn -0.9936 0.0000 0.1128 +vn 0.3827 0.0000 -0.9239 +vn -0.9363 -0.3511 0.0000 +vn 0.9975 -0.0083 0.0696 +vn 0.9628 -0.2700 0.0069 +vn 0.9936 0.0000 0.1128 +vn -0.7179 0.6428 0.2672 +vn 0.9455 -0.3254 0.0000 +vn 0.9363 -0.3511 0.0000 +vn -0.4072 0.4699 0.7831 +vn -0.1489 0.2978 0.9429 +vn -0.1613 0.6007 0.7830 +vn -0.0976 0.3049 0.9473 +vn 0.1489 0.2978 0.9429 +vn 0.0976 0.3049 0.9473 +vn 0.1613 0.6007 0.7830 +vn -0.1614 0.5435 0.8237 +vn 0.1614 0.5435 0.8237 +vn 0.3768 0.9069 0.1884 +vn -0.3768 0.9069 0.1884 +vn 0.2327 0.9310 0.2812 +vn -0.2327 0.9310 0.2812 +vn -0.3317 0.9384 -0.0971 +vn 0.3317 0.9384 -0.0971 +vn 0.5959 0.6810 -0.4256 +vn -0.5959 0.6810 -0.4256 +vn -0.4472 0.8944 0.0000 +vn 0.4472 0.8944 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.0000 -0.7462 0.6657 +vn 0.9239 -0.3827 0.0000 +vn 0.6571 0.0000 0.7537 +vn 0.2515 0.6071 0.7537 +vn 0.3827 0.9239 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.2855 -0.6894 0.6657 +vn 0.0000 0.6571 0.7537 +vn 0.5276 -0.5276 0.6657 +vn -0.2515 0.6071 0.7537 +vn -0.3827 0.9239 0.0000 +vn 0.6894 -0.2855 0.6657 +vn -0.4646 0.4646 0.7537 +vn 0.9239 0.3827 0.0000 +vn 0.7462 0.0000 0.6657 +vn -0.6071 0.2515 0.7537 +vn -0.9239 0.3827 0.0000 +vn 0.6894 0.2855 0.6657 +vn -0.6571 0.0000 0.7537 +vn 0.5276 0.5276 0.6657 +vn -0.6071 -0.2515 0.7537 +vn -0.9239 -0.3827 0.0000 +vn 0.2855 0.6894 0.6657 +vn -0.4646 -0.4646 0.7537 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.7462 0.6657 +vn -0.2515 -0.6071 0.7537 +vn -0.3827 -0.9239 0.0000 +vn -0.2855 0.6894 0.6657 +vn -0.7462 0.0000 0.6657 +vn 0.0000 -0.6571 0.7537 +vn -0.5276 0.5276 0.6657 +vn -0.6894 -0.2855 0.6657 +vn 0.2515 -0.6071 0.7537 +vn -0.6894 0.2855 0.6657 +vn -0.5276 -0.5276 0.6657 +vn 0.4646 -0.4646 0.7537 +vn 0.6071 0.2515 0.7537 +vn -0.2855 -0.6894 0.6657 +vn 0.6071 -0.2515 0.7537 +vn 0.4646 0.4646 0.7537 +vn 0.4072 0.4699 0.7831 +vn 0.6895 0.6510 0.3172 +vn 0.7179 0.6428 0.2672 +vn 0.7466 0.6634 0.0495 +vn 0.9000 0.3083 0.3083 +vn 0.9031 0.3471 0.2525 +vn 0.7295 0.6840 0.0000 +vn 0.7644 0.6446 -0.0149 +vn 0.9961 0.0523 -0.0710 +vn 0.9875 0.0000 -0.1572 +s off +f 621/919/261 624/920/261 622/921/261 +f 630/922/261 627/923/261 628/924/261 +f 709/925/262 736/926/262 728/927/262 +f 712/928/262 735/929/262 733/930/262 +f 729/931/263 728/932/263 625/933/263 +f 737/934/262 711/935/262 732/936/262 +f 635/937/264 629/938/264 631/939/264 +f 634/940/265 632/941/265 630/922/265 +f 638/942/262 633/943/262 635/937/262 +f 639/944/262 636/945/262 634/940/262 +f 642/946/266 637/947/266 638/948/266 +f 643/949/267 640/950/267 639/951/267 +f 642/946/262 643/949/262 641/952/262 +f 638/953/268 644/954/268 642/955/268 +f 641/952/263 639/956/263 637/957/263 +f 629/938/263 637/957/263 639/956/263 +f 638/953/268 635/958/268 631/959/268 +f 625/960/261 630/922/261 628/961/261 +f 631/939/261 625/962/261 626/963/261 +f 632/941/261 626/964/261 627/965/261 +f 664/966/262 661/967/262 662/968/262 +f 657/969/261 660/970/261 658/971/261 +f 653/972/263 652/973/263 651/974/263 +f 655/975/263 654/976/263 653/972/263 +f 649/977/266 653/978/266 647/979/266 +f 650/980/262 655/975/262 649/977/262 +f 646/981/265 654/976/265 648/982/265 +f 645/983/261 652/973/261 646/984/261 +f 648/985/267 656/986/267 650/980/267 +f 647/987/264 651/974/264 645/988/264 +f 658/971/268 661/967/268 657/969/268 +f 660/989/265 662/968/265 658/971/265 +f 657/969/264 663/990/264 659/991/264 +f 665/992/264 671/993/264 667/994/264 +f 667/995/262 672/996/262 668/997/262 +f 668/998/265 670/999/265 666/1000/265 +f 670/999/261 665/1001/261 666/1002/261 +f 672/996/268 669/1003/268 670/999/268 +f 679/1004/263 683/1005/263 677/1006/263 +f 680/1007/264 677/1006/264 678/1008/264 +f 673/1009/261 683/1005/261 681/1010/261 +f 674/1011/261 677/1006/261 673/1012/261 +f 675/1013/262 684/1014/262 679/1004/262 +f 675/1015/262 680/1007/262 676/1016/262 +f 683/1005/269 682/1017/269 681/1018/269 +f 674/1019/261 687/1020/261 678/1008/261 +f 676/1021/262 688/1022/262 686/1023/262 +f 678/1008/268 688/1022/268 680/1007/268 +f 685/1024/270 688/1022/270 687/1020/270 +f 689/1025/265 692/1026/265 690/1027/265 +f 694/1028/262 691/1029/262 693/1030/262 +f 689/1025/261 696/1031/261 695/1032/261 +f 695/1033/261 697/1034/261 689/1025/261 +f 693/1035/262 698/1036/262 699/1037/262 +f 689/1025/263 698/1036/263 691/1029/263 +f 700/1038/271 698/1036/271 697/1034/271 +f 696/1039/261 701/1040/261 704/1041/261 +f 694/1042/262 702/1043/262 692/1026/262 +f 692/1026/268 701/1040/268 690/1027/268 +f 702/1043/272 704/1044/272 701/1040/272 +f 709/925/263 715/1045/263 717/1046/263 +f 710/1047/263 716/1048/263 714/1049/263 +f 718/1050/263 715/1045/263 716/1048/263 +f 719/1051/264 707/1052/264 705/1053/264 +f 722/1054/265 706/1055/265 708/1056/265 +f 709/925/273 719/1051/273 705/1053/273 +f 720/1057/274 710/1047/274 706/1055/274 +f 711/935/268 724/1058/268 712/928/268 +f 724/1058/275 708/1056/275 712/928/275 +f 707/1059/276 723/1060/276 711/935/276 +f 715/1061/262 731/1062/262 716/1063/262 +f 716/1063/266 729/1064/266 714/1049/266 +f 727/1065/261 741/1066/261 743/1067/261 +f 726/1068/261 744/1069/261 738/1070/261 +f 712/928/262 732/936/262 711/935/262 +f 734/1071/262 708/1056/262 706/1055/262 +f 737/1072/262 705/1053/262 707/1052/262 +f 627/1073/265 734/1074/265 628/1075/265 +f 626/1076/268 732/1077/268 733/1078/268 +f 625/933/264 737/1079/264 626/1080/264 +f 728/927/267 715/1061/267 713/1081/267 +f 734/1082/262 710/1047/262 729/1064/262 +f 745/1083/277 726/1084/277 739/1085/277 +f 727/1086/278 746/1087/278 740/1088/278 +f 725/1089/264 749/1090/264 741/1066/264 +f 750/1091/265 738/1070/265 744/1069/265 +f 746/1087/263 752/1092/263 754/1093/263 +f 745/1083/263 751/1094/263 742/1095/263 +f 743/1096/273 749/1090/273 752/1092/273 +f 742/1095/274 750/1091/274 744/1069/274 +f 752/1097/279 758/1098/279 754/1093/279 +f 757/1099/280 751/1100/280 753/1101/280 +f 756/1102/281 749/1090/281 747/1103/281 +f 754/1093/265 740/1088/265 746/1087/265 +f 739/1085/264 753/1101/264 745/1083/264 +f 750/1091/282 755/1104/282 748/1105/282 +f 721/1106/283 621/1107/283 622/1108/283 +f 720/1057/284 624/1109/284 623/1110/284 +f 623/1111/285 717/1046/285 718/1050/285 +f 718/1050/286 720/1057/286 623/1111/286 +f 717/1046/287 621/919/287 719/1051/287 +f 724/1058/288 622/1112/288 624/1113/288 +f 721/1114/289 622/1112/289 723/1060/289 +f 722/1054/290 724/1058/290 624/1113/290 +f 807/1115/268 810/1116/268 808/1117/268 +f 805/1118/264 807/1115/264 803/1119/264 +f 806/1120/261 809/1121/261 805/1122/261 +f 804/1123/265 810/1116/265 806/1124/265 +f 803/1125/262 808/1117/262 804/1126/262 +f 853/1127/268 870/1128/268 869/1129/268 +f 854/1130/268 871/1131/268 870/1128/268 +f 856/1132/268 871/1133/268 855/1134/268 +f 857/1135/268 872/1136/268 856/1132/268 +f 857/1135/268 874/1137/268 873/1138/268 +f 844/1139/268 874/1137/268 858/1140/268 +f 844/1139/268 859/1141/268 860/1142/268 +f 843/1143/268 861/1144/268 859/1141/268 +f 845/1145/268 862/1146/268 861/1144/268 +f 847/1147/268 862/1146/268 846/1148/268 +f 847/1147/268 864/1149/268 863/1150/268 +f 849/1151/268 864/1149/268 848/1152/268 +f 850/1153/268 865/1154/268 849/1151/268 +f 851/1155/268 866/1156/268 850/1153/268 +f 851/1155/268 868/1157/268 867/1158/268 +f 853/1127/268 868/1157/268 852/1159/268 +f 938/1160/268 939/1161/268 937/1162/268 +f 942/1163/268 943/1164/268 941/1165/268 +f 946/1166/268 947/1167/268 945/1168/268 +f 950/1169/268 951/1170/268 949/1171/268 +f 954/1172/268 955/1173/268 953/1174/268 +f 958/1175/268 959/1176/268 957/1177/268 +f 962/1178/268 963/1179/268 961/1180/268 +f 966/1181/268 967/1182/268 965/1183/268 +f 621/919/261 623/1111/261 624/920/261 +f 630/922/261 632/941/261 627/923/261 +f 728/927/262 713/1081/262 709/925/262 +f 709/925/262 705/1184/262 736/926/262 +f 712/928/262 708/1185/262 735/929/262 +f 625/933/263 628/1075/263 729/931/263 +f 628/1075/263 734/1074/263 729/931/263 +f 729/931/263 731/1186/263 730/1187/263 +f 728/932/263 736/1188/263 625/933/263 +f 729/931/263 730/1187/263 728/932/263 +f 737/934/262 707/1189/262 711/935/262 +f 635/937/264 633/943/264 629/938/264 +f 634/940/265 636/945/265 632/941/265 +f 638/942/262 637/1190/262 633/943/262 +f 639/944/262 640/1191/262 636/945/262 +f 642/946/266 641/952/266 637/947/266 +f 643/949/267 644/1192/267 640/950/267 +f 642/946/262 644/1192/262 643/949/262 +f 638/953/268 640/1193/268 644/954/268 +f 641/952/263 643/949/263 639/956/263 +f 634/940/263 630/922/263 639/956/263 +f 630/922/263 629/938/263 639/956/263 +f 629/938/263 633/943/263 637/957/263 +f 631/959/268 632/941/268 640/1193/268 +f 632/941/268 636/945/268 640/1193/268 +f 640/1193/268 638/953/268 631/959/268 +f 625/960/261 629/938/261 630/922/261 +f 631/939/261 629/938/261 625/962/261 +f 632/941/261 631/959/261 626/964/261 +f 664/966/262 663/1194/262 661/967/262 +f 657/969/261 659/1195/261 660/970/261 +f 653/972/263 654/976/263 652/973/263 +f 655/975/263 656/986/263 654/976/263 +f 649/977/266 655/975/266 653/978/266 +f 650/980/262 656/986/262 655/975/262 +f 646/981/265 652/973/265 654/976/265 +f 645/983/261 651/974/261 652/973/261 +f 648/985/267 654/1196/267 656/986/267 +f 647/987/264 653/972/264 651/974/264 +f 658/971/268 662/968/268 661/967/268 +f 660/989/265 664/1197/265 662/968/265 +f 657/969/264 661/967/264 663/990/264 +f 665/992/264 669/1003/264 671/993/264 +f 667/995/262 671/993/262 672/996/262 +f 668/998/265 672/996/265 670/999/265 +f 670/999/261 669/1003/261 665/1001/261 +f 672/996/268 671/993/268 669/1003/268 +f 679/1004/263 684/1014/263 683/1005/263 +f 680/1007/264 679/1004/264 677/1006/264 +f 673/1009/261 677/1006/261 683/1005/261 +f 674/1011/261 678/1008/261 677/1006/261 +f 675/1013/262 682/1198/262 684/1014/262 +f 675/1015/262 679/1004/262 680/1007/262 +f 683/1005/269 684/1014/269 682/1017/269 +f 674/1019/261 685/1199/261 687/1020/261 +f 676/1021/262 680/1007/262 688/1022/262 +f 678/1008/268 687/1020/268 688/1022/268 +f 685/1024/270 686/1200/270 688/1022/270 +f 689/1025/265 691/1029/265 692/1026/265 +f 694/1028/262 692/1026/262 691/1029/262 +f 689/1025/261 690/1027/261 696/1031/261 +f 695/1033/261 700/1201/261 697/1034/261 +f 693/1035/262 691/1029/262 698/1036/262 +f 689/1025/263 697/1034/263 698/1036/263 +f 700/1038/271 699/1202/271 698/1036/271 +f 696/1039/261 690/1027/261 701/1040/261 +f 694/1042/262 703/1203/262 702/1043/262 +f 692/1026/268 702/1043/268 701/1040/268 +f 702/1043/272 703/1204/272 704/1044/272 +f 709/925/263 713/1081/263 715/1045/263 +f 710/1047/263 718/1050/263 716/1048/263 +f 718/1050/263 717/1046/263 715/1045/263 +f 719/1051/264 721/1106/264 707/1052/264 +f 722/1054/265 720/1057/265 706/1055/265 +f 709/925/273 717/1046/273 719/1051/273 +f 720/1057/274 718/1050/274 710/1047/274 +f 711/935/268 723/1060/268 724/1058/268 +f 724/1058/275 722/1054/275 708/1056/275 +f 707/1059/276 721/1114/276 723/1060/276 +f 715/1061/262 730/1205/262 731/1062/262 +f 716/1063/266 731/1062/266 729/1064/266 +f 727/1065/261 725/1089/261 741/1066/261 +f 726/1068/261 742/1206/261 744/1069/261 +f 712/928/262 733/930/262 732/936/262 +f 734/1071/262 735/1207/262 708/1056/262 +f 737/1072/262 736/1208/262 705/1053/262 +f 627/1073/265 735/1209/265 734/1074/265 +f 735/1209/268 627/1073/268 733/1078/268 +f 627/1073/268 626/1076/268 733/1078/268 +f 626/1076/268 737/1210/268 732/1077/268 +f 625/933/264 736/1188/264 737/1079/264 +f 728/927/267 730/1205/267 715/1061/267 +f 706/1211/262 710/1047/262 734/1082/262 +f 710/1047/262 714/1049/262 729/1064/262 +f 745/1083/277 742/1212/277 726/1084/277 +f 727/1086/278 743/1213/278 746/1087/278 +f 725/1089/264 747/1103/264 749/1090/264 +f 750/1091/265 748/1105/265 738/1070/265 +f 746/1087/263 743/1096/263 752/1092/263 +f 745/1083/263 753/1101/263 751/1094/263 +f 743/1096/273 741/1066/273 749/1090/273 +f 742/1095/274 751/1094/274 750/1091/274 +f 752/1097/279 756/1214/279 758/1098/279 +f 757/1099/280 755/1215/280 751/1100/280 +f 756/1102/281 752/1216/281 749/1090/281 +f 754/1093/265 758/1098/265 740/1088/265 +f 739/1085/264 757/1099/264 753/1101/264 +f 750/1091/282 751/1217/282 755/1104/282 +f 721/1106/283 719/1051/283 621/1107/283 +f 720/1057/284 722/1054/284 624/1109/284 +f 623/1111/285 621/919/285 717/1046/285 +f 724/1058/288 723/1060/288 622/1112/288 +f 807/1115/268 809/1121/268 810/1116/268 +f 805/1118/264 809/1121/264 807/1115/264 +f 806/1120/261 810/1116/261 809/1121/261 +f 804/1123/265 808/1117/265 810/1116/265 +f 803/1125/262 807/1115/262 808/1117/262 +f 853/1127/268 854/1130/268 870/1128/268 +f 854/1130/268 855/1218/268 871/1131/268 +f 856/1132/268 872/1136/268 871/1133/268 +f 857/1135/268 873/1138/268 872/1136/268 +f 857/1135/268 858/1140/268 874/1137/268 +f 844/1139/268 860/1142/268 874/1137/268 +f 844/1139/268 843/1143/268 859/1141/268 +f 843/1143/268 845/1145/268 861/1144/268 +f 845/1145/268 846/1148/268 862/1146/268 +f 847/1147/268 863/1150/268 862/1146/268 +f 847/1147/268 848/1152/268 864/1149/268 +f 849/1151/268 865/1154/268 864/1149/268 +f 850/1153/268 866/1156/268 865/1154/268 +f 851/1155/268 867/1158/268 866/1156/268 +f 851/1155/268 852/1159/268 868/1157/268 +f 853/1127/268 869/1129/268 868/1157/268 +f 938/1160/268 940/1219/268 939/1161/268 +f 942/1163/268 944/1220/268 943/1164/268 +f 946/1166/268 948/1221/268 947/1167/268 +f 950/1169/268 952/1222/268 951/1170/268 +f 954/1172/268 956/1223/268 955/1173/268 +f 958/1175/268 960/1224/268 959/1176/268 +f 962/1178/268 964/1225/268 963/1179/268 +f 966/1181/268 968/1226/268 967/1182/268 +s 1 +f 768/1227/291 766/1228/292 770/1229/293 +f 767/1230/294 769/1231/295 765/1232/296 +f 765/1232/296 771/1233/297 763/1234/298 +f 771/1233/297 765/1232/296 772/1235/299 +f 769/1231/295 772/1235/299 765/1232/296 +f 764/1236/300 773/1237/301 766/1228/292 +f 766/1228/292 773/1237/301 774/1238/302 +f 766/1228/292 774/1238/302 770/1229/293 +f 776/1239/303 759/1240/304 760/1241/305 +f 778/1242/306 775/1243/307 776/1239/303 +f 762/1244/308 773/1237/301 764/1236/300 +f 773/1237/301 762/1244/308 780/1245/309 +f 763/1234/298 771/1233/297 761/1246/310 +f 771/1233/297 779/1247/311 761/1246/310 +f 762/1248/308 759/1240/304 780/1249/309 +f 775/1243/307 780/1249/309 759/1240/304 +f 780/1249/309 775/1243/307 782/1250/312 +f 775/1243/307 777/1251/313 782/1250/312 +f 776/1239/303 781/1252/314 778/1242/306 +f 781/1252/314 776/1239/303 779/1253/311 +f 776/1239/303 760/1241/305 779/1253/311 +f 761/1254/310 779/1253/311 760/1241/305 +f 778/1242/306 783/1255/315 777/1251/313 +f 902/1256/316 906/1257/317 900/1258/318 +f 930/1259/319 927/1260/320 933/1261/321 +f 906/1262/317 896/1263/322 899/1264/323 +f 932/1265/324 927/1260/320 930/1259/319 +f 929/1266/325 934/1267/326 928/1268/327 +f 904/1269/328 896/1263/322 905/1270/329 +f 934/1267/326 925/1271/271 924/1272/330 +f 916/1273/331 919/1274/332 917/1275/333 +f 897/1276/334 903/1277/266 895/1278/266 +f 931/1279/335 929/1266/325 928/1268/327 +f 915/1280/264 922/1281/336 916/1273/331 +f 926/1282/269 933/1261/321 923/1283/337 +f 923/1283/337 934/1267/326 924/1272/330 +f 917/1275/333 920/1284/338 918/1285/338 +f 908/1286/339 911/1287/340 914/1288/341 +f 900/1258/318 906/1257/317 899/1289/323 +f 901/1290/342 902/1256/316 900/1258/318 +f 908/1286/339 913/1291/265 907/1292/265 +f 909/1293/343 912/1294/344 911/1287/340 +f 898/1295/345 901/1290/342 900/1258/318 +f 787/1296/346 785/1297/347 789/1298/348 +f 788/1299/349 790/1300/350 786/1301/351 +f 789/1298/348 785/1297/347 791/1302/352 +f 790/1300/350 792/1303/353 786/1301/351 +f 798/1304/354 786/1301/351 792/1303/353 +f 797/1305/355 791/1302/352 785/1297/347 +f 786/1301/351 798/1304/354 796/1306/356 +f 785/1297/347 795/1307/357 797/1305/355 +f 795/1307/357 793/1308/358 797/1305/355 +f 794/1309/359 796/1306/356 798/1304/354 +f 798/1304/354 800/1310/360 794/1309/359 +f 797/1305/355 793/1308/358 799/1311/361 +f 801/1312/262 935/1313/262 802/1314/262 +f 875/1315/362 881/1316/362 877/1317/362 +f 878/1318/363 880/1319/363 876/1320/363 +f 816/1321/364 847/1147/365 815/1322/261 +f 842/1323/366 860/1142/367 827/1324/265 +f 829/1325/267 862/1146/368 830/1326/369 +f 817/1327/370 848/1152/371 816/1321/364 +f 830/1326/369 863/1150/372 831/1328/262 +f 818/1329/366 849/1151/373 817/1327/370 +f 831/1328/262 864/1149/374 832/1330/375 +f 819/1331/265 850/1153/376 818/1329/366 +f 832/1330/375 865/1154/377 833/1332/266 +f 820/1333/378 851/1155/379 819/1331/265 +f 833/1332/266 866/1156/380 834/1334/381 +f 821/1335/267 852/1159/382 820/1333/378 +f 834/1334/381 867/1158/383 835/1336/264 +f 822/1337/369 853/1127/384 821/1335/267 +f 835/1336/264 868/1157/385 836/1338/386 +f 823/1339/262 854/1130/387 822/1337/369 +f 836/1338/386 869/1129/388 837/1340/389 +f 824/1341/375 855/1134/390 823/1342/262 +f 837/1340/389 870/1128/391 838/1343/392 +f 825/1344/266 856/1132/393 824/1341/375 +f 812/1345/386 844/1139/394 811/1346/264 +f 838/1343/392 871/1131/395 839/1347/261 +f 826/1348/381 857/1135/396 825/1344/266 +f 813/1349/389 843/1143/397 812/1345/386 +f 839/1350/261 872/1136/398 840/1351/364 +f 811/1346/264 858/1140/399 826/1348/381 +f 814/1352/392 845/1145/400 813/1349/389 +f 840/1351/364 873/1138/401 841/1353/370 +f 827/1324/265 859/1141/402 828/1354/378 +f 815/1322/261 846/1148/403 814/1352/392 +f 841/1353/370 874/1137/404 842/1323/366 +f 828/1354/378 861/1144/405 829/1325/267 +f 886/1355/406 888/1356/407 889/1357/408 +f 889/1357/408 888/1356/407 890/1358/409 +f 888/1356/407 887/1359/410 894/1360/411 +f 885/1361/412 891/1362/267 892/1363/413 +f 884/1364/414 892/1363/413 893/1365/415 +f 884/1364/414 894/1366/411 887/1367/410 +f 890/1358/409 888/1356/407 894/1360/411 +f 934/1267/326 927/1260/320 928/1268/327 +f 776/1239/303 775/1243/307 759/1240/304 +f 778/1242/306 777/1251/313 775/1243/307 +f 778/1242/306 784/1368/315 783/1255/315 +f 906/1262/317 905/1270/329 896/1263/322 +f 904/1269/328 897/1276/334 896/1263/322 +f 934/1267/326 929/1266/325 925/1271/271 +f 916/1273/331 922/1281/336 919/1274/332 +f 897/1276/334 904/1269/328 903/1277/266 +f 915/1280/264 921/1369/264 922/1281/336 +f 926/1282/269 930/1259/319 933/1261/321 +f 923/1283/337 933/1261/321 934/1267/326 +f 917/1275/333 919/1274/332 920/1284/338 +f 908/1286/339 909/1293/343 911/1287/340 +f 908/1286/339 914/1288/341 913/1291/265 +f 909/1293/343 910/1370/344 912/1294/344 +f 801/1312/262 936/1371/262 935/1313/262 +f 875/1315/362 879/1372/362 881/1316/362 +f 878/1318/363 882/1373/363 880/1319/363 +f 816/1321/364 848/1152/371 847/1147/365 +f 842/1323/366 874/1137/404 860/1142/367 +f 829/1325/267 861/1144/405 862/1146/368 +f 817/1327/370 849/1151/373 848/1152/371 +f 830/1326/369 862/1146/368 863/1150/372 +f 818/1329/366 850/1153/376 849/1151/373 +f 831/1328/262 863/1150/372 864/1149/374 +f 819/1331/265 851/1155/379 850/1153/376 +f 832/1330/375 864/1149/374 865/1154/377 +f 820/1333/378 852/1159/382 851/1155/379 +f 833/1332/266 865/1154/377 866/1156/380 +f 821/1335/267 853/1127/384 852/1159/382 +f 834/1334/381 866/1156/380 867/1158/383 +f 822/1337/369 854/1130/387 853/1127/384 +f 835/1336/264 867/1158/383 868/1157/385 +f 823/1339/262 855/1218/390 854/1130/387 +f 836/1338/386 868/1157/385 869/1129/388 +f 824/1341/375 856/1132/393 855/1134/390 +f 837/1340/389 869/1129/388 870/1128/391 +f 825/1344/266 857/1135/396 856/1132/393 +f 812/1345/386 843/1143/397 844/1139/394 +f 838/1343/392 870/1128/391 871/1131/395 +f 826/1348/381 858/1140/399 857/1135/396 +f 813/1349/389 845/1145/400 843/1143/397 +f 839/1350/261 871/1133/395 872/1136/398 +f 811/1346/264 844/1139/394 858/1140/399 +f 814/1352/392 846/1148/403 845/1145/400 +f 840/1351/364 872/1136/398 873/1138/401 +f 827/1324/265 860/1142/367 859/1141/402 +f 815/1322/261 847/1147/365 846/1148/403 +f 841/1353/370 873/1138/401 874/1137/404 +f 828/1354/378 859/1141/402 861/1144/405 +f 885/1361/412 883/1374/267 891/1362/267 +f 884/1364/414 885/1361/412 892/1363/413 +f 884/1364/414 893/1365/415 894/1366/411 +f 934/1267/326 933/1261/321 927/1260/320 +o LeftLeg +v 4.207817 18.567188 -2.139844 +v 2.557822 11.417187 -2.139844 +v -0.192183 18.567184 -2.139844 +v -0.192177 11.417185 -2.139844 +v 4.207817 18.567188 2.260156 +v 2.557822 11.417187 2.260156 +v -0.192183 18.567184 2.260156 +v -0.192177 11.417185 2.260156 +v 4.482818 17.467190 2.535156 +v -0.467182 17.467186 2.535156 +v 4.482823 11.417189 2.535156 +v -0.467179 13.617186 2.535156 +v 2.557822 11.417187 2.535156 +v 3.657817 18.567188 2.260156 +v 0.357817 18.567186 2.260156 +v 3.107816 19.667189 2.260156 +v 0.907816 19.667187 2.260156 +v 4.482823 11.417189 -2.414844 +v 2.557822 11.417187 -2.414844 +v -0.467182 17.467186 -2.414844 +v -0.467179 13.617186 -2.414844 +v 4.482818 17.467190 -2.414844 +v 4.207818 17.467190 -2.139844 +v -0.192182 17.467186 -2.139844 +v 4.207818 17.467190 2.260156 +v -0.192182 17.467186 2.260156 +v 2.557821 13.617188 -2.139844 +v -0.192179 13.617186 -2.139844 +v -0.192179 13.617186 2.260156 +v 2.557821 13.617188 2.260156 +v 3.107816 20.217188 -2.414844 +v 0.907816 20.217186 -2.414844 +v 2.557816 19.667187 -2.964844 +v 1.457816 19.667187 -2.964844 +v 3.107817 18.567188 -2.964844 +v 0.907817 18.567186 -2.964844 +v 3.107819 16.367188 -2.964844 +v 0.907819 16.367188 -2.964844 +v 3.657817 18.567188 -2.414844 +v 0.357817 18.567186 -2.414844 +v 3.657819 16.367188 -2.414844 +v 0.357819 16.367186 -2.414844 +v 3.657817 18.567188 -2.139844 +v 0.357817 18.567186 -2.139844 +v 3.657819 16.367188 -2.139844 +v 0.357819 16.367186 -2.139844 +vt 0.861111 0.084211 +vt 0.638889 0.189474 +vt 0.638889 0.084211 +vt 0.847222 0.810526 +vt 0.750000 0.578947 +vt 1.000000 0.726316 +vt 0.402778 1.000000 +vt 0.500000 0.810526 +vt 0.500000 1.000000 +vt 0.000000 0.578947 +vt 0.250000 0.726316 +vt 0.000000 0.726316 +vt 0.250000 0.810526 +vt 0.250000 1.000000 +vt 0.750000 0.810526 +vt 0.500000 0.578947 +vt 0.250000 0.578947 +vt 0.513889 0.568421 +vt 0.736111 0.568421 +vt 0.236111 0.568421 +vt 1.000000 0.578947 +vt 0.763889 0.568421 +vt 0.986111 0.568421 +vt 0.486111 0.568421 +vt 0.444444 0.526316 +vt 0.222222 0.568421 +vt 0.222222 0.526316 +vt 0.861111 -0.000000 +vt 0.500000 0.084211 +vt 0.638889 -0.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.084211 +vt 0.833333 0.484211 +vt 0.694444 0.526316 +vt 0.722222 0.484211 +vt 0.000000 0.526316 +vt 0.666667 0.568421 +vt 0.666667 0.526316 +vt 0.861111 0.526316 +vt 0.888889 0.568421 +vt 0.625000 0.831579 +vt 0.541667 0.810526 +vt 0.652778 0.810526 +vt 0.541667 0.873684 +vt 0.569444 0.831579 +vt 0.652778 0.873684 +vt 0.541667 0.957895 +vt 0.680556 0.957895 +vt 0.652778 0.957895 +vt 0.513889 0.873684 +vt 0.680556 0.873684 +vt 0.513889 0.978947 +vt 0.694444 0.957895 +vt 0.513889 0.957895 +vt 0.500000 0.873684 +vt 0.861111 0.189474 +vt 0.402778 0.810526 +vt 0.013889 0.568421 +vt 0.263889 0.568421 +vt 0.444444 0.568421 +vt 0.500000 -0.000000 +vt -0.000000 0.568421 +vt 0.888889 0.526316 +vt 0.680556 0.978947 +vt 0.694444 0.873684 +vt 0.500000 0.957895 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.5882 -0.8087 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.0000 0.7071 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.5883 0.1961 -0.7845 +vn -0.5884 0.1961 -0.7845 +vn 0.6667 0.3333 -0.6667 +vn -0.6667 0.3333 -0.6667 +s off +f 972/1375/416 974/1376/416 976/1377/416 +f 981/1378/417 977/1379/417 980/1380/417 +f 981/1381/416 986/1382/416 979/1383/416 +f 978/1384/418 989/1385/418 980/1386/418 +f 989/1387/419 981/1381/419 980/1388/419 +f 979/1389/420 990/1390/420 977/1379/420 +f 989/1385/421 988/1391/421 990/1390/421 +f 977/1379/422 991/1392/422 993/1393/422 +f 978/1384/422 992/1394/422 988/1391/422 +f 978/1395/422 993/1396/422 994/1397/422 +f 988/1391/422 991/1398/422 990/1390/422 +f 969/1399/421 992/1400/421 971/1401/421 +f 976/1377/418 996/1402/418 972/1375/418 +f 974/1403/417 997/1404/417 976/1377/417 +f 972/1375/421 995/1405/421 970/1406/421 +f 985/1407/417 982/1408/417 984/1409/417 +f 992/1400/418 975/1410/418 971/1401/418 +f 993/1411/420 969/1399/420 973/1412/420 +f 983/1413/417 994/1414/417 993/1411/417 +f 1001/1415/423 1000/1416/423 999/1417/423 +f 1001/1415/421 1004/1418/421 1002/1419/421 +f 1003/1420/421 1006/1421/421 1004/1418/421 +f 1003/1420/424 1009/1422/424 1005/1423/424 +f 1006/1421/425 1008/1424/425 1004/1418/425 +f 1007/1425/426 1001/1415/426 999/1417/426 +f 1002/1419/427 1008/1424/427 1000/1416/427 +f 1005/1423/416 1010/1426/416 1006/1421/416 +f 1007/1425/420 1013/1427/420 1009/1422/420 +f 1010/1428/418 1012/1429/418 1008/1424/418 +f 972/1375/416 970/1430/416 974/1376/416 +f 979/1389/417 977/1379/417 981/1378/417 +f 977/1379/417 978/1395/417 980/1380/417 +f 981/1381/416 987/1431/416 986/1382/416 +f 978/1384/418 988/1391/418 989/1385/418 +f 989/1387/419 987/1431/419 981/1381/419 +f 979/1389/420 986/1382/420 990/1390/420 +f 990/1390/421 986/1382/421 987/1431/421 +f 987/1431/421 989/1385/421 990/1390/421 +f 977/1379/422 990/1390/422 991/1392/422 +f 978/1384/422 994/1432/422 992/1394/422 +f 978/1395/422 977/1379/422 993/1396/422 +f 988/1391/422 992/1433/422 991/1398/422 +f 969/1399/421 991/1434/421 992/1400/421 +f 976/1377/418 997/1404/418 996/1402/418 +f 974/1403/417 998/1435/417 997/1404/417 +f 972/1375/421 996/1402/421 995/1405/421 +f 985/1407/417 983/1413/417 982/1408/417 +f 992/1400/418 994/1436/418 975/1410/418 +f 993/1411/420 991/1434/420 969/1399/420 +f 993/1411/417 973/1412/417 982/1408/417 +f 983/1413/417 975/1437/417 994/1414/417 +f 993/1411/417 982/1408/417 983/1413/417 +f 1001/1415/423 1002/1419/423 1000/1416/423 +f 1001/1415/421 1003/1420/421 1004/1418/421 +f 1003/1420/421 1005/1423/421 1006/1421/421 +f 1003/1420/424 1007/1425/424 1009/1422/424 +f 1006/1421/425 1010/1428/425 1008/1424/425 +f 1007/1425/428 1003/1420/428 1001/1415/428 +f 1002/1419/429 1004/1418/429 1008/1424/429 +f 1005/1423/416 1009/1438/416 1010/1426/416 +f 1007/1425/420 1011/1439/420 1013/1427/420 +f 1010/1428/418 1014/1440/418 1012/1429/418 diff --git a/src/main/resources/assets/hbm/textures/misc/overlay_dash.png b/src/main/resources/assets/hbm/textures/misc/overlay_dash.png new file mode 100644 index 0000000000000000000000000000000000000000..40f4037dbf743bcb28c1c620da7f8b69548aa036 GIT binary patch literal 1004 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 Date: Mon, 14 Mar 2022 20:34:08 +0000 Subject: [PATCH 03/17] cleanup duty once again --- src/main/java/com/hbm/items/ModItems.java | 2 +- .../java/com/hbm/items/armor/ArmorFSB.java | 23 ++-- .../hbm/render/util/RenderScreenOverlay.java | 102 +++++++++++++++--- src/main/resources/assets/hbm/lang/en_US.lang | 1 + src/main/resources/assets/hbm/sounds.json | 2 + .../assets/hbm/sounds/player/dash.ogg | Bin 0 -> 16842 bytes .../assets/hbm/sounds/player/dashRecharge.ogg | Bin 0 -> 20042 bytes .../assets/hbm/textures/misc/overlay_dash.png | Bin 1004 -> 0 bytes .../assets/hbm/textures/misc/overlay_misc.png | Bin 5047 -> 7371 bytes 9 files changed, 109 insertions(+), 21 deletions(-) create mode 100644 src/main/resources/assets/hbm/sounds/player/dash.ogg create mode 100644 src/main/resources/assets/hbm/sounds/player/dashRecharge.ogg delete mode 100644 src/main/resources/assets/hbm/textures/misc/overlay_dash.png diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 85763c153..c92056d6b 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4806,7 +4806,7 @@ public class ModItems { .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) - .setDashCount(3) + .setDashCount(6) .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index d06ad30d7..de75033e8 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -461,33 +461,42 @@ public class ArmorFSB extends ItemArmor { } } - boolean v1enabled = true; - if(dashCount > 0) { - int perDash = 64; + int perDash = 60; HbmPlayerProps props = (HbmPlayerProps) player.getExtendedProperties("NTM_EXT_PLAYER"); props.setDashCount(dashCount); + + int stamina = props.getStamina(); if(props.getDashCooldown() <= 0) { - if(!player.capabilities.isFlying && player.isSneaking() && props.getStamina() >= perDash) { + if(!player.capabilities.isFlying && player.isSneaking() && stamina >= perDash) { Vec3 lookingIn = player.getLookVec(); player.addVelocity(lookingIn.xCoord, 0, lookingIn.zCoord); + player.playSound("hbm:player.dash", 1.0F, 1.0F); props.setDashCooldown(HbmPlayerProps.dashCooldownLength); - props.setStamina(props.getStamina() - perDash); + stamina -= perDash; } } else { props.setDashCooldown(props.getDashCooldown() - 1); } - if(props.getStamina() < props.getDashCount() * perDash) { - props.setStamina(props.getStamina() + 1); + if(stamina < props.getDashCount() * perDash) { + stamina++; + + if(stamina % perDash == perDash-1) { + + player.playSound("hbm:player.dashRecharge", 1.0F, (1.0F + ((1F/12F)*(stamina/perDash)))); + stamina++; + } } + + props.setStamina(stamina); } } } diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 44036255e..2829d9585 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.extprop.HbmPlayerProps; +import com.hbm.interfaces.Spaghetti; import com.hbm.lib.RefStrings; import net.minecraft.client.Minecraft; @@ -25,6 +26,8 @@ public class RenderScreenOverlay { private static float prevResult; private static float lastResult; + private static float fadeOut = 0F; + public static void renderRadCounter(ScaledResolution resolution, float in, Gui gui) { GL11.glPushMatrix(); @@ -164,6 +167,7 @@ public class RenderScreenOverlay { Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); } + @Spaghetti ("like a fella once said, aint that a kick in the head") public static void renderDashBar(ScaledResolution resolution, Gui gui, HbmPlayerProps props) { @@ -178,28 +182,100 @@ public class RenderScreenOverlay { Minecraft mc = Minecraft.getMinecraft(); - int posX = 16; - int posY = resolution.getScaledHeight() - 48 - 2; + int width = 30; + + int posX = 16;//(int)(resolution.getScaledWidth()/2 - ((props.getDashCount()*(width+2))/2)); + int posY = resolution.getScaledHeight() - 40 - 2; mc.renderEngine.bindTexture(misc); - gui.drawTexturedModalRect(posX-10, posY, 99, 18, 7, 10); + gui.drawTexturedModalRect(posX-10, posY, 107, 18, 7, 10); int stamina = props.getStamina(); - for(int x = 0; x < props.getDashCount(); x++) { - int status = 3; - int width = 22; - gui.drawTexturedModalRect(posX + (width+2)*x, posY, 76, 48, 30, 10); - if(stamina / 64 > x) { - status = 1; - } else if(stamina / 64 == x) { - width = (int)( (float)(stamina % 64) * (width/64F) ); - status = 2; + int dashes = props.getDashCount(); + + //int count = props.getDashCount(); + //int x3count = count / 3; + + int rows = dashes / 3; + int finalColumns = dashes % 3; + + for(int y = 0; y < rows; y++) { + for(int x = 0; x < 3; x++) { + if(y == rows && x > finalColumns) + break; + gui.drawTexturedModalRect(posX + (width+2)*x, posY - 12*y, 76, 48, width, 10); + int staminaDiv = stamina / 60; + int staminaMod = stamina % 60; + int barID = (3*y)+x; + int barStatus = 1; //0 = red, 1 = normal, 2 = greyed, 3 = dashed, 4 = ascended + int barSize = width; + if(staminaDiv < barID) { + barStatus = 3; + } else if(staminaDiv == barID) { + barStatus = 2; + barSize = (int)((float)(stamina % 60) * (width/60F) ); + if(barID == 0) + barStatus = 0; + } + gui.drawTexturedModalRect(posX + (width+2)*x, posY - 12*y, 76, 18+(10*barStatus), barSize, 10); + + if(staminaDiv == barID && staminaMod >= 57) { + fadeOut = 1F; + } + if(fadeOut > 0 && staminaDiv-1 == barID) { + GL11.glColor4f(1F, 1F, 1F, fadeOut); + int bar = barID; + if(stamina % 60 >= 50) + bar++; + int yPos = y; + if(bar / 3 != y) + y++; + bar = bar % 3; + gui.drawTexturedModalRect(posX + (width+2)*bar, posY - 12*y, 76, 58, width, 10); + fadeOut -= 0.04F; + GL11.glColor4f(1F, 1F, 1F, 1F); + } } - gui.drawTexturedModalRect(posX + 24*x, posY, 76, 18+(10*status), width, 10); } + /*for(int x = 0; x < props.getDashCount(); x++) { + int status = 3; + gui.drawTexturedModalRect(posX + (24)*x, posY, 76, 48, 24, 10); + int staminaDiv = stamina / 60; + if(staminaDiv > x) { + status = 1; + } else if(staminaDiv == x) { + width = (int)( (float)(stamina % 60) * (width/60F) ); + status = 2; + if(staminaDiv == 0) + status = 0; + } + /*if(staminaDiv-1 == x && (stamina % 60 < 20 && stamina % 60 != 0)) { + status = 4; + } + /*if(((staminaDiv == x && stamina % 60 >= 55) || (staminaDiv-1 == x && stamina % 60 <= 5)) && !(stamina == props.totalDashCount * 60)) { + status = 4; + } + gui.drawTexturedModalRect(posX + (24)*x, posY, 76, 18+(10*status), width, 10); + + if(staminaDiv == x && stamina % 60 >= 57) { + fadeOut = 1F; + } + if(fadeOut > 0 && staminaDiv-1 == x) { + GL11.glColor4f(1F, 1F, 1F, fadeOut); + int bar = x; + if(stamina % 60 >= 50) + bar++; + System.out.println(bar); + gui.drawTexturedModalRect(posX + 24*bar, posY, 76, 58, width, 10); + fadeOut -= 0.04F; + GL11.glColor4f(1F, 1F, 1F, 1F); + } + }*/ + + GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glDepthMask(true); GL11.glPopMatrix(); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5e2bcbc51..d4a081300 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -120,6 +120,7 @@ achievement.ZIRNOXBoom=CIRNOX armor.blastProtection=Damage modifier of %s against explosions armor.cap=Hard damage cap of %s armor.damageModifier=Damage modifier of %s against %s +armor.dash=Grants %s dashes armor.electricJetpack=Ion Jetpack armor.explosionImmune=Cannot take any damage except from explosions armor.fastFall=Fast Fall diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 5053a3015..6c9c290f8 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -199,6 +199,8 @@ "player.vomit": {"category": "player", "sounds": [{"name": "player/vomit", "stream": false}]}, "player.cough": {"category": "player", "sounds": ["player/cough1", "player/cough2", "player/cough3", "player/cough4"]}, + "player.dash": {"category": "player", "sounds": [{"name": "player/dash", "stream": false}]}, + "player.dashRecharge": {"category": "player", "sounds": [{"name": "player/dashRecharge", "stream": false}]}, "potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]}, diff --git a/src/main/resources/assets/hbm/sounds/player/dash.ogg b/src/main/resources/assets/hbm/sounds/player/dash.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1483626ff5d9a65808565053dbc2a27619fcf2cd GIT binary patch literal 16842 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 Date: Sat, 19 Mar 2022 14:07:22 +0100 Subject: [PATCH 04/17] fixes for chemplant IO, armor clipping, nuke furnace --- .../java/com/hbm/blocks/ILookOverlay.java | 30 ++--- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../hbm/blocks/machine/MachineBattery.java | 6 + .../com/hbm/blocks/machine/MachineFENSU.java | 6 + .../blocks/machine/MachineLiquefactor.java | 2 - .../hbm/blocks/machine/MachineSolidifier.java | 4 +- .../com/hbm/blocks/network/CableDiode.java | 10 +- .../hbm/entity/item/EntityMinecartTest.java | 2 - .../container/ContainerNukeFurnace.java | 105 +++++++++--------- .../container/ContainerStorageDrum.java | 1 - .../container/ContainerWasteDrum.java | 14 ++- src/main/java/com/hbm/items/ModItems.java | 39 +++++-- .../java/com/hbm/items/armor/ArmorFSB.java | 22 +++- .../java/com/hbm/items/armor/ArmorModel.java | 5 +- .../hbm/items/armor/IArmorDisableModel.java | 19 ++++ src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 66 ++++++----- src/main/java/com/hbm/main/MainRegistry.java | 2 +- .../com/hbm/main/ModEventHandlerClient.java | 46 -------- .../com/hbm/main/ModEventHandlerRenderer.java | 72 ++++++++++++ .../hbm/render/item/ItemRenderLibrary.java | 22 ++++ .../machine/TileEntityMachineChemplant.java | 5 +- .../machine/TileEntityMachineShredder.java | 2 - .../storage/TileEntityMachineFENSU.java | 8 ++ src/main/java/com/hbm/util/BobMathUtil.java | 11 ++ src/main/java/com/hbm/util/InventoryUtil.java | 1 - src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../hbm/textures/models/capes/CapeHidden.png | Bin 0 -> 637 bytes src/main/resources/mcmod.info | 2 +- 30 files changed, 329 insertions(+), 179 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/IArmorDisableModel.java create mode 100644 src/main/java/com/hbm/main/ModEventHandlerRenderer.java create mode 100644 src/main/resources/assets/hbm/textures/models/capes/CapeHidden.png diff --git a/src/main/java/com/hbm/blocks/ILookOverlay.java b/src/main/java/com/hbm/blocks/ILookOverlay.java index 41314cb23..47ff64eea 100644 --- a/src/main/java/com/hbm/blocks/ILookOverlay.java +++ b/src/main/java/com/hbm/blocks/ILookOverlay.java @@ -1,6 +1,5 @@ package com.hbm.blocks; -import java.util.ArrayList; import java.util.List; import org.lwjgl.opengl.GL11; @@ -29,23 +28,24 @@ public interface ILookOverlay { int pX = resolution.getScaledWidth() / 2 + 8; int pZ = resolution.getScaledHeight() / 2; - List exceptions = new ArrayList(); - exceptions.add("x"); - exceptions.add("y"); - exceptions.add("z"); - exceptions.add("items"); - exceptions.add("id"); - mc.fontRenderer.drawString(title, pX + 1, pZ - 9, bgCol); mc.fontRenderer.drawString(title, pX, pZ - 10, titleCol); - for(String line : text) { - - if(exceptions.contains(line)) - continue; - - mc.fontRenderer.drawStringWithShadow(line, pX, pZ, 0xFFFFFF); - pZ += 10; + try { + for(String line : text) { + + int color = 0xFFFFFF; + if(line.startsWith("&[")) { + int end = line.lastIndexOf("&]"); + color = Integer.parseInt(line.substring(2, end)); + line = line.substring(end + 2); + } + + mc.fontRenderer.drawStringWithShadow(line, pX, pZ, color); + pZ += 10; + } + } catch(Exception ex) { + mc.fontRenderer.drawStringWithShadow(ex.getClass().getSimpleName(), pX, pZ + 10, 0xff0000); } GL11.glDisable(GL11.GL_BLEND); diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index aee4890f9..1e1a89399 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2937,7 +2937,7 @@ public class ModBlocks { GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName()); GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName()); GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName()); - GameRegistry.registerBlock(cable_diode, cable_diode.getUnlocalizedName()); + GameRegistry.registerBlock(cable_diode, ItemBlockBase.class, cable_diode.getUnlocalizedName()); GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName()); GameRegistry.registerBlock(rf_cable, rf_cable.getUnlocalizedName()); GameRegistry.registerBlock(oil_duct, oil_duct.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineBattery.java b/src/main/java/com/hbm/blocks/machine/MachineBattery.java index 9645a5335..5da052d7c 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBattery.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBattery.java @@ -224,6 +224,12 @@ public class MachineBattery extends BlockContainer implements ILookOverlay { List text = new ArrayList(); text.add(BobMathUtil.getShortNumber(battery.getPower()) + " / " + BobMathUtil.getShortNumber(battery.getMaxPower()) + "HE"); + double percent = (double) battery.getPower() / (double) battery.getMaxPower(); + int charge = (int) Math.floor(percent * 10_000D); + int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8); + + text.add("&[" + color + "&]" + (charge / 100D) + "%"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineFENSU.java b/src/main/java/com/hbm/blocks/machine/MachineFENSU.java index 09a02e295..6ba22f976 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFENSU.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFENSU.java @@ -83,6 +83,12 @@ public class MachineFENSU extends BlockDummyable implements ILookOverlay { List text = new ArrayList(); text.add(BobMathUtil.getShortNumber(battery.getPower()) + " / " + BobMathUtil.getShortNumber(battery.getMaxPower()) + "HE"); + double percent = (double) battery.getPower() / (double) battery.getMaxPower(); + int charge = (int) Math.floor(percent * 10_000D); + int color = ((int) (0xFF - 0xFF * percent)) << 16 | ((int)(0xFF * percent) << 8); + + text.add("&[" + color + "&]" + (charge / 100D) + "%"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java b/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java index 729f06640..c232fea2e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineLiquefactor.java @@ -6,11 +6,9 @@ import org.lwjgl.input.Keyboard; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ITooltipProvider; -import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineLiquefactor; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/blocks/machine/MachineSolidifier.java b/src/main/java/com/hbm/blocks/machine/MachineSolidifier.java index 96d426511..b743f795e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSolidifier.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSolidifier.java @@ -69,7 +69,9 @@ public class MachineSolidifier extends BlockDummyable implements ITooltipProvide public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { - list.add(EnumChatFormatting.YELLOW + "beb"); + list.add(EnumChatFormatting.YELLOW + "A universal machine fitted with cooling systems and other"); + list.add(EnumChatFormatting.YELLOW + "versatile tools for turning fluids solid using various"); + list.add(EnumChatFormatting.YELLOW + "processes such as freezing and petrochemical polymerization."); } else { list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index 11fa8ffb8..8e260d42b 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -11,6 +11,8 @@ import com.hbm.util.I18nUtil; import api.hbm.block.IToolable; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; @@ -18,12 +20,12 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; @@ -51,6 +53,12 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl return false; } + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { + return true; + } + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { int l = BlockPistonBase.determineOrientation(world, x, y, z, player); world.setBlockMetadataWithNotify(x, y, z, l, 2); diff --git a/src/main/java/com/hbm/entity/item/EntityMinecartTest.java b/src/main/java/com/hbm/entity/item/EntityMinecartTest.java index bdca79aed..924c9c3c1 100644 --- a/src/main/java/com/hbm/entity/item/EntityMinecartTest.java +++ b/src/main/java/com/hbm/entity/item/EntityMinecartTest.java @@ -67,8 +67,6 @@ public class EntityMinecartTest extends EntityMinecartModBase this.explodeCart(d0); } } - - System.out.println(this.rotationYaw); } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java b/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java index 2cb1883d3..eb00684e3 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java +++ b/src/main/java/com/hbm/inventory/container/ContainerNukeFurnace.java @@ -2,6 +2,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; import com.hbm.tileentity.machine.TileEntityNukeFurnace; +import com.hbm.util.InventoryUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; @@ -11,116 +12,110 @@ import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerNukeFurnace extends Container { - + private TileEntityNukeFurnace diFurnace; private int dualCookTime; private int dualPower; - private int lastItemBurnTime; - + public ContainerNukeFurnace(InventoryPlayer invPlayer, TileEntityNukeFurnace tedf) { dualCookTime = 0; dualPower = 0; - lastItemBurnTime = 0; - + diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 56, 53)); + + this.addSlotToContainer(new Slot(tedf, 0, 56, 53) { + @Override + public int getSlotStackLimit() { + return 1; + } + }); + this.addSlotToContainer(new Slot(tedf, 1, 56, 17)); this.addSlotToContainer(new SlotMachineOutput(tedf, 2, 116, 35)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { + + 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)); } } - - for(int i = 0; i < 9; i++) - { + + for(int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); } } - + @Override public void addCraftingToCrafters(ICrafting crafting) { super.addCraftingToCrafters(crafting); crafting.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); crafting.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); } - + @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { + + if(var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - - if (par2 <= 2) { - if (!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) - { + + if(par2 <= 2) { + if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { return null; } - } - else if (!this.mergeItemStack(var5, 1, 2, false)) - { - if (!this.mergeItemStack(var5, 0, 1, false)) + } else { + + if(TileEntityNukeFurnace.getFuelValue(var5) > 0) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, 1, false)) return null; + } else { + if(!this.mergeItemStack(var5, 1, 2, false)) + return null; + } } - - if (var5.stackSize == 0) - { + + if(var5.stackSize == 0) { var4.putStack((ItemStack) null); - } - else - { + } else { var4.onSlotChanged(); } } - + return var3; - } + } @Override public boolean canInteractWith(EntityPlayer player) { return diFurnace.isUseableByPlayer(player); } - + @Override public void detectAndSendChanges() { super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.dualCookTime != this.diFurnace.dualCookTime) - { + + for(int i = 0; i < this.crafters.size(); i++) { + ICrafting par1 = (ICrafting) this.crafters.get(i); + + if(this.dualCookTime != this.diFurnace.dualCookTime) { par1.sendProgressBarUpdate(this, 0, this.diFurnace.dualCookTime); } - - if(this.dualPower != this.diFurnace.dualPower) - { + + if(this.dualPower != this.diFurnace.dualPower) { par1.sendProgressBarUpdate(this, 1, this.diFurnace.dualPower); } } - + this.dualCookTime = this.diFurnace.dualCookTime; this.dualPower = this.diFurnace.dualPower; } - + @Override public void updateProgressBar(int i, int j) { - if(i == 0) - { + if(i == 0) { diFurnace.dualCookTime = j; } - if(i == 1) - { + if(i == 1) { diFurnace.dualPower = j; } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerStorageDrum.java b/src/main/java/com/hbm/inventory/container/ContainerStorageDrum.java index 022726ce8..18d7e2d8d 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerStorageDrum.java +++ b/src/main/java/com/hbm/inventory/container/ContainerStorageDrum.java @@ -48,7 +48,6 @@ public class ContainerStorageDrum extends Container { var3 = var5.copy(); if(par2 <= drum.getSizeInventory() - 1) { - if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, drum.getSizeInventory(), this.inventorySlots.size(), true)) { return null; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerWasteDrum.java b/src/main/java/com/hbm/inventory/container/ContainerWasteDrum.java index e3e3f390e..639f21d81 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerWasteDrum.java +++ b/src/main/java/com/hbm/inventory/container/ContainerWasteDrum.java @@ -11,10 +11,10 @@ import net.minecraft.item.ItemStack; public class ContainerWasteDrum extends Container { - private TileEntityWasteDrum diFurnace; + private TileEntityWasteDrum drum; public ContainerWasteDrum(InventoryPlayer invPlayer, TileEntityWasteDrum tedf) { - diFurnace = tedf; + drum = tedf; this.addSlotToContainer(new Slot(tedf, 0, 71, 18)); this.addSlotToContainer(new Slot(tedf, 1, 89, 18)); @@ -52,11 +52,11 @@ public class ContainerWasteDrum extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(par2 <= diFurnace.getSizeInventory() - 1) { - if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true)) { + if(par2 <= drum.getSizeInventory() - 1) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, drum.getSizeInventory(), this.inventorySlots.size(), true)) { return null; } - } else if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, 0, false)) { + } else if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, drum.getSizeInventory(), false)) { return null; } @@ -65,6 +65,8 @@ public class ContainerWasteDrum extends Container { } else { var4.onSlotChanged(); } + + var4.onPickupFromSlot(p_82846_1_, var5); } return var3; @@ -72,6 +74,6 @@ public class ContainerWasteDrum extends Container { @Override public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); + return drum.isUseableByPlayer(player); } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 3960a4489..e6b4e67fd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -11,6 +11,7 @@ import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ItemEnums.EnumLegendaryType; import com.hbm.items.armor.*; +import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; import com.hbm.items.bomb.*; import com.hbm.items.food.*; import com.hbm.items.machine.*; @@ -2265,6 +2266,7 @@ public class ModItems { public static Item cape_radiation; public static Item cape_gasmask; public static Item cape_schrabidium; + public static Item cape_hidden; /*public static Item cape_hbm; public static Item cape_dafnik; public static Item cape_lpkukin; @@ -4873,6 +4875,7 @@ public class ModItems { .setBlastProtection(0.5F) .addResistance("monoxide", 0F) .addResistance("fall", 0) + .hides(EnumPlayerPart.HAT) .setUnlocalizedName("t45_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_helmet"); t45_plate = new ArmorT45(aMatT45, 2, 1, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_plate"); t45_legs = new ArmorT45(aMatT45, 2, 2, 1000000, 10000, 1000, 5).cloneStats((ArmorFSB) t45_helmet).setUnlocalizedName("t45_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":t45_legs"); @@ -4887,6 +4890,7 @@ public class ModItems { .setBlastProtection(0.5F) .addResistance("monoxide", 0F) .addResistance("fall", 0) + .hides(EnumPlayerPart.HAT) .setUnlocalizedName("steamsuit_helmet").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_helmet"); steamsuit_plate = new ArmorDesh(aMatDesh, 2, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_plate").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_plate"); steamsuit_legs = new ArmorDesh(aMatDesh, 2, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", Fluids.STEAM, 360000, 500, 50, 1).cloneStats((ArmorFSB) steamsuit_helmet).setUnlocalizedName("steamsuit_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":steamsuit_legs"); @@ -4906,7 +4910,9 @@ public class ModItems { .setJump("hbm:step.iron_jump") .setFall("hbm:step.iron_land") .addResistance("monoxide", 0F) - .addResistance("fall", 0).setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet"); + .addResistance("fall", 0) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("ajr_helmet").setTextureName(RefStrings.MODID + ":ajr_helmet"); ajr_plate = new ArmorAJR(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_plate").setTextureName(RefStrings.MODID + ":ajr_plate"); ajr_legs = new ArmorAJR(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_legs").setTextureName(RefStrings.MODID + ":ajr_legs"); ajr_boots = new ArmorAJR(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajr_helmet).setUnlocalizedName("ajr_boots").setTextureName(RefStrings.MODID + ":ajr_boots"); @@ -4923,7 +4929,9 @@ public class ModItems { .setJump("hbm:step.iron_jump") .setFall("hbm:step.iron_land") .addResistance("monoxide", 0F) - .addResistance("fall", 0).setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet"); + .addResistance("fall", 0) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("ajro_helmet").setTextureName(RefStrings.MODID + ":ajro_helmet"); ajro_plate = new ArmorAJRO(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_plate").setTextureName(RefStrings.MODID + ":ajro_plate"); ajro_legs = new ArmorAJRO(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_legs").setTextureName(RefStrings.MODID + ":ajro_legs"); ajro_boots = new ArmorAJRO(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) ajro_helmet).setUnlocalizedName("ajro_boots").setTextureName(RefStrings.MODID + ":ajro_boots"); @@ -4940,7 +4948,9 @@ public class ModItems { .setStep("hbm:step.powered") .setJump("hbm:step.powered") .setFall("hbm:step.powered") - .addResistance("fall", 0).setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); + .addResistance("fall", 0) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("rpa_helmet").setTextureName(RefStrings.MODID + ":rpa_helmet"); rpa_plate = new ArmorRPA(aMatAJR, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_plate").setTextureName(RefStrings.MODID + ":rpa_plate"); rpa_legs = new ArmorRPA(aMatAJR, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_legs").setTextureName(RefStrings.MODID + ":rpa_legs"); rpa_boots = new ArmorRPA(aMatAJR, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 2500000, 10000, 2000, 25).cloneStats((ArmorFSB) rpa_helmet).setUnlocalizedName("rpa_boots").setTextureName(RefStrings.MODID + ":rpa_boots"); @@ -4959,13 +4969,12 @@ public class ModItems { .addEffect(new PotionEffect(HbmPotion.radx.id, 20, 0)) .setBlastProtection(0.5F) .setProtectionLevel(500F) - //.setGravity(0.02D) .setStep("hbm:step.metal") .setJump("hbm:step.iron_jump") .setFall("hbm:step.iron_land") .addResistance("fall", 0).setUnlocalizedName("bj_helmet").setTextureName(RefStrings.MODID + ":bj_helmet"); bj_plate = new ArmorBJ(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate").setTextureName(RefStrings.MODID + ":bj_plate"); - bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); + bj_plate_jetpack = new ArmorBJJetpack(aMatBJ, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).hides(EnumPlayerPart.LEFT_ARM, EnumPlayerPart.RIGHT_ARM).setUnlocalizedName("bj_plate_jetpack").setTextureName(RefStrings.MODID + ":bj_plate_jetpack"); bj_legs = new ArmorBJ(aMatBJ, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_legs").setTextureName(RefStrings.MODID + ":bj_legs"); bj_boots = new ArmorBJ(aMatBJ, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 1000, 100).cloneStats((ArmorFSB) bj_helmet).setUnlocalizedName("bj_boots").setTextureName(RefStrings.MODID + ":bj_boots"); @@ -4980,7 +4989,9 @@ public class ModItems { .setHasCustomGeiger(true) .addResistance("fall", 0.5F) .addResistance("monoxide", 0F) - .addResistance("onFire", 0F).setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); + .addResistance("onFire", 0F) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("hev_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); hev_plate = new ArmorHEV(aMatHEV, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_plate").setTextureName(RefStrings.MODID + ":hev_plate"); hev_legs = new ArmorHEV(aMatHEV, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_legs").setTextureName(RefStrings.MODID + ":hev_legs"); hev_boots = new ArmorHEV(aMatHEV, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) hev_helmet).setUnlocalizedName("hev_boots").setTextureName(RefStrings.MODID + ":hev_boots"); @@ -5003,9 +5014,11 @@ public class ModItems { .setProtectionLevel(1000F) .addResistance("fall", 0F) .addResistance("monoxide", 0F) - .setFireproof(true).setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet"); - fau_plate = new ArmorDigamma(aMatFau, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate"); - fau_legs = new ArmorDigamma(aMatFau, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_legs").setTextureName(RefStrings.MODID + ":fau_legs"); + .setFireproof(true) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("fau_helmet").setTextureName(RefStrings.MODID + ":fau_helmet"); + fau_plate = new ArmorDigamma(aMatFau, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setFullSetForHide().setUnlocalizedName("fau_plate").setTextureName(RefStrings.MODID + ":fau_plate"); + fau_legs = new ArmorDigamma(aMatFau, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).hides(EnumPlayerPart.LEFT_LEG, EnumPlayerPart.RIGHT_LEG).setFullSetForHide().setUnlocalizedName("fau_legs").setTextureName(RefStrings.MODID + ":fau_legs"); fau_boots = new ArmorDigamma(aMatFau, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 10000000, 10000, 2500, 0).cloneStats((ArmorFSB) fau_helmet).setUnlocalizedName("fau_boots").setTextureName(RefStrings.MODID + ":fau_boots"); ArmorMaterial aMatDNS = EnumHelper.addArmorMaterial("HBM_DNT_NANO", 150, new int[] { 3, 8, 6, 3 }, 100); @@ -5021,7 +5034,9 @@ public class ModItems { .setStep("hbm:step.metal") .setJump("hbm:step.iron_jump") .setFall("hbm:step.iron_land") - .setFireproof(true).setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet"); + .setFireproof(true) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("dns_helmet").setTextureName(RefStrings.MODID + ":dns_helmet"); dns_plate = new ArmorDNT(aMatDNS, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_plate").setTextureName(RefStrings.MODID + ":dns_plate"); dns_legs = new ArmorDNT(aMatDNS, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_legs").setTextureName(RefStrings.MODID + ":dns_legs"); dns_boots = new ArmorDNT(aMatDNS, 7, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000000, 1000000, 100000, 115).cloneStats((ArmorFSB) dns_helmet).setUnlocalizedName("dns_boots").setTextureName(RefStrings.MODID + ":dns_boots"); @@ -5384,6 +5399,7 @@ public class ModItems { cape_radiation = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_radiation").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_radiation"); cape_gasmask = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_gasmask").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_gasmask"); cape_schrabidium = new ArmorModel(MainRegistry.aMatSchrab, 9, 1).setUnlocalizedName("cape_schrabidium").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_schrabidium"); + cape_hidden = new ArmorModel(ArmorMaterial.CHAIN, 9, 1).setUnlocalizedName("cape_hidden").setCreativeTab(MainRegistry.consumableTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":cape_unknown"); schrabidium_hammer = new WeaponSpecial(MainRegistry.tMatHammmer).setUnlocalizedName("schrabidium_hammer").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":schrabidium_hammer"); shimmer_sledge = new WeaponSpecial(MainRegistry.enumToolMaterialSledge).setUnlocalizedName("shimmer_sledge").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":shimmer_sledge_original"); @@ -5448,7 +5464,7 @@ public class ModItems { record_glass = new ItemModRecord("glass").setUnlocalizedName("record_glass").setCreativeTab(null).setTextureName(RefStrings.MODID + ":record_glass"); book_guide = new ItemGuideBook().setUnlocalizedName("book_guide").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":book_guide"); - holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":holotape"); + holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape"); holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged"); polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); @@ -7376,6 +7392,7 @@ public class ModItems { GameRegistry.registerItem(cape_radiation, cape_radiation.getUnlocalizedName()); GameRegistry.registerItem(cape_gasmask, cape_gasmask.getUnlocalizedName()); GameRegistry.registerItem(cape_schrabidium, cape_schrabidium.getUnlocalizedName()); + GameRegistry.registerItem(cape_hidden, cape_hidden.getUnlocalizedName()); //Tools GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 94a6ba88d..177d1842a 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -2,7 +2,9 @@ package com.hbm.items.armor; import java.lang.reflect.Field; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map.Entry; @@ -40,7 +42,7 @@ import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; //Armor with full set bonus -public class ArmorFSB extends ItemArmor { +public class ArmorFSB extends ItemArmor implements IArmorDisableModel { private String texture = ""; private ResourceLocation overlay = null; @@ -579,4 +581,22 @@ public class ArmorFSB extends ItemArmor { GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); } + + private HashSet hidden = new HashSet(); + private boolean needsFullSet = false; + + public ArmorFSB hides(EnumPlayerPart... parts) { + Collections.addAll(hidden, parts); + return this; + } + + public ArmorFSB setFullSetForHide() { + needsFullSet = true; + return this; + } + + @Override + public boolean disablesPart(EntityPlayer player, ItemStack stack, EnumPlayerPart part) { + return hidden.contains(part) && (!needsFullSet || hasFSBArmorIgnoreCharge(player)); + } } diff --git a/src/main/java/com/hbm/items/armor/ArmorModel.java b/src/main/java/com/hbm/items/armor/ArmorModel.java index 3703eff81..8e06c78b9 100644 --- a/src/main/java/com/hbm/items/armor/ArmorModel.java +++ b/src/main/java/com/hbm/items/armor/ArmorModel.java @@ -80,7 +80,7 @@ public class ArmorModel extends ItemArmor { return this.modelHat; } } - if (this == ModItems.cape_test || this == ModItems.cape_radiation || this == ModItems.cape_gasmask || this == ModItems.cape_schrabidium) { + if (this == ModItems.cape_test || this == ModItems.cape_radiation || this == ModItems.cape_gasmask || this == ModItems.cape_schrabidium || this == ModItems.cape_hidden) { if (armorSlot == 1) { if (this.modelCloak == null) { this.modelCloak = new ModelCloak(); @@ -111,6 +111,9 @@ public class ArmorModel extends ItemArmor { if (stack.getItem() == ModItems.cape_schrabidium) { return "hbm:textures/models/capes/CapeSchrabidium.png"; } + if (stack.getItem() == ModItems.cape_hidden) { + return "hbm:textures/models/capes/CapeHidden.png"; + } return "hbm:textures/models/capes/CapeUnknown.png"; } diff --git a/src/main/java/com/hbm/items/armor/IArmorDisableModel.java b/src/main/java/com/hbm/items/armor/IArmorDisableModel.java new file mode 100644 index 000000000..5e4d3dbda --- /dev/null +++ b/src/main/java/com/hbm/items/armor/IArmorDisableModel.java @@ -0,0 +1,19 @@ +package com.hbm.items.armor; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +public interface IArmorDisableModel { + + public boolean disablesPart(EntityPlayer player, ItemStack stack, EnumPlayerPart part); + + public static enum EnumPlayerPart { + HEAD, + HAT, + BODY, + LEFT_ARM, + RIGHT_ARM, + LEFT_LEG, + RIGHT_LEG + } +} diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 9e2f8a1e4..f434aec9f 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4174)"; + public static final String VERSION = "1.0.27 BETA (4178)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 1ef89f1e9..2c6c75bc5 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -19,6 +19,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; @@ -84,6 +85,7 @@ import com.hbm.tileentity.machine.rbmk.*; import com.hbm.tileentity.machine.storage.*; import com.hbm.tileentity.network.*; import com.hbm.tileentity.turret.*; +import com.hbm.util.BobMathUtil; import com.hbm.util.SoundUtil; import cpw.mods.fml.client.registry.ClientRegistry; @@ -93,6 +95,34 @@ import cpw.mods.fml.relauncher.ReflectionHelper; public class ClientProxy extends ServerProxy { + @Override + public void registerRenderInfo() { + + registerClientEventHandler(new ModEventHandlerClient()); + registerClientEventHandler(new ModEventHandlerRenderer()); + + AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); + ResourceManager.loadAnimatedModels(); + + registerTileEntitySpecialRenderer(); + registerItemRenderer(); + registerEntityRenderer(); + registerBlockRenderer(); + + RenderingRegistry.addNewArmourRendererPrefix("5"); + RenderingRegistry.addNewArmourRendererPrefix("6"); + RenderingRegistry.addNewArmourRendererPrefix("7"); + RenderingRegistry.addNewArmourRendererPrefix("8"); + RenderingRegistry.addNewArmourRendererPrefix("9"); + + SoundUtil.addSoundCategory("ntmMachines"); + } + + private void registerClientEventHandler(Object handler) { + MinecraftForge.EVENT_BUS.register(handler); + FMLCommonHandler.instance().bus().register(handler); + } + @Override public void registerTileEntitySpecialRenderer() { //test crap @@ -665,30 +695,6 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderPribris()); } - @Override - public void registerRenderInfo() - { - ModEventHandlerClient handler = new ModEventHandlerClient(); - MinecraftForge.EVENT_BUS.register(handler); - FMLCommonHandler.instance().bus().register(handler); - - AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); - ResourceManager.loadAnimatedModels(); - - registerTileEntitySpecialRenderer(); - registerItemRenderer(); - registerEntityRenderer(); - registerBlockRenderer(); - - RenderingRegistry.addNewArmourRendererPrefix("5"); - RenderingRegistry.addNewArmourRendererPrefix("6"); - RenderingRegistry.addNewArmourRendererPrefix("7"); - RenderingRegistry.addNewArmourRendererPrefix("8"); - RenderingRegistry.addNewArmourRendererPrefix("9"); - - SoundUtil.addSoundCategory("ntmMachines"); - } - @Override public void registerMissileItems() { @@ -1157,13 +1163,17 @@ public class ClientProxy extends ServerProxy { } } } + + double motionX = BobMathUtil.safeClamp(p.motionX + moX, -5, 5); + double motionY = BobMathUtil.safeClamp(p.motionY + moY, -2, 2); + double motionZ = BobMathUtil.safeClamp(p.motionZ + moZ, -5, 5); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, p.motionX + moX * 2, p.motionY + moY * 2, p.motionZ + moZ * 2)); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, p.motionX + moX * 2, p.motionY + moY * 2, p.motionZ + moZ * 2)); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, motionX * 2, motionY * 2, motionZ * 2)); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, motionX * 2, motionY * 2, motionZ * 2)); if(particleSetting == 0) { - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, p.motionX + moX * 3, p.motionY + moY * 3, p.motionZ + moZ * 3)); - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, p.motionX + moX * 3, p.motionY + moY * 3, p.motionZ + moZ * 3)); + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, motionX * 3, motionY * 3, motionZ * 3)); + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, motionX * 3, motionY * 3, motionZ * 3)); } } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6b61f7746..e82ab657d 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -990,7 +990,7 @@ public class MainRegistry { SchistStratum schist = new SchistStratum(); MinecraftForge.EVENT_BUS.register(schist); //DecorateBiomeEvent.Pre - new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); + //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); OreDictManager oreMan = new OreDictManager(); MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index a61f82536..b9c77812a 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -798,52 +798,6 @@ public class ModEventHandlerClient { } } - /*private static final ResourceLocation digammaStar = new ResourceLocation("hbm:textures/misc/star_digamma.png"); - - @SideOnly(Side.CLIENT) - public void onRenderDigammaStar(RenderWorldLastEvent event) { - - World world = Minecraft.getMinecraft().theWorld; - - if(world.provider.dimensionId != 0) - return; - - GL11.glPushMatrix(); - GL11.glDepthMask(false); - - GL11.glEnable(3553); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 1, 1, 0); - - float partialTicks = event.partialTicks; - - GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(world.getCelestialAngle(partialTicks) * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(140.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-40.0F, 0.0F, 0.0F, 1.0F); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(digammaStar); - - float var12 = 2.5F; - double dist = 150D; - - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-var12, dist, -var12, 0.0D, 0.0D); - tessellator.addVertexWithUV(var12, dist, -var12, 0.0D, 1.0D); - tessellator.addVertexWithUV(var12, dist, var12, 1.0D, 1.0D); - tessellator.addVertexWithUV(-var12, dist, var12, 1.0D, 0.0D); - tessellator.draw(); - - GL11.glDepthMask(true); - - GL11.glDisable(3042); - GL11.glEnable(GL11.GL_ALPHA_TEST); - - GL11.glPopMatrix(); - }*/ - @SubscribeEvent(priority = EventPriority.HIGHEST) public void preRenderEventFirst(RenderLivingEvent.Pre event) { diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java new file mode 100644 index 000000000..91c8a06d7 --- /dev/null +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -0,0 +1,72 @@ +package com.hbm.main; + +import com.hbm.items.armor.IArmorDisableModel; +import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; + +import cpw.mods.fml.common.eventhandler.EventPriority; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.renderer.entity.RenderPlayer; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.RenderPlayerEvent; + +public class ModEventHandlerRenderer { + + private static boolean[] partsHidden = new boolean[7]; + + @SubscribeEvent(priority = EventPriority.LOWEST, receiveCanceled = true) + public void onRenderPlayerPre(RenderPlayerEvent.Pre event) { + + EntityPlayer player = event.entityPlayer; + RenderPlayer renderer = event.renderer; + + for(int j = 0; j < 7; j++) { + partsHidden[j] = false; + } + + for(int i = 1; i < 5; i++) { + ItemStack stack = player.getEquipmentInSlot(i); + + if(stack != null && stack.getItem() instanceof IArmorDisableModel) { + IArmorDisableModel disable = (IArmorDisableModel) stack.getItem(); + + for(int j = 0; j < 7; j++) { + EnumPlayerPart type = EnumPlayerPart.values()[j]; + ModelRenderer box = getBoxFromType(renderer, type); + if(disable.disablesPart(player, stack, type) && !box.isHidden) { + partsHidden[j] = true; + box.isHidden = true; + } + } + } + } + } + + @SubscribeEvent(priority = EventPriority.HIGHEST, receiveCanceled = true) + public void onRenderPlayerPost(RenderPlayerEvent.Post event) { + + RenderPlayer renderer = event.renderer; + + for(int j = 0; j < 7; j++) { + EnumPlayerPart type = EnumPlayerPart.values()[j]; + if(partsHidden[j]) { + getBoxFromType(renderer, type).isHidden = false; + } + } + } + + private static ModelRenderer getBoxFromType(RenderPlayer renderer, EnumPlayerPart part) { + + switch(part) { + case BODY: return renderer.modelBipedMain.bipedBody; + case HAT: return renderer.modelBipedMain.bipedHeadwear; + case HEAD: return renderer.modelBipedMain.bipedHead; + case LEFT_ARM: return renderer.modelBipedMain.bipedLeftArm; + case LEFT_LEG: return renderer.modelBipedMain.bipedLeftLeg; + case RIGHT_ARM: return renderer.modelBipedMain.bipedRightArm; + case RIGHT_LEG: return renderer.modelBipedMain.bipedRightLeg; + default: return null; + } + } +} diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index dab0a2c30..dcfb4853f 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -1236,6 +1236,28 @@ public class ItemRenderLibrary { bindTexture(ResourceManager.chemfac_tex); ResourceManager.chemfac.renderPart("Main"); GL11.glShadeModel(GL11.GL_FLAT); }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.red_pylon_large), new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(2.25, 2.25, 2.25); + } + public void renderCommon() { + GL11.glScaled(0.5, 0.5, 0.5); + bindTexture(ResourceManager.pylon_large_tex); ResourceManager.pylon_large.renderAll(); + }}); + + renderers.put(Item.getItemFromBlock(ModBlocks.substation), new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -2.5, 0); + GL11.glScaled(4.5, 4.5, 4.5); + } + public void renderCommon() { + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.substation_tex); ResourceManager.substation.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); } private static void bindTexture(ResourceLocation res) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index a55b976e8..ff0901721 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -390,8 +390,9 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements for(int j = 0; j < inv.getSizeInventory(); j++) { if(inv.getStackInSlot(j) == null) { - inv.setInventorySlotContents(j, out.copy()); - inv.getStackInSlot(j).stackSize = 1; + ItemStack copy = out.copy(); + copy.stackSize = 1; + inv.setInventorySlotContents(j, copy); this.decrStackSize(i, 1); return; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index 01d3d8517..63a11d0ef 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -206,8 +206,6 @@ public class TileEntityMachineShredder extends TileEntity implements ISidedInven return false; } - System.out.println("ass"); - return true; } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index 4b399436d..a9c53bddc 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -66,9 +66,17 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { if(mode == 1 || mode == 2) { if(te instanceof IEnergyConnector) { IEnergyConnector con = (IEnergyConnector) te; + + long max = 10_000_000_000_000_000L; + long toTransfer = Math.min(max, this.power); + long remainder = this.power - toTransfer; + this.power = toTransfer; + long oldPower = this.power; long transfer = this.power - con.transferPower(this.power); this.power = oldPower - transfer; + + power += remainder; } } diff --git a/src/main/java/com/hbm/util/BobMathUtil.java b/src/main/java/com/hbm/util/BobMathUtil.java index 797bb2b7e..e8cebbbb3 100644 --- a/src/main/java/com/hbm/util/BobMathUtil.java +++ b/src/main/java/com/hbm/util/BobMathUtil.java @@ -15,6 +15,17 @@ import net.minecraftforge.common.util.ForgeDirection; public class BobMathUtil { + public static double safeClamp(double val, double min, double max) { + + val = MathHelper.clamp_double(val, min, max); + + if(val == Double.NaN) { + val = (min + max) / 2D; + } + + return val; + } + public static Vec3 interpVec(Vec3 vec1, Vec3 vec2, float interp) { return Vec3.createVectorHelper( interp(vec1.xCoord, vec2.xCoord, interp), diff --git a/src/main/java/com/hbm/util/InventoryUtil.java b/src/main/java/com/hbm/util/InventoryUtil.java index c234df867..8132c728a 100644 --- a/src/main/java/com/hbm/util/InventoryUtil.java +++ b/src/main/java/com/hbm/util/InventoryUtil.java @@ -257,7 +257,6 @@ public class InventoryUtil { if(inv.stackSize <= 0) { inventory[j] = null; - System.out.println("da yis"); } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index df5c54d0a..e9c2e7d07 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1014,6 +1014,7 @@ item.cape_codered_.name=codered_s Cape item.cape_dafnik.name=Dafniks Cape item.cape_gasmask.name=Cape (Gasmaske) item.cape_hbm.name=Hbms Cape +item.cape_hidden.name=Hidden Cape item.cape_lpkukin.name=LPkukins Cape item.cape_nostalgia.name=DrNostalgias Cape item.cape_radiation.name=Cape (Radioaktiv) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 7d0904553..61880cb59 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1220,6 +1220,7 @@ item.cape_codered_.name=codered_'s Cape item.cape_dafnik.name=Dafnik's Cape item.cape_gasmask.name=Cape (Gas Mask) item.cape_hbm.name=Hbm's Cape +item.cape_hidden.name=Hidden Cape item.cape_lpkukin.name=LPkukin's Cape item.cape_nostalgia.name=DrNostalgia's Cape item.cape_radiation.name=Cape (Radiation) diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeHidden.png b/src/main/resources/assets/hbm/textures/models/capes/CapeHidden.png new file mode 100644 index 0000000000000000000000000000000000000000..948b34fdff7514ebfeaf9604c79697ce6254a7ef GIT binary patch literal 637 zcmV-@0)qXCP)A$To$0Qbbejg$f+&`v7r}#v9K7}J2k@&3g5b@9 z2f=_KNLA3K1S#!oP1u>n!?N4`m*Am+EX;En-kl8d`@QeHGw}cpUq4(vKh+pxI5`kB z5ke3}5wqE>7M~>D^Dp22^;*F##k>1ze>ofuIlc^ex4U3IpO+t_C;~t!MVh8)t;w>i zwMdr{=Wlc`Ob`I``J6O09HaPfe^8s?c^+w+){JS=RRw)P00cpR)*7ufXP!U^!NJv% zWZ+?p0U!*+a=eO3l7H`$AwGbVl3(Mn3>ss2bYTgCfG`XZqAqBXm{M%t@ryw+@Hmfi zu|fzwJ_wOg0&sY-EXQ3`4NBv1<-Bb~OcKLzXm~$@@B0F5p7}!XBr#ZP`TZY@<)v>o zy5ZZVtbizrkWvx^0YKU9tFeOFs9#xLhY#>I%+GVz6*nE&R{4L6Y^%||tUnQYgMV@$ zI2#6JS;izW+|zjpODV~+jPpA_KX&8eRKt3iJ{e-$6VT3ZT#vbYgaWd6slhqdd^ z_UCw0Tih&V4|uHePOp?=G#a6lTKS{qwOG){tFbgdO3CzSk1tQh0K{>OQflS(SBPzz z@$4$-n!dG^2279kh~s)4S50W%1YHOrP#25a-{l7JflhHnhT}M9FKw6hpK;W=V4t4B zP^o}s_CM|1Wb(yzyC0kmTA|*Fhsu9}CW~=h^tz{Tl~oPW;cz${4u`|xa5x+e$JX!< X!Edc}bQUfo00000NkvXXu0mjf7W5*G literal 0 HcmV?d00001 diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 84a3db2de..3b8a1cf2a 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4174", + "version":"1.0.27_X4178", "mcversion": "1.7.10", "url": "", "updateUrl": "", From 891b747e78ac8d0cc6059324a41eb702a383c6ee Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sat, 19 Mar 2022 16:34:47 +0300 Subject: [PATCH 05/17] Updated ru_RU.lang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit впвавпавпвавпвавпвавпавп --- src/main/resources/assets/hbm/lang/ru_RU.lang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index f8536b14c..2148361ee 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1305,6 +1305,7 @@ container.generator=Ядерный реактор tile.red_wire_coated.name=Медный кабель с покрытием tile.cable_switch.name=Рубильник tile.cable_detector.name=Редстоун-рубильник +tile.cable_diode.name=Диод из красной меди tile.machine_deuterium.name=Дейтериевый экстрактор container.machine_deuterium=Дейтериевый экстрактор tile.machine_battery_potato.name=Картофельная батарея @@ -4181,6 +4182,7 @@ tile.tektite.name=Тектит item.cape_radiation.name=Плащ (Радиация) item.cape_gasmask.name=Плащ (Противогаз) item.cape_schrabidium.name=Плащ (Шрабидий) +item.cape_hidden.name=Скрытый плащ item.cape_hbm.name=Hbm's Cape item.cape_dafnik.name=Dafnik's Cape item.cape_lpkukin.name=LPkukin's Cape @@ -4989,7 +4991,6 @@ tile.mush_block_stem.name=Giant Glowing Mushroom Stem tile.ore_oil.desc=You weren't supposed to mine that.$Come on, get a derrick you doofus. tile.pane_acrylic.name=Acrylic Pane tile.pane_actinium.name=Actinium Glass Pane -tile.reinforced_ducrete.name=Heavy Rebar Reinforced DUCRETE tile.storage_aux_fdd.name=Auxiliary Floppy Disk Drive tile.storage_aux_optical_bd=Auxiliary Elite Optical Drive tile.storage_aux_optical_cd=Auxiliary Basic Optical Drive From 2a1575c57815605de37d33eb8e763610b905b6fb Mon Sep 17 00:00:00 2001 From: Pheonix Date: Sat, 19 Mar 2022 22:46:43 +0000 Subject: [PATCH 06/17] i really hope this doesn't break anything --- .../java/com/hbm/extprop/HbmPlayerProps.java | 2 +- .../com/hbm/handler/EntityEffectHandler.java | 95 +++++++++++++++++++ .../com/hbm/interfaces/IArmorModDash.java | 6 ++ src/main/java/com/hbm/items/ModItems.java | 2 +- .../java/com/hbm/items/armor/ArmorFSB.java | 6 +- .../java/com/hbm/items/armor/ItemModV1.java | 89 +++++++++-------- .../com/hbm/main/ModEventHandlerClient.java | 10 +- .../hbm/render/util/RenderScreenOverlay.java | 10 +- 8 files changed, 163 insertions(+), 57 deletions(-) create mode 100644 src/main/java/com/hbm/interfaces/IArmorModDash.java diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index a5f2ff618..63ce1f7e4 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -20,7 +20,7 @@ public class HbmPlayerProps implements IExtendedEntityProperties { private boolean[] keysPressed = new boolean[EnumKeybind.values().length]; - public static final int dashCooldownLength = 10; + public static final int dashCooldownLength = 5; public int dashCooldown = 0; public int totalDashCount = 0; diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 20d3f2686..7354eeae9 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -8,8 +8,11 @@ import com.hbm.config.GeneralConfig; import com.hbm.config.RadiationConfig; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.extprop.HbmLivingProps; +import com.hbm.extprop.HbmPlayerProps; import com.hbm.extprop.HbmLivingProps.ContaminationEffect; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.interfaces.IArmorModDash; +import com.hbm.items.armor.ArmorFSB; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -31,11 +34,13 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; +import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityEffectHandler { @@ -76,6 +81,8 @@ public class EntityEffectHandler { handleRadiation(entity); handleDigamma(entity); handleLungDisease(entity); + + handleDashing(entity); } private static void handleContamination(EntityLivingBase entity) { @@ -405,4 +412,92 @@ public class EntityEffectHandler { } } } + + private static void handleDashing(Entity entity) { + + //AAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEE + if(entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer)entity; + + HbmPlayerProps props = HbmPlayerProps.getData(player); + + props.setDashCount(0); + + ArmorFSB chestplate = null; + + int armorDashCount = 0; + int armorModDashCount = 0; + + if(ArmorFSB.hasFSBArmor(player)) { + ItemStack plate = player.inventory.armorInventory[2]; + + chestplate = (ArmorFSB)plate.getItem(); + } + + if(chestplate != null) + armorDashCount = chestplate.dashCount; + + for(int armorSlot = 0; armorSlot < 4; armorSlot++) { + ItemStack armorStack = player.inventory.armorInventory[armorSlot]; + + if(armorStack != null && armorStack.getItem() instanceof ItemArmor) { + ItemArmor armor = (ItemArmor)armorStack.getItem(); + + for(int modSlot = 0; modSlot < 8; modSlot++) { + ItemStack mod = ArmorModHandler.pryMods(armorStack)[modSlot]; + + if(mod != null && mod.getItem() instanceof IArmorModDash) { + int count = ((IArmorModDash)mod.getItem()).getDashes(); + armorModDashCount += count; + } + } + } + } + + int dashCount = armorDashCount + armorModDashCount; + + //System.out.println(dashCount); + + if(dashCount * 30 < props.getStamina()) + props.setStamina(dashCount * 30); + + if(dashCount > 0) { + + int perDash = 30; + + props.setDashCount(dashCount); + + int stamina = props.getStamina(); + + if(props.getDashCooldown() <= 0) { + + if(!player.capabilities.isFlying && player.isSneaking() && stamina >= perDash) { + + Vec3 lookingIn = player.getLookVec(); + + player.addVelocity(lookingIn.xCoord, 0, lookingIn.zCoord); + player.playSound("hbm:player.dash", 1.0F, 1.0F); + + props.setDashCooldown(HbmPlayerProps.dashCooldownLength); + stamina -= perDash; + } + } else { + props.setDashCooldown(props.getDashCooldown() - 1); + } + + if(stamina < props.getDashCount() * perDash) { + stamina++; + + if(stamina % perDash == perDash-1) { + + player.playSound("hbm:player.dashRecharge", 1.0F, (1.0F + ((1F/12F)*(stamina/perDash)))); + stamina++; + } + } + + props.setStamina(stamina); + } + + } + } } diff --git a/src/main/java/com/hbm/interfaces/IArmorModDash.java b/src/main/java/com/hbm/interfaces/IArmorModDash.java new file mode 100644 index 000000000..2515823ba --- /dev/null +++ b/src/main/java/com/hbm/interfaces/IArmorModDash.java @@ -0,0 +1,6 @@ +package com.hbm.interfaces; + +public interface IArmorModDash { + + public int getDashes(); +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4293a9e0e..014ef133a 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -4812,7 +4812,7 @@ public class ModItems { .addEffect(new PotionEffect(Potion.moveSpeed.id, 20, 6)) .addEffect(new PotionEffect(Potion.regeneration.id, 20, 1)) .addEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)) - .setDashCount(6) + .setDashCount(3) .setUnlocalizedName("bismuth_helmet").setTextureName(RefStrings.MODID + ":bismuth_helmet"); bismuth_plate = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 1, RefStrings.MODID + ":textures/armor/starmetal_2.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_plate").setTextureName(RefStrings.MODID + ":bismuth_plate"); bismuth_legs = new ArmorBismuth(MainRegistry.aMatBismuth, 7, 2, RefStrings.MODID + ":textures/armor/starmetal_1.png").cloneStats((ArmorFSB) bismuth_helmet).setCap(8F).setMod(0.3F).setUnlocalizedName("bismuth_legs").setTextureName(RefStrings.MODID + ":bismuth_legs"); diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index 17fd8ee8d..be08d063c 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -462,7 +462,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { } catch(Exception x) { } } - + /* if(dashCount > 0) { int perDash = 60; @@ -478,6 +478,8 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { if(!player.capabilities.isFlying && player.isSneaking() && stamina >= perDash) { Vec3 lookingIn = player.getLookVec(); + lookingIn.yCoord = 0; + lookingIn.normalize(); player.addVelocity(lookingIn.xCoord, 0, lookingIn.zCoord); player.playSound("hbm:player.dash", 1.0F, 1.0F); @@ -499,7 +501,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { } props.setStamina(stamina); - } + } */ } } diff --git a/src/main/java/com/hbm/items/armor/ItemModV1.java b/src/main/java/com/hbm/items/armor/ItemModV1.java index f6e5eb3f6..bb5d8a3a6 100644 --- a/src/main/java/com/hbm/items/armor/ItemModV1.java +++ b/src/main/java/com/hbm/items/armor/ItemModV1.java @@ -1,42 +1,47 @@ -package com.hbm.items.armor; - -import java.util.List; -import java.util.UUID; - -import com.google.common.collect.Multimap; -import com.hbm.handler.ArmorModHandler; - -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -public class ItemModV1 extends ItemArmorMod { - - private static final UUID speed = UUID.fromString("1d11e63e-28c4-4e14-b09f-fe0bd1be708f"); - - public ItemModV1() { - super(ArmorModHandler.extra, false, true, false, false); - } - - @Override - public Multimap getModifiers(ItemStack armor) { - Multimap multimap = super.getAttributeModifiers(armor); - multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "V1 SPEED", 0.5, 2)); - return multimap; - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - - list.add(EnumChatFormatting.RED + "BLOOD IS FUEL"); - list.add(""); - super.addInformation(stack, player, list, bool); - } - - @Override - public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (BLOOD IS FUEL)"); - } -} +package com.hbm.items.armor; + +import java.util.List; +import java.util.UUID; + +import com.google.common.collect.Multimap; +import com.hbm.handler.ArmorModHandler; +import com.hbm.interfaces.IArmorModDash; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemModV1 extends ItemArmorMod implements IArmorModDash { + + private static final UUID speed = UUID.fromString("1d11e63e-28c4-4e14-b09f-fe0bd1be708f"); + + public ItemModV1() { + super(ArmorModHandler.extra, false, true, false, false); + } + + @Override + public Multimap getModifiers(ItemStack armor) { + Multimap multimap = super.getAttributeModifiers(armor); + multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), new AttributeModifier(speed, "V1 SPEED", 0.5, 2)); + return multimap; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + list.add(EnumChatFormatting.RED + "BLOOD IS FUEL"); + list.add(""); + super.addInformation(stack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + list.add(EnumChatFormatting.RED + " " + stack.getDisplayName() + " (BLOOD IS FUEL)"); + } + + public int getDashes() { + return 3; + } +} diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index d7973d57d..4114ab191 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -246,14 +246,12 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_TEXTURE_2D); } - if(ArmorFSB.hasFSBArmor(player)) { - ArmorFSB chestplate = (ArmorFSB)player.inventory.armorInventory[2].getItem(); - if(chestplate.dashCount > 0) { - HbmPlayerProps props = (HbmPlayerProps)player.getExtendedProperties("NTM_EXT_PLAYER"); - RenderScreenOverlay.renderDashBar(event.resolution, Minecraft.getMinecraft().ingameGUI, props); + HbmPlayerProps props = HbmPlayerProps.getData(player); + if(props.getDashCount() > 0) { + RenderScreenOverlay.renderDashBar(event.resolution, Minecraft.getMinecraft().ingameGUI, props); - } } + } } diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 2829d9585..0b4fac23d 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -206,8 +206,8 @@ public class RenderScreenOverlay { if(y == rows && x > finalColumns) break; gui.drawTexturedModalRect(posX + (width+2)*x, posY - 12*y, 76, 48, width, 10); - int staminaDiv = stamina / 60; - int staminaMod = stamina % 60; + int staminaDiv = stamina / 30; + int staminaMod = stamina % 30; int barID = (3*y)+x; int barStatus = 1; //0 = red, 1 = normal, 2 = greyed, 3 = dashed, 4 = ascended int barSize = width; @@ -215,19 +215,19 @@ public class RenderScreenOverlay { barStatus = 3; } else if(staminaDiv == barID) { barStatus = 2; - barSize = (int)((float)(stamina % 60) * (width/60F) ); + barSize = (int)((float)(stamina % 30) * (width/30F) ); if(barID == 0) barStatus = 0; } gui.drawTexturedModalRect(posX + (width+2)*x, posY - 12*y, 76, 18+(10*barStatus), barSize, 10); - if(staminaDiv == barID && staminaMod >= 57) { + if(staminaDiv == barID && staminaMod >= 27) { fadeOut = 1F; } if(fadeOut > 0 && staminaDiv-1 == barID) { GL11.glColor4f(1F, 1F, 1F, fadeOut); int bar = barID; - if(stamina % 60 >= 50) + if(stamina % 30 >= 25) bar++; int yPos = y; if(bar / 3 != y) From 8c005a39fb7c2b4c2ef09b22a3599f9889518c9c Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 20 Mar 2022 16:12:18 +0100 Subject: [PATCH 07/17] removed machine sound category --- src/main/java/api/hbm/fluid/IFluidConnector.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 4 +--- src/main/java/com/hbm/util/SoundUtil.java | 10 ++++++++-- src/main/java/com/hbm/world/dungeon/AncientTomb.java | 2 +- src/main/resources/mcmod.info | 2 +- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index 0b58d46ad..3430cc739 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -18,7 +18,7 @@ public interface IFluidConnector { * @param dir * @return */ - public default boolean canConnect(ForgeDirection dir) { + public default boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN; } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index f434aec9f..5de3b052f 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4178)"; + public static final String VERSION = "1.0.27 BETA (4179)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 2c6c75bc5..faa039536 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -19,7 +19,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; @@ -86,7 +85,6 @@ import com.hbm.tileentity.machine.storage.*; import com.hbm.tileentity.network.*; import com.hbm.tileentity.turret.*; import com.hbm.util.BobMathUtil; -import com.hbm.util.SoundUtil; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -115,7 +113,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.addNewArmourRendererPrefix("8"); RenderingRegistry.addNewArmourRendererPrefix("9"); - SoundUtil.addSoundCategory("ntmMachines"); + //SoundUtil.addSoundCategory("ntmMachines"); } private void registerClientEventHandler(Object handler) { diff --git a/src/main/java/com/hbm/util/SoundUtil.java b/src/main/java/com/hbm/util/SoundUtil.java index 773d44d68..56f4403ac 100644 --- a/src/main/java/com/hbm/util/SoundUtil.java +++ b/src/main/java/com/hbm/util/SoundUtil.java @@ -10,9 +10,15 @@ import net.minecraft.client.audio.SoundCategory; import net.minecraft.client.settings.GameSettings; import net.minecraftforge.common.util.EnumHelper; +/** + * This class is dedicated to the retard who thought making sound categories into enums and setting everything useful to private was a good idea. + * Fuck you. + * @author hbm + * + */ public class SoundUtil { - public static void addSoundCategory(String name) { + /*public static void addSoundCategory(String name) { try { SoundCategory category = EnumHelper.addEnum(SoundCategory.class, name.toUpperCase(), new Class[] { String.class, int.class }, new Object[] { name, SoundCategory.values().length }); @@ -40,5 +46,5 @@ public class SoundUtil { } catch(Exception e) { e.printStackTrace(); } - } + }*/ } diff --git a/src/main/java/com/hbm/world/dungeon/AncientTomb.java b/src/main/java/com/hbm/world/dungeon/AncientTomb.java index c319fa4b2..0d85cabec 100644 --- a/src/main/java/com/hbm/world/dungeon/AncientTomb.java +++ b/src/main/java/com/hbm/world/dungeon/AncientTomb.java @@ -86,7 +86,7 @@ public class AncientTomb { int iy = world.getHeightValue(ix, iz) - 3; for(int j = iy; j < iy + 7; j++) { - world.setBlock(ix, j, iz, ModBlocks.deco_steel); + world.setBlock(ix, j, iz, ModBlocks.deco_steel, 0, 2); } } diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 3b8a1cf2a..07980a6b6 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4178", + "version":"1.0.27_X4179", "mcversion": "1.7.10", "url": "", "updateUrl": "", From c662895f8e13c7c4fa6caa7977bd0f3b7f6400dc Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 22 Mar 2022 14:48:02 +0100 Subject: [PATCH 08/17] implemented re-eval for power nets this should keep power nets intact when links (i.e. cables) are removed instead of outright destroying them they are re-calculated. this should keep unloaded and cached links intact which would otherwise not reconnect on their own. --- .../java/api/hbm/energy/IEnergyConductor.java | 79 +- src/main/java/api/hbm/energy/PowerNet.java | 36 +- .../java/api/hbm/fluid/IFluidConductor.java | 4 +- .../java/api/hbm/fluid/IFluidConnector.java | 53 + src/main/java/api/hbm/fluid/IFluidUser.java | 13 + src/main/java/api/hbm/fluid/IPipeNet.java | 23 +- src/main/java/api/hbm/fluid/PipeNet.java | 99 + src/main/java/com/hbm/blocks/ModBlocks.java | 3 + src/main/java/com/hbm/blocks/test/TestBB.java | 7 - .../java/com/hbm/blocks/test/TestPipe.java | 38 + .../com/hbm/handler/EntityEffectHandler.java | 15 +- src/main/java/com/hbm/main/MainRegistry.java | 2 - .../java/com/hbm/main/ModEventHandler.java | 12 + .../com/hbm/main/ModEventHandlerClient.java | 8 +- .../machine/TileEntityMachineMiningDrill.java | 2 +- .../network/TileEntityCableBaseNT.java | 3 +- .../network/TileEntityCableSwitch.java | 6 +- .../network/TileEntityPipeBaseNT.java | 96 + .../tileentity/network/TileEntityPylon.java | 32 +- .../network/TileEntityPylonBase.java | 11 +- .../network/TileEntitySubstation.java | 44 +- .../assets/hbm/models/armor/bismuth.obj | 3848 ++++++++--------- src/main/resources/assets/hbm/sounds.json | 32 +- 23 files changed, 2397 insertions(+), 2069 deletions(-) create mode 100644 src/main/java/api/hbm/fluid/IFluidUser.java create mode 100644 src/main/java/api/hbm/fluid/PipeNet.java create mode 100644 src/main/java/com/hbm/blocks/test/TestPipe.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java diff --git a/src/main/java/api/hbm/energy/IEnergyConductor.java b/src/main/java/api/hbm/energy/IEnergyConductor.java index 154ccced3..84f9bbfad 100644 --- a/src/main/java/api/hbm/energy/IEnergyConductor.java +++ b/src/main/java/api/hbm/energy/IEnergyConductor.java @@ -1,6 +1,11 @@ package api.hbm.energy; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; /** * For compatible cables with no buffer, using the IPowertNet. You can make your own cables with IEnergyConnector as well, but they won't join their power network. @@ -17,14 +22,76 @@ public interface IEnergyConductor extends IEnergyConnector { * @return */ public default int getIdentity() { - - TileEntity te = (TileEntity) this; - + return getIdentityFromTile((TileEntity) this); + } + + public static int getIdentityFromTile(TileEntity te) { + return getIdentityFromPos(te.xCoord, te.yCoord, te.zCoord); + } + + public static int getIdentityFromPos(int x, int y, int z) { final int prime = 31; int result = 1; - result = prime * result + te.xCoord; - result = prime * result + te.yCoord; - result = prime * result + te.zCoord; + result = prime * result + x; + result = prime * result + y; + result = prime * result + z; return result; } + + /** + * Whether the link should be part of reeval when the network is changed. + * I.e. if this link should join any of the new networks (FALSE for switches that are turned off for example) + * @return + */ + public default boolean canReevaluate() { + return !((TileEntity) this).isInvalid(); + } + + /** + * When a link leaves the network, the net has to manually calculate the resulting networks. + * Each link has to decide what other links will join the same net. + * @param copy + */ + public default void reevaluate(HashMap copy) { + + for(int[] pos : getConnectionPoints()) { + int newX = pos[0]; + int newY = pos[1]; + int newZ = pos[2]; + int id = IEnergyConductor.getIdentityFromPos(newX, newY, newZ); + + IEnergyConductor neighbor = copy.get(id); + + if(neighbor != null && neighbor.getPowerNet() != null && this.canReevaluate() && neighbor.canReevaluate()) { + + if(this.getPowerNet() == null) { + neighbor.getPowerNet().joinLink(this); + } else { + this.getPowerNet().joinNetworks(neighbor.getPowerNet()); + } + } + } + } + + /** + * Creates a list of positions for the reeval process. In short - what positions should be considered as connected. + * Also used by pylons to quickly figure out what positions to connect to. + * DEFAULT: Connects to all six neighboring blocks. + * @return + */ + public default List getConnectionPoints() { + + List pos = new ArrayList(); + TileEntity tile = (TileEntity) this; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + int newX = tile.xCoord + dir.offsetX; + int newY = tile.yCoord + dir.offsetY; + int newZ = tile.zCoord + dir.offsetZ; + + pos.add(new int[] {newX, newY, newZ}); + } + + return pos; + } } diff --git a/src/main/java/api/hbm/energy/PowerNet.java b/src/main/java/api/hbm/energy/PowerNet.java index 97af6d4b4..12012eb1e 100644 --- a/src/main/java/api/hbm/energy/PowerNet.java +++ b/src/main/java/api/hbm/energy/PowerNet.java @@ -1,6 +1,7 @@ package api.hbm.energy; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import net.minecraft.tileentity.TileEntity; @@ -13,7 +14,7 @@ import net.minecraft.tileentity.TileEntity; public class PowerNet implements IPowerNet { private boolean valid = true; - private List links = new ArrayList(); + private HashMap links = new HashMap(); private List subscribers = new ArrayList(); @Override @@ -23,8 +24,7 @@ public class PowerNet implements IPowerNet { return; //wtf?! for(IEnergyConductor conductor : network.getLinks()) { - conductor.setPowerNet(this); - this.getLinks().add(conductor); + joinLink(conductor); } network.getLinks().clear(); @@ -42,14 +42,14 @@ public class PowerNet implements IPowerNet { conductor.getPowerNet().leaveLink(conductor); conductor.setPowerNet(this); - this.getLinks().add(conductor); + this.links.put(conductor.getIdentity(), conductor); return this; } @Override public void leaveLink(IEnergyConductor conductor) { conductor.setPowerNet(null); - this.getLinks().remove(conductor); + this.links.remove(conductor.getIdentity()); } @Override @@ -69,7 +69,9 @@ public class PowerNet implements IPowerNet { @Override public List getLinks() { - return this.links; + List linkList = new ArrayList(); + linkList.addAll(this.links.values()); + return linkList; } @Override @@ -80,10 +82,9 @@ public class PowerNet implements IPowerNet { @Override public void destroy() { this.valid = false; - this.subscribers.clear(); - for(IEnergyConductor link : this.links) { + for(IEnergyConductor link : this.links.values()) { link.setPowerNet(null); } @@ -135,5 +136,22 @@ public class PowerNet implements IPowerNet { } @Override - public void reevaluate() { } + public void reevaluate() { + + HashMap copy = new HashMap(links); + + for(IEnergyConductor link : copy.values()) { + this.leaveLink(link); + } + + for(IEnergyConductor link : copy.values()) { + + link.setPowerNet(null); + link.reevaluate(copy); + + if(link.getPowerNet() == null) { + link.setPowerNet(new PowerNet().joinLink(link)); + } + } + } } diff --git a/src/main/java/api/hbm/fluid/IFluidConductor.java b/src/main/java/api/hbm/fluid/IFluidConductor.java index 152e9524e..6c8298a54 100644 --- a/src/main/java/api/hbm/fluid/IFluidConductor.java +++ b/src/main/java/api/hbm/fluid/IFluidConductor.java @@ -2,9 +2,9 @@ package api.hbm.fluid; import com.hbm.inventory.fluid.FluidType; -public interface IFluidConductor { +public interface IFluidConductor extends IFluidConnector { public IPipeNet getPipeNet(FluidType type); - public void setPipeNet(FluidType type, FluidType network); + public void setPipeNet(FluidType type, IPipeNet network); } diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index 3430cc739..dd8c2c4ab 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -1,7 +1,13 @@ package api.hbm.fluid; import com.hbm.inventory.fluid.FluidType; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public interface IFluidConnector { @@ -28,4 +34,51 @@ public interface IFluidConnector { * @return */ public int getDemand(FluidType type); + + /** + * Basic implementation of subscribing to a nearby power grid + * @param world + * @param x + * @param y + * @param z + */ + public default void trySubscribe(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = world.getTileEntity(x, y, z); + boolean red = false; + + if(te instanceof IFluidConductor) { + IFluidConductor con = (IFluidConductor) te; + + if(!con.canConnect(type, dir)) + return; + + if(con.getPipeNet(type) != null && !con.getPipeNet(type).isSubscribed(this)) + con.getPipeNet(type).subscribe(this); + + if(con.getPipeNet(type) != null) + red = true; + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", red ? "reddust" : "bluedust"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + } + } + + public default void tryUnsubscribe(FluidType type, World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof IFluidConductor) { + IFluidConductor con = (IFluidConductor) te; + + if(con.getPipeNet(type) != null && con.getPipeNet(type).isSubscribed(this)) + con.getPipeNet(type).unsubscribe(this); + } + } + + public static final boolean particleDebug = false; } diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java new file mode 100644 index 000000000..534380946 --- /dev/null +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -0,0 +1,13 @@ +package api.hbm.fluid; + +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IFluidUser extends IFluidConnector { + + /*public default void updateStandardPipes(World world, int x, int y, int z) { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) + this.trySubscribe(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); + }*/ +} diff --git a/src/main/java/api/hbm/fluid/IPipeNet.java b/src/main/java/api/hbm/fluid/IPipeNet.java index c0f20eae9..8571f16e9 100644 --- a/src/main/java/api/hbm/fluid/IPipeNet.java +++ b/src/main/java/api/hbm/fluid/IPipeNet.java @@ -1,8 +1,27 @@ package api.hbm.fluid; -import api.hbm.energy.IPowerNet; +import java.util.List; + +import com.hbm.inventory.fluid.FluidType; public interface IPipeNet { - public void joinNetworks(IPowerNet network); + public void joinNetworks(IPipeNet network); + + public List getLinks(); + public List getSubscribers(); + + public IPipeNet joinLink(IFluidConductor conductor); + public void leaveLink(IFluidConductor conductor); + + public void subscribe(IFluidConnector connector); + public void unsubscribe(IFluidConnector connector); + public boolean isSubscribed(IFluidConnector connector); + + public void destroy(); + + public boolean isValid(); + + public long transferFluid(long power); + public FluidType getType(); } diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java new file mode 100644 index 000000000..6e15a06d0 --- /dev/null +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -0,0 +1,99 @@ +package api.hbm.fluid; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.inventory.fluid.FluidType; + +public class PipeNet implements IPipeNet { + + private FluidType type; + private List links = new ArrayList(); + private List subscribers = new ArrayList(); + + public PipeNet(FluidType type) { + this.type = type; + } + + @Override + public void joinNetworks(IPipeNet network) { + + if(network == this) + return; + + for(IFluidConductor conductor : network.getLinks()) { + conductor.setPipeNet(type, this); + this.getLinks().add(conductor); + } + network.getLinks().clear(); + + for(IFluidConnector connector : network.getSubscribers()) { + this.subscribe(connector); + } + + network.destroy(); + } + + @Override + public List getLinks() { + return links; + } + + @Override + public List getSubscribers() { + return subscribers; + } + + @Override + public IPipeNet joinLink(IFluidConductor conductor) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void leaveLink(IFluidConductor conductor) { + // TODO Auto-generated method stub + + } + + @Override + public void subscribe(IFluidConnector connector) { + // TODO Auto-generated method stub + + } + + @Override + public void unsubscribe(IFluidConnector connector) { + // TODO Auto-generated method stub + + } + + @Override + public boolean isSubscribed(IFluidConnector connector) { + // TODO Auto-generated method stub + return false; + } + + @Override + public long transferFluid(long power) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public FluidType getType() { + return type; + } + + @Override + public void destroy() { + // TODO Auto-generated method stub + + } + + @Override + public boolean isValid() { + // TODO Auto-generated method stub + return false; + } +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 1e1a89399..21c9a450d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -50,6 +50,7 @@ public class ModBlocks { public static Block test_core; public static Block test_charge; public static Block test_conductor; + public static Block test_pipe; public static Block test_ct; public static Block test_rail; public static Block test_bb_bork; @@ -1252,6 +1253,7 @@ public class ModBlocks { test_core = new TestCore(Material.iron).setBlockName("test_core").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_core"); test_charge = new TestCharge(Material.iron).setBlockName("test_charge").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); test_conductor = new TestConductor(Material.iron).setBlockName("test_conductor").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cable_neo"); + test_pipe = new TestPipe(Material.iron).setBlockName("test_pipe").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); test_ct = new TestCT(Material.iron).setBlockName("test_ct").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ct"); test_rail = new TestRail(Material.iron).setBlockName("test_rail").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_rail"); test_bb_bork = new TestBB(Material.iron).setBlockName("test_bb_bork").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_bb_bork"); @@ -2260,6 +2262,7 @@ public class ModBlocks { GameRegistry.registerBlock(test_core, test_core.getUnlocalizedName()); GameRegistry.registerBlock(test_charge, test_charge.getUnlocalizedName()); GameRegistry.registerBlock(test_conductor, test_conductor.getUnlocalizedName()); + GameRegistry.registerBlock(test_pipe, test_pipe.getUnlocalizedName()); GameRegistry.registerBlock(test_ct, test_ct.getUnlocalizedName()); GameRegistry.registerBlock(test_rail, test_rail.getUnlocalizedName()); GameRegistry.registerBlock(test_bb_bork, test_bb_bork.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/test/TestBB.java b/src/main/java/com/hbm/blocks/test/TestBB.java index 20d2bfa5c..573cc0804 100644 --- a/src/main/java/com/hbm/blocks/test/TestBB.java +++ b/src/main/java/com/hbm/blocks/test/TestBB.java @@ -1,7 +1,5 @@ package com.hbm.blocks.test; -import com.hbm.blocks.ModBlocks; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -9,10 +7,5 @@ public class TestBB extends Block { public TestBB(Material mat) { super(mat); - - if(this == ModBlocks.test_bb_bork) - this.setBlockBounds(-1000F, -1000F, -1000F, 1001F, 1001F, 1001F); - else - this.setBlockBounds(Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY); } } diff --git a/src/main/java/com/hbm/blocks/test/TestPipe.java b/src/main/java/com/hbm/blocks/test/TestPipe.java new file mode 100644 index 000000000..7b5563a9c --- /dev/null +++ b/src/main/java/com/hbm/blocks/test/TestPipe.java @@ -0,0 +1,38 @@ +package com.hbm.blocks.test; + +import com.hbm.tileentity.network.TileEntityPipeBaseNT; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class TestPipe extends BlockContainer { + + public TestPipe(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityPipeBaseNT(); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } +} diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 7354eeae9..c3cb37de1 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -441,7 +441,6 @@ public class EntityEffectHandler { ItemStack armorStack = player.inventory.armorInventory[armorSlot]; if(armorStack != null && armorStack.getItem() instanceof ItemArmor) { - ItemArmor armor = (ItemArmor)armorStack.getItem(); for(int modSlot = 0; modSlot < 8; modSlot++) { ItemStack mod = ArmorModHandler.pryMods(armorStack)[modSlot]; @@ -472,10 +471,18 @@ public class EntityEffectHandler { if(props.getDashCooldown() <= 0) { if(!player.capabilities.isFlying && player.isSneaking() && stamina >= perDash) { - - Vec3 lookingIn = player.getLookVec(); - player.addVelocity(lookingIn.xCoord, 0, lookingIn.zCoord); + Vec3 lookingIn = player.getLookVec(); + Vec3 strafeVec = player.getLookVec(); + strafeVec.rotateAroundY((float)Math.PI * 0.5F); + + int forward = (int) Math.signum(player.moveForward); + int strafe = (int) Math.signum(player.moveStrafing); + + if(forward == 0 && strafe == 0) + forward = 1; + + player.addVelocity(lookingIn.xCoord * forward + strafeVec.xCoord * strafe, 0, lookingIn.zCoord * forward + strafeVec.zCoord * strafe); player.playSound("hbm:player.dash", 1.0F, 1.0F); props.setDashCooldown(HbmPlayerProps.dashCooldownLength); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 54d82a424..26e7c2c1b 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -5,7 +5,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorProjectileDispense; import net.minecraft.dispenser.IPosition; import net.minecraft.entity.IProjectile; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; @@ -72,7 +71,6 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.ArmorUtil; -import com.hbm.world.feature.OreLayer; import com.hbm.world.feature.SchistStratum; import com.hbm.world.generator.CellularDungeonFactory; diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 10d4ea820..4673e984f 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -62,6 +62,7 @@ import com.hbm.util.EntityDamageUtil; import com.hbm.world.WorldProviderNTM; import com.hbm.world.generator.TimedGenerator; +import api.hbm.energy.IEnergyConductor; import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -1160,6 +1161,17 @@ public class ModEventHandler { } /// PU RADIATION END /// + + if(player instanceof EntityPlayerMP) { + + int x = (int) Math.floor(player.posX); + int y = (int) Math.floor(player.posY - 0.01); + int z = (int) Math.floor(player.posZ); + + if(player.worldObj.getTileEntity(x, y, z) instanceof IEnergyConductor) { + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(((IEnergyConductor) player.worldObj.getTileEntity(x, y, z)).getPowerNet() + ""), (EntityPlayerMP) player); + } + } /// NEW ITEM SYS START /// HazardSystem.updatePlayerInventory(player); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 4114ab191..bd4d894f2 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -59,6 +59,7 @@ import com.hbm.util.ArmorUtil; import com.hbm.util.ArmorRegistry.HazardClass; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; +import api.hbm.energy.IEnergyConductor; import api.hbm.item.IButtonReceiver; import api.hbm.item.IClickReceiver; @@ -245,13 +246,16 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_TEXTURE_2D); - } + } + + } + if(!event.isCanceled() && event.type == event.type.HOTBAR) { + HbmPlayerProps props = HbmPlayerProps.getData(player); if(props.getDashCount() > 0) { RenderScreenOverlay.renderDashBar(event.resolution, Minecraft.getMinecraft().ingameGUI, props); } - } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java index ccd1a6d5c..e7a56664b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java @@ -291,7 +291,7 @@ public class TileEntityMachineMiningDrill extends TileEntityMachineBase implemen Block b = worldObj.getBlock(x, y, z); float hardness = b.getBlockHardness(worldObj, x, y, z); - return hardness < 70 && hardness >= 0; + return (hardness < 70 && hardness >= 0) || b instanceof IDrillInteraction; } /** diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java index a1095eaa9..63216f451 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java @@ -56,7 +56,8 @@ public class TileEntityCableBaseNT extends TileEntity implements IEnergyConducto if(!worldObj.isRemote) { if(this.network != null) { - this.network.destroy(); + this.network.reevaluate(); + this.network = null; } } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java index b9e16c84d..e8a80f871 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java @@ -14,7 +14,7 @@ public class TileEntityCableSwitch extends TileEntityCableBaseNT { //if the meta is 0 (OFF) and there is a net present, destroy and de-reference it. //that should be all, since the state being 0 also prevents the TE from updating and joining the new net. if(this.getBlockMetadata() == 0 && this.network != null) { - this.network.destroy(); + this.network.reevaluate(); this.network = null; } @@ -26,4 +26,8 @@ public class TileEntityCableSwitch extends TileEntityCableBaseNT { } } } + + public boolean canReevaluate() { + return super.canReevaluate() && this.getBlockMetadata() == 1; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java new file mode 100644 index 000000000..c55922b77 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -0,0 +1,96 @@ +package com.hbm.tileentity.network; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; + +import api.hbm.fluid.IFluidConductor; +import api.hbm.fluid.IPipeNet; +import api.hbm.fluid.PipeNet; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor { + + private IPipeNet network; + protected FluidType type = Fluids.NONE; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote && canUpdate()) { + + //we got here either because the net doesn't exist or because it's not valid, so that's safe to assume + this.setPipeNet(type, null); + + this.connect(); + + if(this.getPipeNet(type) == null) { + this.setPipeNet(type, new PipeNet(type).joinLink(this)); + } + } + } + + protected void connect() { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + + if(te instanceof IFluidConductor) { + + IFluidConductor conductor = (IFluidConductor) te; + + if(!conductor.canConnect(type, dir.getOpposite())) + continue; + + if(this.getPipeNet(type) == null && conductor.getPipeNet(type) != null) { + conductor.getPipeNet(type).joinLink(this); + } + + if(this.getPipeNet(type) != null && conductor.getPipeNet(type) != null && this.getPipeNet(type) != conductor.getPipeNet(type)) { + conductor.getPipeNet(type).joinNetworks(this.getPipeNet(type)); + } + } + } + } + + @Override + public void invalidate() { + super.invalidate(); + + if(!worldObj.isRemote) { + if(this.network != null) { + this.network.destroy(); + } + } + } + + /** + * Only update until a power net is formed, in >99% of the cases it should be the first tick. Everything else is handled by neighbors and the net itself. + */ + @Override + public boolean canUpdate() { + return (this.network == null || !this.network.isValid()) && !this.isInvalid(); + } + + @Override + public int transferFluid(FluidType type, int fluid) { + // TODO Auto-generated method stub + return 0; + } + + @Override + public int getDemand(FluidType type) { + return 0; + } + + @Override + public IPipeNet getPipeNet(FluidType type) { + return type == this.type ? this.network : null; + } + + @Override + public void setPipeNet(FluidType type, IPipeNet network) { + this.network = network; + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java index 6a63f4003..3dde2245e 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java @@ -1,7 +1,8 @@ package com.hbm.tileentity.network; -import api.hbm.energy.IEnergyConductor; -import net.minecraft.tileentity.TileEntity; +import java.util.ArrayList; +import java.util.List; + import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -23,31 +24,12 @@ public class TileEntityPylon extends TileEntityPylonBase { } @Override - protected void connect() { - - /* - * Apparently super.super does not exist, and the mentally damaged folk from heckoverflow pretend like that's a good thing. - * Look at this shit, you think that's good? "Write Everything Twice"? You like that, huh? - */ + public List getConnectionPoints() { + List pos = new ArrayList(connected); for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - if(te instanceof IEnergyConductor) { - - IEnergyConductor conductor = (IEnergyConductor) te; - - if(this.getPowerNet() == null && conductor.getPowerNet() != null) { - conductor.getPowerNet().joinLink(this); - } - - if(this.getPowerNet() != null && conductor.getPowerNet() != null && this.getPowerNet() != conductor.getPowerNet()) { - conductor.getPowerNet().joinNetworks(this.getPowerNet()); - } - } + pos.add(new int[] {xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ}); } - - super.connect(); + return pos; } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index bee551249..c55fe51d7 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -46,8 +46,8 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { connected.add(new int[] {x, y, z}); if(this.getPowerNet() != null) { - this.getPowerNet().destroy(); - this.setPowerNet(null); + this.getPowerNet().reevaluate(); + this.network = null; } this.markDirty(); @@ -92,7 +92,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { @Override protected void connect() { - for(int[] pos : connected) { + for(int[] pos : getConnectionPoints()) { TileEntity te = worldObj.getTileEntity(pos[0], pos[1], pos[2]); @@ -111,6 +111,11 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { } } + @Override + public List getConnectionPoints() { + return new ArrayList(connected); + } + public abstract ConnectionType getConnectionType(); public abstract Vec3[] getMountPos(); public abstract double getMaxWireLength(); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java b/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java index b40a7179e..bcb29c5e0 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java @@ -1,9 +1,10 @@ package com.hbm.tileentity.network; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.BlockDummyable; -import api.hbm.energy.IEnergyConductor; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; public class TileEntitySubstation extends TileEntityPylonBase { @@ -45,33 +46,16 @@ public class TileEntitySubstation extends TileEntityPylonBase { } @Override - protected void connect() { - - manageNets(worldObj.getTileEntity(xCoord + 2, yCoord, zCoord - 1)); - manageNets(worldObj.getTileEntity(xCoord + 2, yCoord, zCoord + 1)); - manageNets(worldObj.getTileEntity(xCoord - 2, yCoord, zCoord - 1)); - manageNets(worldObj.getTileEntity(xCoord - 2, yCoord, zCoord + 1)); - manageNets(worldObj.getTileEntity(xCoord - 1, yCoord, zCoord + 2)); - manageNets(worldObj.getTileEntity(xCoord + 1, yCoord, zCoord + 2)); - manageNets(worldObj.getTileEntity(xCoord - 1, yCoord, zCoord - 2)); - manageNets(worldObj.getTileEntity(xCoord + 1, yCoord, zCoord - 2)); - - super.connect(); - } - - private void manageNets(TileEntity te) { - - if(te instanceof IEnergyConductor) { - - IEnergyConductor conductor = (IEnergyConductor) te; - - if(this.getPowerNet() == null && conductor.getPowerNet() != null) { - conductor.getPowerNet().joinLink(this); - } - - if(this.getPowerNet() != null && conductor.getPowerNet() != null && this.getPowerNet() != conductor.getPowerNet()) { - conductor.getPowerNet().joinNetworks(this.getPowerNet()); - } - } + public List getConnectionPoints() { + List pos = new ArrayList(connected); + pos.add(new int[] {xCoord + 2, yCoord, zCoord - 1}); + pos.add(new int[] {xCoord + 2, yCoord, zCoord + 1}); + pos.add(new int[] {xCoord - 2, yCoord, zCoord - 1}); + pos.add(new int[] {xCoord - 2, yCoord, zCoord + 1}); + pos.add(new int[] {xCoord - 1, yCoord, zCoord + 2}); + pos.add(new int[] {xCoord + 1, yCoord, zCoord + 2}); + pos.add(new int[] {xCoord - 1, yCoord, zCoord - 2}); + pos.add(new int[] {xCoord + 1, yCoord, zCoord - 2}); + return pos; } } diff --git a/src/main/resources/assets/hbm/models/armor/bismuth.obj b/src/main/resources/assets/hbm/models/armor/bismuth.obj index d07f664f0..f81faca67 100644 --- a/src/main/resources/assets/hbm/models/armor/bismuth.obj +++ b/src/main/resources/assets/hbm/models/armor/bismuth.obj @@ -1,218 +1,408 @@ -# Blender v2.79 (sub 0) OBJ File: 'bismuth_armor.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org -mtllib bismuth.mtl -o RightFoot -v -4.141729 24.067028 2.136320 -v 0.124961 24.067026 2.136320 -v -4.141729 24.067028 -2.130370 -v -4.141729 22.765120 -2.130370 -v 0.124961 24.067026 -2.130370 -v 0.124961 22.765116 -2.130370 -v -2.008385 21.575682 -3.487657 -v -2.008384 24.067026 -3.487657 -vt 0.144578 0.823529 -vt 0.180723 0.941176 -vt 0.144578 0.941176 -vt 0.048193 0.941176 -vt 0.144578 0.941176 -vt 0.096386 0.970588 -vt 0.048193 0.941176 -vt 0.012048 0.941176 -vt 0.048193 0.823529 -vt 0.144578 1.000000 -vt 0.048193 1.000000 -vt 0.000000 1.000000 -vt 0.096386 0.970588 -vt 0.192771 1.000000 -vn 1.0000 -0.0000 0.0000 -vn -0.0000 -0.7521 0.6591 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.5368 -0.0000 -0.8437 -vn -0.5368 0.0000 -0.8437 -usemtl None -s off -f 2/1/1 6/2/1 5/3/1 -f 6/4/2 4/5/2 7/6/2 -f 3/7/3 4/8/3 1/9/3 -f 5/3/4 1/9/4 2/1/4 -f 6/2/5 8/10/5 5/3/5 -f 4/8/6 8/11/6 7/12/6 -f 3/7/4 5/3/4 8/13/4 -f 5/3/4 3/7/4 1/9/4 -f 6/2/5 7/14/5 8/10/5 -f 4/8/6 3/7/6 8/11/6 -o RightArm -v -3.868196 -1.385486 2.089541 -v -3.868194 2.482796 2.089541 -v -6.727931 -1.385484 2.089541 -v -6.727929 2.482797 2.089541 -v -3.868196 -1.385486 -2.083592 -v -3.868194 2.482796 -2.083592 -v -6.727931 -1.385484 -2.083592 -v -6.727929 2.482797 -2.083592 -v -5.583236 4.039337 2.089541 -v -8.419424 4.039339 2.089541 -v -8.419426 0.171058 2.089541 -v -8.419426 0.171058 -2.083591 -v -8.419424 4.039339 -2.083591 -v -5.583236 4.039337 -2.083592 -v -5.721349 -2.606914 1.081455 -v -4.874778 -2.606915 1.081455 -v -4.874778 -2.606915 -1.075505 -v -5.721349 -2.606914 -1.075505 -v -9.559078 0.957293 1.081455 -v -9.559078 0.957293 -1.075505 -v -9.559076 3.253101 -1.075505 -v -9.559076 3.253101 1.081455 -v -8.000977 -1.823888 -1.075505 -v -8.631191 -1.243954 -1.075505 -v -8.631191 -1.243954 1.081455 -v -8.000977 -1.823888 1.081455 -v -4.496462 -2.606915 1.567900 -v -6.099665 -2.606914 1.567900 -v -4.496462 -2.606915 -1.561950 -v -6.099665 -2.606914 -1.561950 -v -9.559078 0.439535 -1.561950 -v -9.559078 0.439535 1.567900 -v -9.559076 3.770859 -1.561950 -v -9.559076 3.770859 1.567900 -v -8.950394 -0.950218 -1.561950 -v -7.681774 -2.117624 -1.561950 -v -8.950394 -0.950218 1.567900 -v -7.681774 -2.117624 1.567900 -v -5.721350 -4.274494 1.081455 -v -4.874779 -4.274494 1.081455 -v -4.874779 -4.274494 -1.075505 -v -5.721350 -4.274494 -1.075505 -v -11.115009 0.957294 1.081455 -v -11.115009 0.957294 -1.075505 -v -11.115007 3.253102 -1.075505 -v -11.115007 3.253102 1.081455 -v -9.014559 -3.089092 -1.075505 -v -9.644773 -2.509160 -1.075505 -v -9.644773 -2.509159 1.081455 -v -9.014559 -3.089093 1.081455 -v -6.110137 7.776291 1.993027 -v -6.110137 7.592242 2.319573 -v -6.110137 7.399228 1.993027 -v -5.221390 7.408160 1.993027 -v -5.351533 7.278018 2.319573 -v -5.488015 7.141536 1.993027 -v -4.853261 6.519414 1.993027 -v -5.037309 6.519414 2.319573 -v -5.230323 6.519414 1.993027 -v -5.221392 5.630669 1.993027 -v -5.351534 5.760811 2.319573 -v -5.488016 5.897292 1.993027 -v -6.110137 5.262538 1.993027 -v -6.110137 5.446588 2.319573 -v -6.110137 5.639601 1.993027 -v -6.998883 5.630669 1.993027 -v -6.868741 5.760811 2.319573 -v -6.732259 5.897293 1.993027 -v -7.367013 6.519414 1.993027 -v -7.182964 6.519414 2.319573 -v -6.989950 6.519414 1.993027 -v -6.998883 7.408160 1.993027 -v -6.868741 7.278018 2.319573 -v -6.732259 7.141537 1.993027 -v -8.033747 6.630578 -2.020720 -v -8.033749 6.394355 -2.020720 -v -3.986356 6.630577 -2.020720 -v -3.986357 6.394354 -2.020720 -v -8.033747 6.917206 2.026670 -v -8.033749 6.107728 2.026670 -v -3.986357 6.917205 2.026670 -v -3.986358 6.107727 2.026670 -v -7.099485 6.917206 2.026670 -v -5.142802 6.107728 2.026670 -v -7.099486 6.107728 2.026670 -v -5.142801 6.917206 2.026670 -vt 0.058610 0.440457 +o Body +v -0.010055 8.739575 -1.996005 +v 0.755152 6.975003 -1.996005 +v -0.010056 6.975003 -2.761213 +v -0.775265 6.975004 -1.996004 +v -0.010057 5.273831 -1.996004 +v 2.354269 3.663156 -2.018208 +v 1.989216 4.604462 -2.018208 +v 2.600215 4.054568 -2.018208 +v -4.533662 -0.309302 -2.018208 +v -4.982747 -0.020212 -2.018208 +v -4.488976 -0.014130 -2.018208 +v 4.770588 -0.229360 -2.018208 +v 5.125850 0.166797 -2.018208 +v 5.277726 -0.258708 -2.018208 +v -2.749345 3.180070 -2.018208 +v -2.520314 4.106030 -2.018208 +v -2.266752 3.709597 -2.018208 +v 1.222840 4.547728 -2.018208 +v 1.802872 4.159407 -2.018208 +v 4.633528 0.154637 -2.018208 +v 4.882992 0.713097 -2.018208 +v -3.186286 2.606869 -2.018208 +v -3.055072 3.519263 -2.018208 +v 0.621810 4.797125 -2.018208 +v 1.346485 5.034757 -2.018208 +v 4.414360 0.647646 -2.018208 +v 4.557615 1.345852 -2.018208 +v -3.571939 2.015710 -2.018208 +v -3.539243 2.884101 -2.018208 +v 0.007423 4.876606 -2.018208 +v 0.680488 5.311113 -2.018208 +v 4.120724 1.218675 -2.018208 +v 4.158184 2.030718 -2.018208 +v -3.900671 1.432314 -2.018208 +v -3.966585 2.229043 -2.018208 +v -0.674968 5.290979 -2.018208 +v -0.000312 5.399186 -2.018208 +v 3.760257 1.836732 -2.018208 +v 3.693165 2.733354 -2.018209 +v -4.166844 0.882396 -2.018208 +v -4.330851 1.582583 -2.018208 +v -0.601421 4.778955 -2.018208 +v -1.324017 5.020385 -2.018208 +v 3.340600 2.470827 -2.018208 +v 3.171020 3.419418 -2.018208 +v -4.364824 0.391676 -2.018208 +v -4.625796 0.973223 -2.018208 +v -1.744144 4.169732 -2.018208 +v -1.187155 4.534758 -2.018208 +v 2.869391 3.089965 -2.018208 +v -4.845176 0.429459 -2.018208 +v 4.817903 -0.473352 -2.018208 +v 5.330154 -0.529075 -2.018208 +v -1.941214 4.615903 -2.018208 +v -5.032264 -0.347291 -2.018208 +v -0.010054 11.098518 2.124614 +v 4.198537 14.357351 2.124615 +v -0.010052 14.471598 2.124615 +v 4.198535 11.132282 2.124614 +v 4.198536 12.932452 -2.118665 +v -0.010054 11.832909 -2.118665 +v -4.218642 12.932457 -2.118665 +v -0.010053 13.633080 -2.118665 +v -4.218643 11.132286 2.124614 +v -4.218641 14.357357 2.124615 +v 4.198535 11.132282 -2.118665 +v -4.218643 11.132286 -2.118664 +v -2.084779 16.857933 -2.060404 +v 1.337637 12.947863 -2.060404 +v -1.357744 12.947865 -2.060404 +v 2.064677 16.857931 -2.060404 +vt 0.144578 0.617647 +vt 0.096386 0.558824 +vt 0.144578 0.529412 +vt 0.192771 0.558824 +vt 0.192771 0.558824 +vt 0.144578 0.617647 +vt 0.096386 0.558824 +vt 0.325301 0.617647 +vt 0.303449 0.588235 +vt 0.325301 0.588235 +vt 0.626506 0.588235 +vt 0.590361 0.617647 +vt 0.590361 0.588235 +vt 0.590361 0.617647 +vt 0.554217 0.588235 +vt 0.590361 0.588235 +vt 0.373494 0.588235 +vt 0.337349 0.617647 +vt 0.337349 0.588235 +vt 0.265680 0.617647 +vt 0.303449 0.617647 +vt 0.554217 0.617647 +vt 0.518072 0.588235 +vt 0.409639 0.588235 +vt 0.373494 0.617647 +vt 0.228916 0.617647 +vt 0.265680 0.588235 +vt 0.518072 0.617647 +vt 0.481928 0.588235 +vt 0.445783 0.588235 +vt 0.409639 0.617647 +vt 0.192771 0.617647 +vt 0.228916 0.588235 +vt 0.481928 0.617647 +vt 0.445783 0.588235 +vt 0.481928 0.588235 +vt 0.445783 0.617647 +vt 0.192771 0.588235 +vt 0.228916 0.617647 +vt 0.192771 0.617647 +vt 0.445783 0.617647 +vt 0.409639 0.588235 +vt 0.518072 0.588235 +vt 0.481928 0.617647 +vt 0.228916 0.588235 +vt 0.265060 0.617647 +vt 0.409639 0.617647 +vt 0.373494 0.588235 +vt 0.554217 0.588235 +vt 0.518072 0.617647 +vt 0.301205 0.588235 +vt 0.265060 0.588235 +vt 0.373494 0.617647 +vt 0.554217 0.617647 +vt 0.626506 0.617647 +vt 0.626506 0.588235 +vt 0.301205 0.617647 +vt 0.626506 0.617647 +vt 0.192771 0.588235 +vt 0.289157 0.735294 +vt 0.192771 0.632353 +vt 0.289157 0.632353 +vt 0.192771 0.735294 +vt 0.096386 0.676471 +vt 0.578313 0.735294 +vt 0.481928 0.676471 +vt 0.578313 0.676471 +vt 0.385542 0.735294 +vt 0.385542 0.632353 +vt 0.000000 0.735294 +vt 0.000000 0.676471 +vt 0.096386 0.735294 +vt 0.481928 0.735294 vt 0.000000 0.441176 +vt 0.080123 0.556041 +vt 0.016262 0.556041 +vt 0.096386 0.441176 +vn 0.6760 0.2932 -0.6760 +vn -0.6760 0.2932 -0.6760 +vn 0.6738 -0.3031 -0.6738 +vn -0.6738 -0.3031 -0.6738 +vn 0.0000 0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.6152 -0.0000 0.7884 +vn 0.7053 -0.0000 0.7089 +vn 0.7374 -0.0000 -0.6755 +vn -0.7374 0.0000 -0.6755 +vn -0.7053 0.0000 0.7089 +vn -0.6152 0.0000 0.7884 +vn 0.7452 -0.0000 -0.6669 +vn -0.7452 0.0000 -0.6669 +s off +f 1/1/1 2/2/1 3/3/1 +f 1/1/2 3/3/2 4/4/2 +f 3/3/3 2/5/3 5/6/3 +f 4/7/4 3/3/4 5/6/4 +f 6/8/5 7/9/5 8/10/5 +f 9/11/5 10/12/5 11/13/5 +f 12/14/5 13/15/5 14/16/5 +f 15/17/5 16/18/5 17/19/5 +f 18/20/5 7/9/5 19/21/5 +f 20/22/5 21/23/5 13/15/5 +f 22/24/5 23/25/5 15/17/5 +f 24/26/5 25/27/5 18/20/5 +f 26/28/5 27/29/5 21/23/5 +f 28/30/5 29/31/5 22/24/5 +f 30/32/5 31/33/5 24/26/5 +f 32/34/5 33/35/5 27/29/5 +f 34/36/5 35/37/5 28/30/5 +f 30/38/5 36/39/5 37/40/5 +f 38/41/5 39/42/5 33/35/5 +f 40/43/5 41/44/5 34/36/5 +f 42/45/5 43/46/5 36/39/5 +f 44/47/5 45/48/5 39/42/5 +f 46/49/5 47/50/5 40/43/5 +f 48/51/5 43/46/5 49/52/5 +f 50/53/5 8/10/5 45/48/5 +f 11/13/5 51/54/5 46/49/5 +f 52/55/5 14/16/5 53/56/5 +f 17/19/5 54/57/5 48/51/5 +f 6/8/5 19/21/5 7/9/5 +f 9/11/5 55/58/5 10/12/5 +f 12/14/5 20/22/5 13/15/5 +f 15/17/5 23/25/5 16/18/5 +f 18/20/5 25/27/5 7/9/5 +f 20/22/5 26/28/5 21/23/5 +f 22/24/5 29/31/5 23/25/5 +f 24/26/5 31/33/5 25/27/5 +f 26/28/5 32/34/5 27/29/5 +f 28/30/5 35/37/5 29/31/5 +f 30/32/5 37/59/5 31/33/5 +f 32/34/5 38/41/5 33/35/5 +f 34/36/5 41/44/5 35/37/5 +f 30/38/5 42/45/5 36/39/5 +f 38/41/5 44/47/5 39/42/5 +f 40/43/5 47/50/5 41/44/5 +f 42/45/5 49/52/5 43/46/5 +f 44/47/5 50/53/5 45/48/5 +f 46/49/5 51/54/5 47/50/5 +f 48/51/5 54/57/5 43/46/5 +f 50/53/5 6/8/5 8/10/5 +f 11/13/5 10/12/5 51/54/5 +f 52/55/5 12/14/5 14/16/5 +f 17/19/5 16/18/5 54/57/5 +s 1 +f 56/60/6 57/61/7 58/62/6 +f 59/63/8 60/64/9 57/61/7 +f 61/65/5 62/66/10 63/67/5 +f 62/66/10 64/68/11 65/69/12 +f 60/64/9 61/70/5 63/71/5 +f 65/69/12 56/60/6 58/62/6 +f 56/60/6 59/63/8 57/61/7 +f 59/63/8 66/72/13 60/64/9 +f 61/65/5 67/73/14 62/66/10 +f 62/66/10 67/73/14 64/68/11 +f 60/64/9 66/72/13 61/70/5 +f 65/69/12 64/68/11 56/60/6 +s off +f 68/74/5 69/75/5 70/76/5 +f 68/74/5 71/77/5 69/75/5 +o LeftArm +v 6.707815 -1.385498 2.089541 +v 3.848082 2.482785 2.089541 +v 3.848080 -1.385496 2.089541 +v 3.848080 -1.385496 -2.083592 +v 6.707817 2.482783 -2.083592 +v 6.707815 -1.385498 -2.083592 +v 6.707817 2.482783 2.089541 +v 5.563126 4.039324 2.089541 +v 8.399311 0.171042 2.089541 +v 5.563126 4.039324 -2.083592 +v 3.848082 2.482785 -2.083592 +v 8.399311 0.171042 -2.083592 +v 4.854660 -4.274506 1.081455 +v 5.701231 -4.274506 -1.075505 +v 5.701231 -4.274506 1.081455 +v 5.701231 -2.606927 1.081455 +v 4.854661 -2.606926 1.081455 +v 4.854660 -4.274506 -1.075505 +v 4.854661 -2.606926 -1.075505 +v 5.701231 -2.606927 -1.075505 +v 11.094896 0.957275 -1.075506 +v 11.094898 3.253083 1.081455 +v 11.094896 0.957275 1.081455 +v 9.538965 0.957276 1.081455 +v 9.538965 0.957276 -1.075506 +v 11.094898 3.253083 -1.075506 +v 9.538967 3.253084 -1.075506 +v 9.538967 3.253084 1.081455 +v 9.624655 -2.509177 -1.075506 +v 8.994442 -3.089109 1.081455 +v 8.994442 -3.089109 -1.075506 +v 8.611074 -1.243971 -1.075506 +v 7.980860 -1.823903 -1.075506 +v 9.624655 -2.509176 1.081455 +v 8.611074 -1.243970 1.081455 +v 7.980860 -1.823903 1.081455 +v 8.399313 4.039323 2.089541 +v 8.399313 4.039323 -2.083592 +v 4.476345 -2.606926 1.567900 +v 4.476345 -2.606926 -1.561950 +v 6.079547 -2.606927 -1.561950 +v 6.079547 -2.606927 1.567900 +v 9.538965 0.439518 -1.561950 +v 9.538967 3.770842 -1.561950 +v 9.538967 3.770842 1.567899 +v 7.661656 -2.117639 -1.561950 +v 8.930279 -0.950234 1.567900 +v 7.661656 -2.117639 1.567900 +v 9.538965 0.439518 1.567899 +v 8.930279 -0.950234 -1.561950 +v 5.889863 7.776278 1.993027 +v 6.648466 7.278004 2.319573 +v 6.778609 7.408146 1.993027 +v 5.889863 7.592228 2.319573 +v 6.511984 7.141523 1.993027 +v 6.962690 6.519400 2.319573 +v 7.146739 6.519400 1.993027 +v 6.769676 6.519400 1.993027 +v 6.778607 5.630654 1.993027 +v 6.648465 5.760797 2.319573 +v 5.889862 5.262525 1.993027 +v 6.511983 5.897279 1.993027 +v 5.889862 5.446574 2.319573 +v 5.131258 5.760798 2.319573 +v 5.001116 5.630656 1.993027 +v 5.267740 5.897280 1.993027 +v 4.817035 6.519403 2.319573 +v 4.632987 6.519403 1.993027 +v 5.010049 6.519402 1.993027 +v 5.001116 7.408147 1.993027 +v 5.131258 7.278005 2.319573 +v 5.267740 7.141523 1.993027 +v 8.013643 6.630563 -2.020720 +v 3.966251 6.394344 -2.020720 +v 3.966252 6.630567 -2.020720 +v 8.013641 6.107713 2.026670 +v 8.013641 6.394340 -2.020720 +v 4.900514 6.917193 2.026670 +v 3.966251 6.107717 2.026670 +v 4.900513 6.107715 2.026670 +v 3.966252 6.917194 2.026670 +v 8.013641 6.917191 2.026670 +v 6.857197 6.107714 2.026670 +v 5.889863 7.399215 1.993027 +v 5.889862 5.639588 1.993027 +v 6.857198 6.917192 2.026670 +vt 0.058610 0.440457 vt 0.000000 0.338235 vt 0.000000 0.441176 +vt 0.000000 0.441176 +vt 0.060241 0.335919 vt 0.058533 0.440018 -vt 0.060241 0.337540 -vt 0.060241 0.337540 +vt 0.060241 0.335919 vt 0.035980 0.295068 vt 0.096386 0.397059 vt 0.035955 0.295044 vt 0.000000 0.338235 vt 0.096386 0.397059 vt 0.132530 0.455882 -vt 0.132530 0.485294 vt 0.180723 0.485294 -vt 0.096386 0.455882 +vt 0.132530 0.485294 vt 0.096386 0.485294 +vt 0.096386 0.455882 vt 0.180723 0.455882 -vt 0.180723 0.411765 vt 0.132530 0.411765 -vt 0.216867 0.485294 +vt 0.180723 0.411765 vt 0.216867 0.455882 -vt 0.132530 0.529412 +vt 0.216867 0.485294 vt 0.180723 0.529412 +vt 0.132530 0.529412 vt 0.180723 0.308824 -vt 0.132530 0.308824 vt 0.132530 0.367647 -vt 0.180723 0.264706 +vt 0.132530 0.308824 vt 0.132530 0.264706 +vt 0.180723 0.264706 vt 0.180723 0.367647 -vt 0.216867 0.367647 vt 0.216867 0.308824 -vt 0.132530 0.411765 +vt 0.216867 0.367647 vt 0.180723 0.411765 -vt 0.096386 0.308824 +vt 0.132530 0.411765 vt 0.096386 0.367647 +vt 0.096386 0.308824 vt 0.253012 0.455882 -vt 0.253012 0.485294 vt 0.301205 0.485294 +vt 0.253012 0.485294 vt 0.216867 0.455882 vt 0.216867 0.485294 vt 0.301205 0.455882 -vt 0.301205 0.411765 vt 0.253012 0.411765 +vt 0.301205 0.411765 vt 0.337349 0.485294 vt 0.337349 0.455882 -vt 0.253012 0.529412 vt 0.301205 0.529412 +vt 0.253012 0.529412 vt 0.096386 0.294118 vt 0.096386 0.294118 vt 0.084337 0.132353 -vt 0.108434 0.132353 vt 0.108434 0.088235 +vt 0.108434 0.132353 vt 0.024096 0.132353 -vt 0.024096 0.161765 vt 0.084337 0.161765 +vt 0.024096 0.161765 vt 0.024096 0.088235 -vt 0.000000 0.088235 vt 0.000000 0.132353 +vt 0.000000 0.088235 vt 0.084337 0.088235 -vt 0.084337 0.058824 vt 0.024096 0.058824 +vt 0.084337 0.058824 vt 0.084337 0.191176 -vt 0.084337 0.161765 vt 0.024096 0.161765 +vt 0.084337 0.161765 vt 0.084337 0.264706 -vt 0.108434 0.264706 vt 0.108434 0.191176 +vt 0.108434 0.264706 vt 0.024096 0.264706 -vt 0.024096 0.294118 vt 0.084337 0.294118 +vt 0.024096 0.294118 vt -0.000000 0.191176 vt 0.000000 0.264706 vt 0.000000 0.088235 -vt 0.000000 0.132353 vt 0.024096 0.132353 +vt 0.000000 0.132353 vt 0.084337 0.088235 -vt 0.084337 0.058824 vt 0.024096 0.058824 +vt 0.084337 0.058824 vt 0.084337 0.132353 -vt 0.108434 0.132353 vt 0.108434 0.088235 -vt 0.024096 0.161765 +vt 0.108434 0.132353 vt 0.084337 0.161765 +vt 0.024096 0.161765 vt 0.072289 0.102941 vt 0.072289 0.117647 vt 0.036145 0.117647 @@ -223,297 +413,296 @@ vt 0.072289 0.250000 vt 0.036145 0.250000 vt 0.024096 0.191176 vt 0.036145 0.117647 -vt 0.036145 0.102941 vt 0.024096 0.088235 +vt 0.036145 0.102941 vt 0.072289 0.102941 vt 0.072289 0.117647 vt 0.192771 0.794118 -vt 0.192771 0.764706 vt 0.144578 0.764706 -vt 0.180723 0.735294 -vt 0.156627 0.735294 vt 0.144578 0.794118 +vt 0.192771 0.764706 +vt 0.156627 0.735294 vt 0.096386 0.764706 -vt 0.132530 0.735294 +vt 0.096386 0.794118 vt 0.108434 0.735294 vt 0.048193 0.794118 -vt 0.096386 0.794118 -vt 0.048193 0.764706 vt 0.084337 0.735294 +vt 0.048193 0.764706 vt 0.000000 0.794118 -vt 0.000000 0.764706 vt 0.036145 0.735294 +vt 0.000000 0.764706 vt 0.385542 0.794118 -vt 0.385542 0.764706 vt 0.337349 0.764706 -vt 0.373494 0.735294 -vt 0.349398 0.735294 vt 0.337349 0.794118 +vt 0.385542 0.764706 +vt 0.349398 0.735294 vt 0.289157 0.764706 -vt 0.325301 0.735294 +vt 0.289157 0.794118 vt 0.301205 0.735294 vt 0.240964 0.794118 -vt 0.289157 0.794118 -vt 0.240964 0.764706 vt 0.277108 0.735294 +vt 0.240964 0.764706 vt 0.228916 0.735294 +vt 0.120482 0.823529 vt 0.072289 0.794118 vt 0.072289 0.823529 -vt 0.120482 0.823529 -vt 0.120482 0.794118 -vt 0.168675 0.823529 -vt 0.000000 0.794118 -vt 0.000000 0.823529 -vt 0.024096 0.823529 -vt 0.024096 0.794118 vt 0.168675 0.794118 -vt 0.192771 0.823529 +vt 0.120482 0.794118 +vt 0.000000 0.823529 +vt 0.024096 0.794118 +vt 0.000000 0.794118 +vt 0.024096 0.823529 +vt 0.168675 0.823529 +vt 0.192771 0.794118 +vt 0.180723 0.735294 +vt 0.132530 0.735294 vt 0.060241 0.735294 vt 0.012048 0.735294 +vt 0.373494 0.735294 +vt 0.325301 0.735294 vt 0.253012 0.735294 vt 0.204819 0.735294 -vt 0.192771 0.794118 -vn 0.0000 0.0000 1.0000 +vt 0.192771 0.823529 +vn -0.0000 0.0000 1.0000 vn 0.0000 0.0000 -1.0000 -vn -0.0000 -1.0000 0.0000 -vn 1.0000 -0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 vn 0.0000 1.0000 0.0000 -vn -0.6771 -0.7359 -0.0000 -vn -0.7804 0.6252 0.0000 -vn 0.7804 -0.6252 0.0000 -vn 0.4181 -0.7891 0.4500 -vn 0.3590 -0.3328 0.8720 -vn -0.1412 -0.4385 0.8876 -vn 0.4181 -0.7891 -0.4500 -vn 0.3590 -0.3328 -0.8720 -vn -0.4181 -0.7891 -0.4500 -vn -0.1412 -0.4385 -0.8876 +vn 0.6771 -0.7359 0.0000 +vn 0.7804 0.6252 -0.0000 +vn -0.7804 -0.6252 0.0000 vn -0.4181 -0.7891 0.4500 -vn -0.7388 -0.5169 -0.4324 -vn -0.4205 -0.1879 -0.8876 -vn -0.4205 -0.1879 0.8876 -vn -0.7388 0.5169 -0.4324 -vn -0.2648 0.3576 -0.8955 -vn -0.7388 0.5169 0.4324 -vn -0.2648 0.3576 0.8955 -vn -0.0911 -0.8948 -0.4370 -vn -0.8699 -0.2238 0.4395 -vn -0.0911 -0.8948 0.4370 -vn -0.3015 -0.9045 0.3015 +vn 0.1412 -0.4385 0.8876 +vn -0.3589 -0.3328 0.8720 +vn -0.4181 -0.7891 -0.4500 +vn -0.3590 -0.3328 -0.8720 +vn 0.4181 -0.7891 -0.4500 +vn 0.1412 -0.4385 -0.8876 +vn 0.4181 -0.7891 0.4500 +vn 0.7388 -0.5169 -0.4324 +vn 0.4205 -0.1879 0.8876 +vn 0.4205 -0.1879 -0.8876 +vn 0.7389 0.5169 -0.4324 +vn 0.2649 0.3576 -0.8955 +vn 0.7388 0.5169 0.4324 +vn 0.2648 0.3576 0.8955 +vn 0.0911 -0.8948 -0.4370 +vn 0.8699 -0.2238 0.4396 +vn 0.0911 -0.8948 0.4370 vn 0.3015 -0.9045 0.3015 -vn 0.3015 -0.9045 -0.3015 +vn -0.3015 -0.9045 0.3015 vn -0.3015 -0.9045 -0.3015 -vn -0.9045 -0.3015 0.3015 -vn -0.9045 -0.3015 -0.3015 -vn -0.9045 0.3015 -0.3015 -vn -0.9045 0.3015 0.3015 -vn -0.7388 -0.5169 0.4324 -vn -0.3828 -0.8668 -0.3193 -vn -0.8355 -0.4702 -0.2842 -vn -0.8699 -0.2238 -0.4395 -vn -0.8355 -0.4702 0.2842 -vn -0.3828 -0.8668 0.3193 +vn 0.3015 -0.9045 -0.3015 +vn 0.9045 -0.3015 0.3015 +vn 0.9045 -0.3015 -0.3015 +vn 0.9045 0.3015 -0.3015 +vn 0.9045 0.3015 0.3015 +vn 0.7388 -0.5169 0.4324 +vn 0.3828 -0.8669 -0.3193 +vn 0.8699 -0.2238 -0.4396 +vn 0.8355 -0.4702 -0.2842 +vn 0.8355 -0.4702 0.2842 +vn 0.3828 -0.8669 0.3193 vn 0.0000 0.8712 0.4910 -vn 0.0000 0.2171 0.9761 -vn 0.1535 0.1535 0.9761 -vn 0.0000 -0.8608 0.5088 -vn -0.6087 -0.6087 0.5088 +vn 0.1535 0.1535 0.9762 vn 0.6160 0.6160 0.4910 -vn 0.2171 0.0000 0.9761 -vn -0.8608 0.0000 0.5088 +vn -0.0000 0.2171 0.9762 +vn -0.6087 -0.6087 0.5088 +vn 0.2171 -0.0000 0.9762 +vn 0.8712 -0.0000 0.4910 +vn -0.8609 0.0000 0.5088 vn 0.6160 -0.6160 0.4910 -vn 0.8712 0.0000 0.4910 -vn 0.1535 -0.1535 0.9761 +vn 0.1535 -0.1535 0.9762 vn 0.0000 -0.8712 0.4910 -vn 0.0000 -0.2171 0.9761 vn -0.6087 0.6087 0.5088 -vn -0.1535 -0.1535 0.9761 -vn 0.0000 0.8608 0.5088 -vn 0.6087 0.6087 0.5088 +vn 0.0000 -0.2171 0.9762 +vn -0.1535 -0.1535 0.9762 vn -0.6160 -0.6160 0.4910 -vn -0.2171 0.0000 0.9761 -vn 0.8608 0.0000 0.5088 -vn -0.6160 0.6160 0.4910 +vn 0.6087 0.6087 0.5088 +vn -0.2171 -0.0000 0.9762 vn -0.8712 0.0000 0.4910 -vn -0.1535 0.1535 0.9761 +vn 0.8609 0.0000 0.5088 +vn -0.6160 0.6160 0.4910 +vn -0.1535 0.1535 0.9762 vn 0.6087 -0.6087 0.5088 +vn 0.7225 -0.0000 -0.6914 vn -0.7225 0.0000 -0.6914 -vn 0.7225 0.0000 -0.6914 -vn 0.6906 0.0000 0.7232 +vn 0.6906 -0.0000 0.7232 vn -0.6906 0.0000 0.7232 -usemtl None +vn -0.0000 -0.8609 0.5088 +vn 0.0000 0.8609 0.5088 s off -f 11/15/7 9/16/7 10/17/7 -f 13/18/8 15/19/8 16/20/8 -f 12/21/7 10/17/7 17/22/7 -f 19/23/7 11/15/7 12/21/7 -f 22/24/8 14/25/8 16/20/8 -f 16/20/8 15/19/8 20/26/8 -f 48/27/9 47/28/9 50/29/9 -f 48/27/7 24/30/7 23/31/7 -f 49/32/10 25/33/10 24/34/10 -f 50/29/8 26/35/8 25/36/8 -f 47/28/11 23/37/11 26/38/11 -f 52/39/11 51/40/11 54/41/11 -f 52/39/9 28/42/9 27/43/9 -f 53/44/8 29/45/8 28/46/8 -f 54/41/12 30/47/12 29/48/12 -f 51/40/7 27/49/7 30/50/7 -f 56/51/13 55/52/13 58/53/13 -f 32/54/8 31/55/8 55/52/8 -f 57/56/14 33/57/14 32/58/14 -f 34/59/7 33/60/7 57/56/7 -f 55/52/15 31/61/15 34/62/15 -f 11/15/7 10/17/7 12/21/7 -f 13/18/8 16/20/8 14/25/8 -f 12/21/7 17/22/7 18/63/7 -f 19/23/7 12/21/7 18/63/7 -f 22/24/8 16/20/8 21/64/8 -f 16/20/8 20/26/8 21/64/8 -f 48/27/9 50/29/9 49/32/9 -f 48/27/7 23/31/7 47/28/7 -f 49/32/10 24/34/10 48/27/10 -f 50/29/8 25/36/8 49/32/8 -f 47/28/11 26/38/11 50/29/11 -f 52/39/11 54/41/11 53/44/11 -f 52/39/9 27/43/9 51/40/9 -f 53/44/8 28/46/8 52/39/8 -f 54/41/12 29/48/12 53/44/12 -f 51/40/7 30/50/7 54/41/7 -f 56/51/13 58/53/13 57/56/13 -f 32/54/8 55/52/8 56/51/8 -f 57/56/14 32/58/14 56/51/14 -f 34/59/7 57/56/7 58/53/7 -f 55/52/15 34/62/15 58/53/15 +f 72/78/15 73/79/15 74/80/15 +f 75/81/16 76/82/16 77/83/16 +f 78/84/15 79/85/15 73/79/15 +f 80/86/15 78/84/15 72/78/15 +f 81/87/16 76/82/16 82/88/16 +f 76/82/16 83/89/16 77/83/16 +f 84/90/17 85/91/17 86/92/17 +f 84/90/15 87/93/15 88/94/15 +f 89/95/18 88/96/18 90/97/18 +f 85/91/16 90/98/16 91/99/16 +f 86/92/19 91/100/19 87/101/19 +f 92/102/19 93/103/19 94/104/19 +f 92/102/17 95/105/17 96/106/17 +f 97/107/16 96/108/16 98/109/16 +f 93/103/20 98/110/20 99/111/20 +f 94/104/15 99/112/15 95/113/15 +f 100/114/21 101/115/21 102/116/21 +f 103/117/16 102/116/16 104/118/16 +f 105/119/22 103/120/22 106/121/22 +f 107/122/15 105/119/15 106/123/15 +f 102/116/23 107/124/23 104/125/23 +f 72/78/15 78/84/15 73/79/15 +f 75/81/16 82/88/16 76/82/16 +f 78/84/15 108/126/15 79/85/15 +f 80/86/15 108/126/15 78/84/15 +f 81/87/16 109/127/16 76/82/16 +f 76/82/16 109/127/16 83/89/16 +f 84/90/17 89/95/17 85/91/17 +f 84/90/15 86/92/15 87/93/15 +f 89/95/18 84/90/18 88/96/18 +f 85/91/16 89/95/16 90/98/16 +f 86/92/19 85/91/19 91/100/19 +f 92/102/19 97/107/19 93/103/19 +f 92/102/17 94/104/17 95/105/17 +f 97/107/16 92/102/16 96/108/16 +f 93/103/20 97/107/20 98/110/20 +f 94/104/15 93/103/15 99/112/15 +f 100/114/21 105/119/21 101/115/21 +f 103/117/16 100/114/16 102/116/16 +f 105/119/22 100/114/22 103/120/22 +f 107/122/15 101/115/15 105/119/15 +f 102/116/23 101/115/23 107/124/23 s 1 -f 35/65/16 9/66/17 11/67/18 -f 37/68/19 13/69/20 9/70/17 -f 38/71/21 15/72/22 13/73/20 -f 36/74/23 11/75/18 15/76/22 -f 39/77/24 20/78/25 19/79/26 -f 41/80/27 21/81/28 20/82/25 -f 42/83/29 18/84/30 21/85/28 -f 19/86/26 18/87/30 42/83/29 -f 20/88/25 15/89/22 44/90/31 -f 45/91/32 19/92/26 20/93/25 -f 46/94/33 11/95/18 19/96/26 -f 44/90/31 15/97/22 11/98/18 -f 23/99/34 24/100/35 35/65/16 -f 24/100/35 25/101/36 37/68/19 -f 26/102/37 38/71/21 37/68/19 -f 26/102/37 23/99/34 36/74/23 -f 27/103/38 28/104/39 39/77/24 -f 28/104/39 29/105/40 41/80/27 -f 29/105/40 30/106/41 42/83/29 -f 30/106/41 27/103/38 40/107/42 -f 31/108/43 32/109/44 43/110/45 -f 32/109/44 33/111/46 45/91/32 -f 34/112/47 46/94/33 45/91/32 -f 31/108/43 44/90/31 46/94/33 -f 59/113/48 60/114/49 63/115/50 -f 60/114/49 61/116/51 64/117/52 -f 62/118/53 63/115/50 66/119/54 -f 63/115/50 64/120/52 67/121/55 -f 68/122/56 65/123/57 66/119/54 -f 69/124/58 66/119/54 67/125/55 -f 71/126/59 68/122/56 69/124/58 -f 72/127/60 69/124/58 70/128/61 -f 71/129/59 72/130/60 75/131/62 -f 72/130/60 73/132/63 76/133/64 -f 74/134/65 75/131/62 78/135/66 -f 75/131/62 76/136/64 79/137/67 -f 80/138/68 77/139/69 78/135/66 -f 81/140/70 78/135/66 79/141/67 -f 59/113/48 80/138/68 81/140/70 -f 60/114/49 81/140/70 82/142/71 -f 84/143/72 83/144/72 85/145/73 -f 86/146/73 85/145/73 89/147/74 -f 93/148/7 91/149/7 87/150/75 -f 88/151/75 87/150/75 83/144/72 -f 90/152/74 89/147/74 94/153/7 -f 35/65/16 11/67/18 36/74/23 -f 37/68/19 9/70/17 35/65/16 -f 38/71/21 13/73/20 37/68/19 -f 36/74/23 15/76/22 38/71/21 -f 39/77/24 19/79/26 40/107/42 -f 41/80/27 20/82/25 39/77/24 -f 42/83/29 21/85/28 41/80/27 -f 19/86/26 42/83/29 40/107/42 -f 20/88/25 44/90/31 43/110/45 -f 45/91/32 20/93/25 43/110/45 -f 46/94/33 19/96/26 45/91/32 -f 44/90/31 11/98/18 46/94/33 -f 23/99/34 35/65/16 36/74/23 -f 24/100/35 37/68/19 35/65/16 -f 26/102/37 37/68/19 25/101/36 -f 26/102/37 36/74/23 38/71/21 -f 27/103/38 39/77/24 40/107/42 -f 28/104/39 41/80/27 39/77/24 -f 29/105/40 42/83/29 41/80/27 -f 30/106/41 40/107/42 42/83/29 -f 31/108/43 43/110/45 44/90/31 -f 32/109/44 45/91/32 43/110/45 -f 34/112/47 45/91/32 33/111/46 -f 31/108/43 46/94/33 34/112/47 -f 59/113/48 63/115/50 62/118/53 -f 60/114/49 64/117/52 63/115/50 -f 62/118/53 66/119/54 65/123/57 -f 63/115/50 67/121/55 66/119/54 -f 68/122/56 66/119/54 69/124/58 -f 69/124/58 67/125/55 70/154/61 -f 71/126/59 69/124/58 72/127/60 -f 72/127/60 70/128/61 73/155/63 -f 71/129/59 75/131/62 74/134/65 -f 72/130/60 76/133/64 75/131/62 -f 74/134/65 78/135/66 77/139/69 -f 75/131/62 79/137/67 78/135/66 -f 80/138/68 78/135/66 81/140/70 -f 81/140/70 79/141/67 82/156/71 -f 59/113/48 81/140/70 60/114/49 -f 60/114/49 82/142/71 61/157/51 -f 84/143/72 85/145/73 86/146/73 -f 86/146/73 89/147/74 90/152/74 -f 93/148/7 87/150/75 88/151/75 -f 88/151/75 83/144/72 84/143/72 -f 90/152/74 94/153/7 92/158/7 -o RightLeg -v -2.110140 19.857271 -1.987077 -v -2.110140 19.673222 -2.313623 -v -2.110140 19.480209 -1.987077 -v -1.221394 19.489141 -1.987077 -v -1.351537 19.358999 -2.313623 -v -1.488018 19.222517 -1.987077 -v -0.853264 18.600395 -1.987077 -v -1.037313 18.600395 -2.313623 -v -1.230327 18.600395 -1.987077 -v -1.221395 17.711649 -1.987077 -v -1.351537 17.841791 -2.313623 -v -1.488018 17.978273 -1.987077 -v -2.110140 17.343519 -1.987077 -v -2.110140 17.527569 -2.313623 -v -2.110140 17.720581 -1.987077 -v -2.998886 17.711649 -1.987077 -v -2.868743 17.841791 -2.313623 -v -2.732262 17.978273 -1.987077 -v -3.367016 18.600395 -1.987077 -v -3.182967 18.600395 -2.313623 -v -2.989954 18.600395 -1.987077 -v -2.998886 19.489140 -1.987077 -v -2.868744 19.358997 -2.313623 -v -2.732262 19.222517 -1.987077 -v -4.033751 18.711559 2.026670 -v -4.033751 18.475336 2.026670 -v 0.013640 18.711559 2.026670 -v 0.013640 18.475336 2.026670 -v -4.033751 18.998186 -2.020720 -v -4.033751 18.188709 -2.020720 -v 0.013639 18.998186 -2.020720 -v 0.013639 18.188707 -2.020720 -v -3.099488 18.998186 -2.020720 -v -1.142804 18.188707 -2.020720 -v -3.099488 18.188709 -2.020720 -v -1.142804 18.998186 -2.020720 +f 110/128/24 72/129/25 74/130/26 +f 111/131/27 74/132/26 75/133/28 +f 112/134/29 75/135/28 77/136/30 +f 113/137/31 77/138/30 72/139/25 +f 114/140/32 80/141/33 83/142/34 +f 115/143/35 83/144/34 109/145/36 +f 116/146/37 109/147/36 108/148/38 +f 80/149/33 116/146/37 108/150/38 +f 83/151/34 117/152/39 77/153/30 +f 118/154/40 83/155/34 80/156/33 +f 119/157/41 80/158/33 72/159/25 +f 117/152/39 72/160/25 77/161/30 +f 87/162/42 110/128/24 88/163/43 +f 88/163/43 111/131/27 90/164/44 +f 91/165/45 111/131/27 112/134/29 +f 91/165/45 113/137/31 87/162/42 +f 95/166/46 114/140/32 96/167/47 +f 96/167/47 115/143/35 98/168/48 +f 98/168/48 116/146/37 99/169/49 +f 99/169/49 120/170/50 95/166/46 +f 104/171/51 121/172/52 103/173/53 +f 103/173/53 118/154/40 106/174/54 +f 107/175/55 118/154/40 119/157/41 +f 104/171/51 119/157/41 117/152/39 +f 122/176/56 123/177/57 124/178/58 +f 125/179/59 126/180/60 123/177/57 +f 124/178/58 127/181/61 128/182/62 +f 123/177/57 129/183/63 127/181/61 +f 127/181/61 130/184/64 128/182/62 +f 129/185/63 131/186/65 127/181/61 +f 131/186/65 132/187/66 130/184/64 +f 133/188/67 134/189/68 131/186/65 +f 132/190/66 135/191/69 136/192/70 +f 134/193/68 137/194/71 135/191/69 +f 136/192/70 138/195/72 139/196/73 +f 135/191/69 140/197/74 138/195/72 +f 138/195/72 141/198/75 139/196/73 +f 140/199/74 142/200/76 138/195/72 +f 142/200/76 122/176/56 141/198/75 +f 143/201/77 125/179/59 142/200/76 +f 144/202/78 145/203/79 146/204/79 +f 144/202/78 147/205/80 148/206/78 +f 149/207/15 150/208/81 151/209/15 +f 146/204/79 150/208/81 152/210/81 +f 153/211/80 154/212/15 147/205/80 +f 110/128/24 113/137/31 72/129/25 +f 111/131/27 110/128/24 74/132/26 +f 112/134/29 111/131/27 75/135/28 +f 113/137/31 112/134/29 77/138/30 +f 114/140/32 120/170/50 80/141/33 +f 115/143/35 114/140/32 83/144/34 +f 116/146/37 115/143/35 109/147/36 +f 80/149/33 120/170/50 116/146/37 +f 83/151/34 121/172/52 117/152/39 +f 118/154/40 121/172/52 83/155/34 +f 119/157/41 118/154/40 80/158/33 +f 117/152/39 119/157/41 72/160/25 +f 87/162/42 113/137/31 110/128/24 +f 88/163/43 110/128/24 111/131/27 +f 91/165/45 90/164/44 111/131/27 +f 91/165/45 112/134/29 113/137/31 +f 95/166/46 120/170/50 114/140/32 +f 96/167/47 114/140/32 115/143/35 +f 98/168/48 115/143/35 116/146/37 +f 99/169/49 116/146/37 120/170/50 +f 104/171/51 117/152/39 121/172/52 +f 103/173/53 121/172/52 118/154/40 +f 107/175/55 106/174/54 118/154/40 +f 104/171/51 107/175/55 119/157/41 +f 122/176/56 125/179/59 123/177/57 +f 125/179/59 155/213/82 126/180/60 +f 124/178/58 123/177/57 127/181/61 +f 123/177/57 126/214/60 129/183/63 +f 127/181/61 131/186/65 130/184/64 +f 129/185/63 133/215/67 131/186/65 +f 131/186/65 134/189/68 132/187/66 +f 133/188/67 156/216/83 134/189/68 +f 132/190/66 134/193/68 135/191/69 +f 134/193/68 156/217/83 137/194/71 +f 136/192/70 135/191/69 138/195/72 +f 135/191/69 137/218/71 140/197/74 +f 138/195/72 142/200/76 141/198/75 +f 140/199/74 143/219/77 142/200/76 +f 142/200/76 125/179/59 122/176/56 +f 143/201/77 155/220/82 125/179/59 +f 144/202/78 148/206/78 145/203/79 +f 144/202/78 153/211/80 147/205/80 +f 149/207/15 152/210/81 150/208/81 +f 146/204/79 145/203/79 150/208/81 +f 153/211/80 157/221/15 154/212/15 +o LeftLeg +v 2.778606 19.489141 -1.987076 +v 1.889860 19.673222 -2.313623 +v 1.889860 19.857271 -1.987076 +v 2.648463 19.358999 -2.313623 +v 1.889860 19.480209 -1.987077 +v 3.146736 18.600395 -1.987077 +v 2.962687 18.600395 -2.313623 +v 2.511982 19.222517 -1.987076 +v 2.778605 17.711649 -1.987077 +v 2.648463 17.841791 -2.313623 +v 2.769673 18.600395 -1.987077 +v 1.889860 17.527569 -2.313623 +v 2.511982 17.978273 -1.987077 +v 1.001114 17.711649 -1.987077 +v 1.889860 17.343519 -1.987077 +v 1.131257 17.841791 -2.313623 +v 1.889860 17.720581 -1.987077 +v 0.632984 18.600395 -1.987077 +v 0.817033 18.600395 -2.313623 +v 1.267738 17.978273 -1.987077 +v 1.131256 19.358997 -2.313623 +v 1.010046 18.600395 -1.987077 +v 1.001114 19.489140 -1.987077 +v 1.267738 19.222517 -1.987077 +v -0.033751 18.475336 2.026671 +v 4.013639 18.711559 2.026671 +v -0.033751 18.711559 2.026671 +v 4.013639 18.475336 2.026671 +v 4.013639 18.998186 -2.020719 +v 0.900512 18.188709 -2.020719 +v -0.033751 18.998186 -2.020719 +v 0.900512 18.998186 -2.020719 +v -0.033751 18.188709 -2.020719 +v 4.013639 18.188707 -2.020719 +v 2.857196 18.998186 -2.020719 +v 2.857196 18.188707 -2.020719 vt 0.144578 0.794118 vt 0.192771 0.764706 vt 0.192771 0.794118 @@ -561,27 +750,27 @@ vt 0.253012 0.735294 vt 0.204819 0.735294 vt 0.192771 0.794118 vn 0.6160 0.6160 -0.4910 -vn 0.0000 0.2170 -0.9761 -vn 0.0000 0.8712 -0.4910 -vn 0.1535 0.1535 -0.9761 +vn -0.0000 0.2171 -0.9762 +vn -0.0000 0.8712 -0.4910 +vn 0.1535 0.1535 -0.9762 vn 0.0000 -0.8609 -0.5088 vn 0.8712 0.0000 -0.4910 -vn 0.2171 0.0000 -0.9761 +vn 0.2171 -0.0000 -0.9762 vn -0.6087 -0.6087 -0.5088 vn 0.6160 -0.6160 -0.4910 -vn 0.1535 -0.1535 -0.9761 -vn -0.8608 0.0000 -0.5088 -vn 0.0000 -0.2170 -0.9761 +vn 0.1535 -0.1535 -0.9762 +vn -0.8609 0.0000 -0.5088 +vn -0.0000 -0.2171 -0.9762 vn -0.6087 0.6087 -0.5088 vn -0.6160 -0.6160 -0.4910 vn 0.0000 -0.8712 -0.4910 -vn -0.1535 -0.1535 -0.9761 -vn 0.0000 0.8609 -0.5088 +vn -0.1535 -0.1535 -0.9762 +vn -0.0000 0.8609 -0.5088 vn -0.8712 0.0000 -0.4910 -vn -0.2171 0.0000 -0.9761 +vn -0.2171 0.0000 -0.9762 vn 0.6087 0.6087 -0.5088 -vn -0.1535 0.1535 -0.9761 -vn 0.8608 0.0000 -0.5088 +vn -0.1535 0.1535 -0.9762 +vn 0.8609 0.0000 -0.5088 vn -0.6160 0.6160 -0.4910 vn 0.6087 -0.6087 -0.5088 vn -0.7225 0.0000 0.6914 @@ -589,415 +778,398 @@ vn 0.7225 0.0000 0.6914 vn 0.6906 0.0000 -0.7232 vn 0.0000 0.0000 -1.0000 vn -0.6906 0.0000 -0.7232 -usemtl None s 1 -f 98/159/76 96/160/77 95/161/78 -f 99/162/79 97/163/80 96/160/77 -f 101/164/81 99/162/79 98/159/76 -f 102/165/82 100/166/83 99/162/79 -f 104/167/84 102/165/82 101/164/81 -f 105/168/85 103/169/86 102/165/82 -f 104/167/84 108/170/87 105/168/85 -f 108/170/87 106/171/88 105/168/85 -f 110/172/89 108/173/87 107/174/90 -f 111/175/91 109/176/92 108/173/87 -f 113/177/93 111/175/91 110/172/89 -f 114/178/94 112/179/95 111/175/91 -f 113/177/93 117/180/96 114/178/94 -f 117/180/96 115/181/97 114/178/94 -f 95/161/78 117/180/96 116/182/98 -f 96/160/77 118/183/99 117/180/96 -f 120/184/100 121/185/101 119/186/100 -f 122/187/101 125/188/102 121/185/101 -f 129/189/103 123/190/104 127/191/103 -f 124/192/104 119/186/100 123/190/104 -f 126/193/102 130/194/103 125/188/102 -f 98/159/76 99/162/79 96/160/77 -f 99/162/79 100/195/83 97/163/80 -f 101/164/81 102/165/82 99/162/79 -f 102/165/82 103/196/86 100/166/83 -f 104/167/84 105/168/85 102/165/82 -f 105/168/85 106/197/88 103/169/86 -f 104/167/84 107/198/90 108/170/87 -f 108/170/87 109/199/92 106/171/88 -f 110/172/89 111/175/91 108/173/87 -f 111/175/91 112/200/95 109/176/92 -f 113/177/93 114/178/94 111/175/91 -f 114/178/94 115/201/97 112/179/95 -f 113/177/93 116/182/98 117/180/96 -f 117/180/96 118/202/99 115/181/97 -f 95/161/78 96/160/77 117/180/96 -f 96/160/77 97/203/80 118/183/99 -f 120/184/100 122/187/101 121/185/101 -f 122/187/101 126/193/102 125/188/102 -f 129/189/103 124/192/104 123/190/104 -f 124/192/104 120/184/100 119/186/100 -f 126/193/102 128/204/103 130/194/103 +f 158/222/84 159/223/85 160/224/86 +f 161/225/87 162/226/88 159/223/85 +f 163/227/89 161/225/87 158/222/84 +f 164/228/90 165/229/91 161/225/87 +f 166/230/92 164/228/90 163/227/89 +f 167/231/93 168/232/94 164/228/90 +f 166/230/92 169/233/95 167/231/93 +f 169/233/95 170/234/96 167/231/93 +f 171/235/97 169/236/95 172/237/98 +f 173/238/99 174/239/100 169/236/95 +f 175/240/101 173/238/99 171/235/97 +f 176/241/102 177/242/103 173/238/99 +f 175/240/101 178/243/104 176/241/102 +f 178/243/104 179/244/105 176/241/102 +f 160/224/86 178/243/104 180/245/106 +f 159/223/85 181/246/107 178/243/104 +f 182/247/108 183/248/109 184/249/108 +f 185/250/109 186/251/110 183/248/109 +f 187/252/111 188/253/112 189/254/111 +f 190/255/112 184/249/108 188/253/112 +f 191/256/110 192/257/111 186/251/110 +f 158/222/84 161/225/87 159/223/85 +f 161/225/87 165/258/91 162/226/88 +f 163/227/89 164/228/90 161/225/87 +f 164/228/90 168/259/94 165/229/91 +f 166/230/92 167/231/93 164/228/90 +f 167/231/93 170/260/96 168/232/94 +f 166/230/92 172/261/98 169/233/95 +f 169/233/95 174/262/100 170/234/96 +f 171/235/97 173/238/99 169/236/95 +f 173/238/99 177/263/103 174/239/100 +f 175/240/101 176/241/102 173/238/99 +f 176/241/102 179/264/105 177/242/103 +f 175/240/101 180/245/106 178/243/104 +f 178/243/104 181/265/107 179/244/105 +f 160/224/86 159/223/85 178/243/104 +f 159/223/85 162/266/88 181/246/107 +f 182/247/108 185/250/109 183/248/109 +f 185/250/109 191/256/110 186/251/110 +f 187/252/111 190/255/112 188/253/112 +f 190/255/112 182/247/108 184/249/108 +f 191/256/110 193/267/111 192/257/111 +o LeftFoot +v 4.121621 24.067026 2.136321 +v 4.121620 22.765116 -2.130369 +v 4.121621 24.067026 -2.130369 +v -0.145070 22.765120 -2.130369 +v 1.988274 21.575682 -3.487656 +v -0.145070 24.067028 -2.130369 +v -0.145070 24.067028 2.136321 +v 1.988275 24.067026 -3.487656 +vt 0.144578 0.823529 +vt 0.180723 0.941176 +vt 0.144578 0.941176 +vt 0.048193 0.941176 +vt 0.144578 0.941176 +vt 0.096386 0.970588 +vt 0.048193 0.941176 +vt 0.012048 0.941176 +vt 0.048193 0.823529 +vt 0.144578 1.000000 +vt 0.048193 1.000000 +vt 0.000000 1.000000 +vt 0.096386 0.970588 +vt 0.192771 1.000000 +vn 1.0000 -0.0000 0.0000 +vn -0.0000 -0.7521 0.6591 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5368 -0.0000 -0.8437 +vn -0.5368 0.0000 -0.8437 +s off +f 194/268/113 195/269/113 196/270/113 +f 195/271/114 197/272/114 198/273/114 +f 199/274/115 197/275/115 200/276/115 +f 196/270/116 200/276/116 194/268/116 +f 195/269/117 201/277/117 196/270/117 +f 197/275/118 201/278/118 198/279/118 +f 199/274/116 196/270/116 201/280/116 +f 196/270/116 199/274/116 200/276/116 +f 195/269/117 198/281/117 201/277/117 +f 197/275/118 199/274/118 201/278/118 o Head -v -1.508368 -8.285352 3.802689 -v -1.508372 -14.278589 3.802688 +v -1.508372 -14.278589 3.802687 v 1.488250 -8.285354 3.802689 -v 1.488247 -14.278592 3.802688 -v -1.508368 -8.285347 -2.190549 -v -1.508371 -14.278585 -2.190550 +v -1.508368 -8.285352 3.802689 +v 1.488248 -14.278587 -2.190551 v 1.488251 -8.285350 -2.190549 -v 1.488248 -14.278587 -2.190550 -v -1.273192 -5.900111 5.032125 +v -1.508371 -14.278585 -2.190551 +v -1.508368 -8.285347 -2.190549 +v 1.488247 -14.278592 3.802687 v -1.273195 -9.457933 8.619613 v 1.253076 -5.900113 5.032125 -v 1.253075 -9.457935 8.619614 -v -1.273194 -9.487597 1.474305 -v -1.273196 -13.045419 5.061792 +v -1.273192 -5.900111 5.032125 +v 1.253072 -13.045421 5.061792 v 1.253075 -9.487598 1.474305 -v 1.253072 -13.045421 5.061793 -v -0.980570 -1.235440 9.273873 +v -1.273194 -9.487597 1.474305 +v -1.273196 -13.045419 5.061791 +v 1.253075 -9.457935 8.619614 v -0.980572 -6.999479 9.297806 v 0.960457 -1.235441 9.273874 -v 0.960454 -6.999480 9.297807 -v -0.980569 -1.267190 1.626005 -v -0.980572 -7.031229 1.649937 -v 0.960459 -1.267191 1.626004 +v -0.980570 -1.235440 9.273873 v 0.960455 -7.031230 1.649937 -v -1.281824 3.370458 8.560949 +v 0.960459 -1.267191 1.626004 +v -0.980572 -7.031229 1.649937 +v -0.980569 -1.267190 1.626005 +v 0.960454 -6.999480 9.297807 v -1.281827 -1.716582 8.582069 v 1.261716 3.370455 8.560948 -v 1.261714 -1.716584 8.582069 -v -1.281823 3.349338 3.473909 -v -1.281826 -1.737700 3.495030 -v 1.261717 3.349337 3.473909 +v -1.281824 3.370457 8.560949 v 1.261715 -1.737702 3.495030 -v -0.938246 6.794746 7.686372 -v -0.938248 3.082000 7.701787 -v 0.918143 6.794745 7.686372 +v 1.261717 3.349337 3.473909 +v -1.281826 -1.737700 3.495030 +v -1.281823 3.349338 3.473909 +v 1.261714 -1.716584 8.582069 +v -0.938246 6.794745 7.686372 v 0.918141 3.081999 7.701787 -v -0.938246 6.779333 3.973624 -v -0.938247 3.066586 3.989039 -v 0.918144 6.779332 3.973624 +v 0.918143 6.794744 7.686372 v 0.918142 3.066585 3.989039 -v -0.665263 7.681831 6.846099 +v 0.918144 6.779332 3.973624 +v -0.938247 3.066586 3.989039 +v -0.938246 6.779333 3.973624 v -0.665264 5.820934 5.000589 -v 0.645162 7.681829 6.846099 -v 0.645161 5.820933 5.000589 +v 0.645162 7.681828 6.846099 +v -0.665263 7.681830 6.846099 +v 0.645162 7.666443 3.139690 +v 0.645163 9.527342 4.985200 v -0.665262 9.527344 4.985200 v -0.665263 7.666443 3.139690 -v 0.645163 9.527342 4.985200 -v 0.645162 7.666443 3.139690 -v -4.410054 0.192320 4.402977 +v 0.645161 5.820933 5.000589 v -4.410059 -8.607680 4.402976 -v 4.389945 0.192312 4.402977 -v 4.389940 -8.607687 4.402976 -v -4.410053 0.192326 -4.397024 -v -4.410058 -9.299909 -3.372829 -v 4.389946 0.192319 -4.397024 -v 4.389941 -9.299915 -3.372831 -v -4.410056 -2.354111 4.402977 -v -4.410058 -6.061250 4.402976 v 4.389942 -6.061256 4.402976 -v 4.389944 -2.354118 4.402977 -v 4.389943 -6.061251 -4.397025 -v 4.389945 -1.759964 -4.397025 -v -4.410056 -6.061244 -4.397025 -v -4.410054 -1.759957 -4.397025 -v 4.389945 0.192314 2.222194 -v 4.389940 -9.299918 0.356267 -v -4.410054 0.192321 2.222193 -v -4.410059 -9.299911 0.356267 -v -4.410056 -3.091842 2.493567 -v -4.410057 -5.765733 -0.772733 -v 4.389943 -3.091849 2.493567 +v -4.410058 -6.061250 4.402976 v 4.389942 -5.765739 -0.772733 -v -0.010055 -3.490466 -9.097178 -v -0.010054 -1.538183 -9.097178 -v 2.486246 -8.607678 -7.519540 +v 4.389941 -8.607681 -4.397027 +v 4.389943 -6.061251 -4.397026 v -2.506362 -8.607675 -7.519540 -v 2.486247 -6.061247 -7.519539 -v -2.506361 -6.061244 -7.519539 -v 4.389939 -10.583710 -0.159607 -v 4.389940 -10.583708 -2.856956 -v -4.410059 -10.583701 -2.856956 -v -4.410060 -10.583703 -0.159607 -v 2.486246 -9.631669 -10.148378 -v -2.506362 -9.631665 -10.148378 -v 2.486247 -7.085238 -10.148378 -v -2.506361 -7.085234 -10.148378 -v 2.486244 -11.852020 -8.006340 -v -2.506363 -11.852015 -8.006340 -v 2.486245 -11.852019 -9.310804 -v -2.506363 -11.852015 -9.310804 -v -0.010058 -9.631667 -10.148378 -v -0.010059 -11.852016 -9.310804 -v 0.633919 -10.234200 -9.921087 -v 1.842269 -10.234200 -9.921087 -v 1.842268 -11.249486 -9.538094 -v 0.633918 -11.249485 -9.538094 -v -1.862386 -10.234198 -9.921087 -v -0.654035 -10.234199 -9.921087 -v -0.654036 -11.249484 -9.538094 -v -1.862386 -11.249483 -9.538094 -v 1.842269 -9.798319 -8.765591 -v 0.633919 -9.798318 -8.765591 -v 0.633919 -10.813603 -8.382599 -v 1.842269 -10.813604 -8.382599 -v -0.654035 -9.798317 -8.765591 -v -1.862385 -9.798316 -8.765591 -v -1.862385 -10.813601 -8.382599 -v -0.654036 -10.813602 -8.382599 -v 4.389940 -8.607686 1.380462 -v 4.389941 -8.607681 -4.397026 -v -4.410058 -8.607675 -4.397026 +v 2.486246 -8.607678 -7.519540 v -4.410058 -8.607678 1.380462 +v -4.410057 -5.765733 -0.772733 +v 4.389940 -8.607687 4.402976 +v 4.389940 -8.607686 1.380462 +v -4.410054 0.192321 2.222193 +v -4.410056 -2.354111 4.402977 +v -4.410054 0.192320 4.402977 +v -4.410056 -3.091842 2.493567 +v 4.389945 -1.759964 -4.397025 +v -0.010054 -1.538183 -9.097178 +v 4.389946 0.192319 -4.397024 +v 4.389945 0.192314 2.222194 +v 4.389944 -2.354118 4.402977 +v 4.389945 0.192312 4.402977 +v 4.389943 -3.091849 2.493567 +v -4.410054 -1.759957 -4.397025 +v -4.410053 0.192326 -4.397024 +v -4.410059 -11.275934 -3.324822 +v -4.410058 -8.607675 -4.397027 +v -4.410056 -6.061244 -4.397026 +v -0.010055 -3.490466 -9.097178 +v 2.486247 -6.061246 -7.519539 +v -2.506361 -7.085234 -10.148378 +v -2.506361 -6.061244 -7.519539 v 4.389939 -11.275944 0.308259 v 4.389940 -11.275941 -3.324822 -v -4.410059 -11.275934 -3.324822 -v -4.410060 -11.275937 0.308259 +v -4.410059 -10.583701 -2.856956 v -3.610058 -9.299910 -3.372830 +v -4.410058 -9.299909 -3.372829 +v 4.389940 -10.583708 -2.856956 +v 3.589941 -9.299915 -3.372830 +v 3.589940 -10.583708 -2.856956 +v 2.486246 -9.631669 -10.148378 +v -0.010058 -9.631667 -10.148378 +v 2.486247 -7.085238 -10.148378 +v -2.506362 -9.631665 -10.148378 +v 0.633918 -11.249485 -9.538095 +v 0.633919 -9.798318 -8.765591 +v 0.633919 -10.813603 -8.382599 +v -2.506363 -11.852015 -8.006341 +v -0.010059 -11.852016 -9.310805 +v 2.486244 -11.852020 -8.006341 +v 2.486245 -11.852019 -9.310805 +v 1.842268 -11.249486 -9.538095 +v 1.842269 -10.813604 -8.382599 +v 1.842269 -10.234200 -9.921087 +v 0.633919 -10.234200 -9.921087 +v -1.862386 -10.234198 -9.921087 +v -0.654035 -10.234199 -9.921087 +v -2.506363 -11.852015 -9.310805 +v -0.654036 -11.249484 -9.538095 +v -1.862386 -11.249483 -9.538095 +v 1.842269 -9.798319 -8.765591 +v -0.654035 -9.798317 -8.765591 +v -1.862385 -10.813601 -8.382599 +v -1.862385 -9.798316 -8.765591 +v -0.654036 -10.813602 -8.382599 +v 4.389941 -9.299915 -3.372832 +v 4.389940 -9.299918 0.356267 +v 4.389939 -10.583710 -0.159607 +v -4.410060 -11.275937 0.308259 +v -4.410060 -10.583703 -0.159607 +v -4.410059 -9.299911 0.356267 v -3.610059 -9.299911 0.356267 v -3.610059 -10.583702 -2.856956 v -3.610060 -10.583703 -0.159607 v 3.589941 -9.299917 0.356267 -v 3.589941 -9.299915 -3.372830 v 3.589939 -10.583709 -0.159608 -v 3.589940 -10.583708 -2.856956 -v 5.645875 -8.217163 4.660890 -v 5.645875 -9.817163 4.660890 -v 4.163136 -8.217162 5.262124 -v 4.163136 -9.817162 5.262124 -v 5.044641 -8.217161 3.178150 -v 5.044641 -9.817162 3.178150 -v 3.561902 -8.217160 3.779384 -v 3.561902 -9.817161 3.779384 -v 3.896814 -2.763540 7.254127 -v 3.801686 -8.680468 4.249980 -v 4.032371 -1.908365 6.272345 -v 3.853090 -8.356171 3.877670 -v 5.014153 -1.554140 5.482267 -v 4.225400 -8.221842 3.578059 -v 6.267045 -1.908366 5.346712 -v 4.700520 -8.356171 3.526654 -v 7.057123 -2.763540 5.945084 -v 5.000132 -8.680469 3.753567 -v 6.921567 -3.618715 6.926867 -v 4.948727 -9.004766 4.125877 -v 5.939785 -3.972939 7.716943 -v 4.576417 -9.139093 4.425488 -v 4.686890 -3.618714 7.852498 -v 4.101297 -9.004766 4.476893 -v -5.172473 5.369970 8.408375 -v -5.172474 5.562243 6.053672 -v -5.172478 -3.465167 7.706107 +v -5.172473 5.369969 8.408375 v -5.172478 -3.269783 5.313330 +v -5.172474 5.562243 6.053672 v -4.095266 -8.217159 5.262125 +v -5.578005 -9.817158 4.660890 v -4.095266 -9.817160 5.262124 v -5.578005 -8.217158 4.660890 -v -5.578005 -9.817158 4.660890 -v -3.494032 -8.217157 3.779385 -v -3.494032 -9.817157 3.779384 -v -4.976771 -8.217155 3.178150 v -4.976771 -9.817156 3.178149 -v -7.156473 -2.763536 5.904851 -v -5.132457 -8.680464 3.682846 -v -6.375424 -1.908360 5.294742 -v -4.836269 -8.356166 3.451482 -v -5.120644 -1.554137 5.411564 -v -4.360434 -8.221838 3.495784 -v -4.127169 -1.908363 6.186887 -v -3.983691 -8.356167 3.789800 -v -3.976962 -2.763537 7.166533 -v -3.926729 -8.680464 4.161299 +v -3.494032 -8.217157 3.779385 +v -4.976771 -8.217155 3.178149 +v -3.494032 -9.817157 3.779383 v -4.758012 -3.618712 7.776642 -v -4.222918 -9.004762 4.392663 -v -6.012789 -3.972937 7.659819 -v -4.698752 -9.139090 4.348361 +v -4.127169 -1.908363 6.186887 v -7.006265 -3.618711 6.884498 -v -5.075496 -9.004761 4.054346 -v 5.288472 -3.271343 5.332368 -v 5.288471 -3.463617 7.687073 -v 5.288476 5.563792 6.034633 -v 5.288477 5.368412 8.427410 -v -5.185373 -3.465167 7.706107 -v -5.185368 5.369970 8.408375 -v -5.185369 5.562245 6.053672 +v -5.185368 5.369969 8.408375 v -5.185372 -3.269783 5.313330 -v -5.712929 -8.217155 4.814359 -v -5.712930 -9.817155 4.814359 -v -4.221374 -8.217156 5.393374 -v -4.221375 -9.817156 5.393374 -v -5.133913 -8.217155 3.322803 -v -5.133914 -9.817154 3.322802 -v -3.642358 -8.217155 3.901819 -v -3.642359 -9.817156 3.901819 -v -3.925316 -2.763535 7.381176 -v -3.875084 -8.680463 4.375944 -v -4.075523 -1.908360 6.401529 -v -3.932045 -8.356165 4.004445 -v -5.068998 -1.554133 5.626207 -v -4.308788 -8.221836 3.710428 -v -6.323776 -1.908357 5.509384 -v -4.784623 -8.356164 3.666127 -v -7.104827 -2.763530 6.119492 -v -5.080811 -8.680461 3.897491 -v -6.954621 -3.618704 7.099140 -v -5.023851 -9.004759 4.268991 -v -5.961145 -3.972931 7.874462 -v -4.647107 -9.139088 4.563006 -v -4.706366 -3.618708 7.991283 -v -4.171273 -9.004760 4.607308 -v 5.160210 5.369962 8.399809 -v 5.125034 5.562235 6.045368 +v -5.185373 -3.465167 7.706107 +v -5.172478 -3.465167 7.706107 +v -5.185369 5.562244 6.053672 v 5.149714 -3.465176 7.697618 -v 5.113968 -3.269792 5.305109 -v 4.036106 -8.217167 5.270001 -v 4.036106 -9.817166 5.270001 +v 5.125034 5.562234 6.045369 +v 5.160210 5.369962 8.399809 v 5.509698 -8.217167 4.646683 -v 5.509698 -9.817167 4.646683 -v 3.412788 -8.217164 3.796409 -v 3.412787 -9.817163 3.796409 -v 4.886380 -8.217164 3.173090 +v 4.036106 -9.817166 5.270000 +v 4.036106 -8.217167 5.270000 v 4.886380 -9.817164 3.173090 -v 7.106581 -2.763548 5.866924 -v 5.049588 -8.680472 3.675405 -v 6.316504 -1.908371 5.268551 -v 4.749977 -8.356174 3.448492 -v 5.063610 -1.554145 5.404106 -v 4.274858 -8.221846 3.499897 -v 4.081829 -1.908370 6.194184 -v 3.902549 -8.356174 3.799508 -v 3.946273 -2.763545 7.175965 -v 3.851143 -8.680471 4.171817 +v 5.509698 -9.817167 4.646683 +v 3.412788 -8.217164 3.796408 +v 4.886380 -8.217164 3.173090 +v 3.412787 -9.817163 3.796408 v 4.736349 -3.618721 7.774338 -v 4.150755 -9.004769 4.398731 -v 5.989241 -3.972946 7.638782 -v 4.625875 -9.139097 4.347325 +v 4.081829 -1.908370 6.194184 v 6.971023 -3.618722 6.848705 -v 4.998183 -9.004769 4.047714 -v -5.345529 -3.271336 5.480423 -v -5.310351 -3.463610 7.834865 -v -5.335032 5.563800 6.182609 -v -5.299286 5.368419 8.575117 -v 5.162607 -3.465176 7.697426 v 5.173103 5.369962 8.399616 -v 5.137928 5.562235 6.045175 v 5.126861 -3.269792 5.304916 -v 3.316185 -6.993679 -5.128780 +v 5.162607 -3.465176 7.697426 +v 5.113968 -3.269792 5.305109 +v 5.137928 5.562234 6.045176 v 3.316186 -5.821070 -5.128779 -v 2.306064 -6.993678 -4.533243 -v 2.306065 -5.821069 -4.533242 -v 2.720647 -6.993677 -6.138901 -v 2.720649 -5.821068 -6.138902 -v 1.710526 -6.993675 -5.543364 -v 1.710527 -5.821067 -5.543363 -v 1.114989 -5.821065 -6.553485 -v 1.114987 -6.993674 -6.553485 -v 2.125108 -6.993676 -7.149024 -v 2.125110 -5.821066 -7.149024 -v 0.519451 -5.821064 -7.563606 -v 0.519449 -6.993672 -7.563608 -v 1.529571 -6.993674 -8.159145 -v 1.529572 -5.821064 -8.159145 +v 2.306064 -6.993678 -4.533244 +v 3.316185 -6.993679 -5.128780 +v 2.306065 -5.821069 -4.533243 +v 1.710526 -6.993675 -5.543365 +v 1.710527 -5.821066 -5.543364 +v 2.125110 -5.821065 -7.149024 +v 1.114989 -5.821064 -6.553485 +v 2.720647 -6.993677 -6.138902 v 3.316187 -5.234766 -5.128781 v 2.306066 -5.234764 -4.533242 -v 1.710527 -5.234763 -5.543363 +v 1.529571 -6.993673 -8.159145 +v 1.529572 -5.821064 -8.159145 +v 1.114987 -6.993673 -6.553485 +v 2.720649 -5.821067 -6.138903 +v 2.125108 -6.993676 -7.149024 +v 0.519449 -6.993671 -7.563609 v 2.720649 -5.234764 -6.138902 -v 1.114989 -5.234761 -6.553485 +v 1.710527 -5.234763 -5.543363 v 2.125111 -5.234762 -7.149024 -v 0.519451 -5.234759 -7.563606 +v 0.519451 -5.234758 -7.563606 +v 1.114989 -5.234761 -6.553485 +v 0.519451 -5.821064 -7.563606 v 1.529572 -5.234761 -8.159145 v -3.396486 -6.993674 -5.128779 -v -3.396485 -5.821067 -5.128778 -v -2.386364 -6.993676 -4.533241 v -2.386365 -5.821069 -4.533240 -v -2.800947 -6.993675 -6.138901 -v -2.800947 -5.821068 -6.138901 -v -1.790826 -6.993676 -5.543362 -v -1.790826 -5.821069 -5.543364 -v -1.195287 -5.821067 -6.553484 -v -1.195287 -6.993677 -6.553484 -v -2.205408 -6.993676 -7.149024 -v -2.205409 -5.821068 -7.149022 -v -0.599749 -5.821067 -7.563604 -v -0.599750 -6.993677 -7.563605 -v -1.609871 -6.993676 -8.159142 -v -1.609871 -5.821066 -8.159142 -v -3.396486 -5.234763 -5.128779 +v -3.396485 -5.821067 -5.128778 +v -1.790826 -6.993676 -5.543363 +v -2.386364 -6.993676 -4.533241 +v -1.790826 -5.821068 -5.543365 +v -2.205409 -5.821067 -7.149023 +v -2.800947 -5.821067 -6.138902 +v -2.800947 -6.993675 -6.138902 v -2.386365 -5.234761 -4.533240 -v -1.790826 -5.234762 -5.543364 +v -1.609871 -6.993676 -8.159142 +v -2.205408 -6.993676 -7.149024 +v -1.195287 -6.993677 -6.553484 +v -0.599749 -5.821066 -7.563604 +v -0.599750 -6.993677 -7.563605 v -2.800947 -5.234764 -6.138901 +v -1.195287 -5.821066 -6.553484 +v -1.790826 -5.234762 -5.543364 v -1.195288 -5.234763 -6.553484 -v -2.205409 -5.234762 -7.149023 -v -0.599749 -5.234764 -7.563604 v -1.609871 -5.234762 -8.159142 -v 1.704096 -7.845215 -9.860027 +v -2.205409 -5.234762 -7.149023 +v -1.609871 -5.821065 -8.159142 +v -0.599749 -5.234764 -7.563604 v 1.704097 -6.672606 -9.860027 -v 1.703341 -7.845214 -8.687418 +v 1.703341 -7.845213 -8.687418 +v 1.704096 -7.845214 -9.860027 v 1.703342 -6.672605 -8.687418 -v 0.531487 -7.845212 -9.860781 -v 0.531488 -6.672604 -9.860781 v 0.530734 -7.845212 -8.688173 v 0.530734 -6.672604 -8.688173 -v -0.641875 -6.672601 -8.688927 -v -0.641875 -7.845210 -8.688927 -v -0.641121 -7.845211 -9.861536 v -0.641120 -6.672602 -9.861536 -v -1.814482 -6.672599 -8.689682 -v -1.814483 -7.845208 -8.689682 +v -0.641875 -6.672601 -8.688927 +v 0.531487 -7.845212 -9.860781 +v 1.704096 -6.086301 -9.860025 +v 1.703342 -6.086300 -8.687418 v -1.813730 -7.845209 -9.862289 -v -1.813729 -6.672600 -9.862289 -v 1.704096 -6.086302 -9.860025 -v 1.703342 -6.086301 -8.687418 -v 0.530734 -6.086299 -8.688171 -v 0.531488 -6.086300 -9.860781 +v -1.813729 -6.672599 -9.862289 +v -0.641875 -7.845210 -8.688927 +v 0.531488 -6.672604 -9.860781 +v -0.641121 -7.845211 -9.861536 +v -1.814483 -7.845208 -8.689682 +v 0.531488 -6.086299 -9.860781 +v 0.530734 -6.086298 -8.688171 v -0.641875 -6.086297 -8.688927 -v -0.641120 -6.086298 -9.861536 -v -1.814482 -6.086295 -8.689680 v -1.813727 -6.086296 -9.862289 +v -1.814482 -6.086295 -8.689680 +v -1.814482 -6.672598 -8.689682 +v -0.641120 -6.086298 -9.861536 v -2.474616 -1.420238 -4.557697 -v -2.493140 -2.558242 -4.275535 -v -3.339206 -1.597586 -5.329736 v -3.357730 -2.735590 -5.047575 -v -1.682685 -1.640480 -5.393971 -v -1.701210 -2.778483 -5.111809 +v -2.493140 -2.558242 -4.275535 v -2.547275 -1.817827 -6.166008 -v -2.565799 -2.955831 -5.883848 +v -3.339206 -1.597586 -5.329736 v -1.773869 -3.176071 -6.720119 -v -1.755345 -2.038068 -7.002281 -v -0.890756 -1.860719 -6.230242 +v -1.701210 -2.778483 -5.111809 +v -2.565799 -2.955831 -5.883848 +v -1.682685 -1.640480 -5.393971 +v -2.502402 -3.127246 -4.134454 v -0.909280 -2.998723 -5.948082 +v -0.098825 -2.080959 -7.066516 +v -0.890756 -1.860719 -6.230242 +v -1.755345 -2.038068 -7.002281 v -0.981939 -3.396310 -7.556392 v -0.963415 -2.258307 -7.838554 -v -0.098825 -2.080959 -7.066516 -v -0.117349 -3.218962 -6.784357 -v -2.502402 -3.127246 -4.134454 +v -1.710471 -3.347486 -4.970729 v -3.366992 -3.304594 -4.906494 v -2.575060 -3.524835 -5.742768 -v -1.710471 -3.347486 -4.970729 -v -1.783131 -3.745074 -6.579041 -v -0.918541 -3.567726 -5.807003 v -0.991202 -3.965313 -7.415312 +v -0.918541 -3.567726 -5.807003 +v -1.783131 -3.745074 -6.579041 v -0.126611 -3.787967 -6.643275 -v 2.425965 -1.420243 -4.557696 +v -0.117349 -3.218962 -6.784357 v 2.444487 -2.558248 -4.275535 v 3.290554 -1.597593 -5.329733 +v 2.425965 -1.420243 -4.557696 v 3.309077 -2.735597 -5.047574 -v 1.634034 -1.640481 -5.393968 -v 1.652557 -2.778485 -5.111808 v 2.498624 -1.817831 -6.166008 -v 2.517147 -2.955835 -5.883847 +v 1.652557 -2.778485 -5.111808 v 1.725216 -3.176074 -6.720120 -v 1.706694 -2.038069 -7.002281 +v 2.517147 -2.955835 -5.883847 +v 1.634034 -1.640481 -5.393968 +v 3.318337 -3.304599 -4.906492 v 0.842104 -1.860718 -6.230242 +v 0.068697 -3.218961 -6.784354 v 0.860628 -2.998724 -5.948081 -v 0.933287 -3.396311 -7.556393 +v 1.706694 -2.038069 -7.002281 v 0.914763 -2.258307 -7.838553 v 0.050174 -2.080956 -7.066514 -v 0.068697 -3.218961 -6.784354 -v 2.453748 -3.127249 -4.134454 -v 3.318337 -3.304599 -4.906492 v 2.526407 -3.524837 -5.742766 v 1.661818 -3.347488 -4.970726 -v 1.734478 -3.745075 -6.579039 v 0.869887 -3.567725 -5.807002 v 0.942548 -3.965313 -7.415312 +v 1.734478 -3.745075 -6.579039 +v 0.933287 -3.396311 -7.556393 v 0.077959 -3.787963 -6.643274 +v 2.453748 -3.127249 -4.134454 +v -0.938248 3.082000 7.701787 +v -6.375424 -1.908360 5.294742 +v -7.156473 -2.763536 5.904851 +v -6.012789 -3.972937 7.659819 +v -3.976962 -2.763537 7.166533 +v -5.120644 -1.554137 5.411564 +v 6.316504 -1.908371 5.268551 +v 7.106581 -2.763548 5.866924 +v 5.989241 -3.972946 7.638782 +v 3.946273 -2.763545 7.175965 +v 5.063610 -1.554145 5.404106 +v -3.396486 -5.234763 -5.128779 +v -4.836269 -8.356166 3.451482 +v -5.132457 -8.680464 3.682846 +v -4.360434 -8.221838 3.495784 +v -3.983691 -8.356167 3.789799 +v -3.926729 -8.680464 4.161299 +v -4.222918 -9.004762 4.392663 +v -5.075496 -9.004761 4.054346 +v -4.698752 -9.139090 4.348361 +v 4.749977 -8.356174 3.448492 +v 5.049588 -8.680472 3.675405 +v 4.274858 -8.221846 3.499897 +v 3.902549 -8.356174 3.799508 +v 3.851143 -8.680471 4.171816 +v 4.150755 -9.004769 4.398731 +v 4.998183 -9.004769 4.047714 +v 4.625875 -9.139097 4.347324 vt 0.409639 0.411765 vt 0.445783 0.500000 vt 0.409639 0.500000 @@ -1231,33 +1403,33 @@ vt 0.987952 0.676471 vt 0.987952 0.735294 vt 0.963855 0.676471 vt 0.626506 1.000000 -vt 0.722892 0.647059 vt 0.626506 0.647059 +vt 0.722892 0.647059 vt 0.301205 0.955882 -vt 0.265060 0.911765 vt 0.301205 0.911765 +vt 0.265060 0.911765 vt 0.265060 1.000000 -vt 0.228916 0.955882 vt 0.265060 0.955882 +vt 0.228916 0.955882 vt 0.192771 0.911765 vt 0.192771 0.955882 vt 0.265060 0.867647 -vt 0.228916 0.911765 vt 0.228916 0.867647 -vt 0.337349 0.911765 +vt 0.228916 0.911765 vt 0.337349 0.955882 +vt 0.337349 0.911765 vt 0.337349 0.823529 -vt 0.313253 0.882353 vt 0.289157 0.794118 +vt 0.313253 0.882353 vt 0.626506 0.647059 -vt 0.722892 1.000000 vt 0.626506 1.000000 +vt 0.722892 1.000000 +vt 0.963855 0.750000 vt 0.963855 0.750000 vt 0.987952 0.735294 -vt 0.963855 0.750000 +vt 0.987952 0.676471 vt 0.987952 0.676471 vt 0.963855 0.676471 -vt 0.987952 0.676471 vt 0.987952 0.735294 vt 0.963855 0.676471 vt 0.469880 0.558824 @@ -1538,8 +1710,8 @@ vt 0.373494 1.000000 vt 0.337349 1.000000 vt 0.373494 0.794118 vt 0.409639 0.794118 -vt 0.445783 1.000000 vt 0.409639 1.000000 +vt 0.445783 1.000000 vt 0.445783 0.794118 vt 0.481928 1.000000 vt 0.518072 0.794118 @@ -1551,15 +1723,15 @@ vt 0.554217 1.000000 vt 0.626506 0.794118 vt 0.590361 1.000000 vt 0.337349 0.794118 -vt 0.373494 1.000000 vt 0.337349 1.000000 +vt 0.373494 1.000000 vt 0.373494 0.794118 vt 0.626506 1.000000 vt 0.626506 1.000000 vn -0.0000 -0.0000 1.0000 vn 1.0000 -0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 vn -0.0000 -1.0000 -0.0000 vn 0.0000 0.7100 0.7042 vn -0.0000 -0.7100 -0.7042 @@ -1582,8 +1754,8 @@ vn 0.0000 0.3729 0.9279 vn -0.0000 -0.3729 0.9279 vn -0.0000 -0.1484 0.9889 vn 0.0000 0.9356 -0.3529 -vn 0.0000 -0.3529 -0.9356 vn 0.0000 -0.3530 -0.9356 +vn -0.0000 -0.3529 -0.9356 vn -0.0000 -0.9356 0.3529 vn 0.0000 0.3729 -0.9279 vn -0.3758 -0.0000 0.9267 @@ -1595,17 +1767,17 @@ vn 0.0000 -0.9967 -0.0814 vn 0.0001 0.9967 0.0814 vn 0.0000 0.0835 -0.9965 vn 0.0000 -0.0792 0.9969 -vn 0.9999 -0.0000 -0.0149 +vn -0.9999 0.0000 0.0149 +vn 0.3896 0.0000 0.9210 +vn 0.9210 0.0000 -0.3896 vn -0.3896 0.0000 -0.9210 vn -0.9210 0.0000 0.3896 -vn 0.3896 -0.0000 0.9210 -vn 0.9210 -0.0000 -0.3896 -vn -0.2706 -0.7071 -0.6533 -vn -0.9999 0.0000 0.0149 -vn 0.0012 0.9967 0.0814 +vn 0.2706 0.7071 0.6533 +vn 0.9999 -0.0000 -0.0149 vn -0.0012 -0.9967 -0.0814 -vn 0.0149 -0.0835 0.9964 -vn -0.0148 0.0792 -0.9967 +vn 0.0012 0.9967 0.0814 +vn -0.0149 0.0835 -0.9964 +vn 0.0148 -0.0792 0.9967 vn 0.5079 -0.0000 0.8614 vn -0.8614 0.0000 0.5079 vn 0.8614 -0.0000 -0.5079 @@ -1630,10 +1802,8 @@ vn 0.0158 -0.9705 0.2406 vn -0.7373 0.1512 0.6584 vn -0.6754 -0.1878 -0.7132 vn 0.0000 0.9967 0.0814 -vn -0.0001 -0.0792 0.9969 -vn 0.0150 -0.0835 0.9964 -vn -0.0150 0.0792 -0.9967 -vn -0.8990 0.4375 0.0163 +vn 0.0150 -0.0792 0.9967 +vn -0.8991 0.4375 0.0163 vn -0.3889 0.1662 -0.9061 vn -0.9031 -0.1591 -0.3988 vn -0.5033 0.7950 -0.3385 @@ -1643,601 +1813,559 @@ vn 0.1189 0.9466 -0.2996 vn 0.6432 0.4375 0.6283 vn 0.9044 0.1662 -0.3929 vn 0.2257 0.1078 0.9682 -vn 0.9308 -0.1591 0.3289 +vn 0.9309 -0.1591 0.3289 vn -0.3688 -0.0140 0.9294 vn 0.3969 -0.4597 0.7944 vn -0.8336 -0.4597 0.3061 vn -0.3036 -0.5677 0.7652 vn -0.8282 0.1078 0.5500 -vn -0.8992 -0.4375 -0.0029 -vn -0.3753 -0.1662 0.9118 -vn -0.8970 0.1591 0.4123 -vn -0.4982 -0.7950 0.3460 -vn 0.3656 -0.2953 0.8827 -vn 0.5969 -0.7950 -0.1076 -vn 0.1233 -0.9466 0.2978 -vn 0.6338 -0.4375 -0.6379 -vn 0.9102 -0.1662 0.3793 -vn 0.2112 -0.1078 -0.9715 -vn 0.9258 0.1591 -0.3428 -vn -0.3826 0.0140 -0.9238 -vn 0.3850 0.4597 -0.8003 -vn -0.8381 0.4597 -0.2936 -vn -0.3150 0.5677 -0.7606 -vn -0.8363 -0.1078 -0.5376 -usemtl None +vn 0.0575 -0.6201 -0.7824 +vn 0.8970 -0.1591 -0.4123 +vn 0.3754 0.1662 -0.9119 +vn -0.2971 -0.6771 -0.6733 +vn -0.3656 0.2953 -0.8827 +vn -0.2660 -0.6771 -0.6862 +vn -0.2173 -0.8231 -0.5247 +vn -0.5940 -0.6201 -0.5125 +vn -0.9102 0.1662 -0.3794 +vn -0.5499 -0.8333 0.0569 +vn -0.9258 -0.1591 0.3428 +vn 0.0901 -0.9719 0.2176 +vn -0.3850 -0.4597 0.8003 +vn 0.3150 -0.5677 0.7606 +vn 0.8381 -0.4597 0.2936 +vn 0.4291 -0.8333 -0.3486 s off -f 132/205/105 133/206/105 131/207/105 -f 133/208/106 138/209/106 137/210/106 -f 137/211/107 136/212/107 135/213/107 -f 136/212/108 131/214/108 135/215/108 -f 134/216/109 136/212/109 138/209/109 -f 140/217/110 141/218/110 139/219/110 -f 141/220/106 146/221/106 145/222/106 -f 146/221/111 143/223/111 145/224/111 -f 144/225/108 139/226/108 143/227/108 -f 142/228/112 144/225/112 146/221/112 -f 148/229/113 149/230/113 147/231/113 -f 149/230/106 154/232/106 153/233/106 -f 152/234/108 147/231/108 151/235/108 -f 153/236/114 147/231/114 149/230/114 -f 150/237/115 152/238/115 154/239/115 -f 156/240/113 157/241/113 155/242/113 -f 157/241/106 162/243/106 161/244/106 -f 160/245/108 155/246/108 159/247/108 -f 157/241/114 159/248/114 155/249/114 -f 158/250/115 160/245/115 162/243/115 -f 161/244/116 160/251/116 159/252/116 -f 163/253/113 166/254/113 165/255/113 -f 165/255/106 170/256/106 169/257/106 -f 168/258/108 163/253/108 167/259/108 -f 169/257/114 163/253/114 165/255/114 -f 170/260/116 167/259/116 169/257/116 -f 172/261/112 173/262/112 171/263/112 -f 173/262/106 178/264/106 177/265/106 -f 178/264/117 175/266/117 177/265/117 -f 176/267/108 171/263/108 175/268/108 -f 177/265/110 171/269/110 173/262/110 -f 176/270/111 174/271/111 172/272/111 -f 180/273/105 189/274/105 188/275/105 -f 202/276/106 240/277/106 191/278/106 -f 240/279/109 206/280/109 205/281/109 -f 242/282/108 188/283/108 200/284/108 -f 182/285/109 242/286/109 239/287/109 -f 197/288/108 187/289/108 179/290/108 -f 199/291/108 188/283/108 187/289/108 -f 192/292/118 204/293/118 185/294/118 -f 195/295/106 192/292/106 185/294/106 -f 179/296/105 190/297/105 181/298/105 -f 188/275/105 190/297/105 187/299/105 -f 189/300/106 201/301/106 190/302/106 -f 190/302/106 195/295/106 181/303/106 -f 194/304/108 197/288/108 183/305/108 -f 240/279/119 245/306/119 241/307/119 -f 195/308/120 179/296/120 181/298/120 -f 241/309/108 200/284/108 193/310/108 -f 189/300/106 239/311/106 202/276/106 -f 194/304/121 204/312/121 203/313/121 -f 192/314/122 194/315/122 203/316/122 -f 183/317/123 185/318/123 204/319/123 -f 207/320/124 216/321/124 208/322/124 -f 193/310/125 206/323/125 241/309/125 -f 191/278/126 205/324/126 207/325/126 -f 191/326/120 208/322/120 193/327/120 -f 243/328/109 245/329/109 244/330/109 -f 211/331/127 247/332/127 184/333/127 -f 210/334/127 252/335/127 254/336/127 -f 242/286/128 243/328/128 239/287/128 -f 213/337/107 221/338/107 215/339/107 -f 205/324/106 215/340/106 207/325/106 -f 206/323/108 216/341/108 214/342/108 -f 226/343/106 232/344/106 233/345/106 -f 218/346/109 222/347/109 217/348/109 -f 214/342/108 218/349/108 206/323/108 -f 205/281/129 218/346/129 217/348/129 -f 213/350/106 217/351/106 219/352/106 -f 225/353/130 233/345/130 234/354/130 -f 221/338/131 224/355/131 223/356/131 -f 219/357/131 224/355/131 213/337/131 -f 219/357/131 226/358/131 225/359/131 -f 222/347/131 223/356/131 226/358/131 -f 221/338/131 227/360/131 214/361/131 -f 222/347/131 228/362/131 221/338/131 -f 220/363/131 229/364/131 222/347/131 -f 220/363/132 227/360/132 230/365/132 -f 231/366/131 233/345/131 232/344/131 -f 235/367/131 237/368/131 236/369/131 -f 229/370/108 235/367/108 228/371/108 -f 228/372/133 236/369/133 227/373/133 -f 225/374/108 231/366/108 224/375/108 -f 229/376/130 237/368/130 238/377/130 -f 223/378/133 231/366/133 232/344/133 -f 230/379/106 236/369/106 237/368/106 -f 186/380/106 239/311/106 196/381/106 -f 184/382/108 242/282/108 241/309/108 -f 209/383/106 244/384/106 210/385/106 -f 211/386/108 246/387/108 212/388/108 -f 186/380/106 244/384/106 240/277/106 -f 184/382/108 245/389/108 211/386/108 -f 198/390/108 246/387/108 242/282/108 -f 196/381/106 243/391/106 209/383/106 -f 248/392/108 249/393/108 250/394/108 -f 211/395/120 250/394/120 249/393/120 -f 184/396/109 248/392/109 198/397/109 -f 198/398/134 250/394/134 212/399/134 -f 251/400/106 254/336/106 252/335/106 -f 210/401/120 253/402/120 209/403/120 -f 196/404/109 252/335/109 186/405/109 -f 196/406/134 253/402/134 251/400/134 -f 279/407/106 282/408/106 280/409/106 -f 283/410/135 286/411/135 284/412/135 -f 285/413/136 290/414/136 286/411/136 -f 287/415/137 290/414/137 289/416/137 -f 283/417/138 288/418/138 287/419/138 -f 285/420/120 287/421/120 289/422/120 -f 288/418/109 286/411/109 290/414/109 -f 301/423/139 297/424/139 305/425/139 -f 312/426/108 314/427/108 311/428/108 -f 311/429/140 282/430/140 281/431/140 -f 313/432/141 279/433/141 280/434/141 -f 314/435/142 280/434/142 282/430/142 -f 312/436/143 281/431/143 279/433/143 -f 341/437/144 340/438/144 339/439/144 -f 345/440/145 344/441/145 343/442/145 -f 345/443/146 350/444/146 346/445/146 -f 347/446/147 350/444/147 349/447/147 -f 343/448/148 348/449/148 347/450/148 -f 345/440/109 347/451/109 349/452/109 -f 348/449/120 346/445/120 350/444/120 -f 361/453/149 357/454/149 365/455/149 -f 372/456/150 374/457/150 371/458/150 -f 371/459/151 342/460/151 341/461/151 -f 373/462/152 339/463/152 340/464/152 -f 374/465/153 340/464/153 342/460/153 -f 372/466/154 341/461/154 339/463/154 -f 376/467/155 377/468/155 375/469/155 -f 378/470/156 381/471/156 377/468/156 -f 382/472/120 386/473/120 383/474/120 -f 379/475/157 376/467/157 375/469/157 -f 378/476/155 391/477/155 392/478/155 -f 386/473/157 389/479/157 390/480/157 -f 382/472/156 384/481/156 381/482/156 -f 380/483/157 385/484/157 386/473/157 -f 388/485/158 390/480/158 389/479/158 -f 382/486/158 394/487/158 380/488/158 -f 383/489/156 388/485/156 384/490/156 -f 393/491/120 391/477/120 394/487/120 -f 396/492/120 397/493/120 395/494/120 -f 387/495/158 398/496/158 390/497/158 -f 380/498/157 391/477/157 376/499/157 -f 387/500/156 395/494/156 397/493/156 -f 382/501/156 392/478/156 393/491/156 -f 390/502/157 396/492/157 386/503/157 -f 386/504/155 395/494/155 383/505/155 -f 399/506/159 402/507/159 400/508/159 -f 405/509/160 402/507/160 401/510/160 -f 406/511/120 410/512/120 404/513/120 -f 399/506/161 404/513/161 403/514/161 -f 416/515/159 400/516/159 402/517/159 -f 410/512/161 413/518/161 409/519/161 -f 408/520/160 406/511/160 405/521/160 -f 410/512/161 403/514/161 404/513/161 -f 413/518/162 411/522/162 412/523/162 -f 418/524/162 406/525/162 404/526/162 -f 412/523/160 407/527/160 408/528/160 -f 418/524/120 416/515/120 417/529/120 -f 419/530/120 422/531/120 420/532/120 -f 414/533/162 421/534/162 411/535/162 -f 400/536/161 418/524/161 404/537/161 -f 421/534/160 407/538/160 411/539/160 -f 417/529/160 402/540/160 406/541/160 -f 420/532/161 414/542/161 410/543/161 -f 419/530/159 410/544/159 407/545/159 -f 424/546/163 425/547/163 423/548/163 -f 426/549/164 429/550/164 425/547/164 -f 430/551/120 434/552/120 431/553/120 -f 427/554/165 424/546/165 423/548/165 -f 426/555/163 439/556/163 440/557/163 -f 434/552/165 437/558/165 438/559/165 -f 430/551/164 432/560/164 429/561/164 -f 428/562/165 433/563/165 434/552/165 -f 436/564/166 438/559/166 437/558/166 -f 430/565/166 442/566/166 428/567/166 -f 431/568/164 436/564/164 432/569/164 -f 441/570/120 439/556/120 442/566/120 -f 443/571/120 446/572/120 445/573/120 -f 438/574/166 445/573/166 446/572/166 -f 428/575/165 439/556/165 424/576/165 -f 435/577/164 443/571/164 445/573/164 -f 430/578/164 440/557/164 441/570/164 -f 438/579/165 444/580/165 434/581/165 -f 434/582/163 443/571/163 431/583/163 -f 447/584/167 450/585/167 448/586/167 -f 453/587/168 450/585/168 449/588/168 -f 455/589/169 452/590/169 454/591/169 -f 451/592/170 448/586/170 452/590/170 -f 450/593/167 463/594/167 448/595/167 -f 458/596/170 461/597/170 457/598/170 -f 456/599/168 454/591/168 453/600/168 -f 452/590/170 457/598/170 451/592/170 -f 461/597/171 459/601/171 460/602/171 -f 466/603/171 454/604/171 452/605/171 -f 456/606/168 459/601/168 455/607/168 -f 466/603/169 464/608/169 465/609/169 -f 469/610/169 468/611/169 467/612/169 -f 470/613/171 459/614/171 462/615/171 -f 463/594/170 452/616/170 448/617/170 -f 459/618/168 467/612/168 455/619/168 -f 454/620/168 464/608/168 450/621/168 -f 468/611/170 462/622/170 458/623/170 -f 467/612/167 458/624/167 455/625/167 -f 451/592/172 456/599/172 453/587/172 -f 472/626/173 473/627/173 471/628/173 -f 474/629/174 477/630/174 473/627/174 -f 476/631/175 479/632/175 478/633/175 -f 476/631/176 471/628/176 475/634/176 -f 472/635/173 488/636/173 474/637/173 -f 481/638/176 486/639/176 482/640/176 -f 478/633/174 480/641/174 477/642/174 -f 475/634/176 482/640/176 476/631/176 -f 484/643/177 486/639/177 485/644/177 -f 476/645/177 489/646/177 490/647/177 -f 479/648/174 484/643/174 480/649/174 -f 488/636/175 490/647/175 489/646/175 -f 492/650/175 493/651/175 491/652/175 -f 483/653/177 494/654/177 486/655/177 -f 476/656/176 487/657/176 472/658/176 -f 479/659/174 493/651/174 483/660/174 -f 474/661/174 489/646/174 478/662/174 -f 486/663/176 492/650/176 482/664/176 -f 482/665/173 491/652/173 479/666/173 -f 132/205/105 134/216/105 133/206/105 -f 133/208/106 134/216/106 138/209/106 -f 137/211/107 138/209/107 136/212/107 -f 136/212/108 132/205/108 131/214/108 -f 134/216/109 132/205/109 136/212/109 -f 140/217/110 142/228/110 141/218/110 -f 141/220/106 142/228/106 146/221/106 -f 146/221/111 144/225/111 143/223/111 -f 144/225/108 140/217/108 139/226/108 -f 142/228/112 140/217/112 144/225/112 -f 148/229/113 150/237/113 149/230/113 -f 149/230/106 150/237/106 154/232/106 -f 152/234/108 148/229/108 147/231/108 -f 153/236/114 151/667/114 147/231/114 -f 150/237/115 148/229/115 152/238/115 -f 156/240/113 158/250/113 157/241/113 -f 157/241/106 158/250/106 162/243/106 -f 160/245/108 156/668/108 155/246/108 -f 157/241/114 161/244/114 159/248/114 -f 158/250/115 156/668/115 160/245/115 -f 161/244/116 162/243/116 160/251/116 -f 163/253/113 164/669/113 166/254/113 -f 165/255/106 166/670/106 170/256/106 -f 168/258/108 164/671/108 163/253/108 -f 169/257/114 167/259/114 163/253/114 -f 170/260/116 168/672/116 167/259/116 -f 172/261/112 174/271/112 173/262/112 -f 173/262/106 174/271/106 178/264/106 -f 178/264/117 176/673/117 175/266/117 -f 176/267/108 172/261/108 171/263/108 -f 177/265/110 175/674/110 171/269/110 -f 176/270/111 178/264/111 174/271/111 -f 180/273/105 182/285/105 189/274/105 -f 202/276/106 239/311/106 240/277/106 -f 240/279/109 241/307/109 206/280/109 -f 242/282/108 180/675/108 188/283/108 -f 182/285/109 180/273/109 242/286/109 -f 197/288/108 199/291/108 187/289/108 -f 199/291/108 200/284/108 188/283/108 -f 192/292/118 203/676/118 204/293/118 -f 195/295/106 201/301/106 192/292/106 -f 179/296/105 187/299/105 190/297/105 -f 188/275/105 189/274/105 190/297/105 -f 189/300/106 202/276/106 201/301/106 -f 190/302/106 201/301/106 195/295/106 -f 194/304/108 199/291/108 197/288/108 -f 240/279/119 244/677/119 245/306/119 -f 195/308/120 197/678/120 179/296/120 -f 241/309/108 242/282/108 200/284/108 -f 189/300/106 182/679/106 239/311/106 -f 194/304/121 183/305/121 204/312/121 -f 207/320/124 215/339/124 216/321/124 -f 193/310/125 208/680/125 206/323/125 -f 191/278/126 240/277/126 205/324/126 -f 191/326/120 207/320/120 208/322/120 -f 243/328/109 246/681/109 245/329/109 -f 211/331/127 249/393/127 247/332/127 -f 210/334/127 186/682/127 252/335/127 -f 242/286/128 246/681/128 243/328/128 -f 216/321/107 215/339/107 221/338/107 -f 221/338/107 214/361/107 216/321/107 -f 205/324/106 213/350/106 215/340/106 -f 206/323/108 208/680/108 216/341/108 -f 226/343/106 223/683/106 232/344/106 -f 219/357/109 217/348/109 222/347/109 -f 218/346/109 220/363/109 222/347/109 -f 214/342/108 220/684/108 218/349/108 -f 205/281/129 206/280/129 218/346/129 -f 213/350/106 205/324/106 217/351/106 -f 225/353/130 226/685/130 233/345/130 -f 221/338/131 213/337/131 224/355/131 -f 219/357/132 225/359/132 224/355/132 -f 219/357/131 222/347/131 226/358/131 -f 222/347/131 221/338/131 223/356/131 -f 221/338/131 228/362/131 227/360/131 -f 222/347/132 229/364/132 228/362/132 -f 220/363/131 230/365/131 229/364/131 -f 220/363/131 214/361/131 227/360/131 -f 231/366/131 234/354/131 233/345/131 -f 235/367/131 238/377/131 237/368/131 -f 229/370/108 238/377/108 235/367/108 -f 228/372/133 235/367/133 236/369/133 -f 225/374/108 234/354/108 231/366/108 -f 229/376/130 230/686/130 237/368/130 -f 223/378/133 224/687/133 231/366/133 -f 230/379/106 227/688/106 236/369/106 -f 186/380/106 240/277/106 239/311/106 -f 184/382/108 198/390/108 242/282/108 -f 209/383/106 243/391/106 244/384/106 -f 211/386/108 245/389/108 246/387/108 -f 186/380/106 210/385/106 244/384/106 -f 184/382/108 241/309/108 245/389/108 -f 198/390/108 212/388/108 246/387/108 -f 196/381/106 239/311/106 243/391/106 -f 248/392/108 247/332/108 249/393/108 -f 211/395/120 212/689/120 250/394/120 -f 184/396/109 247/332/109 248/392/109 -f 198/398/134 248/392/134 250/394/134 -f 251/400/106 253/402/106 254/336/106 -f 210/401/120 254/336/120 253/402/120 -f 196/404/109 251/400/109 252/335/109 -f 196/406/134 209/690/134 253/402/134 -f 279/407/106 281/691/106 282/408/106 -f 283/410/135 285/420/135 286/411/135 -f 285/413/136 289/692/136 290/414/136 -f 287/415/137 288/418/137 290/414/137 -f 283/417/138 284/412/138 288/418/138 -f 285/420/120 283/410/120 287/421/120 -f 288/418/109 284/412/109 286/411/109 -f 293/693/139 291/694/139 305/425/139 -f 305/425/139 303/695/139 301/423/139 -f 301/423/139 299/696/139 297/424/139 -f 297/424/139 295/697/139 293/693/139 -f 293/693/139 305/425/139 297/424/139 -f 312/426/108 313/698/108 314/427/108 -f 311/429/140 314/435/140 282/430/140 -f 313/432/178 312/436/178 279/433/178 -f 314/435/142 313/432/142 280/434/142 -f 312/436/179 311/429/179 281/431/179 -f 341/437/144 342/699/144 340/438/144 -f 345/440/145 346/445/145 344/441/145 -f 345/443/146 349/700/146 350/444/146 -f 347/446/147 348/449/147 350/444/147 -f 343/448/148 344/441/148 348/449/148 -f 345/440/109 343/442/109 347/451/109 -f 348/449/120 344/441/120 346/445/120 -f 353/701/149 351/702/149 365/455/149 -f 365/455/149 363/703/149 361/453/149 -f 361/453/149 359/704/149 357/454/149 -f 357/454/149 355/705/149 353/701/149 -f 353/701/149 365/455/149 357/454/149 -f 372/456/150 373/706/150 374/457/150 -f 371/459/151 374/465/151 342/460/151 -f 373/462/152 372/466/152 339/463/152 -f 374/465/180 373/462/180 340/464/180 -f 372/466/181 371/459/181 341/461/181 -f 376/467/155 378/470/155 377/468/155 -f 378/470/156 382/707/156 381/471/156 -f 382/472/120 380/483/120 386/473/120 -f 379/475/157 380/483/157 376/467/157 -f 378/476/155 376/708/155 391/477/155 -f 386/473/157 385/484/157 389/479/157 -f 382/472/156 383/474/156 384/481/156 -f 380/483/157 379/475/157 385/484/157 -f 388/485/158 387/709/158 390/480/158 -f 382/486/158 393/491/158 394/487/158 -f 383/489/156 387/709/156 388/485/156 -f 393/491/120 392/478/120 391/477/120 -f 396/492/120 398/496/120 397/493/120 -f 387/495/158 397/493/158 398/496/158 -f 380/498/157 394/487/157 391/477/157 -f 387/500/156 383/710/156 395/494/156 -f 382/501/156 378/711/156 392/478/156 -f 390/502/157 398/496/157 396/492/157 -f 386/504/155 396/492/155 395/494/155 -f 399/506/159 401/510/159 402/507/159 -f 405/509/160 406/712/160 402/507/160 -f 406/511/120 407/713/120 410/512/120 -f 399/506/161 400/508/161 404/513/161 -f 416/515/159 415/714/159 400/516/159 -f 410/512/161 414/715/161 413/518/161 -f 408/520/160 407/713/160 406/511/160 -f 410/512/161 409/519/161 403/514/161 -f 413/518/162 414/715/162 411/522/162 -f 418/524/162 417/529/162 406/525/162 -f 412/523/160 411/522/160 407/527/160 -f 418/524/120 415/714/120 416/515/120 -f 419/530/120 421/534/120 422/531/120 -f 414/533/162 422/531/162 421/534/162 -f 400/536/161 415/714/161 418/524/161 -f 421/534/160 419/530/160 407/538/160 -f 417/529/160 416/515/160 402/540/160 -f 420/532/161 422/531/161 414/542/161 -f 419/530/159 420/532/159 410/544/159 -f 424/546/163 426/549/163 425/547/163 -f 426/549/164 430/716/164 429/550/164 -f 430/551/120 428/562/120 434/552/120 -f 427/554/165 428/562/165 424/546/165 -f 426/555/163 424/717/163 439/556/163 -f 434/552/165 433/563/165 437/558/165 -f 430/551/164 431/553/164 432/560/164 -f 428/562/165 427/554/165 433/563/165 -f 436/564/166 435/718/166 438/559/166 -f 430/565/166 441/570/166 442/566/166 -f 431/568/164 435/718/164 436/564/164 -f 441/570/120 440/557/120 439/556/120 -f 443/571/120 444/580/120 446/572/120 -f 438/574/166 435/719/166 445/573/166 -f 428/575/165 442/566/165 439/556/165 -f 435/577/164 431/720/164 443/571/164 -f 430/578/164 426/721/164 440/557/164 -f 438/579/165 446/572/165 444/580/165 -f 434/582/163 444/580/163 443/571/163 -f 447/584/167 449/588/167 450/585/167 -f 453/587/168 454/722/168 450/585/168 -f 455/589/169 458/596/169 452/590/169 -f 451/592/170 447/584/170 448/586/170 -f 450/593/167 464/608/167 463/594/167 -f 458/596/170 462/723/170 461/597/170 -f 456/599/168 455/589/168 454/591/168 -f 452/590/170 458/596/170 457/598/170 -f 461/597/171 462/723/171 459/601/171 -f 466/603/171 465/609/171 454/604/171 -f 456/606/168 460/602/168 459/601/168 -f 466/603/169 463/594/169 464/608/169 -f 469/610/169 470/613/169 468/611/169 -f 470/613/171 469/610/171 459/614/171 -f 463/594/170 466/603/170 452/616/170 -f 459/618/168 469/610/168 467/612/168 -f 454/620/168 465/609/168 464/608/168 -f 468/611/170 470/613/170 462/622/170 -f 467/612/167 468/611/167 458/624/167 -f 453/587/172 449/588/172 447/584/172 -f 451/592/172 457/598/172 456/599/172 -f 453/587/172 447/584/172 451/592/172 -f 460/602/172 456/599/172 457/598/172 -f 457/598/172 461/597/172 460/602/172 -f 472/626/173 474/629/173 473/627/173 -f 474/629/174 478/724/174 477/630/174 -f 476/631/175 482/640/175 479/632/175 -f 476/631/176 472/626/176 471/628/176 -f 472/635/173 487/657/173 488/636/173 -f 481/638/176 485/644/176 486/639/176 -f 478/633/174 479/632/174 480/641/174 -f 475/634/176 481/638/176 482/640/176 -f 484/643/177 483/725/177 486/639/177 -f 476/645/177 478/726/177 489/646/177 -f 479/648/174 483/725/174 484/643/174 -f 488/636/175 487/657/175 490/647/175 -f 492/650/175 494/654/175 493/651/175 -f 483/653/177 493/651/177 494/654/177 -f 476/656/176 490/647/176 487/657/176 -f 479/659/174 491/652/174 493/651/174 -f 474/661/174 488/636/174 489/646/174 -f 486/663/176 494/654/176 492/650/176 -f 482/665/173 492/650/173 491/652/173 +f 202/282/119 203/283/119 204/284/119 +f 203/285/120 205/286/120 206/287/120 +f 206/288/121 207/289/121 208/290/121 +f 207/289/122 204/291/122 208/292/122 +f 209/293/123 207/289/123 205/286/123 +f 210/294/124 211/295/124 212/296/124 +f 211/297/120 213/298/120 214/299/120 +f 213/298/125 215/300/125 214/301/125 +f 216/302/122 212/303/122 215/304/122 +f 217/305/126 216/302/126 213/298/126 +f 218/306/127 219/307/127 220/308/127 +f 219/307/120 221/309/120 222/310/120 +f 223/311/122 220/308/122 224/312/122 +f 222/313/128 220/308/128 219/307/128 +f 225/314/129 223/315/129 221/316/129 +f 226/317/127 227/318/127 228/319/127 +f 227/318/120 229/320/120 230/321/120 +f 231/322/122 228/323/122 232/324/122 +f 227/318/128 232/325/128 228/326/128 +f 233/327/129 231/322/129 229/320/129 +f 230/321/130 231/328/130 232/329/130 +f 234/330/127 235/331/127 236/332/127 +f 236/332/120 237/333/120 238/334/120 +f 239/335/122 234/330/122 240/336/122 +f 238/334/128 234/330/128 236/332/128 +f 237/337/130 240/336/130 238/334/130 +f 241/338/126 242/339/126 243/340/126 +f 242/339/120 244/341/120 245/342/120 +f 244/341/131 246/343/131 245/342/131 +f 247/344/122 243/340/122 246/345/122 +f 245/342/124 243/346/124 242/339/124 +f 247/347/125 248/348/125 241/349/125 +f 249/350/119 250/351/119 251/352/119 +f 252/353/120 253/354/120 254/355/120 +f 253/356/123 255/357/123 256/358/123 +f 257/359/122 251/360/122 258/361/122 +f 259/362/123 257/363/123 260/364/123 +f 261/365/122 262/366/122 263/367/122 +f 264/368/122 251/360/122 262/366/122 +f 265/369/132 266/370/132 267/371/132 +f 268/372/120 265/369/120 267/371/120 +f 263/373/119 269/374/119 270/375/119 +f 251/352/119 269/374/119 262/376/119 +f 250/377/120 271/378/120 269/379/120 +f 269/379/120 268/372/120 270/380/120 +f 272/381/122 261/365/122 273/382/122 +f 253/356/133 274/383/133 275/384/133 +f 268/385/134 263/373/134 270/375/134 +f 275/386/122 258/361/122 276/387/122 +f 250/377/120 260/388/120 252/353/120 +f 272/381/135 266/389/135 277/390/135 +f 265/391/136 272/392/136 277/393/136 +f 273/394/137 267/395/137 266/396/137 +f 278/397/138 279/398/138 280/399/138 +f 276/387/139 255/400/139 275/386/139 +f 254/355/140 256/401/140 278/402/140 +f 254/403/134 280/399/134 276/404/134 +f 281/405/123 274/406/123 282/407/123 +f 283/408/141 284/409/141 285/410/141 +f 286/411/141 287/412/141 288/413/141 +f 257/363/142 281/405/142 260/364/142 +f 289/414/121 290/415/121 291/416/121 +f 256/401/120 291/417/120 278/402/120 +f 255/400/122 279/418/122 292/419/122 +f 293/420/120 294/421/120 295/422/120 +f 296/423/123 297/424/123 298/425/123 +f 292/419/122 296/426/122 255/400/122 +f 256/358/143 296/423/143 298/425/143 +f 289/427/120 298/428/120 299/429/120 +f 300/430/144 295/422/144 301/431/144 +f 290/415/145 302/432/145 303/433/145 +f 299/434/146 302/432/146 289/414/146 +f 299/434/146 293/435/146 300/436/146 +f 297/424/146 303/433/146 293/435/146 +f 290/415/145 304/437/145 292/438/145 +f 297/424/146 305/439/146 290/415/146 +f 306/440/146 307/441/146 297/424/146 +f 306/440/146 304/437/146 308/442/146 +f 309/443/146 295/422/146 294/421/146 +f 310/444/146 311/445/146 312/446/146 +f 307/447/122 310/444/122 305/448/122 +f 305/449/147 312/446/147 304/450/147 +f 300/451/122 309/443/122 302/452/122 +f 307/453/144 311/445/144 313/454/144 +f 303/455/147 309/443/147 294/421/147 +f 308/456/120 312/446/120 311/445/120 +f 314/457/120 260/388/120 315/458/120 +f 285/459/122 257/359/122 275/386/122 +f 316/460/120 282/461/120 286/462/120 +f 283/463/122 317/464/122 318/465/122 +f 314/457/120 282/461/120 253/354/120 +f 285/459/122 274/466/122 283/463/122 +f 319/467/122 317/464/122 257/359/122 +f 315/458/120 281/468/120 316/460/120 +f 320/469/122 321/470/122 322/471/122 +f 283/472/134 322/471/134 321/470/134 +f 285/473/123 320/469/123 319/474/123 +f 319/475/148 322/471/148 318/476/148 +f 323/477/120 288/413/120 287/412/120 +f 286/478/134 324/479/134 316/480/134 +f 315/481/123 287/412/123 314/482/123 +f 315/483/148 324/479/148 323/477/148 +f 325/484/120 326/485/120 327/486/120 +f 328/487/149 329/488/149 330/489/149 +f 331/490/150 332/491/150 329/488/150 +f 333/492/151 332/491/151 334/493/151 +f 328/494/152 335/495/152 333/496/152 +f 331/497/134 333/498/134 334/499/134 +f 335/495/123 329/488/123 332/491/123 +f 336/500/153 337/501/153 338/502/153 +f 339/503/122 340/504/122 341/505/122 +f 341/506/154 326/507/154 342/508/154 +f 343/509/155 325/510/155 327/511/155 +f 340/512/156 327/511/156 326/507/156 +f 339/513/157 342/508/157 325/510/157 +f 344/514/158 346/515/158 345/516/158 +f 347/517/159 349/518/159 348/519/159 +f 347/520/160 351/521/160 350/522/160 +f 352/523/161 353/524/161 350/522/161 +f 349/525/162 352/526/162 354/527/162 +f 347/517/134 353/528/134 352/529/134 +f 354/527/123 350/522/123 351/521/123 +f 355/530/163 357/531/163 356/532/163 +f 358/533/164 360/534/164 359/535/164 +f 360/536/165 344/537/165 361/538/165 +f 362/539/166 345/540/166 346/541/166 +f 359/542/167 361/538/167 345/540/167 +f 358/543/168 346/541/168 344/537/168 +f 363/544/169 364/545/169 365/546/169 +f 366/547/170 367/548/170 364/545/170 +f 368/549/134 369/550/134 370/551/134 +f 371/552/171 363/544/171 365/546/171 +f 366/553/169 372/554/169 373/555/169 +f 369/550/171 374/556/171 375/557/171 +f 368/549/170 376/558/170 367/559/170 +f 377/560/171 378/561/171 369/550/171 +f 379/562/172 375/557/172 374/556/172 +f 368/563/172 380/564/172 377/565/172 +f 370/566/170 379/562/170 376/567/170 +f 381/568/134 372/554/134 380/564/134 +f 382/569/134 383/570/134 384/571/134 +f 385/572/172 386/573/172 375/574/172 +f 377/575/171 372/554/171 363/576/171 +f 385/577/170 384/571/170 383/570/170 +f 368/578/170 373/555/170 381/568/170 +f 375/579/171 382/569/171 369/580/171 +f 369/581/169 384/571/169 370/582/169 +f 387/583/173 388/584/173 389/585/173 +f 390/586/174 388/584/174 391/587/174 +f 392/588/134 393/589/134 394/590/134 +f 387/583/175 394/590/175 395/591/175 +f 396/592/173 389/593/173 388/594/173 +f 393/589/175 397/595/175 398/596/175 +f 399/597/174 392/588/174 390/598/174 +f 393/589/175 395/591/175 394/590/175 +f 397/595/176 400/599/176 401/600/176 +f 402/601/176 392/602/176 394/603/176 +f 401/600/174 403/604/174 399/605/174 +f 402/601/134 396/592/134 404/606/134 +f 405/607/134 406/608/134 407/609/134 +f 408/610/176 409/611/176 400/612/176 +f 389/613/175 402/601/175 394/614/175 +f 409/611/174 403/615/174 400/616/174 +f 404/606/174 388/617/174 392/618/174 +f 407/609/175 408/619/175 393/620/175 +f 405/607/173 393/621/173 403/622/173 +f 410/623/177 411/624/177 412/625/177 +f 413/626/178 414/627/178 411/624/178 +f 415/628/134 416/629/134 417/630/134 +f 418/631/179 410/623/179 412/625/179 +f 413/632/177 419/633/177 420/634/177 +f 416/629/179 421/635/179 422/636/179 +f 415/628/178 423/637/178 414/638/178 +f 424/639/179 425/640/179 416/629/179 +f 426/641/180 422/636/180 421/635/180 +f 415/642/180 427/643/180 424/644/180 +f 417/645/178 426/641/178 423/646/178 +f 428/647/134 419/633/134 427/643/134 +f 429/648/134 430/649/134 431/650/134 +f 422/651/180 431/650/180 430/649/180 +f 424/652/179 419/633/179 410/653/179 +f 432/654/178 429/648/178 431/650/178 +f 415/655/178 420/634/178 428/647/178 +f 422/656/179 433/657/179 416/658/179 +f 416/659/177 429/648/177 417/660/177 +f 434/661/181 435/662/181 436/663/181 +f 437/664/182 435/662/182 438/665/182 +f 439/666/183 440/667/183 441/668/183 +f 442/669/184 436/663/184 440/667/184 +f 435/670/181 443/671/181 436/672/181 +f 444/673/184 445/674/184 446/675/184 +f 447/676/182 441/668/182 437/677/182 +f 440/667/184 446/675/184 442/669/184 +f 445/674/185 448/678/185 449/679/185 +f 450/680/185 441/681/185 440/682/185 +f 447/683/182 448/678/182 439/684/182 +f 450/680/183 451/685/183 452/686/183 +f 453/687/183 454/688/183 455/689/183 +f 456/690/185 448/691/185 457/692/185 +f 443/671/184 440/693/184 436/694/184 +f 448/695/182 455/689/182 439/696/182 +f 441/697/182 451/685/182 435/698/182 +f 454/688/184 457/699/184 444/700/184 +f 455/689/181 444/701/181 439/702/181 +f 442/669/186 447/676/186 437/664/186 +f 458/703/187 459/704/187 460/705/187 +f 461/706/188 462/707/188 459/704/188 +f 463/708/189 464/709/189 465/710/189 +f 463/708/190 460/705/190 466/711/190 +f 458/712/187 467/713/187 461/714/187 +f 468/715/190 469/716/190 470/717/190 +f 465/710/188 471/718/188 462/719/188 +f 466/711/190 470/717/190 463/708/190 +f 472/720/191 469/716/191 473/721/191 +f 463/722/191 474/723/191 475/724/191 +f 464/725/188 472/720/188 471/726/188 +f 467/713/189 475/724/189 474/723/189 +f 476/727/189 477/728/189 478/729/189 +f 479/730/191 480/731/191 469/732/191 +f 463/733/190 481/734/190 458/735/190 +f 464/736/188 477/728/188 479/737/188 +f 461/738/188 474/723/188 465/739/188 +f 469/740/190 476/727/190 470/741/190 +f 470/742/187 478/729/187 464/743/187 +f 202/282/119 209/293/119 203/283/119 +f 203/285/120 209/293/120 205/286/120 +f 206/288/121 205/286/121 207/289/121 +f 207/289/122 202/282/122 204/291/122 +f 209/293/123 202/282/123 207/289/123 +f 210/294/124 217/305/124 211/295/124 +f 211/297/120 217/305/120 213/298/120 +f 213/298/125 216/302/125 215/300/125 +f 216/302/122 210/294/122 212/303/122 +f 217/305/126 210/294/126 216/302/126 +f 218/306/127 225/314/127 219/307/127 +f 219/307/120 225/314/120 221/309/120 +f 223/311/122 218/306/122 220/308/122 +f 222/313/128 224/744/128 220/308/128 +f 225/314/129 218/306/129 223/315/129 +f 226/317/127 233/327/127 227/318/127 +f 227/318/120 233/327/120 229/320/120 +f 231/322/122 226/745/122 228/323/122 +f 227/318/128 230/321/128 232/325/128 +f 233/327/129 226/745/129 231/322/129 +f 230/321/130 229/320/130 231/328/130 +f 234/330/127 482/746/127 235/331/127 +f 236/332/120 235/747/120 237/333/120 +f 239/335/122 482/748/122 234/330/122 +f 238/334/128 240/336/128 234/330/128 +f 237/337/130 239/749/130 240/336/130 +f 241/338/126 248/348/126 242/339/126 +f 242/339/120 248/348/120 244/341/120 +f 244/341/131 247/750/131 246/343/131 +f 247/344/122 241/338/122 243/340/122 +f 245/342/124 246/751/124 243/346/124 +f 247/347/125 244/341/125 248/348/125 +f 249/350/119 259/362/119 250/351/119 +f 252/353/120 260/388/120 253/354/120 +f 253/356/123 275/384/123 255/357/123 +f 257/359/122 249/752/122 251/360/122 +f 259/362/123 249/350/123 257/363/123 +f 261/365/122 264/368/122 262/366/122 +f 264/368/122 258/361/122 251/360/122 +f 265/369/132 277/753/132 266/370/132 +f 268/372/120 271/378/120 265/369/120 +f 263/373/119 262/376/119 269/374/119 +f 251/352/119 250/351/119 269/374/119 +f 250/377/120 252/353/120 271/378/120 +f 269/379/120 271/378/120 268/372/120 +f 272/381/122 264/368/122 261/365/122 +f 253/356/133 282/754/133 274/383/133 +f 268/385/134 261/755/134 263/373/134 +f 275/386/122 257/359/122 258/361/122 +f 250/377/120 259/756/120 260/388/120 +f 272/381/135 273/382/135 266/389/135 +f 278/397/138 291/416/138 279/398/138 +f 276/387/139 280/757/139 255/400/139 +f 254/355/140 253/354/140 256/401/140 +f 254/403/134 278/397/134 280/399/134 +f 281/405/123 317/758/123 274/406/123 +f 283/408/141 321/470/141 284/409/141 +f 286/411/141 314/759/141 287/412/141 +f 257/363/142 317/758/142 281/405/142 +f 279/398/121 291/416/121 290/415/121 +f 290/415/121 292/438/121 279/398/121 +f 256/401/120 289/427/120 291/417/120 +f 255/400/122 280/757/122 279/418/122 +f 293/420/120 303/760/120 294/421/120 +f 299/434/123 298/425/123 297/424/123 +f 296/423/123 306/440/123 297/424/123 +f 292/419/122 306/761/122 296/426/122 +f 256/358/143 255/357/143 296/423/143 +f 289/427/120 256/401/120 298/428/120 +f 300/430/144 293/762/144 295/422/144 +f 290/415/146 289/414/146 302/432/146 +f 299/434/146 300/436/146 302/432/146 +f 299/434/146 297/424/146 293/435/146 +f 297/424/146 290/415/146 303/433/146 +f 290/415/146 305/439/146 304/437/146 +f 297/424/146 307/441/146 305/439/146 +f 306/440/146 308/442/146 307/441/146 +f 306/440/146 292/438/146 304/437/146 +f 309/443/146 301/431/146 295/422/146 +f 310/444/146 313/454/146 311/445/146 +f 307/447/122 313/454/122 310/444/122 +f 305/449/147 310/444/147 312/446/147 +f 300/451/122 301/431/122 309/443/122 +f 307/453/144 308/763/144 311/445/144 +f 303/455/147 302/764/147 309/443/147 +f 308/456/120 304/765/120 312/446/120 +f 314/457/120 253/354/120 260/388/120 +f 285/459/122 319/467/122 257/359/122 +f 316/460/120 281/468/120 282/461/120 +f 283/463/122 274/466/122 317/464/122 +f 314/457/120 286/462/120 282/461/120 +f 285/459/122 275/386/122 274/466/122 +f 319/467/122 318/465/122 317/464/122 +f 315/458/120 260/388/120 281/468/120 +f 320/469/122 284/409/122 321/470/122 +f 283/472/134 318/766/134 322/471/134 +f 285/473/123 284/409/123 320/469/123 +f 319/475/148 320/469/148 322/471/148 +f 323/477/120 324/479/120 288/413/120 +f 286/478/134 288/413/134 324/479/134 +f 315/481/123 323/477/123 287/412/123 +f 315/483/148 316/767/148 324/479/148 +f 325/484/120 342/768/120 326/485/120 +f 328/487/149 331/497/149 329/488/149 +f 331/490/150 334/769/150 332/491/150 +f 333/492/151 335/495/151 332/491/151 +f 328/494/152 330/489/152 335/495/152 +f 331/497/134 328/487/134 333/498/134 +f 335/495/123 330/489/123 329/488/123 +f 483/770/153 484/771/153 338/502/153 +f 338/502/153 485/772/153 336/500/153 +f 336/500/153 486/773/153 337/501/153 +f 337/501/153 487/774/153 483/770/153 +f 483/770/153 338/502/153 337/501/153 +f 339/503/122 343/775/122 340/504/122 +f 341/506/154 340/512/154 326/507/154 +f 343/509/192 339/513/192 325/510/192 +f 340/512/156 343/509/156 327/511/156 +f 339/513/157 341/506/157 342/508/157 +f 344/514/158 345/516/158 361/776/158 +f 347/517/159 348/519/159 351/521/159 +f 347/520/160 350/522/160 353/777/160 +f 352/523/161 350/522/161 354/527/161 +f 349/525/162 354/527/162 348/519/162 +f 347/517/134 352/529/134 349/518/134 +f 354/527/123 351/521/123 348/519/123 +f 488/778/163 357/531/163 489/779/163 +f 357/531/163 355/530/163 490/780/163 +f 355/530/163 356/532/163 491/781/163 +f 356/532/163 488/778/163 492/782/163 +f 488/778/163 356/532/163 357/531/163 +f 358/533/164 359/535/164 362/783/164 +f 360/536/165 361/538/165 359/542/165 +f 362/539/166 346/541/166 358/543/166 +f 359/542/167 345/540/167 362/539/167 +f 358/543/193 344/537/193 360/536/193 +f 363/544/169 366/547/169 364/545/169 +f 366/547/170 368/784/170 367/548/170 +f 368/549/134 377/560/134 369/550/134 +f 371/552/171 377/560/171 363/544/171 +f 366/553/169 363/785/169 372/554/169 +f 369/550/171 378/561/171 374/556/171 +f 368/549/170 370/551/170 376/558/170 +f 377/560/171 371/552/171 378/561/171 +f 379/562/172 385/786/172 375/557/172 +f 368/563/172 381/568/172 380/564/172 +f 370/566/170 385/786/170 379/562/170 +f 381/568/134 373/555/134 372/554/134 +f 382/569/134 386/573/134 383/570/134 +f 385/572/172 383/570/172 386/573/172 +f 377/575/171 380/564/171 372/554/171 +f 385/577/170 370/787/170 384/571/170 +f 368/578/170 366/788/170 373/555/170 +f 375/579/171 386/573/171 382/569/171 +f 369/581/169 382/569/169 384/571/169 +f 387/583/173 391/587/173 388/584/173 +f 390/586/174 392/789/174 388/584/174 +f 392/588/134 403/790/134 393/589/134 +f 387/583/175 389/585/175 394/590/175 +f 396/592/173 493/791/173 389/593/173 +f 393/589/175 408/792/175 397/595/175 +f 399/597/174 403/790/174 392/588/174 +f 393/589/175 398/596/175 395/591/175 +f 397/595/176 408/792/176 400/599/176 +f 402/601/176 404/606/176 392/602/176 +f 401/600/174 400/599/174 403/604/174 +f 402/601/134 493/791/134 396/592/134 +f 405/607/134 409/611/134 406/608/134 +f 408/610/176 406/608/176 409/611/176 +f 389/613/175 493/791/175 402/601/175 +f 409/611/174 405/607/174 403/615/174 +f 404/606/174 396/592/174 388/617/174 +f 407/609/175 406/608/175 408/619/175 +f 405/607/173 407/609/173 393/621/173 +f 410/623/177 413/626/177 411/624/177 +f 413/626/178 415/793/178 414/627/178 +f 415/628/134 424/639/134 416/629/134 +f 418/631/179 424/639/179 410/623/179 +f 413/632/177 410/794/177 419/633/177 +f 416/629/179 425/640/179 421/635/179 +f 415/628/178 417/630/178 423/637/178 +f 424/639/179 418/631/179 425/640/179 +f 426/641/180 432/795/180 422/636/180 +f 415/642/180 428/647/180 427/643/180 +f 417/645/178 432/795/178 426/641/178 +f 428/647/134 420/634/134 419/633/134 +f 429/648/134 433/657/134 430/649/134 +f 422/651/180 432/796/180 431/650/180 +f 424/652/179 427/643/179 419/633/179 +f 432/654/178 417/797/178 429/648/178 +f 415/655/178 413/798/178 420/634/178 +f 422/656/179 430/649/179 433/657/179 +f 416/659/177 433/657/177 429/648/177 +f 434/661/181 438/665/181 435/662/181 +f 437/664/182 441/799/182 435/662/182 +f 439/666/183 444/673/183 440/667/183 +f 442/669/184 434/661/184 436/663/184 +f 435/670/181 451/685/181 443/671/181 +f 444/673/184 457/800/184 445/674/184 +f 447/676/182 439/666/182 441/668/182 +f 440/667/184 444/673/184 446/675/184 +f 445/674/185 457/800/185 448/678/185 +f 450/680/185 452/686/185 441/681/185 +f 447/683/182 449/679/182 448/678/182 +f 450/680/183 443/671/183 451/685/183 +f 453/687/183 456/690/183 454/688/183 +f 456/690/185 453/687/185 448/691/185 +f 443/671/184 450/680/184 440/693/184 +f 448/695/182 453/687/182 455/689/182 +f 441/697/182 452/686/182 451/685/182 +f 454/688/184 456/690/184 457/699/184 +f 455/689/181 454/688/181 444/701/181 +f 437/664/186 438/665/186 434/661/186 +f 442/669/186 446/675/186 447/676/186 +f 437/664/186 434/661/186 442/669/186 +f 449/679/186 447/676/186 446/675/186 +f 446/675/186 445/674/186 449/679/186 +f 458/703/187 461/706/187 459/704/187 +f 461/706/188 465/801/188 462/707/188 +f 463/708/189 470/717/189 464/709/189 +f 463/708/190 458/703/190 460/705/190 +f 458/712/187 481/734/187 467/713/187 +f 468/715/190 473/721/190 469/716/190 +f 465/710/188 464/709/188 471/718/188 +f 466/711/190 468/715/190 470/717/190 +f 472/720/191 479/802/191 469/716/191 +f 463/722/191 465/803/191 474/723/191 +f 464/725/188 479/802/188 472/720/188 +f 467/713/189 481/734/189 475/724/189 +f 476/727/189 480/731/189 477/728/189 +f 479/730/191 477/728/191 480/731/191 +f 463/733/190 475/724/190 481/734/190 +f 464/736/188 478/729/188 477/728/188 +f 461/738/188 467/713/188 474/723/188 +f 469/740/190 480/731/190 476/727/190 +f 470/742/187 476/727/187 478/729/187 s 1 -f 291/727/182 294/728/183 292/729/184 -f 293/730/185 296/731/186 294/728/183 -f 297/732/187 296/731/186 295/733/188 -f 299/734/189 298/735/190 297/732/187 -f 301/736/191 300/737/192 299/734/189 -f 303/738/193 302/739/194 301/736/191 -f 303/740/193 306/741/195 304/742/196 -f 305/743/197 292/729/184 306/741/195 -f 351/744/198 354/745/199 352/746/200 -f 353/747/201 356/748/202 354/745/199 -f 357/749/203 356/748/202 355/750/204 -f 359/751/205 358/752/206 357/749/203 -f 361/753/207 360/754/208 359/751/205 -f 363/755/209 362/756/210 361/753/207 -f 363/757/209 366/758/211 364/759/212 -f 365/760/213 352/746/200 366/758/211 -f 291/727/182 293/730/185 294/728/183 -f 293/730/185 295/733/188 296/731/186 -f 297/732/187 298/735/190 296/731/186 -f 299/734/189 300/737/192 298/735/190 -f 301/736/191 302/739/194 300/737/192 -f 303/738/193 304/761/196 302/739/194 -f 303/740/193 305/743/197 306/741/195 -f 305/743/197 291/727/182 292/729/184 -f 351/744/198 353/747/201 354/745/199 -f 353/747/201 355/750/204 356/748/202 -f 357/749/203 358/752/206 356/748/202 -f 359/751/205 360/754/208 358/752/206 -f 361/753/207 362/756/210 360/754/208 -f 363/755/209 364/762/212 362/756/210 -f 363/757/209 365/760/213 366/758/211 -f 365/760/213 351/744/198 352/746/200 -o LeftFoot -v -0.145070 24.067028 2.136320 -v 4.121621 24.067026 2.136320 -v -0.145070 24.067028 -2.130370 -v -0.145070 22.765120 -2.130370 -v 4.121621 24.067026 -2.130370 -v 4.121620 22.765116 -2.130370 -v 1.988274 21.575682 -3.487657 -v 1.988275 24.067026 -3.487657 -vt 0.144578 0.823529 -vt 0.180723 0.941176 -vt 0.144578 0.941176 -vt 0.048193 0.941176 -vt 0.144578 0.941176 -vt 0.096386 0.970588 -vt 0.048193 0.941176 -vt 0.012048 0.941176 -vt 0.048193 0.823529 -vt 0.144578 1.000000 -vt 0.048193 1.000000 -vt 0.000000 1.000000 -vt 0.096386 0.970588 -vt 0.192771 1.000000 -vn 1.0000 -0.0000 0.0000 -vn -0.0000 -0.7521 0.6591 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.5368 0.0000 -0.8437 -vn -0.5368 0.0000 -0.8437 -usemtl None -s off -f 496/763/214 500/764/214 499/765/214 -f 500/766/215 498/767/215 501/768/215 -f 497/769/216 498/770/216 495/771/216 -f 499/765/217 495/771/217 496/763/217 -f 500/764/218 502/772/218 499/765/218 -f 498/770/219 502/773/219 501/774/219 -f 497/769/217 499/765/217 502/775/217 -f 499/765/217 497/769/217 495/771/217 -f 500/764/218 501/776/218 502/772/218 -f 498/770/219 497/769/219 502/773/219 -o LeftLeg -v 1.889860 19.857271 -1.987077 -v 1.889860 19.673222 -2.313624 -v 1.889860 19.480209 -1.987078 -v 2.778606 19.489141 -1.987077 -v 2.648463 19.358999 -2.313624 -v 2.511982 19.222517 -1.987077 -v 3.146736 18.600395 -1.987078 -v 2.962687 18.600395 -2.313624 -v 2.769673 18.600395 -1.987078 -v 2.778605 17.711649 -1.987078 -v 2.648463 17.841791 -2.313624 -v 2.511982 17.978273 -1.987078 -v 1.889860 17.343519 -1.987078 -v 1.889860 17.527569 -2.313624 -v 1.889860 17.720581 -1.987078 -v 1.001114 17.711649 -1.987078 -v 1.131257 17.841791 -2.313624 -v 1.267738 17.978273 -1.987078 -v 0.632984 18.600395 -1.987078 -v 0.817033 18.600395 -2.313624 -v 1.010046 18.600395 -1.987078 -v 1.001114 19.489140 -1.987078 -v 1.131256 19.358997 -2.313624 -v 1.267738 19.222517 -1.987078 -v -0.033751 18.711559 2.026670 -v -0.033751 18.475336 2.026670 -v 4.013639 18.711559 2.026670 -v 4.013639 18.475336 2.026670 -v -0.033751 18.998186 -2.020720 -v -0.033751 18.188709 -2.020720 -v 4.013639 18.998186 -2.020720 -v 4.013639 18.188707 -2.020720 -v 0.900512 18.998186 -2.020720 -v 2.857196 18.188707 -2.020720 -v 0.900512 18.188709 -2.020720 -v 2.857196 18.998186 -2.020720 +f 484/804/194 494/805/195 495/806/196 +f 483/807/197 496/808/198 494/805/195 +f 337/809/199 496/808/198 487/810/200 +f 486/811/201 497/812/202 337/809/199 +f 336/813/203 498/814/204 486/811/201 +f 485/815/205 499/816/206 336/813/203 +f 485/817/205 500/818/207 501/819/208 +f 338/820/209 495/806/196 500/818/207 +f 489/821/210 503/822/211 502/823/212 +f 488/824/213 502/823/212 504/825/214 +f 356/826/215 492/827/216 504/825/214 +f 491/828/217 356/826/215 505/829/218 +f 355/830/219 491/828/217 506/831/220 +f 490/832/221 355/830/219 507/833/222 +f 490/834/221 509/835/223 508/836/224 +f 357/837/225 508/836/224 503/822/211 +f 484/804/194 483/807/197 494/805/195 +f 483/807/197 487/810/200 496/808/198 +f 337/809/199 497/812/202 496/808/198 +f 486/811/201 498/814/204 497/812/202 +f 336/813/203 499/816/206 498/814/204 +f 485/815/205 501/838/208 499/816/206 +f 485/817/205 338/820/209 500/818/207 +f 338/820/209 484/804/194 495/806/196 +f 489/821/210 502/823/212 488/824/213 +f 488/824/213 504/825/214 492/827/216 +f 356/826/215 504/825/214 505/829/218 +f 491/828/217 505/829/218 506/831/220 +f 355/830/219 506/831/220 507/833/222 +f 490/832/221 507/833/222 509/839/223 +f 490/834/221 508/836/224 357/837/225 +f 357/837/225 503/822/211 489/821/210 +o RightLeg +v -1.221394 19.489141 -1.987076 +v -2.110140 19.673222 -2.313622 +v -2.110140 19.857271 -1.987076 +v -1.351537 19.358999 -2.313622 +v -2.110140 19.480209 -1.987076 +v -0.853264 18.600395 -1.987076 +v -1.037313 18.600395 -2.313622 +v -1.488018 19.222517 -1.987076 +v -1.221395 17.711649 -1.987076 +v -1.351537 17.841791 -2.313622 +v -1.230327 18.600395 -1.987076 +v -2.110140 17.527569 -2.313622 +v -1.488018 17.978273 -1.987076 +v -2.998886 17.711649 -1.987076 +v -2.110140 17.343519 -1.987076 +v -2.868743 17.841791 -2.313622 +v -2.110140 17.720581 -1.987076 +v -3.367016 18.600395 -1.987076 +v -3.182967 18.600395 -2.313622 +v -2.732262 17.978273 -1.987076 +v -2.868744 19.358997 -2.313622 +v -2.989954 18.600395 -1.987076 +v -2.998886 19.489140 -1.987076 +v -2.732262 19.222517 -1.987076 +v -4.033751 18.475336 2.026671 +v 0.013640 18.711559 2.026671 +v -4.033751 18.711559 2.026671 +v 0.013640 18.475336 2.026671 +v 0.013639 18.998186 -2.020719 +v -3.099488 18.188709 -2.020719 +v -4.033751 18.998186 -2.020719 +v -3.099488 18.998186 -2.020719 +v -4.033751 18.188709 -2.020719 +v 0.013639 18.188707 -2.020719 +v -1.142804 18.998186 -2.020719 +v -1.142804 18.188707 -2.020719 vt 0.144578 0.794118 vt 0.192771 0.764706 vt 0.192771 0.794118 @@ -2285,27 +2413,27 @@ vt 0.253012 0.735294 vt 0.204819 0.735294 vt 0.192771 0.794118 vn 0.6160 0.6160 -0.4910 -vn 0.0000 0.2170 -0.9761 -vn 0.0000 0.8712 -0.4910 -vn 0.1535 0.1535 -0.9761 +vn 0.0000 0.2171 -0.9762 +vn -0.0000 0.8712 -0.4910 +vn 0.1535 0.1535 -0.9762 vn 0.0000 -0.8609 -0.5088 vn 0.8712 0.0000 -0.4910 -vn 0.2171 0.0000 -0.9761 +vn 0.2171 -0.0000 -0.9762 vn -0.6087 -0.6087 -0.5088 vn 0.6160 -0.6160 -0.4910 -vn 0.1535 -0.1535 -0.9761 -vn -0.8608 0.0000 -0.5088 -vn 0.0000 -0.2170 -0.9761 +vn 0.1535 -0.1535 -0.9762 +vn -0.8609 -0.0000 -0.5088 +vn -0.0000 -0.2171 -0.9762 vn -0.6087 0.6087 -0.5088 vn -0.6160 -0.6160 -0.4910 -vn 0.0000 -0.8712 -0.4910 -vn -0.1535 -0.1535 -0.9761 -vn 0.0000 0.8609 -0.5088 +vn -0.0000 -0.8712 -0.4910 +vn -0.1535 -0.1535 -0.9762 +vn -0.0000 0.8609 -0.5088 vn -0.8712 0.0000 -0.4910 -vn -0.2171 0.0000 -0.9761 +vn -0.2171 0.0000 -0.9762 vn 0.6087 0.6087 -0.5088 -vn -0.1535 0.1535 -0.9761 -vn 0.8608 0.0000 -0.5088 +vn -0.1535 0.1535 -0.9762 +vn 0.8609 0.0000 -0.5088 vn -0.6160 0.6160 -0.4910 vn 0.6087 -0.6087 -0.5088 vn -0.7225 0.0000 0.6914 @@ -2313,221 +2441,220 @@ vn 0.7225 0.0000 0.6914 vn 0.6906 0.0000 -0.7232 vn 0.0000 0.0000 -1.0000 vn -0.6906 0.0000 -0.7232 -usemtl None s 1 -f 506/777/220 504/778/221 503/779/222 -f 507/780/223 505/781/224 504/778/221 -f 509/782/225 507/780/223 506/777/220 -f 510/783/226 508/784/227 507/780/223 -f 512/785/228 510/783/226 509/782/225 -f 513/786/229 511/787/230 510/783/226 -f 512/785/228 516/788/231 513/786/229 -f 516/788/231 514/789/232 513/786/229 -f 518/790/233 516/791/231 515/792/234 -f 519/793/235 517/794/236 516/791/231 -f 521/795/237 519/793/235 518/790/233 -f 522/796/238 520/797/239 519/793/235 -f 521/795/237 525/798/240 522/796/238 -f 525/798/240 523/799/241 522/796/238 -f 503/779/222 525/798/240 524/800/242 -f 504/778/221 526/801/243 525/798/240 -f 528/802/244 529/803/245 527/804/244 -f 530/805/245 533/806/246 529/803/245 -f 537/807/247 531/808/248 535/809/247 -f 532/810/248 527/804/244 531/808/248 -f 534/811/246 538/812/247 533/806/246 -f 506/777/220 507/780/223 504/778/221 -f 507/780/223 508/813/227 505/781/224 -f 509/782/225 510/783/226 507/780/223 -f 510/783/226 511/814/230 508/784/227 -f 512/785/228 513/786/229 510/783/226 -f 513/786/229 514/815/232 511/787/230 -f 512/785/228 515/816/234 516/788/231 -f 516/788/231 517/817/236 514/789/232 -f 518/790/233 519/793/235 516/791/231 -f 519/793/235 520/818/239 517/794/236 -f 521/795/237 522/796/238 519/793/235 -f 522/796/238 523/819/241 520/797/239 -f 521/795/237 524/800/242 525/798/240 -f 525/798/240 526/820/243 523/799/241 -f 503/779/222 504/778/221 525/798/240 -f 504/778/221 505/821/224 526/801/243 -f 528/802/244 530/805/245 529/803/245 -f 530/805/245 534/811/246 533/806/246 -f 537/807/247 532/810/248 531/808/248 -f 532/810/248 528/802/244 527/804/244 -f 534/811/246 536/822/247 538/812/247 -o LeftArm -v 3.848080 -1.385496 2.089541 -v 3.848082 2.482785 2.089541 -v 6.707815 -1.385498 2.089541 -v 6.707817 2.482783 2.089541 -v 3.848080 -1.385496 -2.083592 -v 3.848082 2.482785 -2.083592 -v 6.707815 -1.385498 -2.083592 -v 6.707817 2.482783 -2.083592 -v 5.563126 4.039324 2.089541 -v 8.399313 4.039323 2.089541 -v 8.399311 0.171042 2.089541 -v 8.399311 0.171042 -2.083592 -v 8.399313 4.039323 -2.083592 -v 5.563126 4.039324 -2.083592 -v 5.701231 -2.606927 1.081455 -v 4.854661 -2.606926 1.081455 -v 4.854661 -2.606926 -1.075505 -v 5.701231 -2.606927 -1.075505 -v 9.538965 0.957276 1.081455 -v 9.538965 0.957276 -1.075506 -v 9.538967 3.253084 -1.075506 -v 9.538967 3.253084 1.081455 -v 7.980860 -1.823903 -1.075506 -v 8.611074 -1.243971 -1.075506 -v 8.611074 -1.243970 1.081455 -v 7.980860 -1.823903 1.081455 -v 4.476345 -2.606926 1.567900 -v 6.079547 -2.606927 1.567900 -v 4.476345 -2.606926 -1.561950 -v 6.079547 -2.606927 -1.561950 -v 9.538965 0.439518 -1.561950 -v 9.538965 0.439518 1.567899 -v 9.538967 3.770842 -1.561950 -v 9.538967 3.770842 1.567899 -v 8.930279 -0.950234 -1.561950 -v 7.661656 -2.117639 -1.561950 -v 8.930279 -0.950234 1.567900 -v 7.661656 -2.117639 1.567900 -v 5.701231 -4.274506 1.081455 -v 4.854660 -4.274506 1.081455 -v 4.854660 -4.274506 -1.075505 -v 5.701231 -4.274506 -1.075505 -v 11.094896 0.957275 1.081455 -v 11.094896 0.957275 -1.075506 -v 11.094898 3.253083 -1.075506 -v 11.094898 3.253083 1.081455 -v 8.994442 -3.089109 -1.075506 -v 9.624655 -2.509177 -1.075506 -v 9.624655 -2.509176 1.081455 -v 8.994442 -3.089109 1.081455 -v 5.889863 7.776278 1.993027 -v 5.889863 7.592228 2.319573 -v 5.889863 7.399215 1.993027 -v 6.778609 7.408146 1.993027 -v 6.648466 7.278004 2.319573 -v 6.511984 7.141523 1.993027 -v 7.146739 6.519400 1.993027 -v 6.962690 6.519400 2.319573 -v 6.769676 6.519400 1.993027 -v 6.778607 5.630654 1.993027 -v 6.648465 5.760797 2.319573 -v 6.511983 5.897279 1.993027 -v 5.889862 5.262525 1.993027 -v 5.889862 5.446574 2.319573 -v 5.889862 5.639588 1.993027 -v 5.001116 5.630656 1.993027 -v 5.131258 5.760798 2.319573 -v 5.267740 5.897280 1.993027 -v 4.632987 6.519403 1.993027 -v 4.817035 6.519403 2.319573 -v 5.010049 6.519402 1.993027 -v 5.001116 7.408147 1.993027 -v 5.131258 7.278005 2.319573 -v 5.267740 7.141523 1.993027 -v 3.966252 6.630567 -2.020720 -v 3.966251 6.394344 -2.020720 -v 8.013643 6.630563 -2.020720 -v 8.013641 6.394340 -2.020720 -v 3.966252 6.917194 2.026670 -v 3.966251 6.107717 2.026670 -v 8.013641 6.917191 2.026670 -v 8.013641 6.107713 2.026670 -v 4.900514 6.917193 2.026670 -v 6.857197 6.107714 2.026670 -v 4.900513 6.107715 2.026670 -v 6.857198 6.917192 2.026670 +f 510/840/226 511/841/227 512/842/228 +f 513/843/229 514/844/230 511/841/227 +f 515/845/231 513/843/229 510/840/226 +f 516/846/232 517/847/233 513/843/229 +f 518/848/234 516/846/232 515/845/231 +f 519/849/235 520/850/236 516/846/232 +f 518/848/234 521/851/237 519/849/235 +f 521/851/237 522/852/238 519/849/235 +f 523/853/239 521/854/237 524/855/240 +f 525/856/241 526/857/242 521/854/237 +f 527/858/243 525/856/241 523/853/239 +f 528/859/244 529/860/245 525/856/241 +f 527/858/243 530/861/246 528/859/244 +f 530/861/246 531/862/247 528/859/244 +f 512/842/228 530/861/246 532/863/248 +f 511/841/227 533/864/249 530/861/246 +f 534/865/250 535/866/251 536/867/250 +f 537/868/251 538/869/252 535/866/251 +f 539/870/253 540/871/254 541/872/253 +f 542/873/254 536/867/250 540/871/254 +f 543/874/252 544/875/253 538/869/252 +f 510/840/226 513/843/229 511/841/227 +f 513/843/229 517/876/233 514/844/230 +f 515/845/231 516/846/232 513/843/229 +f 516/846/232 520/877/236 517/847/233 +f 518/848/234 519/849/235 516/846/232 +f 519/849/235 522/878/238 520/850/236 +f 518/848/234 524/879/240 521/851/237 +f 521/851/237 526/880/242 522/852/238 +f 523/853/239 525/856/241 521/854/237 +f 525/856/241 529/881/245 526/857/242 +f 527/858/243 528/859/244 525/856/241 +f 528/859/244 531/882/247 529/860/245 +f 527/858/243 532/863/248 530/861/246 +f 530/861/246 533/883/249 531/862/247 +f 512/842/228 511/841/227 530/861/246 +f 511/841/227 514/884/230 533/864/249 +f 534/865/250 537/868/251 535/866/251 +f 537/868/251 543/874/252 538/869/252 +f 539/870/253 542/873/254 540/871/254 +f 542/873/254 534/865/250 536/867/250 +f 543/874/252 545/885/253 544/875/253 +o RightArm +v -6.727931 -1.385484 2.089541 +v -3.868196 -1.385486 2.089541 +v -3.868194 2.482796 2.089541 +v -3.868196 -1.385486 -2.083592 +v -6.727931 -1.385484 -2.083592 +v -6.727929 2.482797 -2.083592 +v -6.727929 2.482797 2.089541 +v -5.583236 4.039337 2.089541 +v -8.419426 0.171058 2.089541 +v -5.583236 4.039337 -2.083592 +v -3.868194 2.482796 -2.083592 +v -8.419426 0.171058 -2.083591 +v -4.874779 -4.274494 1.081455 +v -5.721350 -4.274494 1.081455 +v -5.721350 -4.274494 -1.075505 +v -4.874778 -2.606915 1.081455 +v -5.721349 -2.606914 1.081455 +v -4.874779 -4.274494 -1.075505 +v -4.874778 -2.606915 -1.075505 +v -5.721349 -2.606914 -1.075505 +v -11.115009 0.957294 -1.075505 +v -11.115009 0.957294 1.081455 +v -11.115007 3.253102 1.081455 +v -9.559078 0.957293 -1.075505 +v -9.559078 0.957293 1.081455 +v -11.115007 3.253102 -1.075505 +v -9.559076 3.253101 -1.075505 +v -9.559076 3.253101 1.081455 +v -9.644773 -2.509160 -1.075505 +v -9.014559 -3.089092 -1.075505 +v -9.014559 -3.089093 1.081455 +v -8.631191 -1.243954 -1.075505 +v -8.000977 -1.823888 -1.075505 +v -9.644773 -2.509159 1.081455 +v -8.631191 -1.243954 1.081455 +v -8.000977 -1.823888 1.081455 +v -8.419424 4.039339 2.089541 +v -8.419424 4.039339 -2.083591 +v -4.496462 -2.606915 1.567900 +v -4.496462 -2.606915 -1.561950 +v -6.099665 -2.606914 -1.561950 +v -6.099665 -2.606914 1.567900 +v -9.559078 0.439535 -1.561950 +v -9.559076 3.770859 -1.561950 +v -9.559076 3.770859 1.567900 +v -7.681774 -2.117624 -1.561950 +v -8.950394 -0.950218 1.567900 +v -7.681774 -2.117624 1.567900 +v -9.559078 0.439535 1.567900 +v -8.950394 -0.950218 -1.561950 +v -6.110137 7.776291 1.993027 +v -6.110137 7.592242 2.319573 +v -5.351533 7.278018 2.319573 +v -6.110137 7.399228 1.993027 +v -5.488015 7.141536 1.993027 +v -5.221390 7.408160 1.993027 +v -5.037309 6.519414 2.319573 +v -5.230323 6.519414 1.993027 +v -5.221392 5.630669 1.993027 +v -4.853261 6.519414 1.993027 +v -5.351534 5.760811 2.319573 +v -6.110137 5.262538 1.993027 +v -6.110137 5.446588 2.319573 +v -5.488016 5.897292 1.993027 +v -6.868741 5.760811 2.319573 +v -6.110137 5.639601 1.993027 +v -6.732259 5.897293 1.993027 +v -6.998883 5.630669 1.993027 +v -7.182964 6.519414 2.319573 +v -6.989950 6.519414 1.993027 +v -6.998883 7.408160 1.993027 +v -7.367013 6.519414 1.993027 +v -6.868741 7.278018 2.319573 +v -6.732259 7.141537 1.993027 +v -8.033749 6.394355 -2.020720 +v -8.033747 6.630578 -2.020720 +v -3.986356 6.630577 -2.020720 +v -3.986357 6.394354 -2.020720 +v -3.986357 6.917205 2.026670 +v -7.099486 6.107728 2.026670 +v -7.099485 6.917206 2.026670 +v -8.033747 6.917206 2.026670 +v -8.033749 6.107728 2.026670 +v -3.986358 6.107727 2.026670 +v -5.142801 6.917206 2.026670 +v -5.142802 6.107728 2.026670 vt 0.058610 0.440457 +vt 0.000000 0.441176 vt 0.000000 0.338235 vt 0.000000 0.441176 -vt 0.000000 0.441176 -vt 0.060241 0.335919 vt 0.058533 0.440018 -vt 0.060241 0.335919 +vt 0.060241 0.337540 +vt 0.060241 0.337540 vt 0.035980 0.295068 vt 0.096386 0.397059 vt 0.035955 0.295044 vt 0.000000 0.338235 vt 0.096386 0.397059 vt 0.132530 0.455882 -vt 0.180723 0.485294 vt 0.132530 0.485294 -vt 0.096386 0.485294 +vt 0.180723 0.485294 vt 0.096386 0.455882 +vt 0.096386 0.485294 vt 0.180723 0.455882 -vt 0.132530 0.411765 vt 0.180723 0.411765 -vt 0.216867 0.455882 +vt 0.132530 0.411765 vt 0.216867 0.485294 -vt 0.180723 0.529412 +vt 0.216867 0.455882 vt 0.132530 0.529412 +vt 0.180723 0.529412 vt 0.180723 0.308824 -vt 0.132530 0.367647 vt 0.132530 0.308824 -vt 0.132530 0.264706 +vt 0.132530 0.367647 vt 0.180723 0.264706 +vt 0.132530 0.264706 vt 0.180723 0.367647 -vt 0.216867 0.308824 vt 0.216867 0.367647 -vt 0.180723 0.411765 +vt 0.216867 0.308824 vt 0.132530 0.411765 -vt 0.096386 0.367647 +vt 0.180723 0.411765 vt 0.096386 0.308824 +vt 0.096386 0.367647 vt 0.253012 0.455882 -vt 0.301205 0.485294 vt 0.253012 0.485294 +vt 0.301205 0.485294 vt 0.216867 0.455882 vt 0.216867 0.485294 vt 0.301205 0.455882 -vt 0.253012 0.411765 vt 0.301205 0.411765 +vt 0.253012 0.411765 vt 0.337349 0.485294 vt 0.337349 0.455882 -vt 0.301205 0.529412 vt 0.253012 0.529412 +vt 0.301205 0.529412 vt 0.096386 0.294118 vt 0.096386 0.294118 vt 0.084337 0.132353 -vt 0.108434 0.088235 vt 0.108434 0.132353 +vt 0.108434 0.088235 vt 0.024096 0.132353 -vt 0.084337 0.161765 vt 0.024096 0.161765 +vt 0.084337 0.161765 vt 0.024096 0.088235 -vt 0.000000 0.132353 vt 0.000000 0.088235 +vt 0.000000 0.132353 vt 0.084337 0.088235 -vt 0.024096 0.058824 vt 0.084337 0.058824 +vt 0.024096 0.058824 vt 0.084337 0.191176 -vt 0.024096 0.161765 vt 0.084337 0.161765 +vt 0.024096 0.161765 vt 0.084337 0.264706 -vt 0.108434 0.191176 vt 0.108434 0.264706 +vt 0.108434 0.191176 vt 0.024096 0.264706 -vt 0.084337 0.294118 vt 0.024096 0.294118 +vt 0.084337 0.294118 vt -0.000000 0.191176 vt 0.000000 0.264706 vt 0.000000 0.088235 -vt 0.024096 0.132353 vt 0.000000 0.132353 +vt 0.024096 0.132353 vt 0.084337 0.088235 -vt 0.024096 0.058824 vt 0.084337 0.058824 +vt 0.024096 0.058824 vt 0.084337 0.132353 -vt 0.108434 0.088235 vt 0.108434 0.132353 -vt 0.084337 0.161765 +vt 0.108434 0.088235 vt 0.024096 0.161765 +vt 0.084337 0.161765 vt 0.072289 0.102941 vt 0.072289 0.117647 vt 0.036145 0.117647 @@ -2538,491 +2665,296 @@ vt 0.072289 0.250000 vt 0.036145 0.250000 vt 0.024096 0.191176 vt 0.036145 0.117647 -vt 0.024096 0.088235 vt 0.036145 0.102941 +vt 0.024096 0.088235 vt 0.072289 0.102941 vt 0.072289 0.117647 vt 0.192771 0.794118 -vt 0.144578 0.764706 -vt 0.144578 0.794118 vt 0.192771 0.764706 +vt 0.144578 0.764706 +vt 0.180723 0.735294 vt 0.156627 0.735294 +vt 0.144578 0.794118 vt 0.096386 0.764706 -vt 0.096386 0.794118 +vt 0.132530 0.735294 vt 0.108434 0.735294 vt 0.048193 0.794118 -vt 0.084337 0.735294 +vt 0.096386 0.794118 vt 0.048193 0.764706 +vt 0.084337 0.735294 vt 0.000000 0.794118 -vt 0.036145 0.735294 vt 0.000000 0.764706 +vt 0.036145 0.735294 vt 0.385542 0.794118 -vt 0.337349 0.764706 -vt 0.337349 0.794118 vt 0.385542 0.764706 +vt 0.337349 0.764706 +vt 0.373494 0.735294 vt 0.349398 0.735294 +vt 0.337349 0.794118 vt 0.289157 0.764706 -vt 0.289157 0.794118 +vt 0.325301 0.735294 vt 0.301205 0.735294 vt 0.240964 0.794118 -vt 0.277108 0.735294 +vt 0.289157 0.794118 vt 0.240964 0.764706 +vt 0.277108 0.735294 vt 0.228916 0.735294 -vt 0.120482 0.823529 vt 0.072289 0.794118 vt 0.072289 0.823529 -vt 0.168675 0.794118 +vt 0.120482 0.823529 vt 0.120482 0.794118 -vt 0.000000 0.823529 -vt 0.024096 0.794118 -vt 0.000000 0.794118 -vt 0.024096 0.823529 vt 0.168675 0.823529 -vt 0.192771 0.794118 -vt 0.180723 0.735294 -vt 0.132530 0.735294 +vt 0.000000 0.794118 +vt 0.000000 0.823529 +vt 0.024096 0.823529 +vt 0.024096 0.794118 +vt 0.168675 0.794118 +vt 0.192771 0.823529 vt 0.060241 0.735294 vt 0.012048 0.735294 -vt 0.373494 0.735294 -vt 0.325301 0.735294 vt 0.253012 0.735294 vt 0.204819 0.735294 -vt 0.192771 0.823529 +vt 0.192771 0.794118 vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 +vn -0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 vn 1.0000 -0.0000 0.0000 +vn -1.0000 0.0000 0.0000 vn 0.0000 1.0000 0.0000 -vn 0.6771 -0.7359 -0.0000 -vn 0.7804 0.6252 0.0000 -vn -0.7804 -0.6252 0.0000 -vn -0.4181 -0.7891 0.4500 -vn 0.1412 -0.4385 0.8876 -vn -0.3590 -0.3328 0.8720 -vn -0.4181 -0.7891 -0.4500 -vn -0.3590 -0.3328 -0.8720 -vn 0.4181 -0.7891 -0.4500 -vn 0.1412 -0.4385 -0.8876 +vn -0.6771 -0.7359 -0.0000 +vn -0.7804 0.6252 0.0000 +vn 0.7804 -0.6252 0.0000 vn 0.4181 -0.7891 0.4500 -vn 0.7388 -0.5169 -0.4324 -vn 0.4205 -0.1879 0.8876 -vn 0.4205 -0.1879 -0.8876 -vn 0.7388 0.5169 -0.4324 -vn 0.2648 0.3576 -0.8955 -vn 0.7388 0.5169 0.4324 -vn 0.2648 0.3576 0.8955 -vn 0.0911 -0.8948 -0.4370 -vn 0.8699 -0.2238 0.4395 -vn 0.0911 -0.8948 0.4370 -vn 0.3015 -0.9045 0.3015 +vn 0.3590 -0.3328 0.8720 +vn -0.1412 -0.4385 0.8876 +vn 0.4181 -0.7891 -0.4500 +vn 0.3591 -0.3327 -0.8720 +vn -0.4181 -0.7891 -0.4500 +vn -0.1412 -0.4385 -0.8876 +vn -0.4181 -0.7891 0.4500 +vn -0.7388 -0.5169 -0.4324 +vn -0.4205 -0.1879 -0.8876 +vn -0.4205 -0.1879 0.8876 +vn -0.7389 0.5169 -0.4324 +vn -0.2648 0.3576 -0.8955 +vn -0.7388 0.5169 0.4324 +vn -0.2648 0.3577 0.8955 +vn -0.0911 -0.8948 -0.4370 +vn -0.8699 -0.2238 0.4396 +vn -0.0911 -0.8948 0.4370 vn -0.3015 -0.9045 0.3015 -vn -0.3015 -0.9045 -0.3015 +vn 0.3015 -0.9045 0.3015 vn 0.3015 -0.9045 -0.3015 -vn 0.9045 -0.3015 0.3015 -vn 0.9045 -0.3015 -0.3015 -vn 0.9045 0.3015 -0.3015 -vn 0.9045 0.3015 0.3015 -vn 0.7388 -0.5169 0.4324 -vn 0.3828 -0.8668 -0.3193 -vn 0.8699 -0.2238 -0.4395 -vn 0.8355 -0.4702 -0.2842 -vn 0.8355 -0.4702 0.2842 -vn 0.3828 -0.8668 0.3193 +vn -0.3015 -0.9045 -0.3015 +vn -0.9045 -0.3015 0.3015 +vn -0.9045 -0.3015 -0.3015 +vn -0.9045 0.3015 -0.3015 +vn -0.9045 0.3015 0.3015 +vn -0.7388 -0.5169 0.4324 +vn -0.3829 -0.8669 -0.3193 +vn -0.8355 -0.4702 -0.2842 +vn -0.8699 -0.2238 -0.4396 +vn -0.8355 -0.4702 0.2842 +vn -0.3829 -0.8669 0.3193 vn 0.0000 0.8712 0.4910 -vn 0.1535 0.1535 0.9761 -vn 0.6160 0.6160 0.4910 -vn 0.0000 0.2171 0.9761 +vn -0.0000 0.2171 0.9762 +vn 0.1535 0.1535 0.9762 +vn -0.0000 -0.8609 0.5088 vn -0.6087 -0.6087 0.5088 -vn 0.2171 0.0000 0.9761 -vn 0.8712 0.0000 0.4910 -vn -0.8608 0.0000 0.5088 +vn 0.6160 0.6160 0.4910 +vn 0.2171 -0.0000 0.9762 +vn -0.8609 0.0000 0.5088 vn 0.6160 -0.6160 0.4910 -vn 0.1535 -0.1535 0.9761 +vn 0.8712 -0.0000 0.4910 +vn 0.1535 -0.1535 0.9762 vn 0.0000 -0.8712 0.4910 +vn 0.0000 -0.2171 0.9762 vn -0.6087 0.6087 0.5088 -vn 0.0000 -0.2171 0.9761 -vn -0.1535 -0.1535 0.9761 -vn -0.6160 -0.6160 0.4910 +vn -0.1535 -0.1535 0.9762 +vn 0.0000 0.8609 0.5088 vn 0.6087 0.6087 0.5088 -vn -0.2171 0.0000 0.9761 -vn -0.8712 0.0000 0.4910 -vn 0.8608 0.0000 0.5088 +vn -0.6160 -0.6160 0.4910 +vn -0.2171 -0.0000 0.9762 +vn 0.8609 0.0000 0.5088 vn -0.6160 0.6160 0.4910 -vn -0.1535 0.1535 0.9761 +vn -0.8712 -0.0000 0.4910 +vn -0.1535 0.1535 0.9762 vn 0.6087 -0.6087 0.5088 -vn 0.7225 0.0000 -0.6914 vn -0.7225 0.0000 -0.6914 -vn 0.6906 0.0000 0.7232 +vn 0.7225 -0.0000 -0.6914 +vn 0.6906 -0.0000 0.7232 vn -0.6906 0.0000 0.7232 -vn 0.0000 -0.8608 0.5088 -vn 0.0000 0.8608 0.5088 -usemtl None s off -f 541/823/249 540/824/249 539/825/249 -f 543/826/250 546/827/250 545/828/250 -f 542/829/249 547/830/249 540/824/249 -f 549/831/249 542/829/249 541/823/249 -f 552/832/250 546/827/250 544/833/250 -f 546/827/250 550/834/250 545/828/250 -f 578/835/251 580/836/251 577/837/251 -f 578/835/249 553/838/249 554/839/249 -f 579/840/252 554/841/252 555/842/252 -f 580/836/250 555/843/250 556/844/250 -f 577/837/253 556/845/253 553/846/253 -f 582/847/253 584/848/253 581/849/253 -f 582/847/251 557/850/251 558/851/251 -f 583/852/250 558/853/250 559/854/250 -f 584/848/254 559/855/254 560/856/254 -f 581/849/249 560/857/249 557/858/249 -f 586/859/255 588/860/255 585/861/255 -f 562/862/250 585/861/250 561/863/250 -f 587/864/256 562/865/256 563/866/256 -f 564/867/249 587/864/249 563/868/249 -f 585/861/257 564/869/257 561/870/257 -f 541/823/249 542/829/249 540/824/249 -f 543/826/250 544/833/250 546/827/250 -f 542/829/249 548/871/249 547/830/249 -f 549/831/249 548/871/249 542/829/249 -f 552/832/250 551/872/250 546/827/250 -f 546/827/250 551/872/250 550/834/250 -f 578/835/251 579/840/251 580/836/251 -f 578/835/249 577/837/249 553/838/249 -f 579/840/252 578/835/252 554/841/252 -f 580/836/250 579/840/250 555/843/250 -f 577/837/253 580/836/253 556/845/253 -f 582/847/253 583/852/253 584/848/253 -f 582/847/251 581/849/251 557/850/251 -f 583/852/250 582/847/250 558/853/250 -f 584/848/254 583/852/254 559/855/254 -f 581/849/249 584/848/249 560/857/249 -f 586/859/255 587/864/255 588/860/255 -f 562/862/250 586/859/250 585/861/250 -f 587/864/256 586/859/256 562/865/256 -f 564/867/249 588/860/249 587/864/249 -f 585/861/257 588/860/257 564/869/257 +f 546/886/255 547/887/255 548/888/255 +f 549/889/256 550/890/256 551/891/256 +f 552/892/255 548/888/255 553/893/255 +f 554/894/255 546/886/255 552/892/255 +f 555/895/256 556/896/256 551/891/256 +f 551/891/256 550/890/256 557/897/256 +f 558/898/257 559/899/257 560/900/257 +f 558/898/255 561/901/255 562/902/255 +f 563/903/258 564/904/258 561/905/258 +f 560/900/256 565/906/256 564/907/256 +f 559/899/259 562/908/259 565/909/259 +f 566/910/259 567/911/259 568/912/259 +f 566/910/257 569/913/257 570/914/257 +f 571/915/256 572/916/256 569/917/256 +f 568/912/260 573/918/260 572/919/260 +f 567/911/255 570/920/255 573/921/255 +f 574/922/261 575/923/261 576/924/261 +f 577/925/256 578/926/256 575/923/256 +f 579/927/262 580/928/262 577/929/262 +f 581/930/255 580/931/255 579/927/255 +f 575/923/263 578/932/263 581/933/263 +f 546/886/255 548/888/255 552/892/255 +f 549/889/256 551/891/256 556/896/256 +f 552/892/255 553/893/255 582/934/255 +f 554/894/255 552/892/255 582/934/255 +f 555/895/256 551/891/256 583/935/256 +f 551/891/256 557/897/256 583/935/256 +f 558/898/257 560/900/257 563/903/257 +f 558/898/255 562/902/255 559/899/255 +f 563/903/258 561/905/258 558/898/258 +f 560/900/256 564/907/256 563/903/256 +f 559/899/259 565/909/259 560/900/259 +f 566/910/259 568/912/259 571/915/259 +f 566/910/257 570/914/257 567/911/257 +f 571/915/256 569/917/256 566/910/256 +f 568/912/260 572/919/260 571/915/260 +f 567/911/255 573/921/255 568/912/255 +f 574/922/261 576/924/261 579/927/261 +f 577/925/256 575/923/256 574/922/256 +f 579/927/262 577/929/262 574/922/262 +f 581/930/255 579/927/255 576/924/255 +f 575/923/263 581/933/263 576/924/263 s 1 -f 565/873/258 541/874/259 539/875/260 -f 567/876/261 539/877/260 543/878/262 -f 568/879/263 543/880/262 545/881/264 -f 566/882/265 545/883/264 541/884/259 -f 569/885/266 549/886/267 550/887/268 -f 571/888/269 550/889/268 551/890/270 -f 572/891/271 551/892/270 548/893/272 -f 549/894/267 572/891/271 548/895/272 -f 550/896/268 574/897/273 545/898/264 -f 575/899/274 550/900/268 549/901/267 -f 576/902/275 549/903/267 541/904/259 -f 574/897/273 541/905/259 545/906/264 -f 553/907/276 565/873/258 554/908/277 -f 554/908/277 567/876/261 555/909/278 -f 556/910/279 567/876/261 568/879/263 -f 556/910/279 566/882/265 553/907/276 -f 557/911/280 569/885/266 558/912/281 -f 558/912/281 571/888/269 559/913/282 -f 559/913/282 572/891/271 560/914/283 -f 560/914/283 570/915/284 557/911/280 -f 561/916/285 573/917/286 562/918/287 -f 562/918/287 575/899/274 563/919/288 -f 564/920/289 575/899/274 576/902/275 -f 561/916/285 576/902/275 574/897/273 -f 589/921/290 593/922/291 592/923/292 -f 590/924/293 594/925/294 593/922/291 -f 592/923/292 596/926/295 595/927/296 -f 593/922/291 597/928/297 596/926/295 -f 596/926/295 598/929/298 595/927/296 -f 597/930/297 599/931/299 596/926/295 -f 599/931/299 601/932/300 598/929/298 -f 600/933/301 602/934/302 599/931/299 -f 601/935/300 605/936/303 604/937/304 -f 602/938/302 606/939/305 605/936/303 -f 604/937/304 608/940/306 607/941/307 -f 605/936/303 609/942/308 608/940/306 -f 608/940/306 610/943/309 607/941/307 -f 609/944/308 611/945/310 608/940/306 -f 611/945/310 589/921/290 610/943/309 -f 612/946/311 590/924/293 611/945/310 -f 615/947/312 614/948/313 613/949/313 -f 615/947/312 620/950/314 616/951/312 -f 621/952/249 618/953/315 623/954/249 -f 613/949/313 618/953/315 617/955/315 -f 619/956/314 622/957/249 620/950/314 -f 565/873/258 566/882/265 541/874/259 -f 567/876/261 565/873/258 539/877/260 -f 568/879/263 567/876/261 543/880/262 -f 566/882/265 568/879/263 545/883/264 -f 569/885/266 570/915/284 549/886/267 -f 571/888/269 569/885/266 550/889/268 -f 572/891/271 571/888/269 551/892/270 -f 549/894/267 570/915/284 572/891/271 -f 550/896/268 573/917/286 574/897/273 -f 575/899/274 573/917/286 550/900/268 -f 576/902/275 575/899/274 549/903/267 -f 574/897/273 576/902/275 541/905/259 -f 553/907/276 566/882/265 565/873/258 -f 554/908/277 565/873/258 567/876/261 -f 556/910/279 555/909/278 567/876/261 -f 556/910/279 568/879/263 566/882/265 -f 557/911/280 570/915/284 569/885/266 -f 558/912/281 569/885/266 571/888/269 -f 559/913/282 571/888/269 572/891/271 -f 560/914/283 572/891/271 570/915/284 -f 561/916/285 574/897/273 573/917/286 -f 562/918/287 573/917/286 575/899/274 -f 564/920/289 563/919/288 575/899/274 -f 561/916/285 564/920/289 576/902/275 -f 589/921/290 590/924/293 593/922/291 -f 590/924/293 591/958/316 594/925/294 -f 592/923/292 593/922/291 596/926/295 -f 593/922/291 594/959/294 597/928/297 -f 596/926/295 599/931/299 598/929/298 -f 597/930/297 600/960/301 599/931/299 -f 599/931/299 602/934/302 601/932/300 -f 600/933/301 603/961/317 602/934/302 -f 601/935/300 602/938/302 605/936/303 -f 602/938/302 603/962/317 606/939/305 -f 604/937/304 605/936/303 608/940/306 -f 605/936/303 606/963/305 609/942/308 -f 608/940/306 611/945/310 610/943/309 -f 609/944/308 612/964/311 611/945/310 -f 611/945/310 590/924/293 589/921/290 -f 612/946/311 591/965/316 590/924/293 -f 615/947/312 616/951/312 614/948/313 -f 615/947/312 619/956/314 620/950/314 -f 621/952/249 617/955/315 618/953/315 -f 613/949/313 614/948/313 618/953/315 -f 619/956/314 624/966/249 622/957/249 -o Body -v -1.357744 12.947865 -2.060404 -v -2.084779 16.857933 -2.060405 -v 1.337637 12.947863 -2.060404 -v 2.064677 16.857931 -2.060405 -v 0.755152 6.975003 -1.996005 -v -0.010055 8.739575 -1.996005 -v -0.010056 6.975003 -2.761213 -v -0.775265 6.975004 -1.996004 -v -0.010057 5.273831 -1.996004 -v 4.817903 -0.473352 -2.018208 -v 4.770588 -0.229360 -2.018208 -v 4.633528 0.154637 -2.018208 -v 4.414360 0.647646 -2.018208 -v 4.120724 1.218675 -2.018208 -v 3.760257 1.836732 -2.018208 -v 3.340600 2.470827 -2.018208 -v 2.869391 3.089965 -2.018208 -v 2.354269 3.663156 -2.018208 -v 1.802872 4.159407 -2.018208 -v 1.222840 4.547728 -2.018208 -v 0.621810 4.797125 -2.018208 -v 0.007423 4.876606 -2.018208 -v -0.601421 4.778955 -2.018208 -v -1.187155 4.534758 -2.018208 -v -1.744144 4.169732 -2.018208 -v -2.266752 3.709597 -2.018208 -v -2.749345 3.180070 -2.018208 -v -3.186286 2.606869 -2.018208 -v -3.571939 2.015710 -2.018208 -v -3.900671 1.432314 -2.018208 -v -4.166844 0.882396 -2.018208 -v -4.364824 0.391676 -2.018208 -v -4.488976 -0.014130 -2.018208 -v -4.533662 -0.309302 -2.018208 -v 5.330154 -0.529075 -2.018208 -v 5.277726 -0.258708 -2.018208 -v 5.125850 0.166797 -2.018208 -v 4.882992 0.713097 -2.018208 -v 4.557615 1.345852 -2.018208 -v 4.158184 2.030718 -2.018208 -v 3.693165 2.733354 -2.018209 -v 3.171020 3.419418 -2.018208 -v 2.600215 4.054568 -2.018208 -v 1.989216 4.604462 -2.018208 -v 1.346485 5.034757 -2.018208 -v 0.680488 5.311113 -2.018208 -v -0.000312 5.399186 -2.018208 -v -0.674968 5.290979 -2.018208 -v -1.324017 5.020385 -2.018208 -v -1.941214 4.615903 -2.018208 -v -2.520314 4.106030 -2.018208 -v -3.055072 3.519263 -2.018208 -v -3.539243 2.884101 -2.018208 -v -3.966585 2.229043 -2.018208 -v -4.330851 1.582583 -2.018208 -v -4.625796 0.973223 -2.018208 -v -4.845176 0.429459 -2.018208 -v -4.982747 -0.020212 -2.018208 -v -5.032264 -0.347291 -2.018208 -v -4.218641 14.357357 2.124614 -v -4.218643 11.132286 2.124614 -v 4.198537 14.357351 2.124614 -v 4.198535 11.132282 2.124614 -v -4.218642 12.932457 -2.118665 -v -4.218643 11.132286 -2.118664 -v 4.198536 12.932452 -2.118665 -v 4.198535 11.132282 -2.118665 -v -0.010052 14.471598 2.124614 -v -0.010054 11.098518 2.124614 -v -0.010053 13.633080 -2.118665 -v -0.010054 11.832909 -2.118665 -vt 0.144578 0.617647 -vt 0.096386 0.558824 -vt 0.144578 0.529412 -vt 0.192771 0.558824 -vt 0.192771 0.558824 -vt 0.144578 0.617647 -vt 0.096386 0.558824 -vt 0.325301 0.617647 -vt 0.303449 0.588235 -vt 0.325301 0.588235 -vt 0.626506 0.588235 -vt 0.590361 0.617647 -vt 0.590361 0.588235 -vt 0.590361 0.617647 -vt 0.554217 0.588235 -vt 0.590361 0.588235 -vt 0.373494 0.588235 -vt 0.337349 0.617647 -vt 0.337349 0.588235 -vt 0.265680 0.617647 -vt 0.303449 0.617647 -vt 0.554217 0.617647 -vt 0.518072 0.588235 -vt 0.409639 0.588235 -vt 0.373494 0.617647 -vt 0.228916 0.617647 -vt 0.265680 0.588235 -vt 0.518072 0.617647 -vt 0.481928 0.588235 -vt 0.445783 0.588235 -vt 0.409639 0.617647 -vt 0.192771 0.617647 -vt 0.228916 0.588235 -vt 0.481928 0.617647 -vt 0.445783 0.588235 -vt 0.481928 0.588235 -vt 0.445783 0.617647 -vt 0.192771 0.588235 -vt 0.228916 0.617647 -vt 0.192771 0.617647 -vt 0.445783 0.617647 -vt 0.409639 0.588235 -vt 0.518072 0.588235 -vt 0.481928 0.617647 -vt 0.228916 0.588235 -vt 0.265060 0.617647 -vt 0.409639 0.617647 -vt 0.373494 0.588235 -vt 0.554217 0.588235 -vt 0.518072 0.617647 -vt 0.301205 0.588235 -vt 0.265060 0.588235 -vt 0.373494 0.617647 -vt 0.554217 0.617647 -vt 0.626506 0.617647 -vt 0.626506 0.588235 -vt 0.301205 0.617647 -vt 0.626506 0.617647 -vt 0.192771 0.588235 -vt 0.289157 0.735294 -vt 0.192771 0.632353 -vt 0.289157 0.632353 -vt 0.192771 0.735294 -vt 0.096386 0.676471 -vt 0.578313 0.735294 -vt 0.481928 0.676471 -vt 0.578313 0.676471 -vt 0.385542 0.735294 -vt 0.385542 0.632353 -vt 0.000000 0.735294 -vt 0.000000 0.676471 -vt 0.096386 0.735294 -vt 0.481928 0.735294 -vt 0.000000 0.441176 -vt 0.080123 0.556041 -vt 0.016262 0.556041 -vt 0.096386 0.441176 -vn 0.6760 0.2932 -0.6760 -vn -0.6760 0.2932 -0.6760 -vn 0.6738 -0.3031 -0.6738 -vn -0.6738 -0.3031 -0.6738 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.6152 0.0000 0.7884 -vn 0.7053 0.0000 0.7089 -vn 0.7374 0.0000 -0.6755 -vn -0.7374 0.0000 -0.6755 -vn -0.7053 0.0000 0.7089 -vn -0.6152 0.0000 0.7884 -vn 0.7451 0.0000 -0.6669 -vn -0.7451 0.0000 -0.6669 -usemtl None +f 584/936/264 547/937/265 546/938/266 +f 585/939/267 549/940/268 547/941/265 +f 586/942/269 550/943/270 549/944/268 +f 587/945/271 546/946/266 550/947/270 +f 588/948/272 557/949/273 554/950/274 +f 589/951/275 583/952/276 557/953/273 +f 590/954/277 582/955/278 583/956/276 +f 554/957/274 582/958/278 590/954/277 +f 557/959/273 550/960/270 591/961/279 +f 592/962/280 554/963/274 557/964/273 +f 593/965/281 546/966/266 554/967/274 +f 591/961/279 550/968/270 546/969/266 +f 562/970/282 561/971/283 584/936/264 +f 561/971/283 564/972/284 585/939/267 +f 565/973/285 586/942/269 585/939/267 +f 565/973/285 562/970/282 587/945/271 +f 570/974/286 569/975/287 588/948/272 +f 569/975/287 572/976/288 589/951/275 +f 572/976/288 573/977/289 590/954/277 +f 573/977/289 570/974/286 594/978/290 +f 578/979/291 577/980/292 595/981/293 +f 577/980/292 580/982/294 592/962/280 +f 581/983/295 593/965/281 592/962/280 +f 578/979/291 591/961/279 593/965/281 +f 596/984/296 597/985/297 598/986/298 +f 597/985/297 599/987/299 600/988/300 +f 601/989/301 598/986/298 602/990/302 +f 598/986/298 600/991/300 603/992/303 +f 604/993/304 605/994/305 602/990/302 +f 606/995/306 602/990/302 603/996/303 +f 607/997/307 604/993/304 606/995/306 +f 608/998/308 606/995/306 609/999/309 +f 607/1000/307 608/1001/308 610/1002/310 +f 608/1001/308 611/1003/311 612/1004/312 +f 613/1005/313 610/1002/310 614/1006/314 +f 610/1002/310 612/1007/312 615/1008/315 +f 616/1009/316 617/1010/317 614/1006/314 +f 618/1011/318 614/1006/314 615/1012/315 +f 596/984/296 616/1009/316 618/1011/318 +f 597/985/297 618/1011/318 619/1013/319 +f 620/1014/320 621/1015/320 622/1016/321 +f 623/1017/321 622/1016/321 624/1018/322 +f 625/1019/255 626/1020/255 627/1021/323 +f 628/1022/323 627/1021/323 621/1015/320 +f 629/1023/322 624/1018/322 630/1024/255 +f 584/936/264 546/938/266 587/945/271 +f 585/939/267 547/941/265 584/936/264 +f 586/942/269 549/944/268 585/939/267 +f 587/945/271 550/947/270 586/942/269 +f 588/948/272 554/950/274 594/978/290 +f 589/951/275 557/953/273 588/948/272 +f 590/954/277 583/956/276 589/951/275 +f 554/957/274 590/954/277 594/978/290 +f 557/959/273 591/961/279 595/981/293 +f 592/962/280 557/964/273 595/981/293 +f 593/965/281 554/967/274 592/962/280 +f 591/961/279 546/969/266 593/965/281 +f 562/970/282 584/936/264 587/945/271 +f 561/971/283 585/939/267 584/936/264 +f 565/973/285 585/939/267 564/972/284 +f 565/973/285 587/945/271 586/942/269 +f 570/974/286 588/948/272 594/978/290 +f 569/975/287 589/951/275 588/948/272 +f 572/976/288 590/954/277 589/951/275 +f 573/977/289 594/978/290 590/954/277 +f 578/979/291 595/981/293 591/961/279 +f 577/980/292 592/962/280 595/981/293 +f 581/983/295 592/962/280 580/982/294 +f 578/979/291 593/965/281 581/983/295 +f 596/984/296 598/986/298 601/989/301 +f 597/985/297 600/988/300 598/986/298 +f 601/989/301 602/990/302 605/994/305 +f 598/986/298 603/992/303 602/990/302 +f 604/993/304 602/990/302 606/995/306 +f 606/995/306 603/996/303 609/1025/309 +f 607/997/307 606/995/306 608/998/308 +f 608/998/308 609/999/309 611/1026/311 +f 607/1000/307 610/1002/310 613/1005/313 +f 608/1001/308 612/1004/312 610/1002/310 +f 613/1005/313 614/1006/314 617/1010/317 +f 610/1002/310 615/1008/315 614/1006/314 +f 616/1009/316 614/1006/314 618/1011/318 +f 618/1011/318 615/1012/315 619/1027/319 +f 596/984/296 618/1011/318 597/985/297 +f 597/985/297 619/1013/319 599/1028/299 +f 620/1014/320 622/1016/321 623/1017/321 +f 623/1017/321 624/1018/322 629/1023/322 +f 625/1019/255 627/1021/323 628/1022/323 +f 628/1022/323 621/1015/320 620/1014/320 +f 629/1023/322 630/1024/255 631/1029/255 +o RightFoot +v 0.124961 24.067026 2.136321 +v 0.124961 22.765116 -2.130369 +v 0.124961 24.067026 -2.130369 +v -4.141729 22.765120 -2.130369 +v -2.008385 21.575682 -3.487656 +v -4.141729 24.067028 -2.130369 +v -4.141729 24.067028 2.136321 +v -2.008384 24.067026 -3.487656 +vt 0.144578 0.823529 +vt 0.180723 0.941176 +vt 0.144578 0.941176 +vt 0.048193 0.941176 +vt 0.144578 0.941176 +vt 0.096386 0.970588 +vt 0.048193 0.941176 +vt 0.012048 0.941176 +vt 0.048193 0.823529 +vt 0.144578 1.000000 +vt 0.048193 1.000000 +vt 0.000000 1.000000 +vt 0.096386 0.970588 +vt 0.192771 1.000000 +vn 1.0000 0.0000 0.0000 +vn -0.0000 -0.7521 0.6591 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.5368 0.0000 -0.8437 +vn -0.5368 0.0000 -0.8437 s off -f 630/967/318 629/968/318 631/969/318 -f 630/967/319 631/969/319 632/970/319 -f 631/969/320 629/971/320 633/972/320 -f 632/973/321 631/969/321 633/972/321 -f 642/974/322 668/975/322 667/976/322 -f 658/977/322 682/978/322 657/979/322 -f 635/980/322 661/981/322 660/982/322 -f 651/983/322 675/984/322 650/985/322 -f 644/986/322 668/975/322 643/987/322 -f 636/988/322 662/989/322 661/981/322 -f 652/990/322 676/991/322 651/983/322 -f 645/992/322 669/993/322 644/986/322 -f 637/994/322 663/995/322 662/989/322 -f 653/996/322 677/997/322 652/990/322 -f 646/998/322 670/999/322 645/992/322 -f 638/1000/322 664/1001/322 663/995/322 -f 654/1002/322 678/1003/322 653/996/322 -f 646/1004/322 672/1005/322 671/1006/322 -f 639/1007/322 665/1008/322 664/1001/322 -f 655/1009/322 679/1010/322 654/1002/322 -f 647/1011/322 673/1012/322 672/1005/322 -f 640/1013/322 666/1014/322 665/1008/322 -f 656/1015/322 680/1016/322 655/1009/322 -f 649/1017/322 673/1012/322 648/1018/322 -f 641/1019/322 667/976/322 666/1014/322 -f 657/979/322 681/1020/322 656/1015/322 -f 634/1021/322 660/982/322 659/1022/322 -f 650/985/322 674/1023/322 649/1017/322 -f 642/974/322 643/987/322 668/975/322 -f 658/977/322 683/1024/322 682/978/322 -f 635/980/322 636/988/322 661/981/322 -f 651/983/322 676/991/322 675/984/322 -f 644/986/322 669/993/322 668/975/322 -f 636/988/322 637/994/322 662/989/322 -f 652/990/322 677/997/322 676/991/322 -f 645/992/322 670/999/322 669/993/322 -f 637/994/322 638/1000/322 663/995/322 -f 653/996/322 678/1003/322 677/997/322 -f 646/998/322 671/1025/322 670/999/322 -f 638/1000/322 639/1007/322 664/1001/322 -f 654/1002/322 679/1010/322 678/1003/322 -f 646/1004/322 647/1011/322 672/1005/322 -f 639/1007/322 640/1013/322 665/1008/322 -f 655/1009/322 680/1016/322 679/1010/322 -f 647/1011/322 648/1018/322 673/1012/322 -f 640/1013/322 641/1019/322 666/1014/322 -f 656/1015/322 681/1020/322 680/1016/322 -f 649/1017/322 674/1023/322 673/1012/322 -f 641/1019/322 642/974/322 667/976/322 -f 657/979/322 682/978/322 681/1020/322 -f 634/1021/322 635/980/322 660/982/322 -f 650/985/322 675/984/322 674/1023/322 -s 1 -f 693/1026/323 686/1027/324 692/1028/323 -f 687/1029/325 690/1030/326 686/1027/324 -f 695/1031/322 688/1032/327 694/1033/322 -f 688/1032/327 685/1034/328 684/1035/329 -f 690/1030/326 695/1036/322 694/1037/322 -f 684/1035/329 693/1026/323 692/1028/323 -f 693/1026/323 687/1029/325 686/1027/324 -f 687/1029/325 691/1038/330 690/1030/326 -f 695/1031/322 689/1039/331 688/1032/327 -f 688/1032/327 689/1039/331 685/1034/328 -f 690/1030/326 691/1038/330 695/1036/322 -f 684/1035/329 685/1034/328 693/1026/323 -usemtl None_bismuth_armor.png.001 -s off -f 626/1040/322 627/1041/322 625/1042/322 -f 626/1040/322 628/1043/322 627/1041/322 +f 632/1030/324 633/1031/324 634/1032/324 +f 633/1033/325 635/1034/325 636/1035/325 +f 637/1036/326 635/1037/326 638/1038/326 +f 634/1032/327 638/1038/327 632/1030/327 +f 633/1031/328 639/1039/328 634/1032/328 +f 635/1037/329 639/1040/329 636/1041/329 +f 637/1036/327 634/1032/327 639/1042/327 +f 634/1032/327 637/1036/327 638/1038/327 +f 633/1031/328 636/1043/328 639/1039/328 +f 635/1037/329 637/1036/329 639/1040/329 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 6c9c290f8..1f118e536 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -5,20 +5,20 @@ "misc.nullMine": {"category": "player", "sounds": [{"name": "misc/null", "stream": false}]}, "block.crateBreak": {"category": "block", "sounds": ["block/crateBreak1", "block/crateBreak2", "block/crateBreak3", "block/crateBreak4", "block/crateBreak5"]}, - "block.shutdown": {"category": "ntmMachines", "sounds": [{"name": "block/shutdown", "stream": true}]}, - "block.minerOperate": {"category": "ntmMachines", "sounds": [{"name": "block/minerOperate", "stream": true}]}, - "block.assemblerOperate": {"category": "ntmMachines", "sounds": [{"name": "block/assemblerOperate", "stream": true}]}, - "block.chemplantOperate": {"category": "ntmMachines", "sounds": [{"name": "block/chemplantOperate", "stream": true}]}, - "block.dieselOperate": {"category": "ntmMachines", "sounds": [{"name": "block/dieselOperate", "stream": true}]}, - "block.igeneratorOperate": {"category": "ntmMachines", "sounds": [{"name": "block/igeneratorOperate", "stream": true}]}, - "block.turbofanOperate": {"category": "ntmMachines", "sounds": [{"name": "block/turbofanOperate", "stream": true}]}, - "block.pressOperate": {"category": "ntmMachines", "sounds": [{"name": "block/pressOperate", "stream": false}]}, + "block.shutdown": {"category": "block", "sounds": [{"name": "block/shutdown", "stream": true}]}, + "block.minerOperate": {"category": "block", "sounds": [{"name": "block/minerOperate", "stream": true}]}, + "block.assemblerOperate": {"category": "block", "sounds": [{"name": "block/assemblerOperate", "stream": true}]}, + "block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": true}]}, + "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": true}]}, + "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": true}]}, + "block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": true}]}, + "block.pressOperate": {"category": "block", "sounds": [{"name": "block/pressOperate", "stream": false}]}, "block.broadcast1": {"category": "block", "sounds": [{"name": "block/broadcast1", "stream": true}]}, "block.broadcast2": {"category": "block", "sounds": [{"name": "block/broadcast2", "stream": true}]}, "block.broadcast3": {"category": "block", "sounds": [{"name": "block/broadcast3", "stream": true}]}, - "block.sonarPing": {"category": "ntmMachines", "sounds": [{"name": "block/sonarPing", "stream": false}]}, - "block.reactorStart": {"category": "ntmMachines", "sounds": [{"name": "block/reactorStart", "stream": false}]}, - "block.reactorStop": {"category": "ntmMachines", "sounds": [{"name": "block/reactorStop", "stream": false}]}, + "block.sonarPing": {"category": "block", "sounds": [{"name": "block/sonarPing", "stream": false}]}, + "block.reactorStart": {"category": "block", "sounds": [{"name": "block/reactorStart", "stream": false}]}, + "block.reactorStop": {"category": "block", "sounds": [{"name": "block/reactorStop", "stream": false}]}, "block.vaultScrape": {"category": "block", "sounds": [{"name": "block/vaultScrape", "stream": false}]}, "block.vaultThud": {"category": "block", "sounds": [{"name": "block/vaultThud", "stream": false}]}, "block.vaultScrapeNew": {"category": "block", "sounds": [{"name": "block/vaultScrapeNew", "stream": false}]}, @@ -26,17 +26,17 @@ "block.lockOpen": {"category": "block", "sounds": [{"name": "block/lockOpen", "stream": false}]}, "block.lockHang": {"category": "block", "sounds": [{"name": "block/lockHang", "stream": false}]}, "block.debris": {"category": "block", "sounds": ["block/debris1", "block/debris2", "block/debris3"]}, - "block.centrifugeOperate": {"category": "ntmMachines", "sounds": [{"name": "block/centrifugeOperate", "stream": true}]}, + "block.centrifugeOperate": {"category": "block", "sounds": [{"name": "block/centrifugeOperate", "stream": true}]}, "block.pipePlaced": {"category": "block", "sounds": [{"name": "block/pipePlaced", "stream": false}]}, - "block.missileAssembly": {"category": "ntmMachines", "sounds": [{"name": "block/missileAssembly", "stream": false}]}, - "block.missileAssembly2": {"category": "ntmMachines", "sounds": [{"name": "block/missileAssembly2", "stream": false}]}, + "block.missileAssembly": {"category": "block", "sounds": [{"name": "block/missileAssembly", "stream": false}]}, + "block.missileAssembly2": {"category": "block", "sounds": [{"name": "block/missileAssembly2", "stream": false}]}, "block.openDoor": {"category": "block", "sounds": ["block/door_open_1", "block/door_open_2"]}, "block.closeDoor": {"category": "block", "sounds": ["block/door_close_1", "block/door_close_2"]}, - "block.soyuzReady": {"category": "ntmMachines", "sounds": [{"name": "block/soyuzReady", "stream": true}]}, + "block.soyuzReady": {"category": "block", "sounds": [{"name": "block/soyuzReady", "stream": true}]}, "block.screm": {"category": "block", "sounds": ["screm/scream1", "screm/scream01", "screm/scream2", "screm/scream02", "screm/scream3", "screm/scream03", "screm/scream4", "screm/scream04", "screm/scream5", "screm/scream05", "screm/scream6", "screm/scream06", "screm/scream7", "screm/scream07", "screm/scream08", "screm/scream09", "screm/scream10", "screm/scream11", "screm/scream12", "screm/scream13", "screm/scream14", "screm/scream15", "screm/scream16", "screm/scream17", "screm/scream18", "screm/scream19", "screm/scream20", "screm/scream21", "screm/scream22", "screm/scream23", "screm/scream24", "screm/scream25"]}, "block.rbmk_explosion": {"category": "block", "sounds": [{"name": "block/rbmk_explosion", "stream": false}]}, "block.rbmk_az5_cover": {"category": "block", "sounds": [{"name": "block/rbmk_az5_cover", "stream": false}]}, - "block.chungusLever": {"category": "ntmMachines", "sounds": [{"name": "block/chungusLever", "stream": false}]}, + "block.chungusLever": {"category": "block", "sounds": [{"name": "block/chungusLever", "stream": false}]}, "block.bobble": {"category": "block", "sounds": [{"name": "block/bobble", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, From d517d665dff549b4e659e6d7f1ec9737ad76ebf6 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 26 Mar 2022 23:35:05 +0100 Subject: [PATCH 09/17] sulfur caves, new test pipe --- .../java/api/hbm/fluid/IFluidConnector.java | 4 +- src/main/java/api/hbm/fluid/IPipeNet.java | 5 +- src/main/java/api/hbm/fluid/PipeNet.java | 81 ++- .../java/com/hbm/blocks/BlockEnumMulti.java | 64 ++ src/main/java/com/hbm/blocks/BlockEnums.java | 8 + src/main/java/com/hbm/blocks/ModBlocks.java | 20 + .../hbm/blocks/generic/BlockStalagmite.java | 70 ++ .../com/hbm/blocks/machine/BlockObserver.java | 83 +++ .../com/hbm/blocks/machine/SoyuzLauncher.java | 92 ++- .../java/com/hbm/blocks/test/TestPipe.java | 20 + .../com/hbm/handler/MultiblockHandlerXR.java | 2 +- .../com/hbm/handler/guncfg/GunNPCFactory.java | 5 + .../com/hbm/inventory/OreDictManager.java | 9 +- .../inventory/recipes/AssemblerRecipes.java | 1 + .../inventory/recipes/ChemplantRecipes.java | 6 + .../com/hbm/items/block/ItemBlockBase.java | 27 + src/main/java/com/hbm/main/ClientProxy.java | 20 +- src/main/java/com/hbm/main/MainRegistry.java | 6 +- .../java/com/hbm/main/ResourceManager.java | 1 + .../com/hbm/render/block/RenderTestPipe.java | 130 ++++ .../java/com/hbm/render/util/ObjUtil.java | 29 +- .../java/com/hbm/tileentity/TileMappings.java | 1 + .../network/TileEntityPipeBaseNT.java | 5 +- .../java/com/hbm/world/feature/OreCave.java | 125 ++++ src/main/resources/assets/hbm/lang/de_DE.lang | 4 + src/main/resources/assets/hbm/lang/en_US.lang | 4 + .../assets/hbm/models/blocks/pipe_neo.obj | 664 ++++++++++++++++++ .../hbm/textures/blocks/observer_back_off.png | Bin 0 -> 655 bytes .../hbm/textures/blocks/observer_back_on.png | Bin 0 -> 697 bytes .../hbm/textures/blocks/observer_front.png | Bin 0 -> 876 bytes .../textures/blocks/observer_front.png.mcmeta | 105 +++ .../hbm/textures/blocks/observer_side.png | Bin 0 -> 539 bytes .../assets/hbm/textures/blocks/pipe_neo.png | Bin 0 -> 246 bytes .../hbm/textures/blocks/pipe_neo_overlay.png | Bin 0 -> 98 bytes .../textures/blocks/stalactite.fluorite.png | Bin 0 -> 270 bytes .../hbm/textures/blocks/stalactite.sulfur.png | Bin 0 -> 278 bytes .../textures/blocks/stalagmite.fluorite.png | Bin 0 -> 262 bytes .../hbm/textures/blocks/stalagmite.sulfur.png | Bin 0 -> 267 bytes .../blocks/stone_resource.fluorite.png | Bin 0 -> 342 bytes .../textures/blocks/stone_resource.sulfur.png | Bin 0 -> 798 bytes .../blocks/stone_resource.sulfur_alt.png | Bin 0 -> 372 bytes .../assets/hbm/textures/items/can_mug.png | Bin 0 -> 419 bytes .../hbm/textures/items/chem_icon_DYNAMITE.png | Bin 0 -> 409 bytes 43 files changed, 1502 insertions(+), 89 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/BlockEnumMulti.java create mode 100644 src/main/java/com/hbm/blocks/BlockEnums.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockStalagmite.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockObserver.java create mode 100644 src/main/java/com/hbm/render/block/RenderTestPipe.java create mode 100644 src/main/java/com/hbm/world/feature/OreCave.java create mode 100644 src/main/resources/assets/hbm/models/blocks/pipe_neo.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/observer_back_off.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/observer_back_on.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/observer_front.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/observer_front.png.mcmeta create mode 100644 src/main/resources/assets/hbm/textures/blocks/observer_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pipe_neo.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalactite.sulfur.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalagmite.fluorite.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalagmite.sulfur.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_resource.sulfur.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_resource.sulfur_alt.png create mode 100644 src/main/resources/assets/hbm/textures/items/can_mug.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_DYNAMITE.png diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index dd8c2c4ab..9ec663305 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -17,7 +17,7 @@ public interface IFluidConnector { * @param power * @return */ - public int transferFluid(FluidType type, int fluid); + public long transferFluid(FluidType type, long fluid); /** * Whether the given side can be connected to @@ -33,7 +33,7 @@ public interface IFluidConnector { * @param type * @return */ - public int getDemand(FluidType type); + public long getDemand(FluidType type); /** * Basic implementation of subscribing to a nearby power grid diff --git a/src/main/java/api/hbm/fluid/IPipeNet.java b/src/main/java/api/hbm/fluid/IPipeNet.java index 8571f16e9..e218df51f 100644 --- a/src/main/java/api/hbm/fluid/IPipeNet.java +++ b/src/main/java/api/hbm/fluid/IPipeNet.java @@ -1,5 +1,6 @@ package api.hbm.fluid; +import java.util.HashSet; import java.util.List; import com.hbm.inventory.fluid.FluidType; @@ -9,7 +10,7 @@ public interface IPipeNet { public void joinNetworks(IPipeNet network); public List getLinks(); - public List getSubscribers(); + public HashSet getSubscribers(); public IPipeNet joinLink(IFluidConductor conductor); public void leaveLink(IFluidConductor conductor); @@ -22,6 +23,6 @@ public interface IPipeNet { public boolean isValid(); - public long transferFluid(long power); + public long transferFluid(long fill); public FluidType getType(); } diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java index 6e15a06d0..2a2c6bf78 100644 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -1,15 +1,19 @@ package api.hbm.fluid; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import com.hbm.inventory.fluid.FluidType; +import net.minecraft.tileentity.TileEntity; + public class PipeNet implements IPipeNet { - + + private boolean valid = true; private FluidType type; private List links = new ArrayList(); - private List subscribers = new ArrayList(); + private HashSet subscribers = new HashSet(); public PipeNet(FluidType type) { this.type = type; @@ -40,44 +44,79 @@ public class PipeNet implements IPipeNet { } @Override - public List getSubscribers() { + public HashSet getSubscribers() { return subscribers; } @Override public IPipeNet joinLink(IFluidConductor conductor) { - // TODO Auto-generated method stub - return null; + + if(conductor.getPipeNet(type) != null) + conductor.getPipeNet(type).leaveLink(conductor); + + conductor.setPipeNet(type, this); + this.links.add(conductor); + return this; } @Override public void leaveLink(IFluidConductor conductor) { - // TODO Auto-generated method stub - + conductor.setPipeNet(type, null); + this.links.remove(conductor); } @Override public void subscribe(IFluidConnector connector) { - // TODO Auto-generated method stub - + this.subscribers.add(connector); } @Override public void unsubscribe(IFluidConnector connector) { - // TODO Auto-generated method stub - + this.subscribers.remove(connector); } @Override public boolean isSubscribed(IFluidConnector connector) { - // TODO Auto-generated method stub - return false; + return this.subscribers.contains(connector); } @Override - public long transferFluid(long power) { - // TODO Auto-generated method stub - return 0; + public long transferFluid(long fill) { + + this.subscribers.removeIf(x -> + x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() + ); + + if(this.subscribers.isEmpty()) + return fill; + + List subList = new ArrayList(subscribers); + + List weight = new ArrayList(); + long totalReq = 0; + + for(IFluidConnector con : subList) { + long req = con.getDemand(type); + weight.add(req); + totalReq += req; + } + + if(totalReq == 0) + return fill; + + long totalGiven = 0; + + for(int i = 0; i < subList.size(); i++) { + IFluidConnector con = subList.get(i); + long req = weight.get(i); + double fraction = (double)req / (double)totalReq; + + long given = (long) Math.floor(fraction * fill); + + totalGiven += (given - con.transferFluid(type, given)); + } + + return fill - totalGiven; } @Override @@ -87,13 +126,17 @@ public class PipeNet implements IPipeNet { @Override public void destroy() { - // TODO Auto-generated method stub + this.valid = false; + this.subscribers.clear(); + for(IFluidConductor con : this.links) + con.setPipeNet(type, null); + + this.links.clear(); } @Override public boolean isValid() { - // TODO Auto-generated method stub - return false; + return this.valid; } } diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java new file mode 100644 index 000000000..5ece200f7 --- /dev/null +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -0,0 +1,64 @@ +package com.hbm.blocks; + +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class BlockEnumMulti extends BlockBase { + + public Class theEnum; + public boolean multiName; + private boolean multiTexture; + + public BlockEnumMulti(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat); + this.theEnum = theEnum; + this.multiName = multiName; + this.multiTexture = multiTexture; + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < theEnum.getEnumConstants().length; ++i) { + list.add(new ItemStack(item, 1, i)); + } + } + + private IIcon[] icons; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + if(multiTexture) { + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + + for(int i = 0; i < icons.length; i++) { + Enum num = enums[i]; + this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase()); + } + } else { + this.blockIcon = reg.registerIcon(this.getTextureName()); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.icons[meta % this.icons.length]; + } +} diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java new file mode 100644 index 000000000..8b069a935 --- /dev/null +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -0,0 +1,8 @@ +package com.hbm.blocks; + +public class BlockEnums { + + public static enum EnumStoneType { + SULFUR + } +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 21c9a450d..5f71c7651 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -133,6 +133,9 @@ public class ModBlocks { public static Block ore_depth_nether_neodymium; public static Block stone_porous; + public static Block stone_resource; + public static Block stalagmite; + public static Block stalactite; public static Block depth_brick; public static Block depth_tiles; @@ -476,6 +479,9 @@ public class ModBlocks { public static Block geysir_vapor; public static Block geysir_nether; + public static Block observer_off; + public static Block observer_on; + public static Block flame_war; public static Block float_bomb; public static Block therm_endo; @@ -1340,6 +1346,9 @@ public class ModBlocks { ore_depth_nether_neodymium = new BlockDepthOre().setBlockName("ore_depth_nether_neodymium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_nether_neodymium"); stone_porous = new BlockPorous().setBlockName("stone_porous").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_porous"); + stone_resource = new BlockEnumMulti(Material.rock, BlockEnums.EnumStoneType.class, true, true).setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); + stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); @@ -1679,6 +1688,9 @@ public class ModBlocks { geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F); + observer_off = new BlockObserver(Material.iron, false).setBlockName("observer_off").setStepSound(Block.soundTypeStone).setHardness(2.0F); + observer_on = new BlockObserver(Material.iron, true).setBlockName("observer_on").setStepSound(Block.soundTypeStone).setHardness(2.0F); + nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":fatMan"); @@ -2377,6 +2389,11 @@ public class ModBlocks { GameRegistry.registerBlock(crystal_robust, crystal_robust.getUnlocalizedName()); GameRegistry.registerBlock(crystal_trixite, crystal_trixite.getUnlocalizedName()); + //Resource-bearing Stones + GameRegistry.registerBlock(stone_resource, ItemBlockBase.class, stone_resource.getUnlocalizedName()); + GameRegistry.registerBlock(stalagmite, ItemBlockBase.class, stalagmite.getUnlocalizedName()); + GameRegistry.registerBlock(stalactite, ItemBlockBase.class, stalactite.getUnlocalizedName()); + //Stone Variants GameRegistry.registerBlock(stone_porous, stone_porous.getUnlocalizedName()); GameRegistry.registerBlock(stone_gneiss, stone_gneiss.getUnlocalizedName()); @@ -2829,6 +2846,9 @@ public class ModBlocks { GameRegistry.registerBlock(bomber, bomber.getUnlocalizedName()); //Machines + //GameRegistry.registerBlock(observer_off, observer_off.getUnlocalizedName()); + //GameRegistry.registerBlock(observer_on, observer_on.getUnlocalizedName()); + GameRegistry.registerBlock(anvil_iron, ItemBlockBase.class, anvil_iron.getUnlocalizedName()); GameRegistry.registerBlock(anvil_lead, ItemBlockBase.class, anvil_lead.getUnlocalizedName()); GameRegistry.registerBlock(anvil_steel, ItemBlockBase.class, anvil_steel.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java new file mode 100644 index 000000000..9358ab147 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java @@ -0,0 +1,70 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.BlockEnums; +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockStalagmite extends BlockEnumMulti { + + public BlockStalagmite() { + super(Material.rock, BlockEnums.EnumStoneType.class, true, true); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 1; + } + + @Override + public Item getItemDropped(int meta, Random rang, int fortune) { + + switch(meta) { + case 0: return ModItems.sulfur; + } + + return null; + } + + @Override + public boolean canPlaceBlockAt(World world, int x, int y, int z) { + + if(this == ModBlocks.stalagmite) + return World.doesBlockHaveSolidTopSurface(world, x, y - 1, z); + if(this == ModBlocks.stalactite) + return world.isSideSolid(x, y + 1, z, ForgeDirection.DOWN); + + return true; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + if(!canPlaceBlockAt(world, x, y, z)) { + world.func_147480_a(x, y, z, true); + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockObserver.java b/src/main/java/com/hbm/blocks/machine/BlockObserver.java new file mode 100644 index 000000000..e1dfa027f --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockObserver.java @@ -0,0 +1,83 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockObserver extends Block { + + private boolean isActive; + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + @SideOnly(Side.CLIENT) + private IIcon iconBack; + + public BlockObserver(Material mat, boolean isActive) { + super(mat); + this.isActive = isActive; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconBack = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":observer_back_on" : ":observer_back_off")); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":observer_front"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":observer_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + ForgeDirection dir = ForgeDirection.getOrientation(metadata); + ForgeDirection opp = dir.getOpposite(); + return side == dir.ordinal() ? iconFront : side == opp.ordinal() ? iconBack : blockIcon; + } + + @Override + public Item getItemDropped(int meta, Random rand, int luck) { + return Item.getItemFromBlock(ModBlocks.observer_off); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int l = BlockPistonBase.determineOrientation(world, x, y, z, player); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + + if(this.isActive) + world.scheduleBlockUpdate(x, y, z, this, 2); + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + + if(!this.isActive) { + + } + } + + @Override + public boolean canProvidePower() { + return this.isActive; + } + + @Override + public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) { + return this.isActive ? 15 : 0; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java index 8e066e31f..480073153 100644 --- a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java +++ b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java @@ -160,63 +160,55 @@ public class SoyuzLauncher extends BlockDummyable { private static boolean keepInventory; @Override - public void breakBlock(World world, int x, int y, int z, Block p_149749_5_, int i) - { - if (!keepInventory) - { - ISidedInventory tileentityfurnace = (ISidedInventory)world.getTileEntity(x, y, z); + public void breakBlock(World world, int x, int y, int z, Block p_149749_5_, int i) { + if(!keepInventory) { + ISidedInventory tileentityfurnace = (ISidedInventory) world.getTileEntity(x, y, z); - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + if(tileentityfurnace != null) { + for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { + ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + if(itemstack != null) { + float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; + while(itemstack.stackSize > 0) { + int j1 = this.field_149933_a.nextInt(21) + 10; - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } + if(j1 > itemstack.stackSize) { + j1 = itemstack.stackSize; + } - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } + if(itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - world.spawnEntityInWorld(entityitem); - } - } - } - - for(int l = 0; l < 10; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 38))); - for(int l = 0; l < 8; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 41))); - for(int l = 0; l < 6; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 64))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 53))); - - world.func_147453_f(x, y, z, p_149749_5_); - } - } + float f3 = 0.05F; + entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; + entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); + } + } + } - super.breakBlock(world, x, y, z, p_149749_5_, i); - } + for(int l = 0; l < 10; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 38))); + for(int l = 0; l < 8; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 41))); + for(int l = 0; l < 6; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 53))); + + world.func_147453_f(x, y, z, p_149749_5_); + } + } + + super.breakBlock(world, x, y, z, p_149749_5_, i); + } } diff --git a/src/main/java/com/hbm/blocks/test/TestPipe.java b/src/main/java/com/hbm/blocks/test/TestPipe.java index 7b5563a9c..598b0e794 100644 --- a/src/main/java/com/hbm/blocks/test/TestPipe.java +++ b/src/main/java/com/hbm/blocks/test/TestPipe.java @@ -3,16 +3,36 @@ package com.hbm.blocks.test; import com.hbm.tileentity.network.TileEntityPipeBaseNT; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; import net.minecraft.world.World; public class TestPipe extends BlockContainer { + @SideOnly(Side.CLIENT) + protected IIcon overlay; + public TestPipe(Material mat) { super(mat); } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.overlay = iconRegister.registerIcon(this.getTextureName() + "_overlay"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 0 ? this.blockIcon : this.overlay; + } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { diff --git a/src/main/java/com/hbm/handler/MultiblockHandlerXR.java b/src/main/java/com/hbm/handler/MultiblockHandlerXR.java index 95b599547..80ed65dc5 100644 --- a/src/main/java/com/hbm/handler/MultiblockHandlerXR.java +++ b/src/main/java/com/hbm/handler/MultiblockHandlerXR.java @@ -29,7 +29,7 @@ public class MultiblockHandlerXR { if(a == ox && b == oy && c == oz) continue; - if(!world.getBlock(a, b, c).canPlaceBlockAt(world, a, b, c)) { + if(!world.getBlock(a, b, c).isReplaceable(world, a, b, c)) { return false; } diff --git a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java index d2482addc..d9c8407e3 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java @@ -10,6 +10,7 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.items.ModItems; +import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -92,6 +93,7 @@ public class GunNPCFactory { bullet.explosive = 0.5F; bullet.setToBolt(BulletConfiguration.BOLT_LACUNAE); bullet.vPFX = "reddust"; + bullet.damageType = ModDamageSource.s_laser; return bullet; } @@ -124,6 +126,7 @@ public class GunNPCFactory { bullet.leadChance = 0; bullet.setToBolt(BulletConfiguration.BOLT_NIGHTMARE); bullet.vPFX = "reddust"; + bullet.damageType = ModDamageSource.s_laser; bullet.bImpact = new IBulletImpactBehavior() { @@ -210,6 +213,7 @@ public class GunNPCFactory { bullet.leadChance = 0; bullet.doesRicochet = false; bullet.setToBolt(BulletConfiguration.BOLT_WORM); + bullet.damageType = ModDamageSource.s_laser; return bullet; } @@ -226,6 +230,7 @@ public class GunNPCFactory { bullet.leadChance = 0; bullet.doesRicochet = false; bullet.setToBolt(BulletConfiguration.BOLT_LASER); + bullet.damageType = ModDamageSource.s_laser; return bullet; } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index e70a3fe3f..753106a53 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -10,6 +10,7 @@ import static com.hbm.items.ModItems.*; import static com.hbm.blocks.ModBlocks.*; import static com.hbm.inventory.OreDictManager.DictFrame.*; +import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.config.GeneralConfig; import com.hbm.hazard.HazardData; import com.hbm.hazard.HazardEntry; @@ -349,7 +350,7 @@ public class OreDictManager { /* * DUST AND GEM ORES */ - S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur) .oreNether(ore_nether_sulfur); + S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur, DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur); KNO .dust(niter) .block(block_niter) .ore(ore_niter); F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); @@ -572,9 +573,15 @@ public class OreDictManager { public static ItemStack fromOne(Item item, Enum en) { return new ItemStack(item, 1, en.ordinal()); } + public static ItemStack fromOne(Block block, Enum en) { + return new ItemStack(block, 1, en.ordinal()); + } public static ItemStack fromOne(Item item, Enum en, int stacksize) { return new ItemStack(item, stacksize, en.ordinal()); } + public static ItemStack fromOne(Block block, Enum en, int stacksize) { + return new ItemStack(block, stacksize, en.ordinal()); + } /** Same as fromOne but with an array of ItemStacks. The array type is Object[] so that the ODM methods work with it. Generates ItemStacks for the entire enum class. */ public static Object[] fromAll(Item item, Class en) { Enum[] vals = en.getEnumConstants(); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 7a27b4aca..8b7518cb3 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -178,6 +178,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.warhead_buster_medium, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_medium, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModBlocks.det_charge, 4), },150); makeRecipe(new ComparableStack(ModItems.warhead_buster_large, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_large, 1), new ComparableStack(ModBlocks.det_charge, 8), },200); makeRecipe(new ComparableStack(ModItems.warhead_nuclear, 1), new AStack[] {new ComparableStack(ModItems.boy_shielding, 1), new ComparableStack(ModItems.boy_target, 1), new ComparableStack(ModItems.boy_bullet, 1), new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), },300); + makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 20), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new OreDictStack(OreDictManager.getReflector(), 6), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), },500); makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit_tantalium, 5) }, 600); makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300); makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 43045d169..3a4a67f97 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -93,6 +93,12 @@ public class ChemplantRecipes { .inputItems(new OreDictStack(KNO.dust())) .inputFluids(new FluidStack(Fluids.AROMATICS, 500)) .outputItems(new ItemStack(ModItems.ball_tnt, 4))); + recipes.add(new ChemRecipe(89, "DYNAMITE", 50) + .inputItems( + new ComparableStack(Items.sugar), + new OreDictStack(KNO.dust()), + new OreDictStack("sand")) + .outputItems(new ItemStack(ModItems.ball_dynamite, 2))); recipes.add(new ChemRecipe(84, "C4", 150) .inputItems(new OreDictStack(KNO.dust())) .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500)) diff --git a/src/main/java/com/hbm/items/block/ItemBlockBase.java b/src/main/java/com/hbm/items/block/ItemBlockBase.java index ee230584b..25d85b537 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockBase.java +++ b/src/main/java/com/hbm/items/block/ItemBlockBase.java @@ -2,7 +2,9 @@ package com.hbm.items.block; import java.util.List; +import com.hbm.blocks.BlockEnumMulti; import com.hbm.blocks.ITooltipProvider; +import com.hbm.util.EnumUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; @@ -14,6 +16,31 @@ public class ItemBlockBase extends ItemBlock { public ItemBlockBase(Block block) { super(block); + + if(block instanceof BlockEnumMulti) { + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + } + + @Override + public int getMetadata(int meta) { + if(field_150939_a instanceof BlockEnumMulti) + return meta; + else + return super.getMetadata(meta); + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + + if(field_150939_a instanceof BlockEnumMulti && ((BlockEnumMulti)field_150939_a).multiName) { + + Enum num = EnumUtil.grabEnumSafely(((BlockEnumMulti)field_150939_a).theEnum, stack.getItemDamage()); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + } else { + return super.getUnlocalizedName(stack); + } } @Override diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index faa039536..21cb9e94c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -679,6 +679,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderAnvil()); RenderingRegistry.registerBlockHandler(new RenderCrystal()); RenderingRegistry.registerBlockHandler(new RenderTestCable()); + RenderingRegistry.registerBlockHandler(new RenderTestPipe()); RenderingRegistry.registerBlockHandler(new RenderBlockCT()); RenderingRegistry.registerBlockHandler(new RenderDetCord()); RenderingRegistry.registerBlockHandler(new RenderBlockMultipass()); @@ -1161,17 +1162,20 @@ public class ClientProxy extends ServerProxy { } } } - - double motionX = BobMathUtil.safeClamp(p.motionX + moX, -5, 5); - double motionY = BobMathUtil.safeClamp(p.motionY + moY, -2, 2); - double motionZ = BobMathUtil.safeClamp(p.motionZ + moZ, -5, 5); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, motionX * 2, motionY * 2, motionZ * 2)); - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, motionX * 2, motionY * 2, motionZ * 2)); + double mX2 = BobMathUtil.safeClamp(p.motionX + moX * 2, -5, 5); + double mY2 = BobMathUtil.safeClamp(p.motionY + moY * 2, -5, 5); + double mZ2 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -5, 5); + double mX3 = BobMathUtil.safeClamp(p.motionX + moX * 2, -10, 10); + double mY3 = BobMathUtil.safeClamp(p.motionY + moY * 2, -10, 10); + double mZ3 = BobMathUtil.safeClamp(p.motionZ + moZ * 2, -10, 10); + + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix + ox, iy, iz + oz, mX2, mY2, mZ2)); + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityFlameFX(world, ix - ox, iy, iz - oz, mX2, mY2, mZ2)); if(particleSetting == 0) { - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, motionX * 3, motionY * 3, motionZ * 3)); - Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, motionX * 3, motionY * 3, motionZ * 3)); + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix + ox, iy, iz + oz, mX3, mY3, mZ3)); + Minecraft.getMinecraft().effectRenderer.addEffect(new net.minecraft.client.particle.EntitySmokeFX(world, ix - ox, iy, iz - oz, mX3, mY3, mZ3)); } } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 26e7c2c1b..1963143b1 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -71,6 +71,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.ArmorUtil; +import com.hbm.world.feature.OreCave; import com.hbm.world.feature.SchistStratum; import com.hbm.world.generator.CellularDungeonFactory; @@ -973,6 +974,9 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); + + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20); + //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); } @EventHandler @@ -989,8 +993,6 @@ public class MainRegistry { SchistStratum schist = new SchistStratum(); MinecraftForge.EVENT_BUS.register(schist); //DecorateBiomeEvent.Pre - //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); - OreDictManager oreMan = new OreDictManager(); MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 4f67e998b..8c32969af 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1179,6 +1179,7 @@ public class ResourceManager { public static final IModelCustom crystal_robust = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/crystals_robust.obj")); public static final IModelCustom crystal_trixite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/crystals_trixite.obj")); public static final IModelCustom cable_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/cable_neo.obj")); + public static final IModelCustom pipe_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_neo.obj")); public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); public static final IModelCustom charge_c4 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_c4.obj")); diff --git a/src/main/java/com/hbm/render/block/RenderTestPipe.java b/src/main/java/com/hbm/render/block/RenderTestPipe.java new file mode 100644 index 000000000..849fcd0ba --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderTestPipe.java @@ -0,0 +1,130 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.test.TestPipe; +import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import api.hbm.fluid.IFluidConductor; +import api.hbm.fluid.IFluidConnector; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderTestPipe implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + GL11.glRotated(180, 0, 1, 0); + GL11.glScaled(1.25D, 1.25D, 1.25D); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "pX", iicon, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "nX", iicon, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "pZ", iicon, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "nZ", iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + IIcon overlay = block.getIcon(1, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + boolean pX = world.getTileEntity(x + 1, y, z) instanceof IFluidConductor; + boolean nX = world.getTileEntity(x - 1, y, z) instanceof IFluidConductor; + boolean pY = world.getTileEntity(x, y + 1, z) instanceof IFluidConductor; + boolean nY = world.getTileEntity(x, y - 1, z) instanceof IFluidConductor; + boolean pZ = world.getTileEntity(x, y, z + 1) instanceof IFluidConductor; + boolean nZ = world.getTileEntity(x, y, z - 1) instanceof IFluidConductor; + + int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0); + + tessellator.addTranslation(x + 0.5F, y + 0.5F, z + 0.5F); + + int color = 0xff0000; + + if(mask == 0) { + renderDuct(iicon, overlay, color, tessellator, "pX"); + renderDuct(iicon, overlay, color, tessellator, "nX"); + renderDuct(iicon, overlay, color, tessellator, "pY"); + renderDuct(iicon, overlay, color, tessellator, "nY"); + renderDuct(iicon, overlay, color, tessellator, "pZ"); + renderDuct(iicon, overlay, color, tessellator, "nZ"); + } else if(mask == 0b100000 || mask == 0b010000) { + renderDuct(iicon, overlay, color, tessellator, "pX"); + renderDuct(iicon, overlay, color, tessellator, "nX"); + } else if(mask == 0b001000 || mask == 0b000100) { + renderDuct(iicon, overlay, color, tessellator, "pY"); + renderDuct(iicon, overlay, color, tessellator, "nY"); + } else if(mask == 0b000010 || mask == 0b000001) { + renderDuct(iicon, overlay, color, tessellator, "pZ"); + renderDuct(iicon, overlay, color, tessellator, "nZ"); + } else { + + if(pX) renderDuct(iicon, overlay, color, tessellator, "pX"); + if(nX) renderDuct(iicon, overlay, color, tessellator, "nX"); + if(pY) renderDuct(iicon, overlay, color, tessellator, "pY"); + if(nY) renderDuct(iicon, overlay, color, tessellator, "nY"); + if(pZ) renderDuct(iicon, overlay, color, tessellator, "nZ"); + if(nZ) renderDuct(iicon, overlay, color, tessellator, "pZ"); + + if(!pX && !pY && !pZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "ppn", iicon, tessellator, 0, true); + if(!pX && !pY && !nZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "ppp", iicon, tessellator, 0, true); + if(!nX && !pY && !pZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "npn", iicon, tessellator, 0, true); + if(!nX && !pY && !nZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "npp", iicon, tessellator, 0, true); + if(!pX && !nY && !pZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "pnn", iicon, tessellator, 0, true); + if(!pX && !nY && !nZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "pnp", iicon, tessellator, 0, true); + if(!nX && !nY && !pZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "nnn", iicon, tessellator, 0, true); + if(!nX && !nY && !nZ) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, "nnp", iicon, tessellator, 0, true); + } + + tessellator.addTranslation(-x - 0.5F, -y - 0.5F, -z - 0.5F); + + return true; + } + + private void renderDuct(IIcon iicon, IIcon overlay, int color, Tessellator tessellator, String part) { + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, part, iicon, tessellator, 0, true); + ObjUtil.setColor(color); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.pipe_neo, part, overlay, tessellator, 0, true); + ObjUtil.clearColor(); + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return TestPipe.renderID; + } +} diff --git a/src/main/java/com/hbm/render/util/ObjUtil.java b/src/main/java/com/hbm/render/util/ObjUtil.java index 108b90308..b58628541 100644 --- a/src/main/java/com/hbm/render/util/ObjUtil.java +++ b/src/main/java/com/hbm/render/util/ObjUtil.java @@ -91,7 +91,11 @@ public class ObjUtil { if(brightness < 0.45F) brightness = 0.45F; - tes.setColorOpaque_F(brightness, brightness, brightness); + if(hasColor) { + tes.setColorOpaque((int)(red * brightness), (int)(green * brightness), (int)(blue * brightness)); + } else { + tes.setColorOpaque_F(brightness, brightness, brightness); + } } for(int i = 0; i < f.vertices.length; i++) { @@ -116,4 +120,27 @@ public class ObjUtil { } } } + + private static int red; + private static int green; + private static int blue; + private static boolean hasColor = false; + + public static void setColor(int color) { + red = (color & 0xff0000) >> 16; + green = (color & 0x00ff00) >> 8; + blue = color & 0x0000ff; + hasColor = true; + } + + public static void setColor(int r, int g, int b) { + red = r; + green = g; + blue = b; + hasColor = true; + } + + public static void clearColor() { + hasColor = false; + } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 873d7d66c..3b044c1ea 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -184,6 +184,7 @@ public class TileMappings { put(TileEntityDeaerator.class, "tileentity_deaerator"); put(TileEntityChungus.class, "tileentity_chungus"); put(TileEntityCableBaseNT.class, "tileentity_ohgod"); + put(TileEntityPipeBaseNT.class, "tileentity_pipe_base"); put(TileEntityWatz.class, "tileentity_watz"); put(TileEntityMachineBAT9000.class, "tileentity_bat9000"); put(TileEntityMachineOrbus.class, "tileentity_orbus"); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index c55922b77..76f026db5 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -74,13 +74,12 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor } @Override - public int transferFluid(FluidType type, int fluid) { - // TODO Auto-generated method stub + public long transferFluid(FluidType type, long fluid) { return 0; } @Override - public int getDemand(FluidType type) { + public long getDemand(FluidType type) { return 0; } diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java new file mode 100644 index 000000000..17ec19c43 --- /dev/null +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -0,0 +1,125 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockStalagmite; +import com.hbm.inventory.RecipesCommon.MetaBlock; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent; + +public class OreCave { + + private NoiseGeneratorPerlin noise; + private MetaBlock ore; + /** The number that is being deducted flat from the result of the perlin noise before all other processing. Increase this to make strata rarer. */ + private double threshold = 2D; + /** The mulitplier for the remaining bit after the threshold has been deducted. Increase to make strata wavier. */ + private int rangeMult = 3; + /** The maximum range after multiplying - anything above this will be subtracted from (maxRange * 2) to yield the proper range. Increase this to make strata thicker. */ + private int maxRange = 4; + /** The y-level around which the stratum is centered. */ + private int yLevel = 30; + + public OreCave(Block ore) { + this(ore, 0); + } + + public OreCave(Block ore, int meta) { + this.ore = new MetaBlock(ore, meta); + MinecraftForge.EVENT_BUS.register(this); + } + + public OreCave setThreshold(double threshold) { + this.threshold = threshold; + return this; + } + + public OreCave setRangeMult(int rangeMult) { + this.rangeMult = rangeMult; + return this; + } + + public OreCave setMaxRange(int maxRange) { + this.maxRange = maxRange; + return this; + } + + public OreCave setYLevel(int yLevel) { + this.yLevel = yLevel; + return this; + } + + @SubscribeEvent + public void onDecorate(DecorateBiomeEvent.Pre event) { + + if(this.noise == null) { + this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + (ore.getID() * 31) + yLevel), 2); + } + + World world = event.world; + + if(world.provider.dimensionId != 0) + return; + + int cX = event.chunkX; + int cZ = event.chunkZ; + + double scale = 0.01D; + + for(int x = cX; x < cX + 16; x++) { + for(int z = cZ; z < cZ + 16; z++) { + + double n = noise.func_151601_a(x * scale, z * scale); + + if(n > threshold) { + int range = (int)((n - threshold) * rangeMult); + + if(range > maxRange) + range = (maxRange * 2) - range; + + if(range < 0) + continue; + + for(int y = yLevel - range; y <= yLevel + range; y++) { + Block genTarget = world.getBlock(x, y, z); + + if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground)) { + + boolean shouldGen = false; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + Block neighbor = world.getBlock(MathHelper.clamp_int(x + dir.offsetX, cX, cX + 16), y + dir.offsetY, MathHelper.clamp_int(z + dir.offsetZ, cZ, cZ + 16)); + if(neighbor.getMaterial() == Material.air || neighbor instanceof BlockStalagmite) { + shouldGen = true; + break; + } + } + if(shouldGen) world.setBlock(x, y, z, ore.block, ore.meta, 2); + } else { + + if((genTarget.getMaterial() == Material.air || !genTarget.isNormalCube()) && event.rand.nextInt(5) == 0) { + + if(ModBlocks.stalactite.canPlaceBlockAt(world, x, y, z)) { + world.setBlock(x, y, z, ModBlocks.stalactite, ore.meta, 2); + } else { + if(ModBlocks.stalagmite.canPlaceBlockAt(world, x, y, z)) { + world.setBlock(x, y, z, ModBlocks.stalagmite, ore.meta, 2); + } + } + } + } + } + } + } + } + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index e9c2e7d07..2e0bdc918 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -137,6 +137,7 @@ chem.DEUTERIUM=Deuteriumextrahierung chem.DYN_DNT=Dineutronium-Dynosynthese chem.DYN_EUPH=Euphemium-Dynosynthese chem.DYN_SCHRAB=Schrabidium-Dynosynthese +chem.DYNAMITE=Dynamitherstellung chem.ELECTROLYSIS=Kryo-Elektrolyse chem.EPEARL=Enderperlen-Synthese chem.ETHANOL=Ethanolherstellung @@ -3553,6 +3554,8 @@ tile.solar_mirror.name=Heliostatspiegel tile.soyuz_capsule.name=Landekapsel tile.soyuz_launcher.name=Soyuz-Startplatform tile.spikes.name=Stacheln +tile.stalactite.sulfur.name=Schwefelhaltiger Stalaktit +tile.stalagmite.sulfur.name=Schwefelhaltiger Stalagmit tile.steel_beam.name=Stahlträger tile.steel_corner.name=Stahlwand (Ecke) tile.steel_grate.name=Stahlgitter @@ -3564,6 +3567,7 @@ tile.stone_depth.name=Tiefenfels tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer tile.stone_porous.name=Poröser Stein +tile.stone_resource.sulfur.name=Schwefelhaltiger Stein tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente tile.struct_launcher.name=Startrampe-Komponentenblock tile.struct_launcher_core.name=Kompaktrampe-Kernkomponente diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6e2a95097..25745b257 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -306,6 +306,7 @@ chem.DUCRETE=Ducrete Production chem.DYN_DNT=Dineutronium Dynosynthesis chem.DYN_EUPH=Euphemium Dynosynthesis chem.DYN_SCHRAB=Schrabidium Dynosynthesis +chem.DYNAMITE=Dynamite Synthesis chem.ELECTROLYSIS=Cryo-Electrolysis chem.EPEARL=Ender Pearl Synthesis chem.ETHANOL=Ethanol Production @@ -3926,6 +3927,8 @@ tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule tile.soyuz_launcher.name=Soyuz Launch Platform tile.spikes.name=Spikes +tile.stalactite.sulfur.name=Sulfurous Stalactite +tile.stalagmite.sulfur.name=Sulfurous Stalagmite tile.steel_beam.name=Steel Beam tile.steel_corner.name=Steel Wall Corner tile.steel_grate.name=Steel Grate @@ -3937,6 +3940,7 @@ tile.stone_depth.name=Depth Rock tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.stone_porous.name=Porous Stone +tile.stone_resource.sulfur.name=Sulfurous Stone tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block tile.struct_launcher_core.name=Compact Launcher Core Component diff --git a/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj b/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj new file mode 100644 index 000000000..2273b5e22 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj @@ -0,0 +1,664 @@ +# Blender v2.79 (sub 0) OBJ File: 'pipe_neo.blend' +# www.blender.org +o pZ +v 0.187500 0.000000 -0.500000 +v 0.132582 -0.132582 -0.500000 +v -0.000000 -0.187500 -0.500000 +v -0.132583 -0.132582 -0.500000 +v -0.187500 0.000000 -0.500000 +v -0.132583 0.132583 -0.500000 +v -0.000000 0.187500 -0.500000 +v 0.132582 0.132583 -0.500000 +v -0.132582 0.132583 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 0.000000 0.000000 +v 0.132582 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132582 0.132583 0.000000 +v 0.187500 -0.000000 0.000000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.624326 0.187500 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.437500 0.374326 +vn -0.3827 0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 7/1/1 9/2/1 10/3/1 +f 5/4/2 11/5/2 12/6/2 +f 3/7/3 13/8/3 14/9/3 +f 8/10/4 10/3/4 15/11/4 +f 9/12/5 5/4/5 12/6/5 +f 11/13/6 3/7/6 14/9/6 +f 2/14/7 16/15/7 13/16/7 +f 1/17/8 15/18/8 16/15/8 +f 8/19/9 1/20/9 5/21/9 +f 7/1/1 6/22/1 9/2/1 +f 5/4/2 4/23/2 11/5/2 +f 3/7/3 2/24/3 13/8/3 +f 8/10/4 7/1/4 10/3/4 +f 9/12/5 6/25/5 5/4/5 +f 11/13/6 4/26/6 3/7/6 +f 2/14/7 1/17/7 16/15/7 +f 1/17/8 8/27/8 15/18/8 +f 1/20/9 2/28/9 3/29/9 +f 3/29/9 4/30/9 1/20/9 +f 4/30/9 5/21/9 1/20/9 +f 5/21/9 6/31/9 7/32/9 +f 7/32/9 8/19/9 5/21/9 +o pX +v 0.500000 0.000000 0.187500 +v 0.500000 -0.132582 0.132582 +v 0.500000 -0.187500 0.000000 +v 0.500000 -0.132582 -0.132582 +v 0.500000 0.000000 -0.187500 +v 0.500000 0.132583 -0.132582 +v 0.500000 0.187500 0.000000 +v 0.500000 0.132583 0.132582 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132583 0.132582 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.132583 0.132582 +v 0.000000 0.000000 -0.187500 +v 0.000000 -0.132583 -0.132582 +v 0.000000 0.187500 0.000000 +v 0.000000 0.132583 -0.132582 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt -0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.624326 0.187500 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.437500 0.374326 +vn -0.0000 0.9239 -0.3827 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 0.3827 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 0.9239 +vn 1.0000 0.0000 0.0000 +s off +f 23/33/10 32/34/10 31/35/10 +f 29/36/11 20/37/11 30/38/11 +f 19/39/12 28/40/12 27/41/12 +f 24/42/13 31/35/13 26/43/13 +f 22/44/14 29/36/14 32/45/14 +f 20/46/15 27/41/15 30/47/15 +f 18/48/16 25/49/16 28/50/16 +f 17/51/17 26/52/17 25/49/17 +f 24/53/18 17/54/18 21/55/18 +f 23/33/10 22/56/10 32/34/10 +f 29/36/11 21/57/11 20/37/11 +f 19/39/12 18/58/12 28/40/12 +f 24/42/13 23/33/13 31/35/13 +f 22/44/14 21/57/14 29/36/14 +f 20/46/15 19/39/15 27/41/15 +f 18/48/16 17/51/16 25/49/16 +f 17/51/17 24/59/17 26/52/17 +f 17/54/18 18/60/18 19/61/18 +f 19/61/18 20/62/18 17/54/18 +f 20/62/18 21/55/18 17/54/18 +f 21/55/18 22/63/18 23/64/18 +f 23/64/18 24/53/18 21/55/18 +o nZ +v 0.187500 -0.000000 0.500000 +v 0.132583 -0.132583 0.500000 +v 0.000000 -0.187500 0.500000 +v -0.132582 -0.132583 0.500000 +v -0.187500 -0.000000 0.500000 +v -0.132582 0.132582 0.500000 +v 0.000000 0.187500 0.500000 +v 0.132583 0.132582 0.500000 +v -0.132582 0.132583 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 0.000000 0.000000 +v 0.132582 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132582 0.132583 0.000000 +v 0.187500 -0.000000 0.000000 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.250674 0.187500 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 0.000000 +vt 0.250000 0.000000 +vt -0.000000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 0.000000 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.305394 0.055394 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn 0.0000 0.0000 1.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +s off +f 33/65/19 39/66/19 37/67/19 +f 48/68/20 40/69/20 33/70/20 +f 45/71/21 33/70/21 34/72/21 +f 36/73/22 46/74/22 35/75/22 +f 41/76/23 37/77/23 38/78/23 +f 47/79/24 39/80/24 40/81/24 +f 46/74/25 34/82/25 35/75/25 +f 44/83/26 36/84/26 37/77/26 +f 42/85/27 38/86/27 39/80/27 +f 35/87/19 34/88/19 33/65/19 +f 33/65/19 40/89/19 39/66/19 +f 39/66/19 38/90/19 37/67/19 +f 37/67/19 36/91/19 35/87/19 +f 35/87/19 33/65/19 37/67/19 +f 48/68/20 47/92/20 40/69/20 +f 45/71/21 48/68/21 33/70/21 +f 36/73/22 43/93/22 46/74/22 +f 41/76/23 44/83/23 37/77/23 +f 47/79/24 42/85/24 39/80/24 +f 46/74/25 45/94/25 34/82/25 +f 44/83/26 43/95/26 36/84/26 +f 42/85/27 41/96/27 38/86/27 +o nX +v -0.500000 -0.000000 0.187500 +v -0.500000 -0.132583 0.132583 +v -0.500000 -0.187500 0.000000 +v -0.500000 -0.132583 -0.132582 +v -0.500000 -0.000000 -0.187500 +v -0.500000 0.132582 -0.132582 +v -0.500000 0.187500 0.000000 +v -0.500000 0.132582 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132583 0.132582 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.132583 0.132582 +v 0.000000 0.000000 -0.187500 +v 0.000000 -0.132583 -0.132582 +v 0.000000 0.187500 0.000000 +v 0.000000 0.132583 -0.132582 +vt 0.437500 0.000674 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.125000 0.000000 +vt 0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.305394 0.055394 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.9239 -0.3827 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 0.3827 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 0.9239 +s off +f 51/97/28 49/98/28 55/99/28 +f 55/100/29 64/101/29 54/102/29 +f 61/103/30 52/104/30 53/105/30 +f 59/106/31 50/107/31 51/108/31 +f 58/109/32 55/100/32 56/110/32 +f 64/111/33 53/105/33 54/112/33 +f 62/113/34 51/108/34 52/114/34 +f 60/115/35 49/116/35 50/117/35 +f 57/118/36 56/119/36 49/116/36 +f 51/97/28 50/120/28 49/98/28 +f 49/98/28 56/121/28 55/99/28 +f 55/99/28 54/122/28 53/123/28 +f 53/123/28 52/124/28 55/99/28 +f 52/124/28 51/97/28 55/99/28 +f 55/100/29 63/125/29 64/101/29 +f 61/103/30 62/126/30 52/104/30 +f 59/106/31 60/127/31 50/107/31 +f 58/109/32 63/125/32 55/100/32 +f 64/111/33 61/103/33 53/105/33 +f 62/113/34 59/106/34 51/108/34 +f 60/115/35 57/118/35 49/116/35 +f 57/118/36 58/128/36 56/119/36 +o pY +v -0.000000 0.500000 -0.187500 +v -0.132583 0.500000 -0.132582 +v -0.187500 0.500000 0.000000 +v -0.132583 0.500000 0.132582 +v 0.000000 0.500000 0.187500 +v 0.132583 0.500000 0.132582 +v 0.187500 0.500000 0.000000 +v 0.132583 0.500000 -0.132582 +v -0.000000 0.000000 -0.187500 +v 0.132583 0.000000 -0.132582 +v -0.187500 0.000000 0.000000 +v -0.132583 0.000000 -0.132582 +v 0.000000 0.000000 0.187500 +v -0.132583 0.000000 0.132582 +v 0.187500 0.000000 0.000000 +v 0.132583 0.000000 0.132582 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.250674 0.187500 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 1.0000 0.0000 +s off +f 71/129/37 80/130/37 79/131/37 +f 69/132/38 78/133/38 77/134/38 +f 67/135/39 76/136/39 75/137/39 +f 72/138/40 79/131/40 74/139/40 +f 70/140/41 77/134/41 80/141/41 +f 68/142/42 75/137/42 78/143/42 +f 66/144/43 73/145/43 76/146/43 +f 65/147/44 74/148/44 73/145/44 +f 69/149/45 71/150/45 65/151/45 +f 71/129/37 70/152/37 80/130/37 +f 69/132/38 68/153/38 78/133/38 +f 67/135/39 66/154/39 76/136/39 +f 72/138/40 71/129/40 79/131/40 +f 70/140/41 69/132/41 77/134/41 +f 68/142/42 67/135/42 75/137/42 +f 66/144/43 65/147/43 73/145/43 +f 65/147/44 72/155/44 74/148/44 +f 65/151/45 66/156/45 69/149/45 +f 66/156/45 67/157/45 69/149/45 +f 67/157/45 68/158/45 69/149/45 +f 69/149/45 70/159/45 71/150/45 +f 71/150/45 72/160/45 65/151/45 +o nnn +v 0.000000 -0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 -0.000000 0.000000 +v -0.132582 -0.000000 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 -0.132583 0.132583 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vt 0.625000 0.625000 +vn -0.3574 -0.8629 0.3574 +vn -0.3574 -0.3574 0.8629 +vn -0.5774 -0.5774 0.5774 +vn -0.8629 -0.3574 0.3574 +s off +f 81/161/46 86/162/46 82/163/46 +f 84/164/47 86/162/47 85/165/47 +f 86/162/48 84/164/48 82/163/48 +f 82/163/49 84/164/49 83/166/49 +o nnp +v 0.000000 -0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 -0.000000 0.000000 +v 0.000000 -0.000000 -0.187500 +v -0.132582 -0.000000 -0.132583 +v 0.000000 -0.132583 -0.132583 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vn -0.3574 -0.8629 -0.3574 +vn -0.3574 -0.3574 -0.8629 +vn -0.5774 -0.5774 -0.5774 +vn -0.8629 -0.3574 -0.3574 +s off +f 87/167/50 88/168/50 92/169/50 +f 90/170/51 92/169/51 91/171/51 +f 92/169/52 88/168/52 91/171/52 +f 88/168/53 89/172/53 91/171/53 +o pnp +v 0.187500 -0.000000 0.000000 +v 0.132583 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132583 -0.000000 -0.132583 +v 0.000000 -0.000000 -0.187500 +v 0.000000 -0.132583 -0.132583 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vt 0.625000 0.625000 +vn 0.3574 -0.8629 -0.3574 +vn 0.3574 -0.3574 -0.8629 +vn 0.5774 -0.5774 -0.5774 +vn 0.8629 -0.3574 -0.3574 +s off +f 94/173/54 95/174/54 98/175/54 +f 96/176/55 98/175/55 97/177/55 +f 98/175/56 96/176/56 94/173/56 +f 93/178/57 94/173/57 96/176/57 +o pnn +v 0.187500 -0.000000 0.000000 +v 0.132583 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.000000 0.187500 +v 0.132583 -0.000000 0.132583 +v 0.000000 -0.132583 0.132583 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.625000 0.625000 +vn 0.3574 -0.8629 0.3574 +vn 0.8629 -0.3574 0.3574 +vn 0.5774 -0.5774 0.5774 +vn 0.3574 -0.3574 0.8629 +s off +f 100/179/58 104/180/58 101/181/58 +f 99/182/59 103/183/59 100/179/59 +f 104/180/60 100/179/60 103/183/60 +f 103/183/61 102/184/61 104/180/61 +o ppn +v 0.187500 -0.000000 0.000000 +v 0.000000 0.187500 0.000000 +v 0.132583 0.132582 0.000000 +v 0.000000 -0.000000 0.187500 +v 0.132583 -0.000000 0.132583 +v 0.000000 0.132582 0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.250000 0.500000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vn 0.3574 0.3574 0.8629 +vn 0.3574 0.8629 0.3574 +vn 0.8629 0.3574 0.3574 +vn 0.5774 0.5774 0.5774 +s off +f 108/185/62 109/186/62 110/187/62 +f 106/188/63 110/187/63 107/189/63 +f 107/189/64 109/186/64 105/190/64 +f 109/186/65 107/189/65 110/187/65 +o npn +v -0.187500 -0.000000 0.000000 +v -0.132582 0.132582 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.000000 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132582 0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vt 0.250000 0.500000 +vn -0.8629 0.3574 0.3574 +vn -0.5774 0.5774 0.5774 +vn -0.3574 0.3574 0.8629 +vn -0.3574 0.8629 0.3574 +s off +f 111/191/66 114/192/66 112/193/66 +f 114/192/67 116/194/67 112/193/67 +f 114/192/68 115/195/68 116/194/68 +f 112/193/69 116/194/69 113/196/69 +o npp +v -0.187500 -0.000000 0.000000 +v -0.132582 0.132582 0.000000 +v 0.000000 0.187500 0.000000 +v 0.000000 -0.000000 -0.187500 +v -0.132582 -0.000000 -0.132583 +v 0.000000 0.132582 -0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.625000 0.625000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vn -0.3574 0.3574 -0.8629 +vn -0.8629 0.3574 -0.3574 +vn -0.5774 0.5774 -0.5774 +vn -0.3574 0.8629 -0.3574 +s off +f 120/197/70 121/198/70 122/199/70 +f 117/200/71 118/201/71 121/198/71 +f 121/198/72 118/201/72 122/199/72 +f 118/201/73 119/202/73 122/199/73 +o ppp +v 0.187500 -0.000000 0.000000 +v 0.000000 0.187500 0.000000 +v 0.132583 0.132582 0.000000 +v 0.132583 -0.000000 -0.132583 +v 0.000000 -0.000000 -0.187500 +v 0.000000 0.132582 -0.132583 +vt 0.500000 0.500000 +vt 0.625000 0.625000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.625000 0.375000 +vn 0.3574 0.3574 -0.8629 +vn 0.3574 0.8629 -0.3574 +vn 0.5774 0.5774 -0.5774 +vn 0.8629 0.3574 -0.3574 +s off +f 126/203/74 127/204/74 128/205/74 +f 124/206/75 125/207/75 128/205/75 +f 128/205/76 125/207/76 126/203/76 +f 125/207/77 123/208/77 126/203/77 +o nY +v -0.000000 -0.500000 -0.187500 +v -0.132583 -0.500000 -0.132582 +v -0.187500 -0.500000 0.000000 +v -0.132583 -0.500000 0.132582 +v 0.000000 -0.500000 0.187500 +v 0.132583 -0.500000 0.132582 +v 0.187500 -0.500000 0.000000 +v 0.132583 -0.500000 -0.132582 +v -0.000000 0.000000 -0.187500 +v 0.132583 0.000000 -0.132582 +v -0.187500 0.000000 0.000000 +v -0.132583 0.000000 -0.132582 +v 0.000000 0.000000 0.187500 +v -0.132583 0.000000 0.132582 +v 0.187500 0.000000 0.000000 +v 0.132583 0.000000 0.132582 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.437500 0.374326 +vt 0.125000 0.500000 +vt -0.000000 0.000000 +vt 0.125000 0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.569606 0.055394 +vt 0.624326 0.187500 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn 0.0000 -1.0000 0.0000 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +s off +f 132/209/78 131/210/78 135/211/78 +f 143/212/79 134/213/79 135/214/79 +f 141/215/80 132/216/80 133/217/80 +f 139/218/81 130/219/81 131/220/81 +f 138/221/82 135/214/82 136/222/82 +f 144/223/83 133/217/83 134/224/83 +f 142/225/84 131/220/84 132/226/84 +f 140/227/85 129/228/85 130/229/85 +f 137/230/86 136/231/86 129/228/86 +f 131/210/78 130/232/78 135/211/78 +f 130/232/78 129/233/78 135/211/78 +f 129/233/78 136/234/78 135/211/78 +f 135/211/78 134/235/78 133/236/78 +f 133/236/78 132/209/78 135/211/78 +f 143/212/79 144/237/79 134/213/79 +f 141/215/80 142/238/80 132/216/80 +f 139/218/81 140/239/81 130/219/81 +f 138/221/82 143/212/82 135/214/82 +f 144/223/83 141/215/83 133/217/83 +f 142/225/84 139/218/84 131/220/84 +f 140/227/85 137/230/85 129/228/85 +f 137/230/86 138/240/86 136/231/86 diff --git a/src/main/resources/assets/hbm/textures/blocks/observer_back_off.png b/src/main/resources/assets/hbm/textures/blocks/observer_back_off.png new file mode 100644 index 0000000000000000000000000000000000000000..5f770a5a4e2bd6f31256428e0e8bf70f9ac05ae7 GIT binary patch literal 655 zcmV;A0&x9_P)C z;<`zorG0^tTDB!?FM`b;!GJDCqksPSCb_-6jUqyfkr*RdYXC$9V+=|uk|Y5jNfNyG zc<&Jr>bgdhQan99p_HQQy6J(n7Ogc(De^qW7(S zmrJUuLPXG76Jwl=R!NeOWf>wu2!UZ3@ZR(I_()Y%q-n}_yQQisx~{`}Kji@@546@S z77LckB_Ra*zGpU@VgCJxUm;=j*PoM;QNcK3Nz;@VBXwP~-EL7zQ4|Ft!mp4}lW;A< z;c(#d^OFz)^ZA?*0^i@?rvjsKquXU!^8EbFA3y)*M~rk`N1o?gUS9I`^~GYb;O_2@ zrfE=GYeWPQ;q2^;EX&yKcI@|iLI}LPyzu`1jxmO|ZE?;KLLg1kQyVeH2_RsiZ@pf# zUa!$wv)ODYih{oH8P7Ok8HV9Bj{hM%a*?L#gm~9=gb?uFGk&U+LP7|L2xVEaTCK3w z0!-jsUtcqy&uQD1wrv>~Z_JaCK!E*zkF}P*?0mPE7^bjPw8i002ovPDHLkV1jweE7<@5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/observer_back_on.png b/src/main/resources/assets/hbm/textures/blocks/observer_back_on.png new file mode 100644 index 0000000000000000000000000000000000000000..25d538d750ac4ff0010eddd66733883607537c9f GIT binary patch literal 697 zcmV;q0!ICbP)GA=X-Q&Qw)JRaF2yK0YGO zIW8_PczAfAZQH(zwU+DaYo4E+j9q9_Q_<@0|6F`1^fM; z*=*L2a6BHF&*vE zIeb;|^J0Mxfx>%!y1HUA9<$l)NFwML!aJh1Qi`G|5D{XGMBd62poIoi>N{QKQ zhE9q3n>Xw}ed4cQKag`KQ^Wo!9iv0(D<9lj_i-@fH)GNB29?xd8+ zIU^~h^E&<`VedT@1>zjpT6~Q7wk5_$2!XDs)*6X1A|lM^b7r#{&N+ZyjW;(pj7B58 z_jvE=jMw3$Qy{=@x5GI{+qS(rkH;hT_xIFwjkUISY4?_=rzf`C?f>lDwHiX8uIrv7 f5$WS~T?6nhKC)LLlV?O-00000NkvXXu0mjfYPm%F literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/observer_front.png b/src/main/resources/assets/hbm/textures/blocks/observer_front.png new file mode 100644 index 0000000000000000000000000000000000000000..a52922d72ba1866f0526aed0b1d300434a1e189d GIT binary patch literal 876 zcmV-y1C#uTP)8fe}VFF3S%>RxleNfGrTA5jlk9pboGc zunNb$03<*l141fe9x^NN*sgLtZU=7Pfo?|A2^m*9QeD-3opb*G6UWELMr(~R24f6L zDFC$AIF5sq5+MWtLI{#1AxRRn)&xO-mQr$idyABk>2zv0c%Fw+3MnP|d>+SfFvc*M zOqfh206aWApgqrHVPSz@uSXom_7=x+SX*1;_4O6Uac~@m>2yjMhODftkYyQh9M4`b zKYev|)h+~RG#b3Tyx{x3O<^<|QLELsyu6&H5{4mB6xjuhM#CPEWf`SXiBhSA5Q2Wc zkLP*hayjz(JW@)uQi^$ao=28t+}+*LYPEPf_V)G|3x zq1)}!Znr6y%NS#9i?!>z7-I;6fcyJCsDHIB%Y07v! zM!K$x5P~er@O__py>5lm!O+3j0&A@)7K>D?RffYMlgR|Bl$sSoYZez5aU6&J{e6TG z@8aPKR+i7!&%NhT{{2PkB^T8LGaGbX_{KwhGA%Hq_wvH z!!Vq^U}JMh0e zI6Xb(qp`cY`)53u)9CM|nJ2#eGn*eA9Q?)u{VNY@wHnQ46JreDf3jd+;H|AKmY0_) zm&=@;oqh4(iw9pk_;emZ00008UO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/observer_front.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/observer_front.png.mcmeta new file mode 100644 index 000000000..754e4e96f --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/observer_front.png.mcmeta @@ -0,0 +1,105 @@ +{ + "animation": { + "frames": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 1 + ] + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/observer_side.png b/src/main/resources/assets/hbm/textures/blocks/observer_side.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0d38dca333aad744b5839badf4e525506600d1 GIT binary patch literal 539 zcmV+$0_6RPP)@B&d15&}ha zby1j?mlqWgR25alIR}7<;JwFMi!lZOV+^%cYORO}*XtFr*7ElDhP9TQ^Sls3z&VGt zmTlYc-lM9V=gE1V0DOFWARz?yedqoCol?rIGODlZiuWGxJvnD$j66O*(tD?ra#t|e zpPrs35MbLjM1*BoW(&u0aJgJ~eSM|Yij6UnQkno`483=H@3huXRbq^jG=#vqu58hIL&L5n5~W!Z1=q=)DtTWVAbQz}*Aq z9IA>jW&)OF!Fx|i31iHBrQSQLI!%^kS!M>t0l*+$*Ogl9Bq^nkbLRW|o7?SnCm6^;I1XZr|5~&IJmNai zCn6YQW~6Vo8>JM+7+%Pb{x`yZb1_~e=S*wupF(Rb(pp1AxLhtgKR**f0GPq)y>p%? zDJ4=$jE^^PGAaRletr@{pp-II9LK@W&kr$1y!W%Ev6io|FRs_?zwbPx)>?@%PLD)n dp2rvg_yq&!QF9fhi*x`0002ovPDHLkV1m+;?m_?n literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/pipe_neo.png b/src/main/resources/assets/hbm/textures/blocks/pipe_neo.png new file mode 100644 index 0000000000000000000000000000000000000000..37c9b3699b571c0d7622652ee36e3d1c87d68175 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf-KUWhC$JIW(6CESqNIKY6D)p!FZ>(#3s7nbxXb#wN06*!4=*bCK6 z6^=aLXTMzPwx_%Qxk$hETGxd=#oJ8E1C+C0m%KQBw4wjhf7Sy$v3}{FpZN4}O(=c# z-T%iw9;c2Lf&1(XYo>AU`OeV6@%rpH(}wT!w&ezf&RSM^!?BEQl~=5Nd~Weq$-H^p r9;bP0l+XkKCgNOf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png b/src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..7e999b57b048552a8c34a06379b54da647a4c80b GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfP=H<8Mv;->@qhl0m2P)3fQlGAUHx3vIVCg!0Hl2v0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.fluorite.png new file mode 100644 index 0000000000000000000000000000000000000000..a17615c9138834ba06ba4e6819174bceb49df99d GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf*1Fho6RhY?jYW zTMiiTOk zuihFQc--aSVqna$=lc-}PQ@6v9WLi8W2dFc9xt?ip0S-T$ZOq{rd5kp{WjXoX_j;C zdF4Op#+iyr`Lo|Ed1&s8dcF2nIQxOze|k*s|NiIj(v<&P{_yhua_b+KaXB0@>G|S< R^*|3Xc)I$ztaD0e0s!jzXdwUq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.sulfur.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.sulfur.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ffcd47d25ef1bea2c794975def03fd224ee2fa GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfQ!&Nk3A5?Tf$Lelc)LFQbL9hs!iJ!N_y&*W3IV4H6fw)0

{&J4%L;w3K z3^S5fXsy~c>zz6CoNYWVETOCiqP*v&9hoT8ZE*a=<(#d11Zt-*(2y?PdtbusxWTT} znbEgQW|%Ive!kB*Ak^iF>c4f4fo9JxZry$Pz7WIipZt;$+4aUd?&a%$mJj-|)n4t# a?sr`e=@h#>|+1dpv$a0yZwzv$%-DKsS~_bczAdmEAKZxU@vZb zeYf@b$jQ--)?MC=Y3uI&wrr}s|D44o#V;XJ%;I^QWeMwyokD^xEXQUj9?X6sm+W$` zQlsD}iy)(5W5y#kZC2!|>Ojmf`Bj6;x*zj4A(sCXX8-@+n zm>8TmoF5(E_%ov5+}6#zvNycmwQZkp{@7l{)JnC@w3dbJ2&Tc|Lsc@++fXb$hy8La+-V-zd^ijV%|c*tw7%} Nc)I$ztaD0e0sy&QVy6HA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png b/src/main/resources/assets/hbm/textures/blocks/stone_resource.fluorite.png new file mode 100644 index 0000000000000000000000000000000000000000..1d499399ae1e2a17b010fb7289cdc8909a8a1466 GIT binary patch literal 342 zcmV-c0jd6pP)$DtF;b)+qU87oQW|4psH7cQVQ$30?=9; zz7^M65s?uKA<%mVxElBXKq-Y7<1KNff0JPJJ?+`N3@_)Ss;DX=GH7}<5uudwcx$Z@ zV`Mpw;{9Asg+R*Mc92S%;WwI^MB6Uz`(u? z^rN&t$*B4W8*qLgCt^u&BVXFi`}Sr(4tFdPnXU6)p?#mC17d7hK!In`>F zD2mAQ9OL2Pfl{f2)*2ziuEJum$m!`RVHgs}F|Ae$!!R&SlOPDtTGQ+GFqBecS%%{{ zl*?sI(W7M5jEtJP3SvDs`eeBZ~mZPGO5@$r%MdX3{a z2qCz=y=AdjptZ)fZQAWNQc9-NDF8P&HyBYAv0kqM=yW=~y}j}B^1}1;Gf9$Q+cv)M z^T(GjOdcL~n0cNvolbuTbUGaXJkP`PJc1w~2m*ZHCyryDo}Q@J>l}1C@E>vz1XQb4 z3WJ}2ZP)8HM@L5pA;_|f)oR84{XL~pi8zi?O8u@(2)f-a)oPXV^K)F+r7*twy470q z>GNmMn!mq)M+kwGlEq@d{{B8f2(;GZd5+eaFbq*j(QGy`cK6eot6#r}<9K(hD2m9k z3?T%DVIZX>iXwWw9+qWseSM7)h9Tqen89E`k|anecl!r8JUm2e4M3$*;q~ZuF3`HLjV0 zk>vo02+7>k`!J11;=0N44B(t&Sr)8)#f&j{?*X0-!T`W9jTBjaN{r>J@}og0`wq^z zORViXQV~H!u+|y#pr;B62W>arGZ6Nam*A!@@hngH>g~ zbB)?{m_{CDb(#8|e?@Y4NFj@EBv$C0!+U=|B;A5C>buTFm3r@Ackui3wJU=r$48?@ zaqJl4I}3MeVvA{*6heO(LLZac$4>B?&1QT!OOKf-~rT1mvoz6Y?`##Qh&pFWJ>2rE8 z45RrSODTy&B1)_>X&6RR*L46Yl?nht2&G7WH?nD(2qEzM{UnpgW;@>1o)~?(i)oXy zXqpCq$K%24^&*5In~rmzf7|s^tW676@2A z#_K}>JX`Mo6s;N$?qUbF;}Zeqj&@i$J8Z=OdTi_e6?~L$xmn8+I9}#rGl8C1D9&6Wuv==U?|G@ z$pK@-p8%AqHmO`|5DZ00Wg>rD0DBtS+c>kntsLd9%Os@)a9pOI&lemLf7MQ^`^W$Q N002ovPDHLkV1g?YuqOZj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_DYNAMITE.png b/src/main/resources/assets/hbm/textures/items/chem_icon_DYNAMITE.png new file mode 100644 index 0000000000000000000000000000000000000000..f044bbf390c7d2c72d71594d009c84b6e9ddc2e7 GIT binary patch literal 409 zcmV;K0cQS*P)-V$xL1kR#!_;9H~4svoXXmZji zXzL(os%UOZXs=B$@J^z|1`jgndM(}S?#e$6eYf}L^ZWk(ya)fGS~V+c)vTQ5?tByk zFwF`*#{rN4^+rn@7eF1UG%y$Vr z$3fQ<%Gq@Xp*4VU)TBT17=A#1HVnbZvX0vk*dBmZhl@0&|uCyAO|J;h=u> zpx$U{ez&K=5O|5c{sM=35Y+jmA%ThTR5jO^X8MhvG`HSLx5M1O00000NkvXXu0mjf DmOi+h literal 0 HcmV?d00001 From 6e3f40f0d2a84393944269a7a320a6b35e3a2023 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 27 Mar 2022 21:50:29 +0200 Subject: [PATCH 10/17] test fluid ducts, hazard tweaks --- src/main/java/com/hbm/hazard/HazardRegistry.java | 11 +++-------- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../hbm/render/entity/item/RenderTNTPrimedBase.java | 2 ++ .../hbm/tileentity/network/TileEntityPipeBaseNT.java | 6 +++++- src/main/resources/assets/hbm/lang/en_US.lang | 2 +- src/main/resources/mcmod.info | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 86e1e392e..4c8e4838c 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -153,23 +153,18 @@ public class HazardRegistry { HazardSystem.register(Items.pumpkin_pie, makeData(EXPLOSIVE, 1F)); HazardSystem.register(ball_dynamite, makeData(EXPLOSIVE, 2F)); - HazardSystem.register(ball_tnt, makeData(EXPLOSIVE, 3F)); - HazardSystem.register(ingot_semtex, makeData(EXPLOSIVE, 5F)); - HazardSystem.register(ingot_c4, makeData(EXPLOSIVE, 5F)); HazardSystem.register(stick_dynamite, makeData(EXPLOSIVE, 1F)); HazardSystem.register(stick_tnt, makeData(EXPLOSIVE, 1.5F)); HazardSystem.register(stick_semtex, makeData(EXPLOSIVE, 2.5F)); HazardSystem.register(stick_c4, makeData(EXPLOSIVE, 2.5F)); + HazardSystem.register(cordite, makeData(EXPLOSIVE, 2F)); + HazardSystem.register(ballistite, makeData(EXPLOSIVE, 1F)); + HazardSystem.register("dustCoal", makeData(COAL, powder)); HazardSystem.register("dustTinyCoal", makeData(COAL, powder_tiny)); HazardSystem.register("dustLignite", makeData(COAL, powder)); HazardSystem.register("dustTinyLignite", makeData(COAL, powder_tiny)); - - HazardSystem.register(block_semtex, makeData(EXPLOSIVE, 25F)); - HazardSystem.register(block_c4, makeData(EXPLOSIVE, 25F)); - HazardSystem.register(cordite, makeData(EXPLOSIVE, 2F)); - HazardSystem.register(ballistite, makeData(EXPLOSIVE, 1F)); HazardSystem.register(insert_polonium, makeData(RADIATION, 100F)); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 5de3b052f..9235430d4 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4179)"; + public static final String VERSION = "1.0.27 BETA (4186)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/render/entity/item/RenderTNTPrimedBase.java b/src/main/java/com/hbm/render/entity/item/RenderTNTPrimedBase.java index e2a3be62e..9776f4aef 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTNTPrimedBase.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTNTPrimedBase.java @@ -23,6 +23,8 @@ public class RenderTNTPrimedBase extends Render { public void doRender(EntityTNTPrimedBase tnt, double x, double y, double z, float f0, float f1) { GL11.glPushMatrix(); GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(-90F, 0F, 1F, 0F); + float f2; if((float) tnt.fuse - f1 + 1.0F < 10.0F) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index 76f026db5..826a62809 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -75,7 +75,11 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor @Override public long transferFluid(FluidType type, long fluid) { - return 0; + + if(this.network == null) + return fluid; + + return this.network.transferFluid(fluid); } @Override diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 25745b257..78a4494a2 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1839,7 +1839,7 @@ item.ingot_am241.name=Americium-241 Ingot item.ingot_am242.name=Americium-242 Ingot item.ingot_americium_fuel.name=Ingot of Americium Fuel item.ingot_asbestos.name=Asbestos Sheet -item.ingot_asbestos.desc=§o\"Filled with life, self-doubt and asbestos. That comes with the air.\"§r +item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r item.ingot_au198.name=Gold-198 Ingot item.ingot_australium.name=Australium Ingot item.ingot_bakelite.name=Bakelite Bar diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 07980a6b6..be645a79a 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4179", + "version":"1.0.27_X4186", "mcversion": "1.7.10", "url": "", "updateUrl": "", From 202a31ff2f9d12ac77e1eb7a0d7102d64af8068b Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Mon, 28 Mar 2022 10:01:40 +0300 Subject: [PATCH 11/17] Updated ru_RU.lang aaaa --- src/main/resources/assets/hbm/lang/ru_RU.lang | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 2148361ee..a712dae2f 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -206,6 +206,7 @@ armor.ignoreLimit=Сопротивление не зависит от преде armor.rocketBoots=Ракетные ботинки armor.sprintBoost=Ускоренный бег armor.projectileProtection=Модификатор урона %s от снарядов +armor.dash=Даёт %s дешей hazard.prot=Защищает от: hazard.noprot=НЕ защищает от: @@ -1033,6 +1034,7 @@ chem.LUBRICANT=Смешивание машинной смазки chem.PETROIL_LEADED=Смешивание этилированного бензина chem.RUBBER=Производство резины chem.TNT=Синтез ТНТ +chem.DYNAMITE=Синтез динамита item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -1894,7 +1896,7 @@ item.ingot_electronium.name=Электрониевый слиток item.ingot_fiberglass.name=Стекловолокно item.ingot_fiberglass.desc=С высоким содержанием волокна, с высоким содержанием стекла. Все, что нужно организму. item.ingot_asbestos.name=Асбестовый лист -item.ingot_asbestos.desc=§o\"Наполненный жизнью, неуверенностью в себе и асбестом. Это приходит вместе с воздухом.\"§r +item.ingot_asbestos.desc=§o"Наполненный жизнью, неуверенностью в себе и асбестом. Это приходит вместе с воздухом."§r item.solid_fuel.name=Твердое топливо item.solid_fuel_presto.name=Топливное полено @@ -2365,6 +2367,9 @@ tile.tile_lab.name=Лабораторная плитка tile.tile_lab_broken.name=Разбитая лабораторная плитка tile.tile_lab_cracked.name=Треснувшая лабораторная плитка tile.spikes.name=Шипы +tile.stalactite.sulfur.name=Сернистый сталактит +tile.stalagmite.sulfur.name=Сернистый сталагмит +tile.stone_resource.sulfur.name=Сернистый камень tile.gas_asbestos.name=Частицы асбеста в воздухе tile.gas_flammable.name=Горючий газ tile.gas_monoxide.name=Угарный газ @@ -3656,6 +3661,8 @@ item.rod_quad_euphemium.name=Выгоревший счетверённый шр item.plate_euphemium.name=Составная пластина из эвфемия item.plate_dineutronium.name=Составная пластина из динейтрония item.plate_desh.name=Составная пластина из деш +item.plate_bismuth.name=Составная пластина из висмута +item.plate_bismuth.desc=Ребята, клянусь, это алхимический символ Висмута. item.plate_fuel_mox.name=МОКС-топливная пластина item.plate_fuel_pu238be.name=Плутоний-238-Бериллевая топливная пластина @@ -4002,6 +4009,10 @@ item.hev_helmet.name=Шлем H.E.V Модели IV item.hev_legs.name=Поножи H.E.V Модели IV item.hev_battery.name=Батарея костюма tile.hev_battery.name=Батарея костюма +item.bismuth_boots.name=Сандали из висмута +item.bismuth_helmet.name=Головной убор из висмута +item.bismuth_legs.name=Наколенники из висмута +item.bismuth_plate.name=Наплечники, ожерелье и набедренная повязка из висмута tile.mush.name=Светящийся гриб tile.waste_mycelium.name=Светящийся мицелий From dcb7ad550cecafedfd8436a0abb38a3a6c849356 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 28 Mar 2022 16:33:19 +0200 Subject: [PATCH 12/17] more fluidAPI, sulfuric acid, asbestos caves --- .../api/hbm/fluid/IFluidConnectorBlock.java | 11 ++++ src/main/java/api/hbm/fluid/IFluidUser.java | 58 +++++++++++++++++- src/main/java/com/hbm/blocks/BlockEnums.java | 3 +- src/main/java/com/hbm/blocks/ModBlocks.java | 20 +++++- .../java/com/hbm/blocks/fluid/AcidFluid.java | 26 ++++---- .../blocks/generic/BlockResourceStone.java | 25 ++++++++ .../hbm/blocks/generic/BlockStalagmite.java | 1 + .../com/hbm/inventory/OreDictManager.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 5 +- .../textures/blocks/stalactite.asbestos.png | Bin 0 -> 260 bytes .../textures/blocks/stalagmite.asbestos.png | Bin 0 -> 244 bytes .../assets/hbm/textures/blocks/stone_gems.png | Bin 0 -> 768 bytes .../blocks/stone_resource.asbestos.png | Bin 0 -> 320 bytes .../hbm/textures/blocks/sulfuric_flow.png | Bin 0 -> 9859 bytes .../textures/blocks/sulfuric_flow.png.mcmeta | 3 + .../hbm/textures/blocks/sulfuric_still.png | Bin 0 -> 14357 bytes .../textures/blocks/sulfuric_still.png.mcmeta | 5 ++ .../assets/hbm/textures/blocks/water_flow.png | Bin 0 -> 10198 bytes .../hbm/textures/blocks/water_flow.png.mcmeta | 3 + .../hbm/textures/blocks/water_still.png | Bin 0 -> 14567 bytes .../textures/blocks/water_still.png.mcmeta | 5 ++ 21 files changed, 148 insertions(+), 19 deletions(-) create mode 100644 src/main/java/api/hbm/fluid/IFluidConnectorBlock.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockResourceStone.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalactite.asbestos.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stalagmite.asbestos.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_gems.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_resource.asbestos.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png.mcmeta create mode 100644 src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta create mode 100644 src/main/resources/assets/hbm/textures/blocks/water_flow.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/water_flow.png.mcmeta create mode 100644 src/main/resources/assets/hbm/textures/blocks/water_still.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/water_still.png.mcmeta diff --git a/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java b/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java new file mode 100644 index 000000000..65ff758ba --- /dev/null +++ b/src/main/java/api/hbm/fluid/IFluidConnectorBlock.java @@ -0,0 +1,11 @@ +package api.hbm.fluid; + +import com.hbm.inventory.fluid.FluidType; + +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IFluidConnectorBlock { + + public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir); +} diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index 534380946..bf975fa3b 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -1,13 +1,65 @@ package api.hbm.fluid; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public interface IFluidUser extends IFluidConnector { - /*public default void updateStandardPipes(World world, int x, int y, int z) { + public default void sendFluid(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = world.getTileEntity(x, y, z); + boolean wasSubscribed = false; + boolean red = false; + + if(te instanceof IFluidConductor) { + IFluidConductor con = (IFluidConductor) te; + + if(con.getPipeNet(type) != null && con.getPipeNet(type).isSubscribed(this)) { + con.getPipeNet(type).unsubscribe(this); + wasSubscribed = true; + } + } + + if(te instanceof IFluidConnector) { + IFluidConnector con = (IFluidConnector) te; + + if(con.canConnect(type, dir.getOpposite())) { + long toSend = this.getTotalFluidForSend(type); + long transfer = toSend - con.transferFluid(type, toSend); + this.removeFluidForTransfer(type, transfer); + red = true; + } + } + + if(wasSubscribed && te instanceof IFluidConductor) { + IFluidConductor con = (IFluidConductor) te; + + if(con.getPipeNet(type) != null && !con.getPipeNet(type).isSubscribed(this)) { + con.getPipeNet(type).subscribe(this); + } + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", red ? "reddust" : "greendust"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x + world.rand.nextDouble(), y + world.rand.nextDouble(), z + world.rand.nextDouble()), new TargetPoint(world.provider.dimensionId, x + 0.5, y + 0.5, z + 0.5, 25)); + } + } + + public long getTotalFluidForSend(FluidType type); + public void removeFluidForTransfer(FluidType type, long amount); + + public default void updateStandardPipes(FluidType type, World world, int x, int y, int z) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.trySubscribe(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); - }*/ + this.trySubscribe(type, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); + } } diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index 8b069a935..945f2493d 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -3,6 +3,7 @@ package com.hbm.blocks; public class BlockEnums { public static enum EnumStoneType { - SULFUR + SULFUR, + ASBESTOS } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 5f71c7651..f204f84b6 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -21,9 +21,12 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.DoorDecl; import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.material.*; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -1183,6 +1186,9 @@ public class ModBlocks { public static Fluid volcanic_lava_fluid; public static final Material fluidvolcanic = (new MaterialLiquid(MapColor.redColor)); + public static Block sulfuric_acid_block; + public static Fluid sulfuric_acid_fluid; + public static Block volcano_core; public static Block dummy_block_flare; @@ -1346,7 +1352,7 @@ public class ModBlocks { ore_depth_nether_neodymium = new BlockDepthOre().setBlockName("ore_depth_nether_neodymium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_depth_nether_neodymium"); stone_porous = new BlockPorous().setBlockName("stone_porous").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":stone_porous"); - stone_resource = new BlockEnumMulti(Material.rock, BlockEnums.EnumStoneType.class, true, true).setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + stone_resource = new BlockResourceStone().setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); @@ -2212,6 +2218,17 @@ public class ModBlocks { FluidRegistry.registerFluid(volcanic_lava_fluid); volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); + sulfuric_acid_fluid = new SchrabidicFluid().setDensity(1840).setViscosity(1000).setTemperature(273).setUnlocalizedName("sulfuric_acid_fluid"); + FluidRegistry.registerFluid(sulfuric_acid_fluid); + sulfuric_acid_block = new SchrabidicBlock(sulfuric_acid_fluid, Material.water, ModDamageSource.acid) { //TODO: make a new block class + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(RefStrings.MODID + ":sulfuric_acid_still"); + flowingIcon = register.registerIcon(RefStrings.MODID + ":sulfuric_acid_flowing"); + } + }.setBlockName("sulfuric_acid_block").setResistance(500F); + dummy_block_flare = new DummyBlockFlare(Material.iron, false).setBlockName("dummy_block_flare").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); dummy_port_flare = new DummyBlockFlare(Material.iron, true).setBlockName("dummy_port_flare").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); dummy_block_drill = new DummyBlockDrill(Material.iron, false).setBlockName("dummy_block_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); @@ -3201,6 +3218,7 @@ public class ModBlocks { GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); GameRegistry.registerBlock(corium_block, corium_block.getUnlocalizedName()); GameRegistry.registerBlock(volcanic_lava_block, volcanic_lava_block.getUnlocalizedName()); + GameRegistry.registerBlock(sulfuric_acid_block, sulfuric_acid_block.getUnlocalizedName()); //Multiblock Dummy Blocks GameRegistry.registerBlock(dummy_block_flare, dummy_block_flare.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/fluid/AcidFluid.java b/src/main/java/com/hbm/blocks/fluid/AcidFluid.java index 6b8d576c4..7914731f0 100644 --- a/src/main/java/com/hbm/blocks/fluid/AcidFluid.java +++ b/src/main/java/com/hbm/blocks/fluid/AcidFluid.java @@ -11,21 +11,25 @@ public class AcidFluid extends Fluid { super("acid_fluid"); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon() { - return getStillIcon(); - } + public AcidFluid(String name) { + super(name); + } @Override @SideOnly(Side.CLIENT) - public IIcon getStillIcon() { - return AcidBlock.stillIcon; - } + public IIcon getIcon() { + return getStillIcon(); + } @Override @SideOnly(Side.CLIENT) - public IIcon getFlowingIcon() { - return AcidBlock.flowingIcon; - } + public IIcon getStillIcon() { + return AcidBlock.stillIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return AcidBlock.flowingIcon; + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java b/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java new file mode 100644 index 000000000..7100843ab --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockResourceStone.java @@ -0,0 +1,25 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.BlockEnums; +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public class BlockResourceStone extends BlockEnumMulti { + + public BlockResourceStone() { + super(Material.rock, BlockEnums.EnumStoneType.class, true, true); + } + + @Override + public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) { + + if(meta == BlockEnums.EnumStoneType.ASBESTOS.ordinal()) { + world.setBlock(x, y, z, ModBlocks.gas_asbestos); + } + + super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java index 9358ab147..f219fb30a 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java @@ -40,6 +40,7 @@ public class BlockStalagmite extends BlockEnumMulti { switch(meta) { case 0: return ModItems.sulfur; + case 1: return ModItems.powder_asbestos; } return null; diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 753106a53..7a133f322 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -344,7 +344,7 @@ public class OreDictManager { EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium); DNT .nugget(nugget_dineutronium) .ingot(ingot_dineutronium) .dust(powder_dineutronium) .block(block_dineutronium); FIBER .ingot(ingot_fiberglass) .block(block_fiberglass); - ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos); + ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos, DictFrame.fromOne(stone_resource, EnumStoneType.ASBESTOS)); OSMIRIDIUM .nugget(nugget_osmiridium) .ingot(ingot_osmiridium); /* diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 1963143b1..daaecb10b 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -974,8 +974,9 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); - - new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20); + + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20); //sulfur + new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); } diff --git a/src/main/resources/assets/hbm/textures/blocks/stalactite.asbestos.png b/src/main/resources/assets/hbm/textures/blocks/stalactite.asbestos.png new file mode 100644 index 0000000000000000000000000000000000000000..49a66bd495d960397cacaddbd6456339ee5700d6 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfS&E z_jG&2I)yR{2nKl_v1tAEuYe)q`t`gth8@&QihzJ`e-`?i@_hUufm;2ESf{rdL ze2dPly=JzcZo#T2b7ucy*dAthOmm0zs#BFKrt^56Gv1LCuxQnc$m@@^7w}xVTloDx zzCx^edTlEj_b~eGP4a-eB-_^>bP0 Hl+XkKvV>+F literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stalagmite.asbestos.png b/src/main/resources/assets/hbm/textures/blocks/stalagmite.asbestos.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2704ed34cd4a9eb2a07b577a3640b4863ae73a GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfN=PeZQ+fFA#K5;?`9t_pUf0Lt-AI*%kh&woI0nbt_C`r!PC{xWt~$(69A^6T1@}| literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_gems.png b/src/main/resources/assets/hbm/textures/blocks/stone_gems.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf8cf21b8a3d6dcc7e81af00a45b5e2ccb22e45 GIT binary patch literal 768 zcmV+b1ONPqP)76k}Q#>McG~dnM9^=ynuM! zd!u>p_rCd!@H}stWf`N+e?B8)LiCKKM<-Q{F^n>#OFu(Y%^Q&6o|XI;Pen*9&HAx%@fqa%o8k|aS& zNuKA_+HGzEQ52D7831JfA;fIwZVpFdEX(5L!Sm*Tg6x+5DK@dzE zjzh=u5JGT!rA6<#i`KI_Ns<)Q^E_v5ZLP?|Fr<8be$LJ7LYk)Zp3k1@`1qJosZ`W0 z%OcNn`u#q(Z6l?`wrxs_i;L_90ZJ*-G%Y4umWAJJBBkW3oqd}3eBRu8M73H)YfZb= zLMb(a7)22P`}gnT_Iia}uhSupW4b-~{S@K>WR<`8{zQcn3!2BjDet@TV|H;2v) zq?D4T@6!c-177z1;sdR&t`h9Mk5cL%29wDIV+;Vp;gIF!Ww^c=11bmra2gHVgM*@( ya9wwLb#;X?hDxQvU@%~7YwLd|n)8{*oYUXe1~Z4S8WSb}0000pp2CvXQDn}$rn-5CPfNi+P z>-Bs`1OTA-j?9F+Lx&^)z|3$uZH%!bk(^0NB#AKw+#T+Y%$(TE%$AO3HoK8TMBs!W z33tb(s(L(8J#|-36R1j16r0REzE272su&S)_nD;P5wWl&iKYjVOQ+0SWGT8k>eQNC zS3<2`@0FpxjWNC^o_wgXcG~xS&*Ia>-unc};eUIfiCk6d?!#{G9s!{JoB!^MHnujo z>g-j$E|$P%Hf2_ZO^Z@ZtRUShn`(TMA-{Bsf&SFWGBdvts_T+e!S!Aj3jjWWxbq9| Svxk`g0000F!db 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

  • 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 P00000NkvXXu0mjfvoR>z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta new file mode 100644 index 000000000..4b721e09a --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/water_flow.png b/src/main/resources/assets/hbm/textures/blocks/water_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..e72280c42cf4d21e80c1e1733fda94d4217beedd GIT binary patch literal 10198 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 WQVtXyOu?VYBT!Y+Qml}-3j04On!Z{9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/water_flow.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/water_flow.png.mcmeta new file mode 100644 index 000000000..de3267f0d --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/water_flow.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/water_still.png b/src/main/resources/assets/hbm/textures/blocks/water_still.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e90b07308c58daeab5432659e9ac45095204fc GIT binary patch literal 14567 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

    |NJRJB2jmbz# z)D!9#6^QP8TL+Henk^nm*0XHa>IWC#1RJR*O#3 zaL*qoah*PrH2SKeWNC#5Y~!d$Z%RhW*1+b_V_RyI&cT`U&F84=!>K*Hq!A+lzI(vE z3)GMUjqh^cW~*A0^OJlXk2s1A3#jLC)q>ON=rX(^l9v#AbVPc-^L9GwoM|7>GO=q%fr<9n>2`NpOn+;O6s_Jk|4^*Y(2xKLB$&!Rh$s RLHPgx002ovPDHLkV1n%S)6xI{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/water_still.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/water_still.png.mcmeta new file mode 100644 index 000000000..4b721e09a --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/water_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} From ff87b1a062c773f3ba465c955e79939a7e8b7f76 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 28 Mar 2022 23:55:03 +0200 Subject: [PATCH 13/17] proper sulfuric acid --- src/main/java/com/hbm/blocks/ModBlocks.java | 11 +- .../com/hbm/blocks/fluid/GenericFluid.java | 31 ++++++ .../hbm/blocks/fluid/GenericFluidBlock.java | 96 ++++++++++++++++++ .../com/hbm/blocks/fluid/SchrabidicBlock.java | 6 +- .../blocks/stone_resource.asbestos.png | Bin 320 -> 325 bytes ...ric_flow.png => sulfuric_acid_flowing.png} | Bin ...cmeta => sulfuric_acid_flowing.png.mcmeta} | 0 ...uric_still.png => sulfuric_acid_still.png} | Bin ....mcmeta => sulfuric_acid_still.png.mcmeta} | 0 9 files changed, 133 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/fluid/GenericFluid.java create mode 100644 src/main/java/com/hbm/blocks/fluid/GenericFluidBlock.java rename src/main/resources/assets/hbm/textures/blocks/{sulfuric_flow.png => sulfuric_acid_flowing.png} (100%) rename src/main/resources/assets/hbm/textures/blocks/{sulfuric_flow.png.mcmeta => sulfuric_acid_flowing.png.mcmeta} (100%) rename src/main/resources/assets/hbm/textures/blocks/{sulfuric_still.png => sulfuric_acid_still.png} (100%) rename src/main/resources/assets/hbm/textures/blocks/{sulfuric_still.png.mcmeta => sulfuric_acid_still.png.mcmeta} (100%) diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index f204f84b6..d355520dd 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2218,16 +2218,9 @@ public class ModBlocks { FluidRegistry.registerFluid(volcanic_lava_fluid); volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); - sulfuric_acid_fluid = new SchrabidicFluid().setDensity(1840).setViscosity(1000).setTemperature(273).setUnlocalizedName("sulfuric_acid_fluid"); + sulfuric_acid_fluid = new GenericFluid("sulfuric_acid_fluid").setDensity(1840).setViscosity(1000).setTemperature(273); FluidRegistry.registerFluid(sulfuric_acid_fluid); - sulfuric_acid_block = new SchrabidicBlock(sulfuric_acid_fluid, Material.water, ModDamageSource.acid) { //TODO: make a new block class - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister register) { - stillIcon = register.registerIcon(RefStrings.MODID + ":sulfuric_acid_still"); - flowingIcon = register.registerIcon(RefStrings.MODID + ":sulfuric_acid_flowing"); - } - }.setBlockName("sulfuric_acid_block").setResistance(500F); + sulfuric_acid_block = new GenericFluidBlock(sulfuric_acid_fluid, Material.water, "sulfuric_acid_still", "sulfuric_acid_flowing").setDamage(ModDamageSource.acid, 5F).setBlockName("sulfuric_acid_block").setResistance(500F); dummy_block_flare = new DummyBlockFlare(Material.iron, false).setBlockName("dummy_block_flare").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); dummy_port_flare = new DummyBlockFlare(Material.iron, true).setBlockName("dummy_port_flare").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); diff --git a/src/main/java/com/hbm/blocks/fluid/GenericFluid.java b/src/main/java/com/hbm/blocks/fluid/GenericFluid.java new file mode 100644 index 000000000..d3005cb2d --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/GenericFluid.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.fluid; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class GenericFluid extends Fluid { + + public GenericFluid(String name) { + super("corium_fluid"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return this.block.getIcon(0, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return this.block.getIcon(1, 0); + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/GenericFluidBlock.java b/src/main/java/com/hbm/blocks/fluid/GenericFluidBlock.java new file mode 100644 index 000000000..ebd04d324 --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/GenericFluidBlock.java @@ -0,0 +1,96 @@ +package com.hbm.blocks.fluid; + +import java.util.Random; + +import com.hbm.lib.ModDamageSource; +import com.hbm.lib.RefStrings; +import com.hbm.util.ArmorUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.passive.EntitySquid; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class GenericFluidBlock extends BlockFluidClassic { + + @SideOnly(Side.CLIENT) + public static IIcon stillIcon; + @SideOnly(Side.CLIENT) + public static IIcon flowingIcon; + public Random rand = new Random(); + + private String stillName; + private String flowingName; + + public float damage; + public DamageSource damageSource; + + public GenericFluidBlock(Fluid fluid, Material material, String still, String flowing) { + super(fluid, material); + setCreativeTab(null); + stillName = still; + flowingName = flowing; + displacements.put(this, false); + } + + public GenericFluidBlock setDamage(DamageSource source, float amount) { + damageSource = source; + damage = amount; + return this; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) ? stillIcon : flowingIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(RefStrings.MODID + ":" + stillName); + flowingIcon = register.registerIcon(RefStrings.MODID + ":" + flowingName); + } + + @Override + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + + if(damageSource != null) { + + if(entity instanceof EntityItem) { + + entity.motionX = 0; + entity.motionY = 0; + entity.motionZ = 0; + + if(entity.ticksExisted % 20 == 0 && !world.isRemote) { + entity.attackEntityFrom(damageSource, damage * 0.1F); + } + if(entity.ticksExisted % 5 == 0) { + world.spawnParticle("cloud", entity.posX, entity.posY, entity.posZ, 0.0, 0.0, 0.0); + } + } else { + + if(entity.motionY < -0.2) + entity.motionY *= 0.5; + + if(!world.isRemote) { + entity.attackEntityFrom(damageSource, damage); + } + } + + if(entity.ticksExisted % 5 == 0) { + world.playSoundAtEntity(entity, "random.fizz", 0.2F, 1F); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java b/src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java index cb656986c..57e9b7b1a 100644 --- a/src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/SchrabidicBlock.java @@ -77,7 +77,9 @@ public class SchrabidicBlock extends BlockFluidClassic { @Override public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { - entity.setInWeb(); + + if(this.getMaterial() == ModBlocks.fluidschrabidic) + entity.setInWeb(); if(entity instanceof EntityLivingBase) ContaminationUtil.contaminate((EntityLivingBase)entity, HazardType.RADIATION, ContaminationType.CREATIVE, 1.0F); @@ -97,7 +99,7 @@ public class SchrabidicBlock extends BlockFluidClassic { } public boolean reactToBlocks(World world, int x, int y, int z) { - if(world.getBlock(x, y, z).getMaterial() != ModBlocks.fluidschrabidic) { + if(world.getBlock(x, y, z).getMaterial() != this.getMaterial()) { if(world.getBlock(x, y, z).getMaterial().isLiquid()) { return true; } diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_resource.asbestos.png b/src/main/resources/assets/hbm/textures/blocks/stone_resource.asbestos.png index 956204a9b016e702815ccaca6814a79c7a2da17c..d3c7c886c4694217b467ef77b7b22079c08a81fa 100644 GIT binary patch delta 282 zcmV+#0puK5G=Ka_L_t(IjeS$WjRYYK^CBup4XJ?|rsUL+_x(0Cq=nnZ$jFCg z4+$Z_3APhn@AuDdW&!}#TBs_xJGy&M05CIfxI3x}W`+?F$jl97keTht01XC!s=^?E zgF(vR3DezhcMNxjyYEA#$`KJDPMMe)rs|>uu4GeHkLTTeOMl?2Tr+bUsmbXTaovr{ zgYN$G5?$7NdZAUDG>QS5UH8h6cM)-$_~e7iI%!|mwUciX*IFAyhqW)BN?27Gs`d2Y zH1}KqVE$MC(-*e6J~FiS%&v_^u$gU{%5bt#)IXZ2$lO07*qoM6N<$g2oVqTmS$7 delta 277 zcmV+w0qXw60>A>0G=KL=L_t(IjeS$W4FfR>N%y2qwjIkt3EmX2mN zyOBgh;DjLwcgLlwdOT4*byrRks7g>2o6J1EPYLR(7!h#ynSZ3>5wWl&iKYjVOQ+0S zWGT8k>eQNCS3<2`@0FpxjWNC^o_wgXcG~xS&*Ia>-unc};eUIfiCk6d?!#{G9s!{J zoB!^MHnujo>g-j$E|$P%Hf2_ZO^Z@ZtRUShn`(TMA-{Bsf&SFWGBdvts_T+e!S!Aj b3jjWWxbq9|vkr%u00000NkvXXu0mjf3^Ilf diff --git a/src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png b/src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_flowing.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png rename to src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_flowing.png diff --git a/src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_flowing.png.mcmeta similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/sulfuric_flow.png.mcmeta rename to src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_flowing.png.mcmeta diff --git a/src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png b/src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_still.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png rename to src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_still.png diff --git a/src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_still.png.mcmeta similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/sulfuric_still.png.mcmeta rename to src/main/resources/assets/hbm/textures/blocks/sulfuric_acid_still.png.mcmeta From 957b07cca3b3b0c338499ec351e685bc2735d909 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 29 Mar 2022 16:39:54 +0200 Subject: [PATCH 14/17] more fluid API, tank labels (finally) --- .../java/api/hbm/energy/IEnergyConductor.java | 10 +++ .../java/api/hbm/fluid/IFluidConductor.java | 9 ++ .../api/hbm/fluid/IFluidStandardReceiver.java | 49 +++++++++++ .../api/hbm/fluid/IFluidStandardSender.java | 40 +++++++++ src/main/java/api/hbm/fluid/IFluidUser.java | 4 +- .../com/hbm/blocks/fluid/GenericFluid.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 5 +- .../java/com/hbm/items/machine/ItemStamp.java | 3 +- .../items/tool/ItemCraftingDegradation.java | 1 + .../render/tileentity/RenderFluidTank.java | 82 +++++++----------- .../hbm/textures/gui/fluids/sulfuric_acid.png | Bin 0 -> 1784 bytes .../models/{ => tank_label}/tank_ACID.png | Bin .../models/{ => tank_label}/tank_AMAT.png | Bin .../models/tank_label/tank_AROMATICS.png | Bin 0 -> 3082 bytes .../models/{ => tank_label}/tank_ASCHRAB.png | Bin .../models/{ => tank_label}/tank_BALEFIRE.png | Bin .../models/{ => tank_label}/tank_BIOFUEL.png | Bin .../models/{ => tank_label}/tank_BIOGAS.png | Bin .../models/{ => tank_label}/tank_BITUMEN.png | Bin .../{ => tank_label}/tank_CARBONDIOXIDE.png | Bin .../models/tank_label/tank_COALGAS.png | Bin 0 -> 2527 bytes .../models/tank_label/tank_COALGAS_LEADED.png | Bin 0 -> 2554 bytes .../models/tank_label/tank_COALOIL.png | Bin 0 -> 1720 bytes .../models/{ => tank_label}/tank_COOLANT.png | Bin .../models/{ => tank_label}/tank_CRYOGEL.png | Bin .../textures/models/tank_label/tank_DEATH.png | Bin 0 -> 5782 bytes .../{ => tank_label}/tank_DEUTERIUM.png | Bin .../models/{ => tank_label}/tank_DIESEL.png | Bin .../models/tank_label/tank_DIESEL_CRACK.png | Bin 0 -> 2655 bytes .../models/tank_label/tank_ENDERJUICE.png | Bin 0 -> 2051 bytes .../models/{ => tank_label}/tank_ETHANOL.png | Bin .../models/tank_label/tank_FRACKSOL.png | Bin 0 -> 3499 bytes .../models/{ => tank_label}/tank_GAS.png | Bin .../models/tank_label/tank_GASOLINE.png | Bin 0 -> 2653 bytes .../tank_label/tank_GASOLINE_LEADED.png | Bin 0 -> 1822 bytes .../{ => tank_label}/tank_HEATINGOIL.png | Bin .../models/{ => tank_label}/tank_HEAVYOIL.png | Bin .../models/tank_label/tank_HEAVYWATER.png | Bin 0 -> 2604 bytes .../models/{ => tank_label}/tank_HELIUM3.png | Bin .../models/tank_label/tank_HOTCRACKOIL.png | Bin 0 -> 2151 bytes .../models/{ => tank_label}/tank_HOTOIL.png | Bin .../models/{ => tank_label}/tank_HOTSTEAM.png | Bin .../models/{ => tank_label}/tank_HYDROGEN.png | Bin .../models/{ => tank_label}/tank_KEROSENE.png | Bin .../models/{ => tank_label}/tank_LAVA.png | Bin .../models/{ => tank_label}/tank_LIGHTOIL.png | Bin .../models/tank_label/tank_LIGHTOIL_CRACK.png | Bin 0 -> 2807 bytes .../models/{ => tank_label}/tank_LPG.png | Bin .../{ => tank_label}/tank_LUBRICANT.png | Bin .../models/{ => tank_label}/tank_MERCURY.png | Bin .../models/{ => tank_label}/tank_NAPHTHA.png | Bin .../models/tank_label/tank_NAPHTHA_CRACK.png | Bin 0 -> 2810 bytes .../models/{ => tank_label}/tank_NITAN.png | Bin .../models/{ => tank_label}/tank_NONE.png | Bin .../models/{ => tank_label}/tank_OIL.png | Bin .../models/{ => tank_label}/tank_OXYGEN.png | Bin .../textures/models/tank_label/tank_PAIN.png | Bin 0 -> 2765 bytes .../models/{ => tank_label}/tank_PETROIL.png | Bin .../models/tank_label/tank_PETROIL_LEADED.png | Bin 0 -> 2188 bytes .../{ => tank_label}/tank_PETROLEUM.png | Bin .../models/{ => tank_label}/tank_PUF6.png | Bin .../{ => tank_label}/tank_RECLAIMED.png | Bin .../models/tank_label/tank_SALIENT.png | Bin 0 -> 2206 bytes .../models/{ => tank_label}/tank_SAS3.png | Bin .../{ => tank_label}/tank_SCHRABIDIC.png | Bin .../models/{ => tank_label}/tank_SMEAR.png | Bin .../models/tank_label/tank_SPENTSTEAM.png | Bin 0 -> 1775 bytes .../models/{ => tank_label}/tank_STEAM.png | Bin .../models/tank_label/tank_SULFURIC_ACID.png | Bin 0 -> 2331 bytes .../{ => tank_label}/tank_SUPERHOTSTEAM.png | Bin .../models/{ => tank_label}/tank_TRITIUM.png | Bin .../models/{ => tank_label}/tank_UF6.png | Bin .../{ => tank_label}/tank_ULTRAHOTSTEAM.png | Bin .../models/tank_label/tank_UNSATURATEDS.png | Bin 0 -> 3514 bytes .../models/tank_label/tank_WASTEFLUID.png | Bin 0 -> 4090 bytes .../models/tank_label/tank_WASTEGAS.png | Bin 0 -> 4990 bytes .../models/{ => tank_label}/tank_WATER.png | Bin .../models/{ => tank_label}/tank_WATZ.png | Bin .../models/{ => tank_label}/tank_XENON.png | Bin .../models/tank_label/tank_XPJUICE.png | Bin 0 -> 2342 bytes 80 files changed, 150 insertions(+), 55 deletions(-) create mode 100644 src/main/java/api/hbm/fluid/IFluidStandardReceiver.java create mode 100644 src/main/java/api/hbm/fluid/IFluidStandardSender.java create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/sulfuric_acid.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_ACID.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_AMAT.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_AROMATICS.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_ASCHRAB.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_BALEFIRE.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_BIOFUEL.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_BIOGAS.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_BITUMEN.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_CARBONDIOXIDE.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_COALGAS.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_COALGAS_LEADED.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_COALOIL.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_COOLANT.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_CRYOGEL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_DEATH.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_DEUTERIUM.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_DIESEL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_DIESEL_CRACK.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_ETHANOL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_FRACKSOL.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_GAS.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_GASOLINE.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_GASOLINE_LEADED.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HEATINGOIL.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HEAVYOIL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_HEAVYWATER.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HELIUM3.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_HOTCRACKOIL.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HOTOIL.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HOTSTEAM.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_HYDROGEN.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_KEROSENE.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_LAVA.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_LIGHTOIL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_LIGHTOIL_CRACK.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_LPG.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_LUBRICANT.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_MERCURY.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_NAPHTHA.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_NAPHTHA_CRACK.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_NITAN.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_NONE.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_OIL.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_OXYGEN.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_PAIN.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_PETROIL.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_PETROIL_LEADED.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_PETROLEUM.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_PUF6.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_RECLAIMED.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_SALIENT.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_SAS3.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_SCHRABIDIC.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_SMEAR.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_SPENTSTEAM.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_STEAM.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_SULFURIC_ACID.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_SUPERHOTSTEAM.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_TRITIUM.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_UF6.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_ULTRAHOTSTEAM.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_UNSATURATEDS.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEFLUID.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEGAS.png rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_WATER.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_WATZ.png (100%) rename src/main/resources/assets/hbm/textures/models/{ => tank_label}/tank_XENON.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/tank_label/tank_XPJUICE.png diff --git a/src/main/java/api/hbm/energy/IEnergyConductor.java b/src/main/java/api/hbm/energy/IEnergyConductor.java index 84f9bbfad..572ef0dc8 100644 --- a/src/main/java/api/hbm/energy/IEnergyConductor.java +++ b/src/main/java/api/hbm/energy/IEnergyConductor.java @@ -94,4 +94,14 @@ public interface IEnergyConductor extends IEnergyConnector { return pos; } + + //TODO: check if this standard implementation doesn't break anything (it shouldn't but right now it's a bit redundant) also: remove duplicate implementations + @Override + public default long transferPower(long power) { + + if(this.getPowerNet() == null) + return power; + + return this.getPowerNet().transferPower(power); + } } diff --git a/src/main/java/api/hbm/fluid/IFluidConductor.java b/src/main/java/api/hbm/fluid/IFluidConductor.java index 6c8298a54..95ae30766 100644 --- a/src/main/java/api/hbm/fluid/IFluidConductor.java +++ b/src/main/java/api/hbm/fluid/IFluidConductor.java @@ -7,4 +7,13 @@ public interface IFluidConductor extends IFluidConnector { public IPipeNet getPipeNet(FluidType type); public void setPipeNet(FluidType type, IPipeNet network); + + @Override + public default long transferFluid(FluidType type, long amount) { + + if(this.getPipeNet(type) == null) + return amount; + + return this.getPipeNet(type).transferFluid(amount); + } } diff --git a/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java new file mode 100644 index 000000000..2d198d1f4 --- /dev/null +++ b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java @@ -0,0 +1,49 @@ +package api.hbm.fluid; + +import com.hbm.inventory.FluidTank; +import com.hbm.inventory.fluid.FluidType; + +/** + * Uses default implementation to make the underlying interfaces easier to use for the most common fluid users. + * Only handles a single input tank of the same type. + * Uses standard FluidTanks which use int32. + * Don't use this as part of the API! + * @author hbm + * + */ +public interface IFluidStandardReceiver extends IFluidUser { + + @Override + public default long transferFluid(FluidType type, long amount) { + + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type) { + tank.setFill(tank.getFill() + (int) amount); + + if(tank.getFill() > tank.getMaxFill()) { + long overshoot = tank.getFill() - tank.getMaxFill(); + tank.setFill(tank.getMaxFill()); + return overshoot; + } + + return 0; + } + } + + return amount; + } + + public FluidTank[] getReceivingTanks(); + + @Override + public default long getDemand(FluidType type) { + + for(FluidTank tank : getReceivingTanks()) { + if(tank.getTankType() == type) { + return tank.getMaxFill() - tank.getFill(); + } + } + + return 0; + } +} diff --git a/src/main/java/api/hbm/fluid/IFluidStandardSender.java b/src/main/java/api/hbm/fluid/IFluidStandardSender.java new file mode 100644 index 000000000..83a0a9d98 --- /dev/null +++ b/src/main/java/api/hbm/fluid/IFluidStandardSender.java @@ -0,0 +1,40 @@ +package api.hbm.fluid; + +import com.hbm.inventory.FluidTank; +import com.hbm.inventory.fluid.FluidType; + +/** + * Uses default implementation to make the underlying interfaces easier to use for the most common fluid users. + * Only handles a single output tank of the same type. + * Uses standard FluidTanks which use int32. + * Don't use this as part of the API! + * @author hbm + * + */ +public interface IFluidStandardSender extends IFluidUser { + + public FluidTank[] getSendingTanks(); + + @Override + public default long getTotalFluidForSend(FluidType type) { + + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type) { + return tank.getFill(); + } + } + + return 0; + } + + @Override + public default void removeFluidForTransfer(FluidType type, long amount) { + + for(FluidTank tank : getSendingTanks()) { + if(tank.getTankType() == type) { + tank.setFill(tank.getFill() - (int) amount); + return; + } + } + } +} diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index bf975fa3b..d36dd105b 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -54,8 +54,8 @@ public interface IFluidUser extends IFluidConnector { } } - public long getTotalFluidForSend(FluidType type); - public void removeFluidForTransfer(FluidType type, long amount); + public default long getTotalFluidForSend(FluidType type) { return 0; } + public default void removeFluidForTransfer(FluidType type, long amount) { } public default void updateStandardPipes(FluidType type, World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/fluid/GenericFluid.java b/src/main/java/com/hbm/blocks/fluid/GenericFluid.java index d3005cb2d..6d7d0c29c 100644 --- a/src/main/java/com/hbm/blocks/fluid/GenericFluid.java +++ b/src/main/java/com/hbm/blocks/fluid/GenericFluid.java @@ -8,7 +8,7 @@ import net.minecraftforge.fluids.Fluid; public class GenericFluid extends Fluid { public GenericFluid(String name) { - super("corium_fluid"); + super(name); } @Override diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 014ef133a..469c370a2 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -938,6 +938,7 @@ public class ModItems { public static Item can_luna; public static Item can_bepis; public static Item can_breen; + public static Item can_mug; public static Item mucho_mango; public static Item bottle_empty; public static Item bottle_nuka; @@ -3458,8 +3459,9 @@ public class ModItems { can_mrsugar = new ItemEnergy().setUnlocalizedName("can_mrsugar").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_mrsugar"); can_overcharge = new ItemEnergy().setUnlocalizedName("can_overcharge").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_overcharge"); can_luna = new ItemEnergy().setUnlocalizedName("can_luna").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_luna"); - can_bepis = new ItemEnergy().setUnlocalizedName("can_bepis").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_bepis");; + can_bepis = new ItemEnergy().setUnlocalizedName("can_bepis").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_bepis"); can_breen = new ItemEnergy().setUnlocalizedName("can_breen").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_breen"); + can_mug = new ItemEnergy().setUnlocalizedName("can_mug").setContainerItem(ModItems.can_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_mug"); bottle_empty = new Item().setUnlocalizedName("bottle_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_empty"); bottle_nuka = new ItemEnergy().setUnlocalizedName("bottle_nuka").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_nuka"); bottle_cherry = new ItemEnergy().setUnlocalizedName("bottle_cherry").setContainerItem(ModItems.bottle_empty).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":bottle_cherry"); @@ -7602,6 +7604,7 @@ public class ModItems { GameRegistry.registerItem(can_luna, can_luna.getUnlocalizedName()); GameRegistry.registerItem(can_bepis, can_bepis.getUnlocalizedName()); GameRegistry.registerItem(can_breen, can_breen.getUnlocalizedName()); + GameRegistry.registerItem(can_mug, can_mug.getUnlocalizedName()); //Coffee GameRegistry.registerItem(coffee, coffee.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemStamp.java b/src/main/java/com/hbm/items/machine/ItemStamp.java index ea8c3b4c9..fe6986d90 100644 --- a/src/main/java/com/hbm/items/machine/ItemStamp.java +++ b/src/main/java/com/hbm/items/machine/ItemStamp.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.HashMap; 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; @@ -29,7 +28,7 @@ public class ItemStamp extends Item { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - if(this.type == StampType.PLATE || this.type == StampType.WIRE || this.type == StampType.CIRCUIT) + if((this.type == StampType.PLATE || this.type == StampType.WIRE || this.type == StampType.CIRCUIT) && this.getMaxDamage() > 0) list.add("[CREATED USING TEMPLATE FOLDER]"); } diff --git a/src/main/java/com/hbm/items/tool/ItemCraftingDegradation.java b/src/main/java/com/hbm/items/tool/ItemCraftingDegradation.java index 58099e460..53957b239 100644 --- a/src/main/java/com/hbm/items/tool/ItemCraftingDegradation.java +++ b/src/main/java/com/hbm/items/tool/ItemCraftingDegradation.java @@ -10,6 +10,7 @@ public class ItemCraftingDegradation extends Item { public ItemCraftingDegradation(int durability) { this.setMaxStackSize(1); this.setMaxDamage(durability); + this.setNoRepair(); } @Override diff --git a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java index 165729f45..ab1f0e139 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFluidTank.java @@ -14,68 +14,52 @@ import net.minecraftforge.client.model.IModelCustom; public class RenderFluidTank extends TileEntitySpecialRenderer { - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glRotatef(180, 0F, 1F, 0F); GL11.glRotatef(90, 0F, 1F, 0F); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; } - bindTexture(ResourceManager.tank_tex); + bindTexture(ResourceManager.tank_tex); ResourceManager.fluidtank.renderPart("Tank"); GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + + renderTileEntityAt2(tileEntity, x, y, z, f); + } + + public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); GL11.glRotatef(180, 0F, 1F, 0F); GL11.glRotatef(90, 0F, 1F, 0F); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - //GL11.glTranslated(0.5D, 0.0D, 0.0D); - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - //GL11.glTranslated(0.5D, 0.0D, 0.0D); - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - //GL11.glTranslated(0.5D, 0.0D, 0.0D); - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; - //GL11.glTranslated(0.5D, 0.0D, 0.0D); + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; } String s = "NONE"; if(tileEntity instanceof TileEntityMachineFluidTank) - s = ((TileEntityMachineFluidTank)tileEntity).tank.getTankType().name(); - - bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/tank_" + s + ".png")); - ResourceManager.fluidtank.renderPart("Label"); + s = ((TileEntityMachineFluidTank) tileEntity).tank.getTankType().name(); - GL11.glPopMatrix(); - } + bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/tank_label/tank_" + s + ".png")); + ResourceManager.fluidtank.renderPart("Label"); + + GL11.glPopMatrix(); + } } diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/sulfuric_acid.png b/src/main/resources/assets/hbm/textures/gui/fluids/sulfuric_acid.png new file mode 100644 index 0000000000000000000000000000000000000000..18eac93ac573b9691da3f06cbff8fdac41097b6f GIT binary patch literal 1784 zcmV zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1Y=mh&bI{m&}81oQyJaxj>4x`Qsi;yH=!%$)h! zI5AijlDJnAG3P&jSM!&CAVxIog81mY)elFGm~E`sGY18u zI295aJPF9^y)8s)Kcu81=^ZJm5|HnbsCOcM#?I{N1-w1GU}w{m(>oN#`l;YA7)?32 zXY4vc7uJ^Nw-*O)7dPx`EmG?_c9+;IQr^r>t*!K#Djo_Y^<`eKpg*Vc(66YM=oYhr zUX;y4uWTR!D%uqo3M8m-_Ax`&5E)MlIwEGIE)xnEF;k;}+XWSa(ohVEa+8%c<%4j? z0^M)y{xXPqE})tSY79EFm&-f}|K!?+YHg_tU}a;aabZh94WlvF?y9APK%JPnj&Hxr zOWxQQVo4cv9cIxDCVLDMhl8)&qRum^p0jN1NOuTj8c>MTx6@#NlmY939C)w+F#srz zqWmO{9EtHz2EaKiV5)LMPoBN=-Ur`$R0NKh8 zq^px^q;%jx2OsY6M>yn&N6MN$nX}72hb%efRIpId@-MywQ>4U_PB=A{PCnh~&v42a z&r~(nDpjto`WmX#Skq>0vii;%T$uZwHJGe5#<=T+FV<8X!ZHD^ow&xCGKLJwcxVi0 zLSy613NT}1u5o4~YEd{;*1$D#3N*%)K|TRph0Wa;bKml29RG?p{KTAT)cqgKnMU1Y z?#|l-YbEs)g*rj43LB=Dsy4RsL`nLsQ8N?{cEAd?Z9_XQ)>xVjMtgfPRv0zyyPbBl zJ&&%N5Ur(QE3#6ft6c)dZq6|owEgW7bC&NdMVZdq!8S(xiq5=;8OO$~ok9FG&fR#6 zro5ThPUPc8*BFLko&vKW0C|R2?zlh2Zyp1sb4&<^J4W~+Fl#cd#eS~&h{tgOaQkhh zOvmL%pf+zGSur>Ge{a-{i0saen+>>(l!h%oVX(XtDVh(71GT>(kZJWZ+?)PuCH$0x z*Gd_iGi{P((9LY?QkvT++U~~Iz5aWFu~OnKys$Dm`#HH49DiROE0YXo4-=;uvxc&j zC(Fpwk1!9BHgC7Id&mm5{z<2qz%22?VCGdPlUv%6yzjxZ*oGu~HQJO}6jTx6b}uKC7})Z-S=VTp+Gui?4_AB}wtxWhX}VcA$rb7mnkN znm=!dlK=n!24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G` z2j&AE4hbWWAwZk}00I0-L_t(I%T1HPjwD44L|-_wx@M-;2+)cP-^X_%B))?S5<-Ah z3&TuTb(S3*s)}7-Qa;!bj)>GxKmYLK=5YrwjB;%pB@`jehOzfdp?0}MzqWe%R@E+j zt>q&KaDot;LYfSTP1$2#?iIYIvyFOug!^w`dJr86+hJU$Mp^?5s5Qk5M9`j3W}EZv z;8@*&UE9H+1u;)C-3o8zd;lR7lDY_O9(PHTj%D3=+wY4>5R%%X#^1(u>L47SQ6W&5 zVoKNAPvk?y&2~wOu6`@m!2r7Amd^LG$H8s`XP-2ERn%rXfiRS9(%TzS3lzuQ??67a z`MXdwp;+tjsrTr&$Mw%mUDJy--falA z%Tw#$G+(Y8>+2!#LqwpOg9u5NbS|57nPR&2*X^HQ4s8-(_xK(EA12r}awgRdr5@`GDc3KFGeXU6|k_6O*B3*Z(=x5?i zw3GBvO`n$^%)oe@oO=+x_Ar(9;Q%=P1Ga~xXll=a`l#``11gN`9OerhN{Dog{dP@V z{bknk2U9i2_4|c?f8Cr5X7r|*yZSYqD^OkiI>r1oR4ujsSaqd47yNYBN;(u~1m!aj!{($x0 zUh}r)4yVz{Y^_4t-q~FHs3tcnrRaR&jy5Gabvl}JSWsY0_R(^8EYOxHhuY6zIFEjb>(Qr*EE*j_p|Y=x<%*p1mEOw0h>feLLR0 z-Gqk&PMYXK3Ro1ek4w@}S}yHQ`s26Tt2qD6&FDt(y0RT43 z>gDr%0erszXLAgLs<10xxA*{{RcP89+bdrx<|{CC8^C_Lx3>o|3{}_i@@tgE)t7S* z$U%W)RLJtD#SRGGvZs7$(hu!3=lSlSX(a0Els^+hT4=%H*f0Q~wV|e}8;U1KwTtV^ zwE)23*y!5mY*+y;C_QoY%MMtPdzZ@+L{1B zOG8cNQzzZ)XUH}HFFf=;Qvgb`D>Y*Ag8k!!Hgi>4Xb7%hV*>2p)mJS;L*DgcwawaU z0FeE4VE?&G;ynO>c4>ng08B0I`DD(d&=QSk&Fq!5rm!}?dbhdN>fT@+O3l)q(k2f$wvjIq66oJq@ z4gjdbMvWAV3tJ)>D_G1XfC$(^FwSL3-vOWk20^jl7#w7jo9!53g*gbFP|AHZT z2_%mcPIF=^rNnfRp*0mFc&y8HLHsT^%D4c7TQkhWu_w!tby6QyUm5V{UVHdb(el6-URsO+i%N$pRrdm$?WObadF-{^SH?nNZ-KivyRn_NiUAx%$GXQ|W z;8FpgTcrSiuDpz6#giOXyLM+Qif${@06?XL9ApNKMhA!NDIE7Qc|I5AZFzpm-On7~ z_1bM7wQ~8q5XpRLle9`}VqwbRKC->~$u|4D?Pz$F`#Tthp@?^WV zH1DsGS9IU_>Wk6I-=&Rf(n13ODkVArIw%Yp z=T-829+FFmNvVmaV#-SEvJ_gThRw6|psHI`4TYl93Od+>jc3G&5hF&77%^hRh!G=3 zjOfV={Qv{ivPmH;;@)36>M)8Ar6+B>I@xu__M_3GnX#&pBN_X*Uhe&0?7uN7e>5Kf zjmI{wOHC7R4*qsqv5zfVKqhI)YMG?9qowIlYenJplC+CkL`|xPx^af~008>e-wokU z2w1=Anzt=yIE_wW6T0OJd23ybxZtnT`6q8|Y<(gxee;jly|+z3c}y?bwslJOz0OMj z0FyA&=|3-MwMQW`m;6krP(wv?9ve7%X5_a{E;d0XG!;``S9!lWJ$3u#t2MtqYkdv! zA?U%eGoOi7=puVhi59w%gaAPGUp!+ZpBRAV%a5|pixUBWVZk0oCMn2mcZ)96iX=q@ zbLV0F$XUy#eY57apA*?n7thch0KMz)2J$Dc?XA2`nB8VAg?VQxiyr(Tqd75Mr!Gl& z&y=VZUQ7X@?bm+y)ZmD!d0_RHEsMou&)0a@C5<(3~5D2;PrBI6Wagb9zF2=G1AfpY>PNpGy9^v;`uP$G^g&;^WeMZ3zNZ>4~iL9BJ}E z5di=SamU@1iwP|Nh;Ac71PpNd3Jl-@7)1TuApV42Ea5z3_J)wS1wT&yAo4dZm~@{K2M^!*Kz%D&Pu0MV@}z6^P{1v>dN^w>w_1DZfbfc1z=8K5$G&fKn_Vy zM~?>}Sf?A52fzsgod-bQ`g^~+Kk;(z0r{BlxsFjG%W*B^P+#$La_hwu_EFKx?Rzy+ zHGyl+14I~9{=Iae_V-`bh&k)5gU2kG6Y=0ePM_}PtVfxN%;{nCqId9pCrl0XoiJ6{ zTKc%~z=0*X#ck=&nzo)NKn-rJUFx2+a48{a;ZnlBy@m4!Qgsy^IGtCb&IEw=%%i)C z#M-hKhUW1+xd5P*YUENh{?lO~4}hNacZ2y8da1zGRZDG?maL>4`ttXHM{>5rX7c>_ z5O;(QD*q=@*LD}|Iz0QK)TGfVcJdZpziwGcT4ws^tGy3@l@yed^Eg>!Cb0Ma@SWo> z&nYk&yc#HLRXqj(g+%hyW2!#{mXn45yzz;q0Mz#iFWv8Bh%}G~K%e@%A^i#cQ7cuQ zqKexs9cTtvFyRnv29X3)gAykt8V2N?mxR&q=FK3JC?Zx z9G|rYL*NIngkaIf`yD7|G*f#!Zzi3{+8@NMO*iu=l&B9>v9{@%EzSQhnUZYcHM8Xrcom*uKQEXv9+;wcMj!Hq_oCcnWrvpO_}((_n(OoBSwrEG1AL_ Y0anpf7!7%*tpET307*qoM6N<$f~gAN4FCWD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_ASCHRAB.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ASCHRAB.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_ASCHRAB.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_ASCHRAB.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_BALEFIRE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_BALEFIRE.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_BALEFIRE.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_BALEFIRE.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_BIOFUEL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_BIOFUEL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_BIOFUEL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_BIOFUEL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_BIOGAS.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_BIOGAS.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_BIOGAS.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_BIOGAS.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_BITUMEN.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_BITUMEN.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_BITUMEN.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_BITUMEN.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_CARBONDIOXIDE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_CARBONDIOXIDE.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_CARBONDIOXIDE.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_CARBONDIOXIDE.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_COALGAS.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_COALGAS.png new file mode 100644 index 0000000000000000000000000000000000000000..bf7871d698c990c2ca5e8727ab1741b6f727b87f GIT binary patch literal 2527 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 UbUeKh3IG5A07*qoM6N<$f<3up5C8xG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_DEUTERIUM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_DEUTERIUM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_DEUTERIUM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_DEUTERIUM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_DIESEL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_DIESEL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_DIESEL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_DIESEL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_DIESEL_CRACK.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_DIESEL_CRACK.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0714109d3c9142da0bcf6e0ee20b01bcc1366c GIT binary patch literal 2655 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_ETHANOL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ETHANOL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_ETHANOL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_ETHANOL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_FRACKSOL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_FRACKSOL.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff623141ea5a976033b000821d666d9e10560e9 GIT binary patch literal 3499 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 ZKLII&i#zp$c*6hy002ovPDHLkV1lBS!`%P? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_GAS.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_GAS.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_GAS.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_GAS.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_GASOLINE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_GASOLINE.png new file mode 100644 index 0000000000000000000000000000000000000000..0cee2a546e79c3b8dca44b0125489eb56b1c2675 GIT binary patch literal 2653 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 M07*qoM6N<$f@S@A4gdfE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_HEATINGOIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HEATINGOIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_HEATINGOIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_HEATINGOIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_HEAVYOIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HEAVYOIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_HEAVYOIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_HEAVYOIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_HEAVYWATER.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HEAVYWATER.png new file mode 100644 index 0000000000000000000000000000000000000000..7686c05db6cbbcbe07a23266a294a61be9d65297 GIT binary patch literal 2604 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_HOTOIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HOTOIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_HOTOIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_HOTOIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_HOTSTEAM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HOTSTEAM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_HOTSTEAM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_HOTSTEAM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_HYDROGEN.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_HYDROGEN.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_HYDROGEN.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_HYDROGEN.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_KEROSENE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_KEROSENE.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_KEROSENE.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_KEROSENE.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_LAVA.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_LAVA.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_LAVA.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_LAVA.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_LIGHTOIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_LIGHTOIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_LIGHTOIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_LIGHTOIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_LIGHTOIL_CRACK.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_LIGHTOIL_CRACK.png new file mode 100644 index 0000000000000000000000000000000000000000..b6231173dbd9de16ad6e3f2e6f2bf0a1c0dd0d3a GIT binary patch literal 2807 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 JPDHLkV1i>QVG{rV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_LPG.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_LPG.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_LPG.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_LPG.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_LUBRICANT.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_LUBRICANT.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_LUBRICANT.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_LUBRICANT.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_MERCURY.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_MERCURY.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_MERCURY.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_MERCURY.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_NAPHTHA.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_NAPHTHA.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_NAPHTHA.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_NAPHTHA.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_NAPHTHA_CRACK.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_NAPHTHA_CRACK.png new file mode 100644 index 0000000000000000000000000000000000000000..3903e7eea319ebb3a38a79ea5dac22e8f66295f9 GIT binary patch literal 2810 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 M07*qoM6N<$f?KyuZvX%Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_NITAN.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_NITAN.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_NITAN.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_NITAN.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_NONE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_NONE.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_NONE.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_NONE.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_OIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_OIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_OIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_OIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_OXYGEN.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_OXYGEN.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_OXYGEN.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_OXYGEN.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_PAIN.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_PAIN.png new file mode 100644 index 0000000000000000000000000000000000000000..6a188996055095c20db4f88590192e06701f0833 GIT binary patch literal 2765 zcmV;;3NrPHP)o}>*srdD}5PYsoSWU28lagD0!Ak_aVqis;pPi)!Eto;C5lv=^ry{KCTl(ptiG) zjoWx=Df<(Oq+WPrTaM#3Av!e2S^Y^;R}8I-e*REq{5KWSYyg0lx{l2TIx%yg}nJU^X}%1#%9bc<%F3q`4+6 zJg|2jbE~}i<}b_k-455Zn)^oLWLr~Q8HQRT_l`M25PakY8L*4DV%!1;&bL!81KAHf) z+RE4o0H`iLVXLQ6;~$3L5fru9ixLX}HdZFi>UPsooomT#DG&YKR?k;Cdi&heZz`#!iBoxJUW(?5&F=fJRLB`)X8_Z~*{h8|q6d+`h0SE2*_v*+({P zNoBwJm$N==cHWp)*o`LoRKL)b(ag2_<)Rxp#SI`J*glZ~Ir4IA|D~6ptWo?^UT+Gh z93niBcplI?0R|vbDFg)oluD%nPy#?yto?cdeEf8&=!1+x*%_ERv*!g9iNn45xLG1d zCE0p-yuRGw@2uel!;$cNGEP@+tpz}F<<1(s?3*AWG2&qIYY``sUyC@Ayu|Tu>K+yg zY@iDjcV$~fi{%iQRL{Wd8eW!OA5ftlN}9codBkY zSvlv}yE_)-eYVy6DhEJsSxtJ52z+q;eCN86W-EEs`KRmUw~BIkU-3b~jA)nPzZl5z z>&Yu`o~)MtVi6L$balA#D`SeVUC3(%01`nmWx{Hp!w8Q4PV>Wqof5-?of5@KO0C)14FINu>O!*Uwq^j(DX7brL98j=(jvI4 z=(ib{Tt-2sxXF%G3sbNm5_V^c(5&7^`TltZE(%7)E!BLe_m+&uis>5xmGLM8_Q zP(Y)B4hebyfJURx0YKiTkm?*anM|ROKti8VK9#)??VdUbdO+dOqQgv<0RY3nJ|Jec>#CU9oRw@6$N&q`v#nQY(^Gcx>W&_- zSu3DX=%Z~wNlZ(tMK60E^w$kdlDG%AB8Wn9nV z9p=k zc8vU8=7%w1t>hKwFWp-nqHZU91;-qH!#&F;WNMPn>9(!q{r6N&1Vy=LzAm0}ZhfH9 z^TS7GB6>yim;O{^VhY#H*OE>$RrWNsef?e4hM{&*%cK9{B}K2gMf_{&r9&k~sm1^x z>k|Wju%P19#W;&iVX|uRg;M!>0FX){0+mJ>Gr)qdrQ_5$_tpfib3Nl67rW`xFu}4W z0lC%M*2JAb231n~Ytg^6dp;ZKIy^d;0Wz~YK8;&sxjX!i&!tR#MzB?3W#Pm%g^jZ1 zPSvGb%5<0+ade9t9o0N#evG&E9QUaRxn70bN9m7*y_#ehd@n&!|azc z0Ng96J*nBQsI1Ak!ACR9oH&s_&ysuT3vNts(`Teq| zcuFV$Kq^HqKm&uWdI7>Oxsm$k{du!5m3F3elZ`1{HsK~~YrB8_LhimD@0Uj1(|8Xs z)?9}2ApNI(yT7mAe5XTMYw2hiXhRWEt8bS7=c7Z#@pt8r=o9zNlC~cepd&Pxt>vM6 z43Nx7vx3Z*0DKe_3sUtO!@v`Suw!ogIH~Q#kr+W#|2|$9Os3CT^u-rR%3~W{9^T@{ zyaE`Q1W4+8zCBsDSwL7bBd0SL>*^jDHf0%8(ke_jd4J2}2+zO-VP|LTr%|5<(Ods(3un-oJ{9x29GYfOw$6M(A5p*gcj0-@ShUE?rOJdp`- z^M~y1H~YV@J(AQDMF>o?zRF&a)()Q9MzijqA=qt+e~jlkzw{gXZ)qIfJf#1uzGhEB z(CtAT^6}Rim9c56P}MkSTTv#8N&6z`vDO{vtu@|^T;niNOwI`~5p@T8X^l4{*EmcR zPvjOb8WU1?ps&`rGD3~R1Ty(nfC;EO_^n$1OH8^I;PKTRjE9yfVphf;^OLHNi>0{n z{k2UQ^(fOX+YxFUvN{ew%4q0@-jubHvg;N7Oju; z42$vC_~(c5)1rdo%9%BA4lBk32F!I%@*%1k2d+j-FTZj^w}A!>7%*Vq|Cav(u8HW? TEHCx<00000NkvXXu0mjfV}eR) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_PETROIL.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_PETROIL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_PETROIL.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_PETROIL.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_PETROIL_LEADED.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_PETROIL_LEADED.png new file mode 100644 index 0000000000000000000000000000000000000000..bdef4b0ad439bcc674afa4abe38f5628c99412e2 GIT binary patch literal 2188 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 R#g700002ovPDHLkV1fhSNc8{! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_STEAM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_STEAM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_STEAM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_STEAM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_SULFURIC_ACID.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_SULFURIC_ACID.png new file mode 100644 index 0000000000000000000000000000000000000000..5f67bb26daa1dd34ad80ade311618cf74af63451 GIT binary patch literal 2331 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 BgWCWA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_SUPERHOTSTEAM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_SUPERHOTSTEAM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_SUPERHOTSTEAM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_TRITIUM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_TRITIUM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_TRITIUM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_TRITIUM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_UF6.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_UF6.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_UF6.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_UF6.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_ULTRAHOTSTEAM.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ULTRAHOTSTEAM.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank_ULTRAHOTSTEAM.png rename to src/main/resources/assets/hbm/textures/models/tank_label/tank_ULTRAHOTSTEAM.png diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_UNSATURATEDS.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_UNSATURATEDS.png new file mode 100644 index 0000000000000000000000000000000000000000..2874679cb012ccfc34878b2aa4f5cb39f23826ae GIT binary patch literal 3514 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEFLUID.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEFLUID.png new file mode 100644 index 0000000000000000000000000000000000000000..028463ab46f3f2ffbe8e1ff5cb1382e9d7d841fc GIT binary patch literal 4090 zcmVLGICS-NVl4bQWqc)>5egDu%9!n#6RD8&u zN~b{b-d;%hJ?X9tqd7Od&z*uwdxx>}EQ9`YARJ(`L0ZDDpw$D9TBkR*^b*QD_4-4#4G!)x+LU;3;yEdR(A3LGkM;tDN-fKx!`Yk=&fUowyd59S zgQrWl|6Cu%lXWxg002khDe%T{HDDN@EC?S$Se-<$Z0U*(`WOY7Y1_%(=7PGn4kF+o)^SjLK_11^eOczeRb63AT*Mndew&$i`}&s5(s8+FUKMFXW{C63IiONPoLmA zQv~-dpT|F^r}6I^0U~ex$RfBWH=f5Ar}AohDcfp|lm#X6%QbNmm+k2f+Je65EL(;E zX$ZG03%j^}&IlP13fIl+Gg3Y)U+$>LT)&F*H@W?#DVgtX5*EpQzJRTRJqT zFOKFx5nwk`R@^jlKW2y^C5w+DC1@+paHlYtm(tYax*LQf@vo6$)R%J)jcv2(D3#~X%dj?3bML)id4$v{vwFO&}{1<;2D5SUbMnZf6)kB*xFZTqr^@ z8g&jQR?M^y0V+VHBz>minZOjEiU8tZu8$C-1c=S$)7WwK>M%A@%`=zn$3*2fM_Ht| zP26C5iz1q>3$!flt>u@k!CbdW%d!bZ5(2Xmd8Vm?Urgpl;73wk9FI(>5TnjX=gos< zYzxfev+Ok9s5!xpV1_dQ05(j;W&FeNB-N%NE&vGCj6|Lm4^n^1 zz`^_&woR6tQO2+>Ws3U~pT_F}?g=6{1b!st2D0*W6Yqqi~ zk|z!{@`sCe3ZI3mX^0Xbj|$_CGrgSfbnPwWY(E#ssstHPF&X^6!N7rL*Y!*XX*iqX zq=dGWvQ?ePGs>xwb3!EZQ+c)WBsY$)l7w($=41&l7s?nORur+`5W&6iF>F7fXaB4M z0HCg%#}ZetMk}~9n0o8^O>G4C%##zZiQvBF5!^Rc>A+m!HkFw!@cW_wRxS$VR)G)x z2`RjMNthd{z&!wzq^?*z@+me(JAd7EiksYQGFC62m;fn0z`Pm_`JqC50a`owtHnyM zyG@IM15rV2^b6&7DtO%Eh1)QmDd&;MTt1ab3Cd06+2(Q{o#Iw`Br1%%gjRa1`#GDF zarv(*pI~mt4`kH|J^RNB1&A_IdCm87jRp852C}A7&;Ej7HYP~W&HB^DX`=E}1HYS4 zVWY3;TNa&c;CDSkG})b4Z59lMc0N0Pl*Pr}9KGlSNBtS@C@kS87rHq-WTn^P#BQ@- z=rM4hyn#1-r;)b49O0qdCIT3usnoUnxYO3fHvq_p^0*ARu(b18iJpA`e$hObBqMrS z0}&OvuWD9sd*R_TNU}vE8JJvP_ zbKQmnp1fSQr%rN1avr;>Qo>|_ae#A5IdPXW?>W!wUBTR#j1Z1=ifIq`nL@F3@}E&)FzLp15lw8#6ii1WPe zZ8Nc*fucjC+kDUptaPJbp2&+&z)>Xr)IF|0ywpo$f{wQr?OwL zg7OR{sp#3a>pRwrmU|=7LVz$JlKbaJ@iVO-Nm2pgArsZ@?R;8R$Bw{k{<0)wV#ds! z-Ws0&yoTpyA|snCS~~e6DU@5og-BW)ST5VZm+*y)I2h!>(mz18!v}x0g2c{Jw(h&& zmeHJo$PjJ@Xz8MGPM3i0UQUdLp;~!yT2qAc<5dL|u1e>vF=GK@l`F4pbWgW>kZ5`8 zOP9=!_4D~-xQ0BL7?n_jT%jf_K8h_;$J9Ewza`pQ_;6T^Ix&n*-q=SZ^HPWixzGoV zMni#CL81r^Z1wMO8#-G{(=*DDoB7&eI2jBEDwVwV4~V!qfaA7tx>te7Xri~qsN;9#32E! ztnXmAP)WMV)lAO~p~@}k*d z>*nyW4tB$Aj)OhpH1u)`z-Kf7{3!?-Id^vggzC5!M$Z0)0K+s_n`wh-NVEp2?{j6m zbjiGQO)|doqpIQ@Gq(X!He zx|~PN;6#KhB7rBaUCFtPIs8|sFX1yDycaUED@98g+saK;r|0omyu17yK!8t13cvP7 zE+q-!ru+a_UQ#GRmY&D%csVi6rTnbY?bv+I1E8myqt+46k^mJ8!dzN`)*7B|8(I73 zrOAo&SB(UKp@(CxkxWaX)qjDv_Z(wcbthj~oj4F6@(<;<)yp^&B|$gW*LB6QGx&WG z8!kAoE?mUEI0cELRemu%l%!yux31=mh)74Ctq4VO4xeOdS=v>@a|fH*>25pcc>rfO z-*!2%hY1krLbwGDxfm&{8l)jc&)(P&ZVr!Pi$F#sK&OF2Ff)nPa5qO!o?v6KjOc`9 zew7{0CZUv|jA*tt){boYrp0AsWLFyJFwIAcSSu{x>%~hrrYvT2Nf%#7M{u{-l3+$e zr1AbNDITIBD~C@~G~{*F^1@d&JU`xc?lXZl`aAkK0}v3)b{z;zofHDJb@GK1(8aP{ zJ7U|{(LW;En6X3)unlpcs+b>Nurmmtn#SAmw}!(+)#0Nosu`v^qkykAF5unvliaws zjO{H(N~g^B*cs|-Vb_r(WHTAOF7qpz$(Tw; z=1r1jj&Kgsa^hPG+LL*)AeNtR2;;8yWQEXWe%~q$4zV051OlI1LEf^dkzJQ9qTl5 z;-w)CJh@@(M$0G2D?vI$bIRsaA107*qoM6N<$g3Bkw`Tzg` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEGAS.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_WASTEGAS.png new file mode 100644 index 0000000000000000000000000000000000000000..881c6f3382b22425495f6a7a4bc4cb9bb4aab4d8 GIT binary patch literal 4990 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%0AMJCVL}3cTK4nUdQ<}a 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 Date: Wed, 30 Mar 2022 16:10:17 +0200 Subject: [PATCH 15/17] classic cable --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../com/hbm/blocks/network/BlockCable.java | 8 +++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../hbm/render/block/RenderCableClassic.java | 66 ++++++++++++++++++ .../hbm/textures/blocks/block_smore_side.png | Bin 219 -> 210 bytes .../hbm/textures/blocks/red_cable_classic.png | Bin 0 -> 229 bytes 6 files changed, 78 insertions(+) create mode 100644 src/main/java/com/hbm/render/block/RenderCableClassic.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d355520dd..5420a428a 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -720,6 +720,7 @@ public class ModBlocks { public static Block red_wire_coated; public static Block red_cable; + public static Block red_cable_classic; public static Block red_connector; public static Block red_pylon; public static Block red_pylon_large; @@ -1847,6 +1848,7 @@ public class ModBlocks { red_wire_coated = new WireCoated(Material.iron).setBlockName("red_wire_coated").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_wire_coated"); red_cable = new BlockCable(Material.iron).setBlockName("red_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cable_neo"); + red_cable_classic = new BlockCable(Material.iron).setBlockName("red_cable_classic").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_cable_classic"); rf_cable = new BlockRFCable(Material.iron).setBlockName("rf_cable").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rf_cable_icon"); red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector"); red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); @@ -2963,6 +2965,7 @@ public class ModBlocks { GameRegistry.registerBlock(pribris_digamma, pribris_digamma.getUnlocalizedName()); GameRegistry.registerBlock(red_cable, red_cable.getUnlocalizedName()); + GameRegistry.registerBlock(red_cable_classic, red_cable_classic.getUnlocalizedName()); GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName()); GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 85a55ff90..ffc7c7f36 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -1,9 +1,11 @@ package com.hbm.blocks.network; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.test.TestConductor; import com.hbm.lib.Library; import com.hbm.tileentity.network.TileEntityCableBaseNT; +import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; @@ -21,9 +23,15 @@ public class BlockCable extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityCableBaseNT(); } + + public static int renderIDClassic = RenderingRegistry.getNextAvailableRenderId(); @Override public int getRenderType() { + + if(this == ModBlocks.red_cable_classic) + return renderIDClassic; + return TestConductor.renderID; } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 21cb9e94c..b24f96d5c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -679,6 +679,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderAnvil()); RenderingRegistry.registerBlockHandler(new RenderCrystal()); RenderingRegistry.registerBlockHandler(new RenderTestCable()); + RenderingRegistry.registerBlockHandler(new RenderCableClassic()); RenderingRegistry.registerBlockHandler(new RenderTestPipe()); RenderingRegistry.registerBlockHandler(new RenderBlockCT()); RenderingRegistry.registerBlockHandler(new RenderDetCord()); diff --git a/src/main/java/com/hbm/render/block/RenderCableClassic.java b/src/main/java/com/hbm/render/block/RenderCableClassic.java new file mode 100644 index 000000000..1ccfbcd7b --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderCableClassic.java @@ -0,0 +1,66 @@ +package com.hbm.render.block; + +import com.hbm.blocks.network.BlockCable; +import com.hbm.lib.Library; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class RenderCableClassic implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + boolean pX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); + boolean nX = Library.canConnect(world, x - 1, y, z, Library.POS_X); + boolean pY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); + boolean nY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); + boolean pZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); + boolean nZ = Library.canConnect(world, x, y, z - 1, Library.POS_Z); + + double spanU = iicon.getMaxU() - iicon.getMinU(); + double spanV = iicon.getMaxV() - iicon.getMinV(); + double px = 0.0625D; + + double uv_cL = iicon.getMinU(); + double uv_cR = iicon.getMinU() + spanU * 5 / px; + double uv_cT = iicon.getMaxV(); + double uv_cB = iicon.getMaxV() - spanV * 5 / px; + + double pos_min = px * 5.5D; + double pos_max = px * 10.5D; + + //TODO: all that manual tessellator crap + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return false; + } + + @Override + public int getRenderId() { + return BlockCable.renderIDClassic; + } + +} diff --git a/src/main/resources/assets/hbm/textures/blocks/block_smore_side.png b/src/main/resources/assets/hbm/textures/blocks/block_smore_side.png index f00014e1a9576adfb3f144564b0e1373131cce43..071a015ff380e23f1f6c725fff0c300713cc0474 100644 GIT binary patch delta 166 zcmV;X09pUr0n!1GG=GUnL_t(IjqQ-J2|_^-MCU+EG!YaG6v5Qsj7+S<0t{`yDy+lS zu7>@$vt#hTAPU!jKbp5Q(Z2M2TvVN?9;i2}_VAut4L$Pg%iA*|+8 zwDwd=k(r_EI+z*0Ip_S-eR8^APjUuGfed)`{O;Dv8Cv_~cpum`e;gf*4*tZ!3pmQP UM3R^#tpET307*qoM6N<$g4P*N3;+NC delta 175 zcmV;g08szZ0owtPG=GvwL_t(IjqQ-J4FW+71oxyD5h)=ee}W??padd{pap7pi7u#z zgaU{zL*g^vd2ND!Bm~kmz(+e?JMeC}bO$d=6g3njbkt!s^v@nj1L+_QY6HK$aNI7P z=Ab#~qnd*b&>V~T47GhoDY=Ls=L`|SH^&%%yiab4-uc`;v+kNU_ d>fj$bcmbDGz$<1#rSbp(002ovPDHLkV1i8jNwEL` diff --git a/src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png b/src/main/resources/assets/hbm/textures/blocks/red_cable_classic.png new file mode 100644 index 0000000000000000000000000000000000000000..0990a1e90594503c50498196e876f410cd2c6e9e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfs@(Xnud#4*_<~vbo;)Eh3UXYAxX9s*%t5lLPEE)%qi|Tv0IN}QjnAAt+M9t327DY zITiot=(9cMsI5P0nK7$vj>);uK&AS(ISUz7brmbCn afcNi8eNEM?Q-RK8VDNPHb6Mw<&;$U!cv6x8 literal 0 HcmV?d00001 From c1b9ef3e173387b509b614257986d6c27e8f1e0b Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 30 Mar 2022 23:23:38 +0200 Subject: [PATCH 16/17] fixed energy voids, sulfuric acid puddles --- .../java/api/hbm/energy/IEnergyConductor.java | 10 ++ .../java/api/hbm/energy/IEnergyConnector.java | 2 +- src/main/java/api/hbm/energy/ILoadedTile.java | 6 + .../com/hbm/blocks/network/CableDiode.java | 3 +- .../missile/EntityMissileAntiBallistic.java | 119 +++++++++--------- src/main/java/com/hbm/main/MainRegistry.java | 4 +- .../java/com/hbm/main/ResourceManager.java | 2 +- .../hbm/tileentity/TileEntityLoadedBase.java | 20 +++ .../hbm/tileentity/TileEntityMachineBase.java | 3 +- .../hbm/tileentity/TileEntityProxyBase.java | 2 +- .../hbm/tileentity/TileEntityTickingBase.java | 2 +- .../bomb/TileEntityCompactLauncher.java | 3 +- .../tileentity/bomb/TileEntityLaunchPad.java | 3 +- .../bomb/TileEntityLaunchTable.java | 3 +- .../tileentity/machine/TileEntityChungus.java | 3 +- .../machine/TileEntityCoreAdvanced.java | 3 +- .../machine/TileEntityCoreTitanium.java | 3 +- .../machine/TileEntityFWatzCore.java | 6 +- .../machine/TileEntityForceField.java | 3 +- .../machine/TileEntityFusionMultiblock.java | 3 - .../tileentity/machine/TileEntityGeiger.java | 1 - .../machine/TileEntityHadronPower.java | 4 +- .../machine/TileEntityMachineAmgen.java | 9 +- .../machine/TileEntityMachineArcFurnace.java | 3 +- .../TileEntityMachineBoilerElectric.java | 3 +- .../machine/TileEntityMachineCMBFactory.java | 7 +- .../TileEntityMachineChemplantBase.java | 1 - .../machine/TileEntityMachineCoal.java | 7 +- .../machine/TileEntityMachineDetector.java | 5 +- .../machine/TileEntityMachineEPress.java | 4 +- .../TileEntityMachineElectricFurnace.java | 4 +- .../machine/TileEntityMachineMiniRTG.java | 3 +- .../machine/TileEntityMachineRTG.java | 4 +- .../machine/TileEntityMachineSPP.java | 7 +- .../TileEntityMachineSeleniumEngine.java | 6 +- .../machine/TileEntityMachineShredder.java | 5 +- .../machine/TileEntityMachineTeleporter.java | 3 +- .../machine/TileEntityMachineTurbine.java | 4 +- .../machine/TileEntityMachineTurbofan.java | 4 +- .../machine/TileEntityRadiobox.java | 5 +- .../machine/TileEntityWatzCore.java | 4 +- .../oil/TileEntityMachineGasFlare.java | 5 +- .../network/TileEntityConnector.java | 1 - .../network/TileEntityConverterHeRf.java | 3 +- .../network/TileEntityConverterRfHe.java | 4 +- .../java/com/hbm/world/feature/OreCave.java | 41 +++++- .../models/tank_label/tank_ENDERJUICE.png | Bin 2051 -> 2091 bytes 47 files changed, 204 insertions(+), 146 deletions(-) create mode 100644 src/main/java/api/hbm/energy/ILoadedTile.java create mode 100644 src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java diff --git a/src/main/java/api/hbm/energy/IEnergyConductor.java b/src/main/java/api/hbm/energy/IEnergyConductor.java index 572ef0dc8..1744c5f79 100644 --- a/src/main/java/api/hbm/energy/IEnergyConductor.java +++ b/src/main/java/api/hbm/energy/IEnergyConductor.java @@ -94,6 +94,16 @@ public interface IEnergyConductor extends IEnergyConnector { return pos; } + + /** + * Since isLoaded is only currently used for weeding out unwanted subscribers, and cables shouldn't (although technically can) be + * subscribers, we just default to true because I don't feel like wasting time implementing things that we don't actually need. + * Perhaps this indicates a minor flaw in the new API, but I physically lack the ability to worry about it. + */ + @Override + public default boolean isLoaded() { + return true; + } //TODO: check if this standard implementation doesn't break anything (it shouldn't but right now it's a bit redundant) also: remove duplicate implementations @Override diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java index 87a0f0a88..40ad4e647 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ b/src/main/java/api/hbm/energy/IEnergyConnector.java @@ -14,7 +14,7 @@ import net.minecraftforge.common.util.ForgeDirection; * This is mean for TILE ENTITIES * @author hbm */ -public interface IEnergyConnector { +public interface IEnergyConnector extends ILoadedTile { /** * Returns the amount of power that remains in the source after transfer diff --git a/src/main/java/api/hbm/energy/ILoadedTile.java b/src/main/java/api/hbm/energy/ILoadedTile.java new file mode 100644 index 000000000..1f6d0f88b --- /dev/null +++ b/src/main/java/api/hbm/energy/ILoadedTile.java @@ -0,0 +1,6 @@ +package api.hbm.energy; + +public interface ILoadedTile { + + public boolean isLoaded(); +} diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index 8e260d42b..25da7bb68 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; @@ -119,7 +120,7 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl return new TileEntityDiode(); } - public static class TileEntityDiode extends TileEntity implements IEnergyUser { + public static class TileEntityDiode extends TileEntityLoadedBase implements IEnergyUser { @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java index 8090eae78..b350038be 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java @@ -17,29 +17,29 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityMissileAntiBallistic extends Entity implements IRadarDetectable { - + int activationTimer; public EntityMissileAntiBallistic(World p_i1582_1_) { super(p_i1582_1_); } - + @Override - public void onUpdate() { - + public void onUpdate() { + if(activationTimer < 40) { activationTimer++; - + motionY = 1.5D; this.setLocationAndAngles(posX + this.motionX, posY + this.motionY, posZ + this.motionZ, 0, 0); - this.rotation(); - - if(!this.worldObj.isRemote) + this.rotation(); + + if(!this.worldObj.isRemote && this.posY < 400) this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - + } else { - + if(activationTimer == 40) { ExplosionLarge.spawnParticlesRadial(worldObj, posX, posY, posZ, 15); activationTimer = 100; @@ -50,9 +50,9 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab targetMissile(); this.setLocationAndAngles(posX + this.motionX, posY + this.motionY, posZ + this.motionZ, 0, 0); - this.rotation(); - - if(!this.worldObj.isRemote) + this.rotation(); + + if(!this.worldObj.isRemote && this.posY < 400) this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5)); @@ -66,70 +66,66 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab } } } + + if(this.posY > 2000) + this.setDead(); - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && - this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && - this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) { - - if(!this.worldObj.isRemote) - { + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air && this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.water && this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.flowing_water) { + + if(!this.worldObj.isRemote) { ExplosionLarge.explode(worldObj, posX, posY, posZ, 10F, true, true, true); } this.setDead(); return; - } + } - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } } - + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + } + private void targetMissile() { - + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 500, 0, posZ - 500, posX + 500, 5000, posZ + 500)); - + Entity target = null; double closest = 1000D; - + for(Entity e : list) { if(e instanceof EntityMissileBaseAdvanced || e instanceof EntityMissileCustom) { double dis = Math.sqrt(Math.pow(e.posX - posX, 2) + Math.pow(e.posY - posY, 2) + Math.pow(e.posZ - posZ, 2)); - + if(dis < closest) { closest = dis; target = e; } } } - + if(target != null) { - + Vec3 vec = Vec3.createVectorHelper(target.posX - posX, target.posY - posY, target.posZ - posZ); vec.normalize(); - + this.motionX = vec.xCoord * 0.065D; this.motionY = vec.yCoord * 0.065D; this.motionZ = vec.zCoord * 0.065D; @@ -138,25 +134,24 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab @Override protected void entityInit() { - + } @Override protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - + } @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - + } - - @Override + + @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 500000; - } + public boolean isInRangeToRenderDist(double distance) { + return distance < 500000; + } @Override public RadarTargetType getTargetType() { diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index daaecb10b..0297c2d0a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -975,8 +975,8 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); - new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20); //sulfur - new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur + new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 8c32969af..430a16e73 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -366,7 +366,7 @@ public class ResourceManager { //Tank public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); - public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank_NONE.png"); + public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank_label/tank_NONE.png"); public static final ResourceLocation bat9000_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/bat9000.png"); public static final ResourceLocation orbus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/orbus.png"); diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java new file mode 100644 index 000000000..baec2d8d4 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -0,0 +1,20 @@ +package com.hbm.tileentity; + +import api.hbm.energy.ILoadedTile; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index c9542a9dc..de2396047 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -5,6 +5,7 @@ import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import api.hbm.energy.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -15,7 +16,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityMachineBase extends TileEntity implements ISidedInventory, INBTPacketReceiver { +public abstract class TileEntityMachineBase extends TileEntityLoadedBase implements ISidedInventory, INBTPacketReceiver { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index c1f3c07f7..0bcf59043 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -8,7 +8,7 @@ import com.hbm.tileentity.machine.TileEntityHadron; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityProxyBase extends TileEntity { +public class TileEntityProxyBase extends TileEntityLoadedBase { public boolean canUpdate() { return false; diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index 4d4bf2d13..cc82f97ee 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -8,7 +8,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntity implements INBTPacketReceiver { +public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver { public TileEntityTickingBase() { } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index d974caa5c..cbe1fac9c 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -21,6 +21,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import api.hbm.item.IDesignatorItem; @@ -39,7 +40,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCompactLauncher extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser { +public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 1182aa426..c17fe69f8 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -4,6 +4,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissilePacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -18,7 +19,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 12c4130e4..a001e3748 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -21,6 +21,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import api.hbm.item.IDesignatorItem; @@ -36,7 +37,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchTable extends TileEntity implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { +public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index ed3ab7486..eb7c80bb8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -15,6 +15,7 @@ import com.hbm.lib.Library; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -25,7 +26,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFluidSource, IEnergyGenerator, INBTPacketReceiver { +public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IEnergyGenerator, INBTPacketReceiver { public long power; public static final long maxPower = 100000000000L; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java index e6605700f..a945201d1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java @@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFactory; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -17,7 +18,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreAdvanced extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { +public class TileEntityCoreAdvanced extends TileEntityLoadedBase implements ISidedInventory, IFactory, IEnergyUser { public int progress = 0; public long power = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java index 0c5ec6e28..21c51712d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java @@ -5,6 +5,7 @@ import com.hbm.interfaces.IFactory; import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -18,7 +19,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreTitanium extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { +public class TileEntityCoreTitanium extends TileEntityLoadedBase implements ISidedInventory, IFactory, IEnergyUser { public int progress = 0; public long power = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java index f20c67ce3..e5f462543 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.interfaces.IFluidAcceptor; @@ -14,6 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.world.machine.FWatz; import api.hbm.energy.IEnergyGenerator; @@ -24,10 +23,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor { public long power; public final static long maxPower = 10000000000L; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index e62b9862f..1208805c8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -7,6 +7,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFFPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -24,7 +25,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityForceField extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java index 4c8dff60c..fdab6bcb5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index 1ea71a9ea..e9b9e17db 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.handler.radiation.ChunkRadiationManager; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.chunk.Chunk; public class TileEntityGeiger extends TileEntity { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 348e78347..1b5e9ecd1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -1,14 +1,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.BlockHadronPower; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHadronPower extends TileEntity implements IEnergyUser { +public class TileEntityHadronPower extends TileEntityLoadedBase implements IEnergyUser { public long power; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index c3326f584..a88a7db69 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -1,20 +1,15 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAmgen extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEnergyGenerator { public long power; public long maxPower = 500; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index a2916c09b..9e34acd3f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -7,6 +7,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -19,7 +20,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; -public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index cb959e033..10a765f0c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -16,6 +16,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -29,7 +30,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineBoilerElectric extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser { +public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index 780276af0..819467f45 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidTank; @@ -12,6 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -22,10 +20,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 1a3aeeb53..3ad9b2723 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -18,7 +18,6 @@ import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index d4503636a..878d3ad21 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -6,13 +6,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.machine.MachineCoal; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -25,12 +21,13 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -public class TileEntityMachineCoal extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java index eea44c005..e71df5eab 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine; +import com.hbm.tileentity.TileEntityLoadedBase; + import api.hbm.energy.IEnergyUser; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDetector extends TileEntity implements IEnergyUser { +public class TileEntityMachineDetector extends TileEntityLoadedBase implements IEnergyUser { long power; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 013b5f70f..feea1ffaf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -1,12 +1,12 @@ package com.hbm.tileentity.machine; -import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.inventory.recipes.PressRecipes; import com.hbm.items.machine.ItemStamp; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPressPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -22,7 +22,7 @@ import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineEPress extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineEPress extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 75a49e388..92fe3a0d0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -5,6 +5,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -15,10 +16,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineElectricFurnace extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineElectricFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java index 6a2224074..a013fbc17 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java @@ -5,12 +5,13 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineMiniRTG extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IEnergyGenerator { public long power; boolean tact = false; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index 027653669..cbfe5b0a4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -4,6 +4,7 @@ import com.hbm.config.VersatileConfig; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.RTGUtil; import api.hbm.energy.IEnergyGenerator; @@ -13,10 +14,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, IEnergyGenerator { +public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java index 127ba36c5..ad3adb63d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java @@ -1,16 +1,13 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -public class TileEntityMachineSPP extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnergyGenerator { public long power; public static final long maxPower = 100000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index d19fe1d12..5060a0753 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -1,8 +1,6 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -17,6 +15,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -26,10 +25,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSeleniumEngine extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index 63a11d0ef..d4367bf41 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -1,11 +1,11 @@ package com.hbm.tileentity.machine; -import com.hbm.interfaces.Untested; import com.hbm.inventory.recipes.ShredderRecipes; import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -15,10 +15,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineShredder extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java index 82928346b..ed2457752 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -14,7 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineTeleporter extends TileEntity implements IEnergyUser { +public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyUser { public long power = 0; public int targetX = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index fe29fa2d5..4acfb031a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -13,6 +13,7 @@ import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -22,10 +23,9 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbine extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator { +public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 44a4c684d..df88f1c23 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -1,6 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -19,6 +18,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TETurbofanPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -34,7 +34,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @Spaghetti("a") -public class TileEntityMachineTurbofan extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineTurbofan extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 0038e9a1a..6db0cc2fd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -3,19 +3,18 @@ package com.hbm.tileentity.machine; import java.util.List; import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.IMob; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRadiobox extends TileEntity implements IEnergyUser { +public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyUser { long power; public static long maxPower = 500000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java index b26d62d7e..1351f0f38 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java @@ -21,6 +21,7 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -30,12 +31,11 @@ import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityWatzCore extends TileEntity implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource { +public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource { public long power; public final static long maxPower = 100000000; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 0699d4b30..56c4bbf22 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine.oil; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.entity.particle.EntityGasFlameFX; @@ -14,6 +12,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -28,7 +27,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineGasFlare extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineGasFlare extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java index a98ccec0a..cda2f59ca 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java @@ -1,7 +1,6 @@ package com.hbm.tileentity.network; import api.hbm.energy.IEnergyConductor; -import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java index 4d267f71f..941f83c1c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.network; import com.hbm.calc.Location; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyConnector; import cofh.api.energy.IEnergyHandler; @@ -8,7 +9,7 @@ import cofh.api.energy.IEnergyReceiver; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterHeRf extends TileEntity implements IEnergyConnector, IEnergyHandler { +public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEnergyConnector, IEnergyHandler { //Thanks to the great people of Fusion Warfare for helping me with the original implementation of the RF energy API diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java index f17de5f83..4308103a6 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java @@ -1,13 +1,13 @@ package com.hbm.tileentity.network; import com.hbm.interfaces.Untested; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cofh.api.energy.IEnergyHandler; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterRfHe extends TileEntity implements IEnergyGenerator, IEnergyHandler { +public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEnergyGenerator, IEnergyHandler { @Override public void setPower(long power) { diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 17ec19c43..26a701d02 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -28,6 +28,7 @@ public class OreCave { private int maxRange = 4; /** The y-level around which the stratum is centered. */ private int yLevel = 30; + private Block fluid; public OreCave(Block ore) { this(ore, 0); @@ -57,6 +58,11 @@ public class OreCave { this.yLevel = yLevel; return this; } + + public OreCave withFluid(Block fluid) { + this.fluid = fluid; + return this; + } @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { @@ -95,15 +101,48 @@ public class OreCave { if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground)) { boolean shouldGen = false; + boolean canGenFluid = event.rand.nextBoolean(); for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block neighbor = world.getBlock(MathHelper.clamp_int(x + dir.offsetX, cX, cX + 16), y + dir.offsetY, MathHelper.clamp_int(z + dir.offsetZ, cZ, cZ + 16)); if(neighbor.getMaterial() == Material.air || neighbor instanceof BlockStalagmite) { shouldGen = true; + } + + if(shouldGen && (fluid == null || !canGenFluid)) break; + + if(fluid != null) { + switch(dir) { + case UP: if(neighbor.getMaterial() != Material.air && !(neighbor instanceof BlockStalagmite)) canGenFluid = false; break; + case DOWN: if(!neighbor.isNormalCube()) canGenFluid = false; break; + case NORTH: + case SOUTH: + case EAST: + case WEST: + if(!neighbor.isNormalCube() && neighbor != fluid) canGenFluid = false; break; + } } } - if(shouldGen) world.setBlock(x, y, z, ore.block, ore.meta, 2); + + if(fluid != null && canGenFluid) { + world.setBlock(x, y, z, fluid, 0, 2); + world.setBlock(x, y - 1, z, ore.block, ore.meta, 2); + + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + int clX = MathHelper.clamp_int(x + dir.offsetX, cX, cX + 16); + int clZ = MathHelper.clamp_int(z + dir.offsetZ, cZ, cZ + 16); + Block neighbor = world.getBlock(clX, y, clZ); + + if(neighbor.isNormalCube()) + world.setBlock(clX, y, clZ, ore.block, ore.meta, 2); + } + + } else if(shouldGen) { + world.setBlock(x, y, z, ore.block, ore.meta, 2); + } + } else { if((genTarget.getMaterial() == Material.air || !genTarget.isNormalCube()) && event.rand.nextInt(5) == 0) { diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png index 36776becf25ad2008eb39efbd83dc9a5ef2c301c..4573c3d26ea74d8f97f7ce2e0681c67a4735dbdb 100644 GIT binary patch delta 2062 zcmV+p2=VuW5UUW7G=JhrL_t(|ob8%za8%V9$N%TP?A@EY*=5%xgcuS?3<`}Y3Q{Nt zNJJ<_88e;AOlJyXr!%D;tsUA9rS?VWR2X%fY3Yo%9UVkVWnxi_q5{Q4qdO^~fFzI- zLWm_VCM5fs-TQVn7Pi=mBRAvud4)azfFKH% zc0)G+0H3rTBY>R&COpFE5}O-AYNU@<=Qdpc0L|1a?GD~yvF!{n!Lc*IIOUhI0RX_p zl=jp;f6Ju|kbkPH;_tB7skOl6b^rkJ@$&kbBXR*ZJ56DBs?ip(`50XLE6`Q zLO<2=*Z3zrJ1K>pz3<$B^!4RC@U>1!p_8>Ycdm_` zcGo8Qh}lM6?WT}Fu>JByC7;JJx9TzJ)|g5O$wu7?-Q04o`irO{+z=*mRJ8lzPRsntlMZD`SKJ-!|RFbIdWY><-GOEvht_- z;yV{93obk!e82anWAja6)Yonf`2*XDt6++>YUPVL)152C+shv2j~)Ay$zWzR>T80N zIDe`aKP%-4v!M2e)WiOb@%DlJ)D(5Dps-3n7fc4z()W?ZcLTYK8i0X@qUVXbphR9h zf0wbVVS$m&X<9g996hun>dUWi&v8G>&n$mPsPFx`!9d5}2Y?Ml`e=+MQYXh<|60a1 zy-=!<*8m1HJ~;4;=<)EM69?ijJHiLQ=zmIl##5Sjzhoz?eF36Hw?$6;-hU>gHgLyX z7F)P9MI5o#{V5a2L0Iz5ZN4Sgmar*I{~Ozab$ve@)-cef_jjnp%N8jWGuJ4~yM7;T z$2-{$%AF{=)T*et!U7 zZw1f80U9v$^N~ZNpODS?u0QFKqsD?%qmhKcz*HJa)6lT4?yvujkbhsLG;`tF9B0&* z^({q`T!QTK%UFC9#Z$;DC`?E~ruNqU^^xY_%h|fWX0WT+yR(_wOT>*K0Dx1-0We(s zcLzH&>O-+a9C=(`06-p}$PAPv5`Szm@>6Sr^cukb_b0R3r(&HKhu%K50uY3Q7feeLn2m1=qpo&S==7A@+;xi@MQ5&8nCf0knuD)oRZMZ@QvPHt zAvPIIrUD!xvgkuHiSUv{M4|vDgTdk%uN4Y*m=q?*PZEU^Whwe2&7bdl41aTb9r;3g zC;QZ2A8nfYJNG>AMvU@Yf#moK#5?DIKc`Yz2bj!kKC{c9&@IJfwggU{9cn1w;;t@w zmb-nydiiAc&Y}Mp4QV>h&C?t=MQ7?AfdkB0%ZWbL-V1EX5<03tku@B)-FX&yy$Kq6BiMaUQ-{k22sMcJyF6xV*`pePsQ zIafXKqVvk*(bgXN$A7wi=sIGfj;}@AooQ~b2k99=5M?4j9&Ru}IO0gtCDFRVvBPaY zaXdKVwc%MZK!cGE=5YD25# z1v55_lihPT-V|w||D4`@d{?Zo^J)4yTMPT_#PP_^!FkgB%1u&P{tC_|6%nc#ba3FT zajxfGmYUthFg~73oLbkmFQe~Sg>x)+OHUI3z^mjXrY9xRQ=bVWu^$JIQ@lzZ1AxJ3 zf5zjZEr8o=)CJJm)D-n(tNs>5-o#nE^(M{3Lb;nBds|2N>tvRkGA#$MnP00000Ne4wvM6N<$f~tfayZ`_I delta 2021 zcmVxodUoG$I0{6+|#moqNJlXEq=J zAm8}UQG1=`DF6U8_km|3wkP}?)l!KF3IxcKBy-%H?3l5N<6~F3?!FVOW$r>K+R&`x zYHdNn^QewaL4Qa*0>OZkIrp4ow+)KJx0~4ZzC*l299}t1K4k8EBxdhDZvy~G?Pp(| zX&8GB0D!D|wpMF|hXCfmef;D$W(=-)eb9Sx?N9FKNdSPk8>6;EEy;n;!Pg%r5yjXxJLQQtC~kdCt*4&?M?@ZA}Vzx5@(1+;|w{(=G>>L{wwd!o#}o|6u`AE zNil{D+z^%L*QcVRFaw>B8ItqKyqxc|wPzllH@n_nPyD+^L~0UURbHz$kokW7lva-= zYm2eulz(ExVYN7WxRap_6Vw6_Z?^uO9Ti&qdwCFM;MNjjEJj6DmYx=mHs*0o7!Ov6 z*n73cZ55gk6&-~orhJ)9*Y80P3_~+^RO$Azr|j=V1`o;<( znlu6)MX7cd9_3zbPU1!2g4KIh!Sp2c@Xk7QJb#u8005GU7p)T)1v_g-XpJ7#$LHYM z(FAUQdoR#+O>+f7E&$2W+vE=1o>oG;DM3@2`w#Kd^-@s+A*eB|eHU2o7_Go06>N`q zWJ@EC1BDoiD(RG4rHoZ-4n>=2?yU3LUQGCf=9!9{DjlQ(m8>T=z*gRO+x`qebGJQ9 zEq_kFb9j9Ioe%D3r-fcW8y%e{@xTQ7u63@^kktkXa5Ccn07z27cI|!fzgce_d9<~K zX>+{dY0*HM4Ew^PZ~q7`hP)n9QsA9sQhR2?bD4*mT8a(w?`V}qO2DY z06_IoSpZ`pX#)TN6ekdkE*>{+{iZq*3Ox=sL70XmN&c+BH^3Ip)dcW^?3uOrt~DRw zEdl`mgeezOdvzcF z7T-k(W6Ive%t@2e*Fx1Mb~GJghUf;>SBnml8ZZE&!BCuA)4LzRFx8#GCEk0@ON^(a zQUj_*69J?{d6g6(o030B`)=PK+)pnorX)1?Q{;nF4#eOS+QrybX3(~kqbfueSq4!LW3cP%m0=Vj}j z%50Z!S>6|>m>Zx=OeM3m-}2mKK$w{KY7%<~-w}5d{t`m~Lo&*$qJOHBo4GOf6(lw} zlT44P@L2J{bq}xl;YMg{dzsHIf0|H33}{mm>Bsk9R^1+H5N6pSz|}Mw8)w1|a=!aW zO`dBCIz!1vPzwOdEZk3L!u};UdK+t2TmS$db)P%#+I-*uor;&OIEJZkA8mqwqaG&< z9T#77Hd=oWZf)F!|9`&78_OyQ5+aa|1v@qOn)l3`xwF1DM1JNEF^nd`XsX1GQ0ezv z16OMqt9;ShVY}AnJfHkiU3uc45I_M<$tY2$K#7kBNZrjRoHx0@EvLzgb8y^wI=P+IJPPMK`g+G%!;daHBb31fVJi${HK6V!Cl|}J%94sh1c-K>UIIyVYi5k zb`qlqJs^OBEJ`xRIwZTzERKwP#C7$*#Z9`e-xX2L{&D7V_8%fk<6Z(#gQ_IwcW!fg zo#-v*0ECZQUU8u&oJ`Y~qZ(BLB5{IbpBmtMI#0P;M_vvLDYl;d^Xw-%9aMqwM?_*& z5vsIr<7W{C%#00000NkvXXu0mjf DsI9bi From 6af5a8eb35e0207cec77ba331c1e33a317fbadd5 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 31 Mar 2022 16:36:26 +0200 Subject: [PATCH 17/17] some small fixes, ore rendering with layers --- src/main/java/api/hbm/energy/PowerNet.java | 12 +- .../java/com/hbm/blocks/ILookOverlay.java | 1 + src/main/java/com/hbm/blocks/ModBlocks.java | 4 + .../blocks/generic/BlockMotherOfAllOres.java | 109 ++++++++++++ .../hbm/items/machine/ItemChemistryIcon.java | 9 +- .../render/block/RenderBlockMultipass.java | 3 - .../com/hbm/render/model/ModelGasMask.java | 18 +- src/main/java/com/hbm/util/ColorUtil.java | 159 ++++++++++++++++++ .../java/com/hbm/world/feature/OreCave.java | 1 + .../assets/hbm/textures/blocks/ore_cobalt.png | Bin 382 -> 326 bytes .../assets/hbm/textures/blocks/ore_copper.png | Bin 288 -> 229 bytes .../hbm/textures/blocks/ore_random_1.png | Bin 0 -> 190 bytes .../hbm/textures/blocks/ore_random_10.png | Bin 0 -> 269 bytes .../hbm/textures/blocks/ore_random_2.png | Bin 0 -> 234 bytes .../hbm/textures/blocks/ore_random_3.png | Bin 0 -> 153 bytes .../hbm/textures/blocks/ore_random_4.png | Bin 0 -> 211 bytes .../hbm/textures/blocks/ore_random_5.png | Bin 0 -> 257 bytes .../hbm/textures/blocks/ore_random_6.png | Bin 0 -> 213 bytes .../hbm/textures/blocks/ore_random_7.png | Bin 0 -> 168 bytes .../hbm/textures/blocks/ore_random_8.png | Bin 0 -> 234 bytes .../hbm/textures/blocks/ore_random_9.png | Bin 0 -> 250 bytes 21 files changed, 304 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java create mode 100644 src/main/java/com/hbm/util/ColorUtil.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_1.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_10.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_2.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_4.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_5.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_6.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_7.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_8.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/ore_random_9.png diff --git a/src/main/java/api/hbm/energy/PowerNet.java b/src/main/java/api/hbm/energy/PowerNet.java index 12012eb1e..2969e9e4d 100644 --- a/src/main/java/api/hbm/energy/PowerNet.java +++ b/src/main/java/api/hbm/energy/PowerNet.java @@ -96,12 +96,18 @@ public class PowerNet implements IPowerNet { return this.valid; } + public long lastCleanup = System.currentTimeMillis(); + @Override public long transferPower(long power) { - this.subscribers.removeIf(x -> - x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() - ); + if(lastCleanup + 45 < System.currentTimeMillis()) { + this.subscribers.removeIf(x -> + x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() || !x.isLoaded() + ); + + lastCleanup = System.currentTimeMillis(); + } if(this.subscribers.isEmpty()) return power; diff --git a/src/main/java/com/hbm/blocks/ILookOverlay.java b/src/main/java/com/hbm/blocks/ILookOverlay.java index 47ff64eea..d100ed767 100644 --- a/src/main/java/com/hbm/blocks/ILookOverlay.java +++ b/src/main/java/com/hbm/blocks/ILookOverlay.java @@ -49,6 +49,7 @@ public interface ILookOverlay { } GL11.glDisable(GL11.GL_BLEND); + GL11.glColor3f(1F, 1F, 1F); GL11.glPopMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 5420a428a..4e768e7ed 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -83,6 +83,8 @@ public class ModBlocks { public static Block ore_cinnebar; public static Block ore_coltan; public static Block ore_alexandrite; + + public static Block ore_random; public static Block ore_bedrock_coltan; @@ -1342,6 +1344,8 @@ public class ModBlocks { cluster_depth_titanium = new BlockDepthOre().setBlockName("cluster_depth_titanium").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_titanium"); cluster_depth_tungsten = new BlockDepthOre().setBlockName("cluster_depth_tungsten").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_tungsten"); ore_alexandrite = new BlockDepthOre().setBlockName("ore_alexandrite").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_alexandrite"); + + ore_random = new BlockMotherOfAllOres().setBlockName("ore_random").setCreativeTab(MainRegistry.blockTab); depth_brick = new BlockDepth().setBlockName("depth_brick").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_brick"); depth_tiles = new BlockDepth().setBlockName("depth_tiles").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":depth_tiles"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java b/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java new file mode 100644 index 000000000..6a093fe80 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockMotherOfAllOres.java @@ -0,0 +1,109 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.IBlockMultiPass; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.lib.RefStrings; +import com.hbm.render.block.RenderBlockMultipass; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockMotherOfAllOres extends BlockContainer implements IBlockMultiPass { + + public BlockMotherOfAllOres() { + super(Material.rock); + this.blockIcon = Blocks.stone.getIcon(0, 0); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRandomOre(); + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRandomOre) { + return ((TileEntityRandomOre) te).getStack().copy(); + } + + return super.getPickBlock(target, world, x, y, z); + } + + @Override + public int getRenderType(){ + return IBlockMultiPass.getRenderType(); + } + + @Override + public int getPasses() { + return 2; + } + + private IIcon[] overlays = new IIcon[10]; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + for(int i = 0; i < overlays.length; i++) { + overlays[i] = reg.registerIcon(RefStrings.MODID + ":ore_random_" + (i + 1)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + + if(RenderBlockMultipass.currentPass == 0) + return this.blockIcon; + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRandomOre) { + TileEntityRandomOre ore = (TileEntityRandomOre) te; + ItemStack item = ore.getStack(); + + if(item != null) { + ComparableStack stack = new ComparableStack(item); + int index = stack.hashCode() % overlays.length; + return overlays[index]; + } + } + + return this.getIcon(side, world.getBlockMetadata(x, y, z)); + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + + if(RenderBlockMultipass.currentPass == 0) + return 0xffffff; + + return super.colorMultiplier(world, x, y, z); + } + + public static class TileEntityRandomOre extends TileEntity { + + public ItemStack getStack() { + return new ItemStack(Blocks.dirt); + } + + @Override + public boolean canUpdate() { + return false; + } + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java b/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java index 6e67efada..f3e190dc5 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryIcon.java @@ -13,7 +13,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; public class ItemChemistryIcon extends Item { @@ -59,6 +58,12 @@ public class ItemChemistryIcon extends Item { @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int i) { - return this.icons[ChemplantRecipes.indexMapping.get(i).listing % this.icons.length]; + ChemRecipe rec = ChemplantRecipes.indexMapping.get(i); + + if(rec != null) { + return this.icons[rec.listing % this.icons.length]; + } else { + return ModItems.nothing.getIconFromDamage(i); + } } } diff --git a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java index bd4090f1e..9a3e26d03 100644 --- a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java +++ b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java @@ -66,7 +66,6 @@ public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; - //int meta = world.getBlockMetadata(x, y, z); tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); @@ -82,8 +81,6 @@ public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { for(int i = 0; i < passes; i++) { currentPass = i; - //System.out.println(multi.getColorFromPass(world, x, y, z, false)); - //tessellator.setColorOpaque_I(multi.getColorFromPass(world, x, y, z, false)); renderer.renderStandardBlock(block, x, y, z); } diff --git a/src/main/java/com/hbm/render/model/ModelGasMask.java b/src/main/java/com/hbm/render/model/ModelGasMask.java index 3fc9d8bd3..a32833c9b 100644 --- a/src/main/java/com/hbm/render/model/ModelGasMask.java +++ b/src/main/java/com/hbm/render/model/ModelGasMask.java @@ -100,10 +100,20 @@ public class ModelGasMask extends ModelBiped { @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - GL11.glPushMatrix(); - GL11.glScalef(1.15F, 1.15F, 1.15F); - this.mask.render(par7); - GL11.glPopMatrix(); + + if(this.isChild) { + float f6 = 2.0F; + GL11.glPushMatrix(); + GL11.glScalef(1.5F / f6, 1.5F / f6, 1.5F / f6); + GL11.glTranslatef(0.0F, 16.0F * par7, 0.0F); + this.mask.render(par7); + GL11.glPopMatrix(); + } else { + GL11.glPushMatrix(); + GL11.glScalef(1.15F, 1.15F, 1.15F); + this.mask.render(par7); + GL11.glPopMatrix(); + } } protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { diff --git a/src/main/java/com/hbm/util/ColorUtil.java b/src/main/java/com/hbm/util/ColorUtil.java new file mode 100644 index 000000000..60779593e --- /dev/null +++ b/src/main/java/com/hbm/util/ColorUtil.java @@ -0,0 +1,159 @@ +package com.hbm.util; + +import java.awt.Color; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; + +import javax.imageio.ImageIO; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class ColorUtil { + + @SideOnly(Side.CLIENT) + public static BufferedImage getImageFromStack(ItemStack stack) throws IOException { + String iconName = stack.getItem().getIconFromDamage(stack.getItemDamage()).getIconName(); + String domain = "minecraft"; + + if(iconName.contains(":")) { + String[] parts = iconName.split(":"); + domain = parts[0]; + iconName = parts[1]; + } + + ResourceLocation loc = new ResourceLocation(domain, "textures/items/" + iconName + ".png"); + + return ImageIO.read(Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream()); + } + + @SideOnly(Side.CLIENT) + public static int getAverageColorFromStack(ItemStack stack) { + + try { + BufferedImage tex = getImageFromStack(stack); + + int r = 0; + int g = 0; + int b = 0; + int pixels = 0; + + for(int i = 0; i < tex.getWidth(); i++) { + for(int j = 0; j < tex.getHeight(); j++) { + + Color pixel = new Color(tex.getRGB(i, j)); + + if(pixel.getAlpha() == 255) { + r += pixel.getRed(); + g += pixel.getGreen(); + b += pixel.getBlue(); + pixels++; + } + } + } + + int avgR = r / pixels; + int avgG = g / pixels; + int avgB = b / pixels; + + return (r << 16) | (g << 8) | b; + + } catch(Exception ex) { + return 0xFFFFFF; + } + } + + @SideOnly(Side.CLIENT) + public static int getMedianBrightnessColorFromStack(ItemStack stack) { + + try { + BufferedImage tex = getImageFromStack(stack); + + HashMap brightMap = new HashMap(); + List brightnesses = new ArrayList(); + + for(int i = 0; i < tex.getWidth(); i++) { + for(int j = 0; j < tex.getHeight(); j++) { + + Color pixel = new Color(tex.getRGB(i, j)); + int brightness = pixel.getRed() * pixel.getRed() + pixel.getGreen() * pixel.getGreen() + pixel.getBlue() * pixel.getBlue(); + brightnesses.add(brightness); + brightMap.put(brightness, pixel); //overlap possible, but we don't differentiate between colors anyway. + } + } + + Collections.sort(brightnesses); + int median = brightnesses.get(brightnesses.size() / 2); + Color medianColor = brightMap.get(median); + + return medianColor.getRGB(); + + } catch(Exception ex) { + return 0xFFFFFF; + } + } + + /** + * Decides whether a color is considered "colorful", i.e. weeds out colors that are too dark or too close to gray. + * @param hex + * @return + */ + public static boolean isColorColorful(int hex) { + Color color = new Color(hex); + + /*double r = color.getRed(); + double g = color.getBlue(); + double b = color.getGreen(); + + if(r < 50 && g < 50 && b < 50) + return false; + + if(r / g > 1.5) return true; + if(r / b > 1.5) return true; + if(g / r > 1.5) return true; + if(g / b > 1.5) return true; + if(b / r > 1.5) return true; + if(b / g > 1.5) return true;*/ + + float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), new float[0]); + + // saturation brightness + return hsb[1] > 0.25 && hsb[2] > 0.25; + } + + /** + * Raises the highest RGB component to the specified limit, scaling the other components with it. + * @param hex + * @param limit + * @return + */ + public static int amplifyColor(int hex, int limit) { + Color color = new Color(hex); + int r = color.getRed(); + int g = color.getGreen(); + int b = color.getBlue(); + int max = Math.max(r, Math.max(g, b)); + + r = r * limit / max; + g = g * limit / max; + b = b * limit / max; + + return new Color(r, g, b).getRGB(); + } + + /** + * Same as the regular amplifyColor but it uses 255 as the limit. + * @param hex + * @return + */ + public static int amplifyColor(int hex) { + return amplifyColor(hex, 255); + } +} diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 26a701d02..0dba4397b 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -64,6 +64,7 @@ public class OreCave { return this; } + @SuppressWarnings("incomplete-switch") @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_cobalt.png b/src/main/resources/assets/hbm/textures/blocks/ore_cobalt.png index 63c77c56f5907b20fcf5b1f0c001ed24a33849e3..2553fad8480e107443760fcf1333db0a14afeca2 100644 GIT binary patch delta 300 zcmV+{0n`5e0>%Q6BYyw{b3#c}2nYxWdzq_*Vt4xr2M$dp_y#5j^kR_v20_Nm7Ji2oiA|LzZQPAPDG- zHCLa)0rCMuHp+UnI--X>kOm+NH|O~k=JPk>F|#pPkye0(?SJ+geE$fZ_X4ff6SUh? zqj5aWp;mivTX4y?VOwlA1IkC0e^Q9Zj0|>I_!}FgZv@v=Ijvx+r5fFYwcYLqCX*91 z8ouFQZb)yzW?rv9;BdG=x4Wbvoz6211}XIWE0TW`V!i&TckW8P*NcpB8On7?|M_Q& zH-}^=&SBxVQe7G9x>TpihC&w7^b7X;U)sA2&9-EO$jpnyJ4Df$d@`h(&E^wkv)B8F zBw>3-Hrxi^iV-5Fiz(j=(zaqK;7gQDF5j*TMf?E;O>EtCMNV)40000M{oII24%(Oc)O~@AO8HbW&?rgJKOy}u1ZfxP?*D~!F1yitE2kfnN$D7 zUvQZE@NesF9&x{WNeMtOVTwr7g}j>`E5*Z4?T&hE@1QwJf`MUyWSsD#t2Z_Q9m?S8 L>gTe~DWM4fCns6q literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFto{fBm3`CgaC9NKJ7^zRYv@T@TjZD?D5S43c&Hoqt zKi_<`*}r_6;MJcJscSf`TH=>9LA`fp>p#+ zDEumQGQL)AyYeEFa_GF@{0}#um3uS2rZS*@?x~9n>kOOYkDL_WoU`_;Ey&59u6{1- HoD!M diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_1.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4734b44ffb26f8eb394fd87ed2d78253ee8bc46e GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfTfhJt$iSd;z9d8vfFWw8bJHh1m;C%>@N0;#ODp=G$+x^TuYH>m;|!M+l?g6P-NN#+r&gG(n#w-yV#=Of=1Lz$ zeuaEGm)2Wx|9f+3Ipg)RsJpK!c6ep3eQGxUM2dWcWvble8>_{m?$$8|`3s)87rt&c P&_4{Gu6{1-oD!M#v=?m^b|r@qBaE6M$nm%jdQgJ=_{YTjnGsJTG189ZJ6T-G@yGywny`7<~G literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_4.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_4.png new file mode 100644 index 0000000000000000000000000000000000000000..df4ffe5c16a3383ee2e0d6ff773b7d86f5865d6d GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf9_0HQI70~(SEQ*K-(JQxDI}Yindt}Xhry?EP9O*#L+x@BC8Hgp9_uXqJ?6@#a%pUXO@ GgeCwgSW!#> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_5.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_5.png new file mode 100644 index 0000000000000000000000000000000000000000..34b4c9d9ab69d46330d54f5e194b67a032d6caee GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf{fFB!z3vyk;s>ex zc|!NT^CtI5m7i>#S-ED>RyGEOMeFj`{$2S=$W-Z-3Im7YjB8RsUYCFCbqee{bYt~| zCmCyB%oH{FY+3i!<#5U)4-x+*a}95<_&2e;N9&k{<`kfF@BOy(QhN3O_Rpy7o0iv4 zZVfBt4|x+~UsY5T+HuQB@%fqMxzXQ~y2GEC|6t;0ozkqd=GYsc9~eAc{an^LB{Ts5 Dy)I-9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_6.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_6.png new file mode 100644 index 0000000000000000000000000000000000000000..64be59eba2d8cb99f15fe3d35af1db2acfd66c73 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfTf?TujiUy$BVpPVM8<{@;l@KWFL zeH*s6opEttU{Ffht*$vKKRvi4=uYhNU+*^kGR&%3;Xa9B!L_a+E~DaZ!Hd;}-~NO? zI-eT%>{H65U7u&pn}2j>XKJLwrrBDa@BZy&Z`U^6yz`v#9)>%~>5IRGoc02`i^0>? K&t;ucLK6UQ+f|$Z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_7.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_7.png new file mode 100644 index 0000000000000000000000000000000000000000..9983624756e9f33b30f4a47fd2f16aa447aad97b GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfSg?0xX+ zd0WK7wB|ofNbBeb%1dKl2(?|t#8B{k<$_7~Sr+eH#P#Cw^xNUmy`z8fWI=hMUyXgE|TW&q}mzQv0{nxUpC~CrzRY5Kl%6k^f@maO? z+t!%}?=mtd1$C|3v^A{h%{zgKLWcqc773?EhhKJk5^q@csb%(Dftc&9C-yy)Tm0?K zMdz{zj{Rr hDLHZS{pmS>8RYw~oJtFsBLs9TgQu&X%Q~loCIBBJVeS9` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_random_9.png b/src/main/resources/assets/hbm/textures/blocks/ore_random_9.png new file mode 100644 index 0000000000000000000000000000000000000000..78fb424b2166c265b5c041ea3192b69bc3ce04b8 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf