diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 87745d951..c71d7815e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -820,6 +820,8 @@ public class ModBlocks { public static final int guiID_tauon = 106; public static Block turret_richard; public static final int guiID_richard = 108; + public static Block turret_howard; + public static final int guiID_howard = 112; public static Block book_guide; @@ -1098,7 +1100,7 @@ public class ModBlocks { gravel_obsidian = new BlockFalling(Material.iron).setBlockName("gravel_obsidian").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(5.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":gravel_obsidian"); gravel_diamond = new BlockFalling(Material.sand).setBlockName("gravel_diamond").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeGravel).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":gravel_diamond"); - asphalt = new BlockGeneric(Material.rock).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); + asphalt = new BlockSpeedy(Material.rock, 1.15).setBlockName("asphalt").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":asphalt"); reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_brick"); reinforced_glass = new BlockNTMGlass(0, RefStrings.MODID + ":reinforced_glass", Material.rock).setBlockName("reinforced_glass").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(200.0F); @@ -1494,13 +1496,13 @@ public class ModBlocks { sat_dock = new MachineSatDock(Material.iron).setBlockName("sat_dock").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":sat_dock"); soyuz_capsule = new SoyuzCapsule(Material.iron).setBlockName("soyuz_capsule").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":soyuz_capsule"); - turret_light = new TurretLight(Material.iron).setBlockName("turret_light").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_light"); - turret_heavy = new TurretHeavy(Material.iron).setBlockName("turret_heavy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_heavy"); - turret_rocket = new TurretRocket(Material.iron).setBlockName("turret_rocket").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_rocket"); - turret_flamer = new TurretFlamer(Material.iron).setBlockName("turret_flamer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_flamer"); - turret_tau = new TurretTau(Material.iron).setBlockName("turret_tau").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_tau"); + turret_light = new TurretLight(Material.iron).setBlockName("turret_light").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_light"); + turret_heavy = new TurretHeavy(Material.iron).setBlockName("turret_heavy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_heavy"); + turret_rocket = new TurretRocket(Material.iron).setBlockName("turret_rocket").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_rocket"); + turret_flamer = new TurretFlamer(Material.iron).setBlockName("turret_flamer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_flamer"); + turret_tau = new TurretTau(Material.iron).setBlockName("turret_tau").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_tau"); turret_spitfire = new TurretSpitfire(Material.iron).setBlockName("turret_spitfire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":code"); - turret_cwis = new TurretCIWS(Material.iron).setBlockName("turret_cwis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_cwis"); + turret_cwis = new TurretCIWS(Material.iron).setBlockName("turret_cwis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":turret_cwis"); turret_cheapo = new TurretCheapo(Material.iron).setBlockName("turret_cheapo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":turret_cheapo"); turret_chekhov = new TurretChekhov(Material.iron).setBlockName("turret_chekhov").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -1508,6 +1510,7 @@ public class ModBlocks { turret_jeremy = new TurretJeremy(Material.iron).setBlockName("turret_jeremy").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_tauon = new TurretTauon(Material.iron).setBlockName("turret_tauon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_richard = new TurretRichard(Material.iron).setBlockName("turret_richard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_howard = new TurretHoward(Material.iron).setBlockName("turret_howard").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); book_guide = new Guide(Material.iron).setBlockName("book_guide").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.nukeTab); @@ -2009,6 +2012,7 @@ public class ModBlocks { GameRegistry.registerBlock(turret_jeremy, turret_jeremy.getUnlocalizedName()); GameRegistry.registerBlock(turret_tauon, turret_tauon.getUnlocalizedName()); GameRegistry.registerBlock(turret_richard, turret_richard.getUnlocalizedName()); + GameRegistry.registerBlock(turret_howard, turret_howard.getUnlocalizedName()); //Mines GameRegistry.registerBlock(mine_ap, mine_ap.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java b/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java new file mode 100644 index 000000000..4d0a0e433 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSpeedy.java @@ -0,0 +1,27 @@ +package com.hbm.blocks.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.world.World; + +public class BlockSpeedy extends Block { + + double speed; + + public BlockSpeedy(Material mat, double speed) { + super(mat); + this.speed = speed; + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + + if(entity instanceof EntityLivingBase) { //prevents vehicles from going mach 5 + double tan = Math.atan2(entity.motionX, entity.motionZ); + entity.motionX += Math.sin(tan) * speed; + entity.motionZ += Math.cos(tan) * speed; + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/WasteDrum.java b/src/main/java/com/hbm/blocks/machine/WasteDrum.java index cf12ff2c5..662a08894 100644 --- a/src/main/java/com/hbm/blocks/machine/WasteDrum.java +++ b/src/main/java/com/hbm/blocks/machine/WasteDrum.java @@ -22,6 +22,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class WasteDrum extends BlockContainer { @@ -56,6 +57,34 @@ public class WasteDrum extends BlockContainer { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityWasteDrum(); } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + super.randomDisplayTick(world, x, y, z, rand); + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + if(dir == ForgeDirection.DOWN) + continue; + + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).getMaterial() == Material.water) { + + double ix = x + 0.5F + dir.offsetX + rand.nextDouble() - 0.5D; + double iy = y + 0.5F + dir.offsetY + rand.nextDouble() - 0.5D; + double iz = z + 0.5F + dir.offsetZ + rand.nextDouble() - 0.5D; + + if(dir.offsetX != 0) + ix = x + 0.5F + dir.offsetX * 0.5 + rand.nextDouble() * 0.125 * dir.offsetX; + if(dir.offsetY != 0) + iy = y + 0.5F + dir.offsetY * 0.5 + rand.nextDouble() * 0.125 * dir.offsetY; + if(dir.offsetZ != 0) + iz = z + 0.5F + dir.offsetZ * 0.5 + rand.nextDouble() * 0.125 * dir.offsetZ; + + world.spawnParticle("bubble", ix, iy, iz, 0.0, 0.2, 0.0); + } + } + } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { diff --git a/src/main/java/com/hbm/blocks/turret/TurretHoward.java b/src/main/java/com/hbm/blocks/turret/TurretHoward.java new file mode 100644 index 000000000..685fcd339 --- /dev/null +++ b/src/main/java/com/hbm/blocks/turret/TurretHoward.java @@ -0,0 +1,68 @@ +package com.hbm.blocks.turret; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.turret.TileEntityTurretHoward; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class TurretHoward extends BlockDummyable { + + public TurretHoward(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= 12) + return new TileEntityTurretHoward(); + return new TileEntityProxyCombo(true, true, false); + } + + @Override + public int[] getDimensions() { + return new int[] { 0, 0, 1, 0, 1, 0 }; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_howard, world, pos[0], pos[1], pos[2]); + return true; + } else { + return false; + } + } +} diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 274f25e25..a62c51e6d 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -315,15 +315,23 @@ public class WeaponRecipes { //240mm Shells GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell, 6), new Object[] { " T ", "GHG", "CCC", 'T', Blocks.tnt, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_explosive, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_explosive, 6), new Object[] { " T ", "GHG", "CCC", 'T', ModItems.ingot_semtex, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotTungsten", 'G', Items.gunpowder, 'C', "ingotCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotTungsten", 'G', ModItems.cordite, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_t, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotTungsten", 'G', ModItems.ballistite, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_t, 6), new Object[] { " I ", "GIG", "CCC", 'I', "ingotTungsten", 'G', ModItems.cordite, 'C', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_du, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotUranium238", 'G', Items.gunpowder, 'C', "ingotCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_du, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotUranium238", 'G', ModItems.cordite, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_du, 4), new Object[] { " I ", "GIG", "CCC", 'I', "ingotUranium238", 'G', ModItems.ballistite, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_apfsds_du, 6), new Object[] { " I ", "GIG", "CCC", 'I', "ingotUranium238", 'G', ModItems.cordite, 'C', "ingotCopper" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_shell_w9, 1), new Object[] { " P ", "NSN", " P ", 'P', "nuggetPlutonium239", 'N', "plateDenseLead", 'S', ModItems.ammo_shell_explosive })); - + + //DGK Belts + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_dgk, 1), new Object[] { "LLL", "GGG", "CCC", 'L', "plateLead", 'G', ModItems.ballistite, 'C', "ingotCopper" })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.ammo_dgk, 1), new Object[] { "LLL", "GGG", "CCC", 'L', "plateLead", 'G', ModItems.cordite, 'C', "ingotCopper" })); + //Mini Nuke GameRegistry.addRecipe(new ItemStack(ModItems.ammo_nuke, 1), new Object[] { "P", "S", "P", 'P', ModItems.nugget_pu239, 'S', ModItems.assembly_nuke }); GameRegistry.addRecipe(new ItemStack(ModItems.ammo_nuke_low, 1), new Object[] { "P", "S", 'P', ModItems.nugget_pu239, 'S', ModItems.assembly_nuke }); @@ -373,13 +381,13 @@ public class WeaponRecipes { GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.primer_buckshot, 1), new Object[] { "R", "P", 'P', "plateCopper", 'R', "dustRedstone" })); //Turrets - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_light_ammo, 1), new Object[] { " L ", "IGI", "ICI", 'L', "plateLead", 'I', "plateIron", 'C', "plateCopper", 'G', Items.gunpowder })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_heavy_ammo, 1), new Object[] { "LGC", "LGC", "LGC", 'L', "plateLead", 'C', "plateCopper", 'G', Items.gunpowder })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_rocket_ammo, 1), new Object[] { "TS ", "SGS", " SR", 'T', Blocks.tnt, 'S', "plateSteel", 'G', Items.gunpowder, 'R', "dustRedstone" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_flamer_ammo, 1), new Object[] { "FSF", "FPF", "FPF", 'F', ModItems.gun_immolator_ammo, 'S', ModItems.pipes_steel, 'P', "plateCopper" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_tau_ammo, 1), new Object[] { "AAA", "AUA", "AAA", 'A', ModItems.gun_xvl1456_ammo, 'U', "blockUranium238" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_light_ammo, 1), new Object[] { " L ", "IGI", "ICI", 'L', "plateLead", 'I', "plateIron", 'C', "plateCopper", 'G', Items.gunpowder })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_heavy_ammo, 1), new Object[] { "LGC", "LGC", "LGC", 'L', "plateLead", 'C', "plateCopper", 'G', Items.gunpowder })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_rocket_ammo, 1), new Object[] { "TS ", "SGS", " SR", 'T', Blocks.tnt, 'S', "plateSteel", 'G', Items.gunpowder, 'R', "dustRedstone" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_flamer_ammo, 1), new Object[] { "FSF", "FPF", "FPF", 'F', ModItems.gun_immolator_ammo, 'S', ModItems.pipes_steel, 'P', "plateCopper" })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_tau_ammo, 1), new Object[] { "AAA", "AUA", "AAA", 'A', ModItems.gun_xvl1456_ammo, 'U', "blockUranium238" })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_spitfire_ammo, 1), new Object[] { "CP ", "PTP", " PR", 'P', "plateSteel", 'C', ModItems.circuit_copper, 'T', Blocks.tnt, 'R', "dustRedstone" })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cwis_ammo, 1), new Object[] { "LLL", "GGG", "IGI", 'L', "plateLead", 'I', "plateIron", 'G', Items.gunpowder })); + //GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cwis_ammo, 1), new Object[] { "LLL", "GGG", "IGI", 'L', "plateLead", 'I', "plateIron", 'G', Items.gunpowder })); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.turret_cheapo_ammo, 1), new Object[] { "ILI", "IGI", "ICI", 'L', "plateLead", 'I', "plateSteel", 'C', "plateCopper", 'G', Items.gunpowder })); //Grenades diff --git a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java index de95dfbd6..c6b8ee6dc 100644 --- a/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java +++ b/src/main/java/com/hbm/entity/mob/EntityHunterChopper.java @@ -1,13 +1,18 @@ package com.hbm.entity.mob; +import com.hbm.config.GeneralConfig; import com.hbm.entity.particle.EntitySmokeFX; import com.hbm.entity.projectile.EntityBullet; import com.hbm.entity.projectile.EntityChopperMine; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import api.hbm.entity.IRadiationImmune; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; @@ -18,13 +23,14 @@ import net.minecraft.entity.monster.IMob; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.EntityDamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisplayData, IRadiationImmune { - + public int courseChangeCooldown; public double waypointX; public double waypointY; @@ -53,7 +59,11 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp */ @Override public boolean attackEntityFrom(DamageSource source, float amount) { - if (this.isEntityInvulnerable() || !(source == ModDamageSource.nuclearBlast || source == ModDamageSource.blackhole || source.isExplosion() || ModDamageSource.getIsTau(source) || ModDamageSource.getIsSubatomic(source) || ModDamageSource.getIsDischarge(source))) { + + if(!(source == ModDamageSource.shrapnel || source == ModDamageSource.nuclearBlast || source == ModDamageSource.blackhole || source.isExplosion() || ModDamageSource.getIsTau(source) || ModDamageSource.getIsSubatomic(source) || ModDamageSource.getIsDischarge(source))) + amount *= 0.1F; + + if(this.isEntityInvulnerable() || source instanceof EntityDamageSource || this.getHealth() <= 0.1F) { return false; } else if(amount >= this.getHealth()) { this.initDeath(); @@ -61,22 +71,20 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp this.setHealth(0.1F); return false; } - - if(rand.nextInt(15) == 0) - { - if(!worldObj.isRemote && !this.isDying) - { + + if(rand.nextInt(15) == 0) { + if(!worldObj.isRemote && !this.isDying) { this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); this.dropDamageItem(); } } - for (int j = 0; j < 3; j++) { + for(int j = 0; j < 3; j++) { double d0 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1; double d1 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1; double d2 = rand.nextDouble() / 20 * rand.nextInt(2) == 0 ? -1 : 1; - for (int i = 0; i < 8; i++) + for(int i = 0; i < 8; i++) if(this.worldObj.isRemote) worldObj.spawnParticle("fireworksSpark", this.posX, this.posY, this.posZ, d0 * i * 0.25, d1 * i * 0.25, d2 * i * 0.25); } @@ -101,11 +109,11 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp @Override protected void updateEntityActionState() { - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == EnumDifficulty.PEACEFUL) { + if(!this.worldObj.isRemote && this.worldObj.difficultySetting == EnumDifficulty.PEACEFUL) { this.setDead(); } - if (!isDying) { + if(!isDying) { this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:misc.nullChopper", 10.0F, 0.5F); this.prevAttackCounter = this.attackCounter; @@ -114,41 +122,38 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp double d2 = this.waypointZ - this.posZ; double d3 = d0 * d0 + d1 * d1 + d2 * d2; - if (d3 < 1.0D || d3 > 3600.0D) { - if (this.targetedEntity != null) { + if(d3 < 1.0D || d3 > 3600.0D) { + if(this.targetedEntity != null) { this.waypointX = targetedEntity.posX + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; this.waypointZ = targetedEntity.posZ + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; - this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 - + rand.nextInt(15); + this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 + rand.nextInt(15); } else { this.waypointX = this.posX + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; this.waypointZ = this.posZ + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; - this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 - + rand.nextInt(15); + this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 + rand.nextInt(15); } } - if (this.courseChangeCooldown-- <= 0) { + if(this.courseChangeCooldown-- <= 0) { this.courseChangeCooldown += this.rand.nextInt(5) + 2; d3 = MathHelper.sqrt_double(d3); - if (this.isCourseTraversable(this.waypointX, this.waypointY, this.waypointZ, d3)) { + if(this.isCourseTraversable(this.waypointX, this.waypointY, this.waypointZ, d3)) { this.motionX += d0 / d3 * 0.1D; this.motionY += d1 / d3 * 0.1D; this.motionZ += d2 / d3 * 0.1D; } else { this.waypointX = this.posX + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; this.waypointZ = this.posZ + (this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F; - this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 - + rand.nextInt(15); + this.waypointY = this.worldObj.getHeightValue((int) waypointX, (int) waypointZ) + 10 + rand.nextInt(15); } } - if (this.targetedEntity != null && this.targetedEntity.isDead) { + if(this.targetedEntity != null && this.targetedEntity.isDead) { this.targetedEntity = null; } - if (this.targetedEntity == null || this.attackCounter <= 0) { + if(this.targetedEntity == null || this.attackCounter <= 0) { // this.targetedEntity = // this.worldObj.getClosestVulnerablePlayerToEntity(this, // 100.0D); @@ -157,29 +162,27 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp double d4 = 64.0D; - if (this.targetedEntity != null && this.targetedEntity.getDistanceSqToEntity(this) < d4 * d4) { + if(this.targetedEntity != null && this.targetedEntity.getDistanceSqToEntity(this) < d4 * d4) { double d8 = 2.0D; Vec3 vec3 = this.getLook(1.0F); double xStart = this.posX + vec3.xCoord * d8; double yStart = this.posY - 0.5; double zStart = this.posZ + vec3.zCoord * d8; double d5 = this.targetedEntity.posX - xStart; - double d6 = this.targetedEntity.boundingBox.minY + this.targetedEntity.height / 2.0F - - yStart; + double d6 = this.targetedEntity.boundingBox.minY + this.targetedEntity.height / 2.0F - yStart; double d7 = this.targetedEntity.posZ - zStart; ++this.attackCounter; - if (attackCounter >= 200) { + if(attackCounter >= 200) { attackCounter -= 200; } - if (this.attackCounter % 2 == 0 && attackCounter >= 120) { + if(this.attackCounter % 2 == 0 && attackCounter >= 120) { worldObj.playSoundAtEntity(this, "hbm:weapon.osiprShoot", 10.0F, 1.0F); // EntityLargeFireball entitylargefireball = new // EntityLargeFireball(this.worldObj, this, d5, d6, d7); EntityBullet entityarrow = new EntityBullet(this.worldObj, this, 3.0F, 35, 45, false, "chopper"); - Vec3 vec2 = Vec3.createVectorHelper(d5 - 1 + rand.nextInt(3), d6 - 1 + rand.nextInt(3), - d7 - 1 + rand.nextInt(3)).normalize(); + Vec3 vec2 = Vec3.createVectorHelper(d5 - 1 + rand.nextInt(3), d6 - 1 + rand.nextInt(3), d7 - 1 + rand.nextInt(3)).normalize(); double motion = 3; entityarrow.motionX = vec2.xCoord * motion; entityarrow.motionY = vec2.yCoord * motion; @@ -198,19 +201,18 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp // this.worldObj.spawnEntityInWorld(entitylargefireball); this.worldObj.spawnEntityInWorld(entityarrow); } - if (this.attackCounter == 80) { + if(this.attackCounter == 80) { worldObj.playSoundAtEntity(this, "hbm:entity.chopperCharge", 5.0F, 1.0F); } this.mineDropCounter++; - if (mineDropCounter > 100 && rand.nextInt(15) == 0) { - worldObj.playSoundAtEntity(this, "hbm:entity.chopperDrop", 15.0F, 1.0F); + if(mineDropCounter > 100 && rand.nextInt(15) == 0) { + worldObj.playSoundAtEntity(this, "hbm:entity.chopperDrop", 15.0F, 1.0F); EntityChopperMine mine = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, 0, this); this.mineDropCounter = 0; this.worldObj.spawnEntityInWorld(mine); - - if(rand.nextInt(3) == 0) - { + + if(rand.nextInt(3) == 0) { EntityChopperMine mine1 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 1, -0.3, 0, this); EntityChopperMine mine2 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, 0, -0.3, 1, this); EntityChopperMine mine3 = new EntityChopperMine(worldObj, this.posX, this.posY - 0.5, this.posZ, -1, -0.3, 0, this); @@ -224,71 +226,75 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp } else { - if (this.attackCounter > 0) { + if(this.attackCounter > 0) { this.attackCounter = 0; } } - if (!this.worldObj.isRemote) { + if(!this.worldObj.isRemote) { byte b1 = this.dataWatcher.getWatchableObjectByte(16); byte b0 = (byte) (this.attackCounter > 10 ? 1 : 0); - if (b1 != b0) { + if(b1 != b0) { this.dataWatcher.updateObject(16, Byte.valueOf(b0)); } } } else { motionY -= 0.08; - if(Math.sqrt(Math.pow(this.motionX, 2) + Math.pow(this.motionZ, 2)) * 1.2 < 1.8) - { + if(Math.sqrt(Math.pow(this.motionX, 2) + Math.pow(this.motionZ, 2)) * 1.2 < 1.8) { this.motionX *= 1.2; this.motionZ *= 1.2; } - - if(rand.nextInt(20) == 0) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); + + if(rand.nextInt(20) == 0) { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5F, true); } - - this.worldObj.spawnEntityInWorld(new EntitySmokeFX(worldObj, this.posX, this.posY, this.posZ, 0, 0, 0)); - + + if(!worldObj.isRemote) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "exhaust"); + data.setString("mode", "meteor"); + data.setInteger("count", 10); + data.setDouble("width", 1); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(dimension, posX, posY, posZ, 100)); + } + rotationYaw += 20; - - if(this.onGround) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); - this.dropItems(); + + if(this.onGround) { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 15F, true); + this.dropItems(); this.setDead(); } - if (this.ticksExisted % 2 == 0) + if(this.ticksExisted % 2 == 0) this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:misc.nullCrashing", 10.0F, 0.5F); } - if (this.targetedEntity == null) { + if(this.targetedEntity == null) { float f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) >= 10) + if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) >= 10) this.prevRotationYaw = this.rotationYaw -= 10; - if (this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) <= -10) + if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) <= -10) this.prevRotationYaw = this.rotationYaw += 10; - if (this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) < 10 && this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) > 10) + if(this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) < 10 && this.rotationYaw - (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI) > 10) this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, f3) * 180.0D / Math.PI); } else { float f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) >= 10) + if(this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) >= 10) this.prevRotationYaw = this.rotationYaw -= 10; - if (this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) <= -10) + if(this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) <= -10) this.prevRotationYaw = this.rotationYaw += 10; - if (this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) < 10 && this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) > 10) + if(this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) < 10 && this.rotationYaw - (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI) > 10) this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.posX - targetedEntity.posX, this.posZ - targetedEntity.posZ) * 180.0D / Math.PI); - + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, f3) * 180.0D / Math.PI); this.getLook(1.0F); } - if(rotationPitch <= 330 && rotationPitch >= 30) - { + if(rotationPitch <= 330 && rotationPitch >= 30) { if(rotationPitch < 180) rotationPitch = 30; if(rotationPitch >= 180) @@ -305,10 +311,10 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp double d6 = (this.waypointZ - this.posZ) / p_70790_7_; AxisAlignedBB axisalignedbb = this.boundingBox.copy(); - for (int i = 1; i < p_70790_7_; ++i) { + for(int i = 1; i < p_70790_7_; ++i) { axisalignedbb.offset(d4, d5, d6); - if (!this.worldObj.getCollidingBoundingBoxes(this, axisalignedbb).isEmpty()) { + if(!this.worldObj.getCollidingBoundingBoxes(this, axisalignedbb).isEmpty()) { return false; } } @@ -365,8 +371,7 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp */ @Override public boolean getCanSpawnHere() { - return this.rand.nextInt(20) == 0 && super.getCanSpawnHere() - && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL; + return this.rand.nextInt(20) == 0 && super.getCanSpawnHere() && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL; } /** @@ -392,31 +397,30 @@ public class EntityHunterChopper extends EntityFlying implements IMob, IBossDisp public void readEntityFromNBT(NBTTagCompound p_70037_1_) { super.readEntityFromNBT(p_70037_1_); } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } - - public void initDeath() { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10F, true); - if(!this.isDying) - worldObj.playSoundAtEntity(this, "hbm:entity.chopperDamage", 10.0F, 1.0F); - isDying = true; - } - - public void dropDamageItem() { - int i = rand.nextInt(10); - if(i < 6) + @Override + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double distance) { + return distance < 25000; + } + + public void initDeath() { + this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10F, true); + if(!this.isDying) + worldObj.playSoundAtEntity(this, "hbm:entity.chopperDamage", 10.0F, 1.0F); + isDying = true; + } + + public void dropDamageItem() { + int i = rand.nextInt(10); + + if(i < 6) this.dropItem(ModItems.combine_scrap, 1); - else if(i > 7) + else if(i > 7) this.dropItem(ModItems.plate_combine_steel, 1); - else + else this.dropItem(ModItems.wire_magnetized_tungsten, 1); - } + } public void setIsDying(boolean b) { this.dataWatcher.updateObject(23, Byte.valueOf((byte) (b ? 1 : 0))); diff --git a/src/main/java/com/hbm/entity/mob/EntityQuackos.java b/src/main/java/com/hbm/entity/mob/EntityQuackos.java index 49e3da975..a1bfaf112 100644 --- a/src/main/java/com/hbm/entity/mob/EntityQuackos.java +++ b/src/main/java/com/hbm/entity/mob/EntityQuackos.java @@ -81,24 +81,6 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { return true; } else { - - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.peas) { - - if(worldObj.isRemote) { - for(int i = 0; i < 150; i++) { - - EntityBSmokeFX fx = new EntityBSmokeFX(worldObj); - fx.setPositionAndRotation(posX + rand.nextDouble() * width * 2 - width, posY + rand.nextDouble() * height * 1.5, posZ + rand.nextDouble() * width * 2 - width, 0, 0); - worldObj.spawnEntityInWorld(fx); - } - } - - player.getHeldItem().stackSize--; - player.swingItem(); - - this.isDead = true; - return true; - } if(!this.worldObj.isRemote && (this.riddenByEntity == null || this.riddenByEntity == player)) { player.mountEntity(this); @@ -108,6 +90,22 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { return false; } } + + /** + * BOW + */ + public void despawn() { + + if(!worldObj.isRemote) { + for(int i = 0; i < 150; i++) { + + EntityBSmokeFX fx = new EntityBSmokeFX(worldObj); + fx.setPositionAndRotation(posX + rand.nextDouble() * 20 - 10, posY + rand.nextDouble() * 25, posZ + rand.nextDouble() * 20 - 10, 0, 0); + worldObj.spawnEntityInWorld(fx); + } + } + this.isDead = true; + } /** * BOW @@ -133,4 +131,13 @@ public class EntityQuackos extends EntityDuck implements IBossDisplayData { public float getShadowSize() { return 7.5F; } + + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if(!worldObj.isRemote && this.posY < -30) { + this.setPosition(this.posX + rand.nextGaussian() * 30, 256, this.posZ + rand.nextGaussian() * 30); + } + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java index 0262492f8..e83bc1538 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java +++ b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java @@ -20,86 +20,80 @@ public class EntityMeteor extends EntityThrowable { this.ignoreFrustumCheck = true; this.isImmuneToFire = true; } - + @Override public void onUpdate() { - this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - - /*this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ;*/ - + + /* + * this.prevPosX = this.posX; this.prevPosY = this.posY; this.prevPosZ = + * this.posZ; + * + * this.posX += this.motionX; this.posY += this.motionY; this.posZ += + * this.motionZ; + */ + this.motionY -= 0.03; if(motionY < -2.5) motionY = -2.5; - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { - worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5 + rand.nextFloat(), true); - - if(GeneralConfig.enableMeteorTails) { - ExplosionLarge.spawnParticles(worldObj, posX, posY + 5, posZ, 75); - ExplosionLarge.spawnParticles(worldObj, posX + 5, posY, posZ, 75); - ExplosionLarge.spawnParticles(worldObj, posX - 5, posY, posZ, 75); - ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ + 5, 75); - ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ - 5, 75); - } - - (new Meteorite()).generate(worldObj, rand, (int)Math.round(this.posX - 0.5D), (int)Math.round(this.posY - 0.5D), (int)Math.round(this.posZ - 0.5D)); - } - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); - this.setDead(); - } - - if(GeneralConfig.enableMeteorTails && worldObj.isRemote) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "exhaust"); - data.setString("mode", "meteor"); - data.setInteger("count", 10); - data.setDouble("width", 1); - data.setDouble("posX", posX - motionX); - data.setDouble("posY", posY - motionY); - data.setDouble("posZ", posZ - motionZ); - - MainRegistry.proxy.effectNT(data); - } - } + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + if(!this.worldObj.isRemote) { + worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5 + rand.nextFloat(), true); + + if(GeneralConfig.enableMeteorTails) { + ExplosionLarge.spawnParticles(worldObj, posX, posY + 5, posZ, 75); + ExplosionLarge.spawnParticles(worldObj, posX + 5, posY, posZ, 75); + ExplosionLarge.spawnParticles(worldObj, posX - 5, posY, posZ, 75); + ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ + 5, 75); + ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ - 5, 75); + } + + (new Meteorite()).generate(worldObj, rand, (int) Math.round(this.posX - 0.5D), (int) Math.round(this.posY - 0.5D), (int) Math.round(this.posZ - 0.5D)); + } + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); + this.setDead(); + } + + if(GeneralConfig.enableMeteorTails && worldObj.isRemote) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "exhaust"); + data.setString("mode", "meteor"); + data.setInteger("count", 10); + data.setDouble("width", 1); + data.setDouble("posX", posX - motionX); + data.setDouble("posY", posY - motionY); + data.setDouble("posZ", posZ - motionZ); + + MainRegistry.proxy.effectNT(data); + } + } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { - + } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 500000; - } - @Override + @Override @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } + public boolean isInRangeToRenderDist(double distance) { + return distance < 500000; + } - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } + @Override + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float p_70070_1_) { + return 15728880; + } + + @Override + public float getBrightness(float p_70013_1_) { + return 1.0F; + } } diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index eacd8d325..006f779a8 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -185,6 +185,7 @@ public class BulletConfigSyncingUtil { public static int SHELL_AP = i++; public static int SHELL_DU = i++; public static int SHELL_W9 = i++; + public static int DGK_NORMAL = i++; public static int NUKE_NORMAL = i++; public static int NUKE_LOW = i++; @@ -404,6 +405,7 @@ public class BulletConfigSyncingUtil { configSet.put(SHELL_AP, GunCannonFactory.getShellAPConfig()); configSet.put(SHELL_DU, GunCannonFactory.getShellDUConfig()); configSet.put(SHELL_W9, GunCannonFactory.getShellW9Config()); + configSet.put(DGK_NORMAL, GunDGKFactory.getDGKConfig()); configSet.put(NUKE_NORMAL, GunFatmanFactory.getNukeConfig()); configSet.put(NUKE_LOW, GunFatmanFactory.getNukeLowConfig()); diff --git a/src/main/java/com/hbm/handler/GUIHandler.java b/src/main/java/com/hbm/handler/GUIHandler.java index 3dcc16dbb..5701b0212 100644 --- a/src/main/java/com/hbm/handler/GUIHandler.java +++ b/src/main/java/com/hbm/handler/GUIHandler.java @@ -8,11 +8,7 @@ import com.hbm.inventory.inv.InventoryLeadBox; import com.hbm.items.ModItems; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.machine.*; -import com.hbm.tileentity.turret.TileEntityTurretChekhov; -import com.hbm.tileentity.turret.TileEntityTurretFriendly; -import com.hbm.tileentity.turret.TileEntityTurretJeremy; -import com.hbm.tileentity.turret.TileEntityTurretRichard; -import com.hbm.tileentity.turret.TileEntityTurretTauon; +import com.hbm.tileentity.turret.*; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; @@ -768,6 +764,13 @@ public class GUIHandler implements IGuiHandler { return null; } + case ModBlocks.guiID_howard: { + if(entity instanceof TileEntityTurretHoward) { + return new ContainerTurretBase(player.inventory, (TileEntityTurretHoward) entity); + } + return null; + } + case ModBlocks.guiID_silex: { if(entity instanceof TileEntitySILEX) { return new ContainerSILEX(player.inventory, (TileEntitySILEX) entity); @@ -1526,6 +1529,13 @@ public class GUIHandler implements IGuiHandler { return null; } + case ModBlocks.guiID_howard: { + if(entity instanceof TileEntityTurretHoward) { + return new GUITurretHoward(player.inventory, (TileEntityTurretHoward) entity); + } + return null; + } + case ModBlocks.guiID_silex: { if(entity instanceof TileEntitySILEX) { return new GUISILEX(player.inventory, (TileEntitySILEX) entity); diff --git a/src/main/java/com/hbm/handler/HazmatRegistry.java b/src/main/java/com/hbm/handler/HazmatRegistry.java index 8d30bf3e4..e792ab2e2 100644 --- a/src/main/java/com/hbm/handler/HazmatRegistry.java +++ b/src/main/java/com/hbm/handler/HazmatRegistry.java @@ -3,6 +3,7 @@ package com.hbm.handler; import java.util.HashMap; import com.hbm.items.armor.ItemModCladding; +import com.hbm.lib.Library; import com.hbm.potion.HbmPotion; import net.minecraft.entity.player.EntityPlayer; @@ -55,6 +56,10 @@ public class HazmatRegistry { float res = 0.0F; + if(player.getUniqueID().toString().equals(Library.Pu_238)) { + res += 0.4F; + } + for(int i = 0; i < 4; i++) { res += getResistance(player.inventory.armorInventory[i]); } diff --git a/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java new file mode 100644 index 000000000..86321e2e0 --- /dev/null +++ b/src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java @@ -0,0 +1,15 @@ +package com.hbm.handler.guncfg; + +import com.hbm.handler.BulletConfiguration; +import com.hbm.items.ModItems; + +public class GunDGKFactory { + + public static BulletConfiguration getDGKConfig() { + + BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); + bullet.ammo = ModItems.ammo_dgk; + return bullet; + } + +} diff --git a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java index f4ce2425d..a54261550 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java @@ -8,7 +8,6 @@ import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.interfaces.IBulletHurtBehavior; import com.hbm.items.ModItems; -import com.hbm.items.armor.ArmorFSB; import com.hbm.items.weapon.ItemGunDart; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -91,6 +90,7 @@ public class GunDartFactory { bullet.doesRicochet = true; bullet.doesPenetrate = false; bullet.style = bullet.STYLE_FLECHETTE; + bullet.leadChance = 0; bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(Potion.wither.id, 60 * 20, 2)); @@ -133,6 +133,7 @@ public class GunDartFactory { bullet.gravity = 0.04D; bullet.dmgMin = 0; bullet.dmgMax = 0; + bullet.leadChance = 0; return bullet; } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 5f3e81f2d..09be8b69b 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -152,7 +152,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.asbestos_cloth, 4), new AStack[] {new ComparableStack(ModItems.ingot_asbestos, 2), new ComparableStack(Items.string, 6), new ComparableStack(Blocks.wool, 1), },50); makeRecipe(new ComparableStack(ModItems.filter_coal, 1), new AStack[] {new OreDictStack("dustCoal", 4), new ComparableStack(Items.string, 6), new ComparableStack(Items.paper, 1), },50); makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.coil_tungsten, 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.motor, 1), },200); - makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack("dustLapis", 2), new ComparableStack(ModItems.ingot_polymer, 2), },150); + makeRecipe(new ComparableStack(ModItems.centrifuge_tower, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack("plateSteel", 4), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.ingot_polymer, 2), },150); //makeRecipe(new ComparableStack(ModItems.magnet_dee, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 6), new OreDictStack("ingotSteel", 3), new ComparableStack(ModItems.coil_advanced_torus, 1), },100); makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.plate_advanced_alloy, 6), },150); makeRecipe(new ComparableStack(ModItems.cyclotron_tower, 1), new AStack[] {new ComparableStack(ModItems.magnet_circular, 6), new ComparableStack(ModItems.magnet_dee, 3), new OreDictStack("plateSteel", 12), new ComparableStack(ModItems.wire_advanced_alloy, 8), new ComparableStack(ModItems.plate_polymer, 24), },300); @@ -326,13 +326,13 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.therm_exo, 1), new AStack[] {new OreDictStack("plateTitanium", 12), new ComparableStack(ModItems.thermo_unit_exo, 1), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.wire_gold, 6), },250); makeRecipe(new ComparableStack(ModBlocks.launch_pad, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new ComparableStack(ModItems.ingot_polymer, 2), new OreDictStack("plateSteel", 12), new ComparableStack(ModBlocks.machine_battery, 1), new ComparableStack(ModItems.circuit_gold, 2), },250); makeRecipe(new ComparableStack(ModItems.spawn_chopper, 1), new AStack[] {new ComparableStack(ModItems.chopper_blades, 5), new ComparableStack(ModItems.chopper_gun, 1), new ComparableStack(ModItems.chopper_head, 1), new ComparableStack(ModItems.chopper_tail, 1), new ComparableStack(ModItems.chopper_torso, 1), new ComparableStack(ModItems.chopper_wing, 2), },300); - makeRecipe(new ComparableStack(ModBlocks.turret_light, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new ComparableStack(ModItems.pipes_steel, 2), new OreDictStack("ingotRedCopperAlloy", 2), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier2, 2), },200); - makeRecipe(new ComparableStack(ModBlocks.turret_heavy, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("ingotAluminum", 4), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.hull_small_steel, 1), new OreDictStack("ingotRedCopperAlloy", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier2, 3), },250); - makeRecipe(new ComparableStack(ModBlocks.turret_rocket, 1), new AStack[] {new OreDictStack("ingotSteel", 12), new OreDictStack("ingotTitanium", 4), new ComparableStack(ModItems.hull_small_steel, 8), new OreDictStack("ingotRedCopperAlloy", 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 2), },300); - makeRecipe(new ComparableStack(ModBlocks.turret_flamer, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("ingotTungsten", 2), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.tank_steel, 2), new OreDictStack("ingotRedCopperAlloy", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 2), },250); - makeRecipe(new ComparableStack(ModBlocks.turret_tau, 1), new AStack[] {new OreDictStack("ingotSteel", 16), new OreDictStack("ingotTitanium", 8), new ComparableStack(ModItems.plate_advanced_alloy, 4), new ComparableStack(ModItems.redcoil_capacitor, 3), new OreDictStack("ingotRedCopperAlloy", 12), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), },350); + //makeRecipe(new ComparableStack(ModBlocks.turret_light, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new ComparableStack(ModItems.pipes_steel, 2), new OreDictStack("ingotRedCopperAlloy", 2), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier2, 2), },200); + //makeRecipe(new ComparableStack(ModBlocks.turret_heavy, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("ingotAluminum", 4), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.hull_small_steel, 1), new OreDictStack("ingotRedCopperAlloy", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier2, 3), },250); + //makeRecipe(new ComparableStack(ModBlocks.turret_rocket, 1), new AStack[] {new OreDictStack("ingotSteel", 12), new OreDictStack("ingotTitanium", 4), new ComparableStack(ModItems.hull_small_steel, 8), new OreDictStack("ingotRedCopperAlloy", 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 2), },300); + //makeRecipe(new ComparableStack(ModBlocks.turret_flamer, 1), new AStack[] {new OreDictStack("ingotSteel", 8), new OreDictStack("ingotTungsten", 2), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.tank_steel, 2), new OreDictStack("ingotRedCopperAlloy", 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 2), },250); + //makeRecipe(new ComparableStack(ModBlocks.turret_tau, 1), new AStack[] {new OreDictStack("ingotSteel", 16), new OreDictStack("ingotTitanium", 8), new ComparableStack(ModItems.plate_advanced_alloy, 4), new ComparableStack(ModItems.redcoil_capacitor, 3), new OreDictStack("ingotRedCopperAlloy", 12), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), },350); makeRecipe(new ComparableStack(ModBlocks.turret_spitfire, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new OreDictStack("ingotRedCopperAlloy", 6), new OreDictStack("plateSteel", 16), new OreDictStack("plateIron", 8), new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },350); - makeRecipe(new ComparableStack(ModBlocks.turret_cwis, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new OreDictStack("ingotRedCopperAlloy", 8), new OreDictStack("plateSteel", 10), new OreDictStack("plateTitanium", 4), new ComparableStack(ModItems.hull_small_aluminium, 2), new ComparableStack(ModItems.pipes_steel, 6), new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.magnetron, 3), },400); + //makeRecipe(new ComparableStack(ModBlocks.turret_cwis, 1), new AStack[] {new OreDictStack("ingotSteel", 6), new OreDictStack("ingotRedCopperAlloy", 8), new OreDictStack("plateSteel", 10), new OreDictStack("plateTitanium", 4), new ComparableStack(ModItems.hull_small_aluminium, 2), new ComparableStack(ModItems.pipes_steel, 6), new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.magnetron, 3), },400); makeRecipe(new ComparableStack(ModBlocks.turret_cheapo, 1), new AStack[] {new OreDictStack("ingotSteel", 4), new OreDictStack("plateIron", 4), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_targeting_tier1, 4), },200); makeRecipe(new ComparableStack(ModItems.missile_generic, 1), new AStack[] {new ComparableStack(ModItems.warhead_generic_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); makeRecipe(new ComparableStack(ModItems.missile_incendiary, 1), new AStack[] {new ComparableStack(ModItems.warhead_incendiary_small, 1), new ComparableStack(ModItems.fuel_tank_small, 1), new ComparableStack(ModItems.thruster_small, 1), new OreDictStack("plateTitanium", 6), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); @@ -662,6 +662,27 @@ public class AssemblerRecipes { new ComparableStack(ModItems.mechanism_launcher_2, 1), new ComparableStack(ModBlocks.crate_steel, 1) }, 200); + makeRecipe(new ComparableStack(ModBlocks.turret_howard, 1), new AStack[] { + new ComparableStack(ModBlocks.machine_battery, 1), + new OreDictStack("ingotSteel", 24), + new ComparableStack(ModItems.ingot_dura_steel, 6), + new ComparableStack(ModItems.motor, 2), + new ComparableStack(ModItems.motor_desh, 2), + new ComparableStack(ModItems.circuit_targeting_tier3, 2), + new ComparableStack(ModItems.pipes_steel, 2), + new ComparableStack(ModItems.mechanism_rifle_2, 2), + new ComparableStack(ModBlocks.crate_steel, 1) + }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_silex, 1), new AStack[] { + new ComparableStack(Blocks.glass, 12), + new ComparableStack(ModItems.motor, 2), + new ComparableStack(ModItems.ingot_dura_steel, 4), + new OreDictStack("plateSteel", 8), + new OreDictStack("ingotDesh", 2), + new ComparableStack(ModItems.tank_steel, 1), + new ComparableStack(ModItems.pipes_steel, 1), + new ComparableStack(ModItems.crystal_diamond, 1) + }, 400); makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); diff --git a/src/main/java/com/hbm/inventory/ShredderRecipes.java b/src/main/java/com/hbm/inventory/ShredderRecipes.java index d8de8e031..631c7380e 100644 --- a/src/main/java/com/hbm/inventory/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/ShredderRecipes.java @@ -198,6 +198,19 @@ public class ShredderRecipes { ShredderRecipes.setRecipe(Blocks.anvil, new ItemStack(ModItems.powder_iron, 31)); ShredderRecipes.setRecipe(ModBlocks.chain, new ItemStack(ModItems.powder_steel_tiny, 1)); + ShredderRecipes.setRecipe(ModBlocks.turret_light, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModBlocks.turret_heavy, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModBlocks.turret_flamer, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModBlocks.turret_rocket, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModBlocks.turret_cwis, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModBlocks.turret_tau, new ItemStack(ModItems.powder_steel, 16)); + ShredderRecipes.setRecipe(ModItems.turret_light_ammo, new ItemStack(Items.gunpowder, 4)); + ShredderRecipes.setRecipe(ModItems.turret_heavy_ammo, new ItemStack(Items.gunpowder, 4)); + ShredderRecipes.setRecipe(ModItems.turret_flamer_ammo, new ItemStack(Items.gunpowder, 4)); + ShredderRecipes.setRecipe(ModItems.turret_rocket_ammo, new ItemStack(Items.gunpowder, 4)); + ShredderRecipes.setRecipe(ModItems.turret_cwis_ammo, new ItemStack(Items.gunpowder, 4)); + ShredderRecipes.setRecipe(ModItems.turret_tau_ammo, new ItemStack(ModItems.powder_uranium, 4)); + for(int i = 0; i < 16; i++) { ShredderRecipes.setRecipe(new ItemStack(Blocks.stained_hardened_clay, 1, i), new ItemStack(Items.clay_ball, 4)); ShredderRecipes.setRecipe(new ItemStack(Blocks.wool, 1, i), new ItemStack(Items.string, 4)); diff --git a/src/main/java/com/hbm/inventory/gui/GUISILEX.java b/src/main/java/com/hbm/inventory/gui/GUISILEX.java index b6b449b55..caf7fc797 100644 --- a/src/main/java/com/hbm/inventory/gui/GUISILEX.java +++ b/src/main/java/com/hbm/inventory/gui/GUISILEX.java @@ -55,7 +55,7 @@ public class GUISILEX extends GuiInfoContainer { protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.silex.hasCustomInventoryName() ? this.silex.getInventoryName() : I18n.format(this.silex.getInventoryName()); - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 4210752); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } diff --git a/src/main/java/com/hbm/inventory/gui/GUITurretHoward.java b/src/main/java/com/hbm/inventory/gui/GUITurretHoward.java new file mode 100644 index 000000000..31f36d065 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUITurretHoward.java @@ -0,0 +1,20 @@ +package com.hbm.inventory.gui; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.turret.TileEntityTurretBaseNT; + +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUITurretHoward extends GUITurretBase { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_turret_howard.png"); + + public GUITurretHoward(InventoryPlayer invPlayer, TileEntityTurretBaseNT tedf) { + super(invPlayer, tedf); + } + + protected ResourceLocation getTexture() { + return texture; + } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 6cd53e594..fa3e6c91f 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1296,6 +1296,7 @@ public class ModItems { public static Item ammo_shell_apfsds_t; public static Item ammo_shell_apfsds_du; public static Item ammo_shell_w9; + public static Item ammo_dgk; public static Item ammo_nuke; public static Item ammo_nuke_low; public static Item ammo_nuke_high; @@ -3417,6 +3418,7 @@ public class ModItems { ammo_shell_apfsds_t = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_t").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_apfsds-t"); ammo_shell_apfsds_du = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_apfsds-du"); ammo_shell_w9 = new ItemAmmo().setUnlocalizedName("ammo_shell_w9").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_w9"); + ammo_dgk = new ItemAmmo().setUnlocalizedName("ammo_dgk").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_dgk"); ammo_nuke = new ItemAmmo().setUnlocalizedName("ammo_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke"); ammo_nuke_low = new ItemAmmo().setUnlocalizedName("ammo_nuke_low").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_low"); ammo_nuke_high = new ItemAmmo().setUnlocalizedName("ammo_nuke_high").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_high"); @@ -3628,7 +3630,7 @@ public class ModItems { canteen_fab = new ItemCanteen(2 * 60).setUnlocalizedName("canteen_fab").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_fab"); pancake = new ItemPancake(20, 20, false).setUnlocalizedName("pancake").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pancake"); nugget = new ItemLemon(200, 200, false).setUnlocalizedName("nugget").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nugget"); - peas = new ItemLemon(2, 4, false).setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas"); + peas = new ItemPeas().setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas"); defuser = new Item().setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); @@ -3888,13 +3890,13 @@ public class ModItems { mech_key = new ItemCustomLore().setUnlocalizedName("mech_key").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":mech_key"); - turret_light_ammo = new ItemTurretAmmo(ModBlocks.turret_light, 100).setUnlocalizedName("turret_light_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_light_ammo"); - turret_heavy_ammo = new ItemTurretAmmo(ModBlocks.turret_heavy, 25).setUnlocalizedName("turret_heavy_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_heavy_ammo"); - turret_rocket_ammo = new ItemTurretAmmo(ModBlocks.turret_rocket, 8).setUnlocalizedName("turret_rocket_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_rocket_ammo"); - turret_flamer_ammo = new ItemTurretAmmo(ModBlocks.turret_flamer, 200).setUnlocalizedName("turret_flamer_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_flamer_ammo"); - turret_tau_ammo = new ItemTurretAmmo(ModBlocks.turret_tau, 100).setUnlocalizedName("turret_tau_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_tau_ammo"); + turret_light_ammo = new ItemTurretAmmo(ModBlocks.turret_light, 100).setUnlocalizedName("turret_light_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_light_ammo"); + turret_heavy_ammo = new ItemTurretAmmo(ModBlocks.turret_heavy, 25).setUnlocalizedName("turret_heavy_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_heavy_ammo"); + turret_rocket_ammo = new ItemTurretAmmo(ModBlocks.turret_rocket, 8).setUnlocalizedName("turret_rocket_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_rocket_ammo"); + turret_flamer_ammo = new ItemTurretAmmo(ModBlocks.turret_flamer, 200).setUnlocalizedName("turret_flamer_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_flamer_ammo"); + turret_tau_ammo = new ItemTurretAmmo(ModBlocks.turret_tau, 100).setUnlocalizedName("turret_tau_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_tau_ammo"); turret_spitfire_ammo = new ItemTurretAmmo(ModBlocks.turret_spitfire, 2).setUnlocalizedName("turret_spitfire_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_spitfire_ammo"); - turret_cwis_ammo = new ItemTurretAmmo(ModBlocks.turret_cwis, 250).setUnlocalizedName("turret_cwis_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_cwis_ammo"); + turret_cwis_ammo = new ItemTurretAmmo(ModBlocks.turret_cwis, 250).setUnlocalizedName("turret_cwis_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":turret_cwis_ammo"); turret_cheapo_ammo = new ItemTurretAmmo(ModBlocks.turret_cheapo, 100).setUnlocalizedName("turret_cheapo_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":turret_cheapo_ammo"); template_folder = new ItemTemplateFolder().setUnlocalizedName("template_folder").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":template_folder"); @@ -6078,6 +6080,7 @@ public class ModItems { GameRegistry.registerItem(ammo_shell_apfsds_t, ammo_shell_apfsds_t.getUnlocalizedName()); GameRegistry.registerItem(ammo_shell_apfsds_du, ammo_shell_apfsds_du.getUnlocalizedName()); GameRegistry.registerItem(ammo_shell_w9, ammo_shell_w9.getUnlocalizedName()); + GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_low, ammo_nuke_low.getUnlocalizedName()); GameRegistry.registerItem(ammo_nuke_high, ammo_nuke_high.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemPeas.java b/src/main/java/com/hbm/items/tool/ItemPeas.java new file mode 100644 index 000000000..ecb15a13a --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemPeas.java @@ -0,0 +1,30 @@ +package com.hbm.items.tool; + +import java.util.List; + +import com.hbm.entity.mob.EntityQuackos; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemPeas extends Item{ + + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if (!player.capabilities.isCreativeMode) { + --stack.stackSize; + } + + List quacc = world.getEntitiesWithinAABB(EntityQuackos.class, player.boundingBox.expand(50, 50, 50)); + + for(EntityQuackos ducc : quacc) { + ducc.despawn(); + } + + return stack; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemTurretControl.java b/src/main/java/com/hbm/items/tool/ItemTurretControl.java index e027121d9..5448050d1 100644 --- a/src/main/java/com/hbm/items/tool/ItemTurretControl.java +++ b/src/main/java/com/hbm/items/tool/ItemTurretControl.java @@ -88,7 +88,6 @@ public class ItemTurretControl extends Item { if(mop != null) { - System.out.println(e.getCommandSenderName()); pos = mop; pos.typeOfHit = MovingObjectType.ENTITY; pos.entityHit = e; diff --git a/src/main/java/com/hbm/items/weapon/ItemCrucible.java b/src/main/java/com/hbm/items/weapon/ItemCrucible.java index f2547b781..09a03caa5 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCrucible.java +++ b/src/main/java/com/hbm/items/weapon/ItemCrucible.java @@ -6,6 +6,7 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.hbm.items.IEquipReceiver; import com.hbm.items.tool.ItemSwordAbility; +import com.hbm.lib.Library; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -56,7 +57,7 @@ public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver { if(!(entityLiving instanceof EntityPlayerMP)) return false; - if(entityLiving instanceof EntityPlayer && ((EntityPlayer)entityLiving).getDisplayName().equals("Tankish")) { + if(entityLiving instanceof EntityPlayer && ((EntityPlayer)entityLiving).getUniqueID().toString().equals(Library.Tankish)) { stack.setItemDamage(0); } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunShotty.java b/src/main/java/com/hbm/items/weapon/ItemGunShotty.java index aa49a8933..df5bad602 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunShotty.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunShotty.java @@ -16,7 +16,8 @@ public class ItemGunShotty extends ItemGunBase { protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { super.updateServer(stack, world, player, slot, isCurrentItem); - if(player.getUniqueID().toString().equals(Library.Dr_Nostalgia) && this.getDelay(stack) < this.mainConfig.rateOfFire * 0.9) + if((player.getUniqueID().toString().equals(Library.Dr_Nostalgia) || player.getUniqueID().toString().equals(Library.Tankish)) && + this.getDelay(stack) < this.mainConfig.rateOfFire * 0.9) this.setDelay(stack, 0); } diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 81d883901..9f573ecd5 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -76,6 +76,7 @@ public class Library { public static String FifeMiner = "37e5eb63-b9a2-4735-9007-1c77d703daa3"; public static String lag_add = "259785a0-20e9-4c63-9286-ac2f93ff528f"; public static String Pu_238 = "c95fdfd3-bea7-4255-a44b-d21bc3df95e3"; + public static String Tankish = "609268ad-5b34-49c2-abba-a9d83229af03"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index f5e6d6330..ccb96490a 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 (3808)"; + public static final String VERSION = "1.0.27 BETA (3815)"; //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 9f16ef554..32fdeb302 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -128,6 +128,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretJeremy.class, new RenderTurretJeremy()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretTauon.class, new RenderTurretTauon()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretRichard.class, new RenderTurretRichard()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHoward.class, new RenderTurretHoward()); //mines ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine()); //cel prime diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index bfcff0a13..0d925032a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -456,6 +456,7 @@ public class MainRegistry { GameRegistry.registerTileEntity(TileEntityTurretTauon.class, "tileentity_turret_tauon"); GameRegistry.registerTileEntity(TileEntityTurretFriendly.class, "tileentity_turret_friendly"); GameRegistry.registerTileEntity(TileEntityTurretRichard.class, "tileentity_turret_richard"); + GameRegistry.registerTileEntity(TileEntityTurretHoward.class, "tileentity_turret_howard"); GameRegistry.registerTileEntity(TileEntitySILEX.class, "tileentity_silex"); GameRegistry.registerTileEntity(TileEntityFEL.class, "tileentity_fel"); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index ade962297..971aa3e84 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -42,6 +42,7 @@ public class ResourceManager { public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")); public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")); public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")); + public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")); //Landmines public static final IModelCustom mine_ap = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_ap.obj")); @@ -269,6 +270,7 @@ public class ResourceManager { public static final ResourceLocation turret_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/base.png"); public static final ResourceLocation turret_base_friendly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/base_friendly.png"); public static final ResourceLocation turret_carriage_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/carriage.png"); + public static final ResourceLocation turret_carriage_ciws_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/carriage_ciws.png"); public static final ResourceLocation turret_carriage_friendly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/carriage_friendly.png"); public static final ResourceLocation turret_connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/connector.png"); public static final ResourceLocation turret_chekhov_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/chekhov.png"); @@ -276,6 +278,8 @@ public class ResourceManager { public static final ResourceLocation turret_jeremy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/jeremy.png"); public static final ResourceLocation turret_tauon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/tauon.png"); public static final ResourceLocation turret_richard_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/richard.png"); + public static final ResourceLocation turret_howard_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/howard.png"); + public static final ResourceLocation turret_howard_barrels_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/howard_barrels.png"); //Landmines public static final ResourceLocation mine_ap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_ap.png"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 3269c0ac7..037564181 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -887,6 +887,22 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); }}); + renderers.put(Item.getItemFromBlock(ModBlocks.turret_howard), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4.5, 0); + GL11.glScaled(4, 4, 4); + } + public void renderCommon() { + GL11.glTranslated(-0.75, 0, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.turret_base_tex); ResourceManager.turret_chekhov.renderPart("Base"); + bindTexture(ResourceManager.turret_carriage_ciws_tex); ResourceManager.turret_howard.renderPart("Carriage"); + bindTexture(ResourceManager.turret_howard_tex); ResourceManager.turret_howard.renderPart("Body"); + bindTexture(ResourceManager.turret_howard_barrels_tex); ResourceManager.turret_howard.renderPart("BarrelsTop"); + bindTexture(ResourceManager.turret_howard_barrels_tex); ResourceManager.turret_howard.renderPart("BarrelsBottom"); + GL11.glShadeModel(GL11.GL_FLAT); + }}); + renderers.put(Item.getItemFromBlock(ModBlocks.machine_silex), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -2.5, 0); diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretHoward.java b/src/main/java/com/hbm/render/tileentity/RenderTurretHoward.java new file mode 100644 index 000000000..819bcb63c --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretHoward.java @@ -0,0 +1,64 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.handler.FluidTypeHandler.FluidType; +import com.hbm.main.ResourceManager; +import com.hbm.tileentity.turret.TileEntityTurretHoward; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; + +public class RenderTurretHoward extends RenderTurretBase { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + + TileEntityTurretHoward turret = (TileEntityTurretHoward)te; + Vec3 pos = turret.getHorizontalOffset(); + + GL11.glPushMatrix(); + GL11.glTranslated(x + pos.xCoord, y, z + pos.zCoord); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + this.renderConnectors(turret, true, false, FluidType.NONE); + + bindTexture(ResourceManager.turret_base_tex); + ResourceManager.turret_chekhov.renderPart("Base"); + double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp) - 90D; + double pitch = Math.toDegrees(turret.lastRotationPitch + (turret.rotationPitch - turret.lastRotationPitch) * interp); + + GL11.glRotated(yaw, 0, 1, 0); + bindTexture(ResourceManager.turret_carriage_ciws_tex); + ResourceManager.turret_howard.renderPart("Carriage"); + + GL11.glTranslated(0, 2.25, 0); + GL11.glRotated(pitch, 0, 0, 1); + GL11.glTranslated(0, -2.25, 0); + bindTexture(ResourceManager.turret_howard_tex); + ResourceManager.turret_howard.renderPart("Body"); + + float rot = turret.lastSpin + (turret.spin - turret.lastSpin) * interp; + + bindTexture(ResourceManager.turret_howard_barrels_tex); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2.5, 0); + GL11.glRotated(rot, -1, 0, 0); + GL11.glTranslated(0, -2.5, 0); + ResourceManager.turret_howard.renderPart("BarrelsTop"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 2, 0); + GL11.glRotated(rot, 1, 0, 0); + GL11.glTranslated(0, -2, 0); + ResourceManager.turret_howard.renderPart("BarrelsBottom"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index 299255501..0c718925e 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -32,6 +32,7 @@ public class RenderAccessoryUtility { private static ResourceLocation wiki = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeWiki.png"); private static ResourceLocation leftnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeLeftNugget.png"); private static ResourceLocation rightnugget = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeRightNugget.png"); + private static ResourceLocation tankish = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeTankish.png"); public static ResourceLocation getCloakFromPlayer(EntityPlayer player) { @@ -104,6 +105,9 @@ public class RenderAccessoryUtility { if(uuid.equals(Library.lag_add)) { return rightnugget; } + if(uuid.equals(Library.Tankish)) { + return tankish; + } if(Library.contributors.contains(uuid)) { return wiki; } diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 15f654f9a..5c2b49c99 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -125,7 +125,7 @@ public class RenderScreenOverlay { String cap = max == -1 ? ("∞") : ("" + max); - //if(renderCount) + if(renderCount) Minecraft.getMinecraft().fontRenderer.drawString(count + " / " + cap, pX + 16, pZ + 6, 0xFFFFFF); GL11.glDisable(GL11.GL_BLEND); diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 27de88cb1..42e9e5fc9 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -22,9 +22,8 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.INpc; import net.minecraft.entity.item.EntityMinecart; +import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.IMob; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.passive.IAnimals; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -78,8 +77,9 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public boolean targetAnimals = false; public boolean targetMobs = true; public boolean targetMachines = true; - + public Entity target; + public Vec3 tPos; //tally marks! public int stattrak; @@ -152,13 +152,23 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } } + if(!worldObj.isRemote) { + + if(target != null) { + this.tPos = this.getEntityPos(target); + } else { + this.tPos = null; + } + } + if(this.isOn && hasPower()) { - if(target != null) + if(tPos != null) this.alignTurret(); } else { - + this.target = null; + this.tPos = null; } if(!worldObj.isRemote) { @@ -188,7 +198,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple this.power = Library.chargeTEFromItems(slots, 10, this.power, this.getMaxPower()); NBTTagCompound data = new NBTTagCompound(); - data.setInteger("target", this.target == null ? -1 : this.target.getEntityId()); + if(this.tPos != null) { + data.setDouble("tX", this.tPos.xCoord); + data.setDouble("tY", this.tPos.yCoord); + data.setDouble("tZ", this.tPos.zCoord); + } data.setLong("power", this.power); data.setBoolean("isOn", this.isOn); data.setBoolean("targetPlayers", this.targetPlayers); @@ -218,7 +232,6 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple @Override public void networkUnpack(NBTTagCompound nbt) { - int t = nbt.getInteger("target"); this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); this.targetPlayers = nbt.getBoolean("targetPlayers"); @@ -227,10 +240,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple this.targetMachines = nbt.getBoolean("targetMachines"); this.stattrak = nbt.getInteger("stattrak"); - if(t != -1) - this.target = worldObj.getEntityByID(t); - else - this.target = null; + if(nbt.hasKey("tX")) { + this.tPos = Vec3.createVectorHelper(nbt.getDouble("tX"), nbt.getDouble("tY"), nbt.getDouble("tZ")); + } else { + this.tPos = null; + } } @Override @@ -297,6 +311,8 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple return; } } + + this.markDirty(); } /** @@ -391,6 +407,9 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } this.target = target; + + if(target != null) + this.tPos = this.getEntityPos(this.target); } /** @@ -398,7 +417,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple * Assumes that the target is not null */ protected void alignTurret() { - this.turnTowards(this.getEntityPos(target)); + this.turnTowards(tPos); } /** diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java index 1cfc73152..80f5da180 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretChekhov.java @@ -107,7 +107,7 @@ public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { if(worldObj.isRemote) { - if(this.target != null || manual) { + if(this.tPos != null || manual) { this.accel = Math.min(45F, this.accel += 2); } else { this.accel = Math.max(0F, this.accel -= 2); @@ -124,7 +124,7 @@ public class TileEntityTurretChekhov extends TileEntityTurretBaseNT { } } else { - if(this.target == null && !manual) { + if(this.tPos == null && !manual) { this.timer--; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java new file mode 100644 index 000000000..6c6ba33ae --- /dev/null +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java @@ -0,0 +1,176 @@ +package com.hbm.tileentity.turret; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.config.WeaponConfig; +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.lib.ModDamageSource; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.util.EntityDamageUtil; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.Vec3; + +public class TileEntityTurretHoward extends TileEntityTurretBaseNT { + + static List configs = new ArrayList(); + + static { + configs.add(BulletConfigSyncingUtil.DGK_NORMAL); + } + + @Override + protected List getAmmoList() { + return configs; + } + + @Override + public String getName() { + return "container.turretHoward"; + } + + @Override + public double getHeightOffset() { + return 2.25D; + } + + @Override + public double getDecetorGrace() { + return 3D; + } + + @Override + public double getTurretYawSpeed() { + return 12D; + } + + @Override + public double getTurretPitchSpeed() { + return 8D; + } + + @Override + public double getTurretElevation() { + return 90D; + } + + @Override + public double getTurretDepression() { + return 50D; + } + + @Override + public double getDecetorRange() { + return 250D; + } + + @Override + public double getBarrelLength() { + return 3.25D; + } + + @Override + public long getMaxPower() { + return 50000; + } + + @Override + public long getConsumption() { + return 500; + } + + int loaded; + int timer; + public float spin; + public float lastSpin; + + @Override + public void updateEntity() { + + if(worldObj.isRemote) { + + this.lastSpin = this.spin; + + if(this.tPos != null) { + this.spin += 45; + } + + if(this.spin >= 360F) { + this.spin -= 360F; + this.lastSpin -= 360F; + } + } else { + + if(loaded <= 0) { + BulletConfiguration conf = this.getFirstConfigLoaded(); + + if(conf != null) { + this.conusmeAmmo(conf.ammo); + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_reload", 4.0F, 1F); + loaded = 200; + } + } + } + + super.updateEntity(); + } + + @Override + public void updateFiringTick() { + + timer++; + + if(loaded > 0 && this.tPos != null) { + + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_fire", 4.0F, 0.9F + worldObj.rand.nextFloat() * 0.3F); + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.howard_fire", 4.0F, 1F + worldObj.rand.nextFloat() * 0.3F); + + if(timer % 2 == 0) { + loaded--; + + if(worldObj.rand.nextInt(100) + 1 <= WeaponConfig.ciwsHitrate) + EntityDamageUtil.attackEntityFromIgnoreIFrame(this.target, ModDamageSource.shrapnel, 2F + worldObj.rand.nextInt(2)); + + Vec3 pos = this.getTurretPos(); + Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); + vec.rotateAroundZ((float) -this.rotationPitch); + vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); + + Vec3 hOff = Vec3.createVectorHelper(0, 0.25, 0); + hOff.rotateAroundZ((float) -this.rotationPitch); + hOff.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); + + for(int i = 0; i < 2; i++) { + + if(i == 1) { + hOff.xCoord *= -1; + hOff.yCoord *= -1; + hOff.zCoord *= -1; + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "largeexplode"); + data.setFloat("size", 1.5F); + data.setByte("count", (byte)1); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + hOff.xCoord, pos.yCoord + vec.yCoord + hOff.yCoord, pos.zCoord + vec.zCoord + hOff.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + } + } + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + } +} diff --git a/src/main/java/com/hbm/util/EntityDamageUtil.java b/src/main/java/com/hbm/util/EntityDamageUtil.java new file mode 100644 index 000000000..faf988a9c --- /dev/null +++ b/src/main/java/com/hbm/util/EntityDamageUtil.java @@ -0,0 +1,28 @@ +package com.hbm.util; + +import java.lang.reflect.Field; + +import cpw.mods.fml.relauncher.ReflectionHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.DamageSource; + +public class EntityDamageUtil { + + public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) { + + if(!victim.attackEntityFrom(src, damage)) { + try { + Field lastDamage = ReflectionHelper.findField(EntityLivingBase.class, "lastDamage", "field_110153_bc"); + + float dmg = (float) damage + lastDamage.getFloat(victim); + + return victim.attackEntityFrom(src, dmg); + } catch (Exception x) { + return false; + } + } else { + return true; + } + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index b16b10c11..ec2fef46b 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -200,6 +200,7 @@ container.machineLargeTurbine=Industrielle Dampfturbine container.machineRefinery=Ölraffinerie container.machineSelenium=Hochleistungs-Sternmotor container.machineShredder=Brecher +container.machineSILEX=SILEX container.machineTurbine=Dampfturbine container.machineTurbofan=Turbofan container.machine_deuterium=Deuteriumextraktor @@ -247,6 +248,7 @@ container.teleLinker=TelLink-Gerät container.teleporter=Teleporter container.turretChekhov=Tschechows Gewehr container.turretFriendly=Mister Friendly +container.turretHoward=Howard container.turretJeremy=Jeremy container.turretRichard=Richard container.turretTauon=Tauon @@ -506,6 +508,7 @@ item.ammo_cell.name=Energiezelle item.ammo_container.name=Munitionsbehälter item.ammo_dart.name=Plastikdart (Withernd) item.ammo_dart_nerf.name=NERF-Dart +item.ammo_dgk.name=Goalkeeper-Zwilling CIWS 200er Gürtel item.ammo_folly.name=Silbernes Geschoss (Original) item.ammo_folly_du.name=Silbernes Geschoss (DU, Nicht-Explosiv) item.ammo_folly_nuclear.name=Silbernes Geschoss (Atomar) @@ -2605,6 +2608,7 @@ tile.machine_schrabidium_battery.name=Schrabidium-Energiespeicherblock tile.machine_schrabidium_transmutator.name=Schrabidium-Transmutationsgerät tile.machine_selenium.name=Hochleistungs-Sternmotor tile.machine_shredder.name=Brecher +tile.machine_silex.name=Laser-Isotopentrenner tile.machine_siren.name=Sirene tile.machine_solar_boiler.name=Solarturmboiler tile.machine_spp_bottom.name=NPE-Potentialgenerator (Unterteil) @@ -2797,6 +2801,7 @@ tile.turret_cwis.name=Phalanx Mk-15 CIWS tile.turret_flamer.name=Flammenwerfergeschütz tile.turret_friendly.name=Gatlingeschütz "Mister Friendly" tile.turret_heavy.name=Schweres MG-Geschütz +tile.turret_howard.name=Goalkeeper-Zwilling CIWS "Howard" tile.turret_jeremy.name=Autokanonengeschütz "Jeremy" tile.turret_light.name=Leichtes MG-Geschütz tile.turret_rocket.name=Raketengeschütz diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 7dd49daf0..e830ab298 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -202,6 +202,7 @@ container.machineLargeTurbine=Industrial Steam Turbine container.machineRefinery=Oil Refinery container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder +container.machineSILEX=SILEX container.machineTurbine=Steam Turbine container.machineTurbofan=Turbofan container.machine_deuterium=Deuterium Extractor @@ -249,6 +250,7 @@ container.teleLinker=TelLink Device container.teleporter=Teleporter container.turretChekhov=Chekhov's Gun container.turretFriendly=Mister Friendly +container.turretHoward=Howard container.turretJeremy=Jeremy container.turretRichard=Richard container.turretTauon=Tauon @@ -508,6 +510,7 @@ item.ammo_cell.name=Energy Cell item.ammo_container.name=Ammo Container item.ammo_dart.name=Plastic Dart (Withering) item.ammo_dart_nerf.name=NERF Dart +item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt item.ammo_folly.name=Silver Bullet (Original) item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) item.ammo_folly_nuclear.name=Silver Bullet (Nuclear) @@ -2607,6 +2610,7 @@ tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device tile.machine_selenium.name=Radial Performance Engine tile.machine_shredder.name=Shredder +tile.machine_silex.name=Laser Isotope Separation Chamber tile.machine_siren.name=Siren tile.machine_solar_boiler.name=Solar Tower Boiler tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) @@ -2799,6 +2803,7 @@ tile.turret_cwis.name=Phalanx Mk-15 CIWS tile.turret_flamer.name=Flamethrower Turret tile.turret_friendly.name=Chaingun Turret "Mister Friendly" tile.turret_heavy.name=Heavy Machine Gun Turret +tile.turret_howard.name=Goalkeeper Twin Chaingun CIWS "Howard" tile.turret_jeremy.name=Autocannon Turret "Jeremy" tile.turret_light.name=Light Machine Gun Turret tile.turret_rocket.name=Rocket Turret diff --git a/src/main/resources/assets/hbm/models/turrets/turret_howard.obj b/src/main/resources/assets/hbm/models/turrets/turret_howard.obj new file mode 100644 index 000000000..d0a8da658 --- /dev/null +++ b/src/main/resources/assets/hbm/models/turrets/turret_howard.obj @@ -0,0 +1,3945 @@ +# Blender v2.79 (sub 0) OBJ File: 'turret_cwis.blend' +# www.blender.org +o BarrelsBottom +v 0.625000 2.000000 -0.156250 +v 1.000000 2.000000 -0.156250 +v 0.625000 1.889515 -0.110485 +v 1.000000 1.889515 -0.110485 +v 0.625000 1.843750 0.000000 +v 1.000000 1.843750 0.000000 +v 0.625000 1.889515 0.110485 +v 1.000000 1.889515 0.110485 +v 0.625000 2.000000 0.156250 +v 1.000000 2.000000 0.156250 +v 0.625000 2.110486 0.110485 +v 1.000000 2.110486 0.110485 +v 0.625000 2.156250 -0.000000 +v 1.000000 2.156250 -0.000000 +v 0.625000 2.110486 -0.110485 +v 1.000000 2.110486 -0.110485 +v 1.187500 1.922660 -0.077340 +v 1.187500 2.000000 -0.109375 +v 1.187500 1.890625 0.000000 +v 1.187500 1.922660 0.077340 +v 1.187500 2.000000 0.109375 +v 1.187500 2.077340 0.077340 +v 1.187500 2.109375 -0.000000 +v 1.187500 2.077340 -0.077340 +v 1.875000 1.922660 -0.077340 +v 1.875000 2.000000 -0.109375 +v 1.875000 1.890625 0.000000 +v 1.875000 1.922660 0.077340 +v 1.875000 2.000000 0.109375 +v 1.875000 2.077340 0.077340 +v 1.875000 2.109375 -0.000000 +v 1.875000 2.077340 -0.077340 +v 1.937500 1.922660 -0.077340 +v 1.937500 2.000000 -0.109375 +v 1.937500 1.890625 0.000000 +v 1.937500 1.922660 0.077340 +v 1.937500 2.000000 0.109375 +v 1.937500 2.077340 0.077340 +v 1.937500 2.109375 -0.000000 +v 1.937500 2.077340 -0.077340 +v 2.062500 1.922660 -0.077340 +v 2.062500 2.000000 -0.109375 +v 2.062500 1.890625 0.000000 +v 2.062500 1.922660 0.077340 +v 2.062500 2.000000 0.109375 +v 2.062500 2.077340 0.077340 +v 2.062500 2.109375 -0.000000 +v 2.062500 2.077340 -0.077340 +v 2.125000 1.922660 -0.077340 +v 2.125000 2.000000 -0.109375 +v 2.125000 1.890625 0.000000 +v 2.125000 1.922660 0.077340 +v 2.125000 2.000000 0.109375 +v 2.125000 2.077340 0.077340 +v 2.125000 2.109375 -0.000000 +v 2.125000 2.077340 -0.077340 +v 2.687500 1.922660 -0.077340 +v 2.687500 2.000000 -0.109375 +v 2.687500 1.890625 0.000000 +v 2.687500 1.922660 0.077340 +v 2.687500 2.000000 0.109375 +v 2.687500 2.077340 0.077340 +v 2.687500 2.109375 -0.000000 +v 2.687500 2.077340 -0.077340 +v 3.187500 1.922660 -0.077339 +v 3.187500 2.000000 -0.109375 +v 3.187500 1.890625 0.000000 +v 3.187500 1.922660 0.077340 +v 3.187500 2.000000 0.109375 +v 3.187500 2.077340 0.077340 +v 3.187500 2.109375 0.000000 +v 3.187500 2.077340 -0.077339 +v 1.187500 2.062500 -0.031250 +v 3.187500 2.062500 -0.031250 +v 1.187500 2.040403 -0.022097 +v 3.187500 2.040403 -0.022097 +v 1.187500 2.031250 0.000000 +v 3.187500 2.031250 0.000000 +v 1.187500 2.040403 0.022097 +v 3.187500 2.040403 0.022097 +v 1.187500 2.062500 0.031250 +v 3.187500 2.062500 0.031250 +v 1.187500 2.084598 0.022097 +v 3.187500 2.084597 0.022097 +v 1.187500 2.093750 -0.000000 +v 3.187500 2.093750 -0.000000 +v 1.187500 2.084598 -0.022097 +v 3.187500 2.084597 -0.022097 +v 1.187500 1.937500 0.031250 +v 3.187500 1.937500 0.031250 +v 1.187500 1.959597 0.022097 +v 3.187500 1.959597 0.022097 +v 1.187500 1.968750 -0.000000 +v 3.187500 1.968750 -0.000000 +v 1.187500 1.959597 -0.022097 +v 3.187500 1.959597 -0.022097 +v 1.187500 1.937500 -0.031250 +v 3.187500 1.937500 -0.031250 +v 1.187500 1.915403 -0.022097 +v 3.187500 1.915403 -0.022097 +v 1.187500 1.906250 -0.000000 +v 3.187500 1.906250 -0.000000 +v 1.187500 1.915403 0.022097 +v 3.187500 1.915403 0.022097 +v 1.187500 2.058314 0.038502 +v 3.187500 2.058314 0.038502 +v 1.187500 2.039338 0.023942 +v 3.187500 2.039338 0.023942 +v 1.187500 2.015625 0.027064 +v 3.187500 2.015625 0.027064 +v 1.187500 2.001065 0.046039 +v 3.187500 2.001065 0.046039 +v 1.187500 2.004187 0.069752 +v 3.187500 2.004187 0.069752 +v 1.187500 2.023162 0.084312 +v 3.187500 2.023162 0.084312 +v 1.187500 2.046875 0.081190 +v 3.187500 2.046875 0.081190 +v 1.187500 2.061435 0.062215 +v 3.187500 2.061435 0.062215 +v 1.187500 1.941687 -0.038502 +v 3.187500 1.941687 -0.038502 +v 1.187500 1.960662 -0.023942 +v 3.187500 1.960662 -0.023942 +v 1.187500 1.984375 -0.027064 +v 3.187500 1.984375 -0.027064 +v 1.187500 1.998935 -0.046039 +v 3.187500 1.998935 -0.046039 +v 1.187500 1.995813 -0.069752 +v 3.187500 1.995813 -0.069752 +v 1.187500 1.976838 -0.084312 +v 3.187500 1.976838 -0.084312 +v 1.187500 1.953125 -0.081190 +v 3.187500 1.953125 -0.081190 +v 1.187500 1.938565 -0.062215 +v 3.187500 1.938565 -0.062215 +v 1.187500 1.995813 0.069752 +v 3.187500 1.995814 0.069752 +v 1.187500 1.998935 0.046039 +v 3.187500 1.998935 0.046039 +v 1.187500 1.984375 0.027063 +v 3.187500 1.984375 0.027063 +v 1.187500 1.960662 0.023942 +v 3.187500 1.960662 0.023942 +v 1.187500 1.941687 0.038502 +v 3.187500 1.941687 0.038502 +v 1.187500 1.938565 0.062215 +v 3.187500 1.938565 0.062215 +v 1.187500 1.953125 0.081190 +v 3.187500 1.953125 0.081190 +v 1.187500 1.976838 0.084312 +v 3.187500 1.976838 0.084312 +v 1.187500 2.004187 -0.069752 +v 3.187500 2.004187 -0.069752 +v 1.187500 2.001065 -0.046039 +v 3.187500 2.001065 -0.046039 +v 1.187500 2.015625 -0.027064 +v 3.187500 2.015625 -0.027064 +v 1.187500 2.039338 -0.023942 +v 3.187500 2.039338 -0.023942 +v 1.187500 2.058314 -0.038502 +v 3.187500 2.058314 -0.038502 +v 1.187500 2.061435 -0.062215 +v 3.187500 2.061435 -0.062215 +v 1.187500 2.046875 -0.081190 +v 3.187500 2.046875 -0.081190 +v 1.187500 2.023162 -0.084312 +v 3.187500 2.023162 -0.084312 +v 3.125000 1.941995 -0.058004 +v 3.125000 2.000000 -0.082031 +v 3.125000 1.917969 0.000000 +v 3.125000 1.941995 0.058005 +v 3.125000 2.000000 0.082032 +v 3.125000 2.058005 0.058005 +v 3.125000 2.082031 0.000000 +v 3.125000 2.058005 -0.058004 +v 2.687500 2.077340 0.077340 +v 2.687500 2.000000 0.109375 +v 2.687500 1.922660 0.077340 +v 2.687500 1.890625 0.000000 +v 2.687500 2.000000 -0.109375 +v 2.687500 1.922660 -0.077340 +v 3.187500 2.062500 -0.031250 +v 3.187500 2.040403 -0.022097 +v 3.187500 2.031250 0.000000 +v 3.187500 2.040403 0.022097 +v 3.187500 2.062500 0.031250 +v 3.187500 2.084597 0.022097 +v 3.187500 2.093750 -0.000000 +v 3.187500 2.084597 -0.022097 +v 3.187500 1.937500 0.031250 +v 3.187500 1.959597 0.022097 +v 3.187500 1.968750 -0.000000 +v 3.187500 1.959597 -0.022097 +v 3.187500 1.937500 -0.031250 +v 3.187500 1.915403 -0.022097 +v 3.187500 1.906250 -0.000000 +v 3.187500 1.915403 0.022097 +v 3.187500 2.058314 0.038502 +v 3.187500 2.039338 0.023942 +v 3.187500 2.015625 0.027064 +v 3.187500 2.001065 0.046039 +v 3.187500 2.004187 0.069752 +v 3.187500 2.023162 0.084312 +v 3.187500 2.046875 0.081190 +v 3.187500 2.061435 0.062215 +v 3.187500 1.941687 -0.038502 +v 3.187500 1.960662 -0.023942 +v 3.187500 1.984375 -0.027064 +v 3.187500 1.998935 -0.046039 +v 3.187500 1.995813 -0.069752 +v 3.187500 1.976838 -0.084312 +v 3.187500 1.953125 -0.081190 +v 3.187500 1.938565 -0.062215 +v 3.187500 1.995814 0.069752 +v 3.187500 1.998935 0.046039 +v 3.187500 1.984375 0.027063 +v 3.187500 1.960662 0.023942 +v 3.187500 1.941687 0.038502 +v 3.187500 1.938565 0.062215 +v 3.187500 1.953125 0.081190 +v 3.187500 1.976838 0.084312 +v 3.187500 2.004187 -0.069752 +v 3.187500 2.001065 -0.046039 +v 3.187500 2.015625 -0.027064 +v 3.187500 2.039338 -0.023942 +v 3.187500 2.058314 -0.038502 +v 3.187500 2.061435 -0.062215 +v 3.187500 2.046875 -0.081190 +v 3.187500 2.023162 -0.084312 +v 3.125000 2.062500 0.000000 +v 3.125000 1.937500 -0.000000 +v 3.125000 2.031250 0.054127 +v 3.125000 1.968750 -0.054127 +v 3.125000 1.968750 0.054127 +v 3.125000 2.031250 -0.054127 +v 2.687500 2.109375 -0.000000 +v 2.687500 2.077340 -0.077340 +v 3.187500 1.922660 -0.077339 +v 3.187500 2.000000 -0.109375 +v 3.187500 1.890625 0.000000 +v 3.187500 1.922660 0.077340 +v 3.187500 2.000000 0.109375 +v 3.187500 2.077340 0.077340 +v 3.187500 2.109375 0.000000 +v 3.187500 2.077340 -0.077339 +v 3.125000 1.941995 -0.058004 +v 3.125000 2.000000 -0.082031 +v 3.125000 1.917969 0.000000 +v 3.125000 1.941995 0.058005 +v 3.125000 2.000000 0.082032 +v 3.125000 2.058005 0.058005 +v 3.125000 2.082031 0.000000 +v 3.125000 2.058005 -0.058004 +v 1.875000 1.922660 -0.077340 +v 1.875000 2.000000 -0.109375 +v 1.875000 1.890625 0.000000 +v 1.875000 1.922660 0.077340 +v 1.875000 2.000000 0.109375 +v 1.875000 2.077340 0.077340 +v 1.875000 2.109375 -0.000000 +v 1.875000 2.077340 -0.077340 +v 1.937500 1.922660 -0.077340 +v 1.937500 2.000000 -0.109375 +v 1.937500 1.890625 0.000000 +v 1.937500 1.922660 0.077340 +v 1.937500 2.000000 0.109375 +v 1.937500 2.077340 0.077340 +v 1.937500 2.109375 -0.000000 +v 1.937500 2.077340 -0.077340 +v 2.062500 1.922660 -0.077340 +v 2.062500 2.000000 -0.109375 +v 2.062500 1.890625 0.000000 +v 2.062500 1.922660 0.077340 +v 2.062500 2.000000 0.109375 +v 2.062500 2.077340 0.077340 +v 2.062500 2.109375 -0.000000 +v 2.062500 2.077340 -0.077340 +v 2.125000 1.922660 -0.077340 +v 2.125000 2.000000 -0.109375 +v 2.125000 1.890625 0.000000 +v 2.125000 1.922660 0.077340 +v 2.125000 2.000000 0.109375 +v 2.125000 2.077340 0.077340 +v 2.125000 2.109375 -0.000000 +v 2.125000 2.077340 -0.077340 +v 1.000000 2.000000 -0.156250 +v 1.000000 1.889515 -0.110485 +v 1.000000 1.843750 0.000000 +v 1.000000 1.889515 0.110485 +v 1.000000 2.000000 0.156250 +v 1.000000 2.110486 0.110485 +v 1.000000 2.156250 -0.000000 +v 1.000000 2.110486 -0.110485 +v 1.187500 1.922660 -0.077340 +v 1.187500 2.000000 -0.109375 +v 1.187500 1.890625 0.000000 +v 1.187500 1.922660 0.077340 +v 1.187500 2.000000 0.109375 +v 1.187500 2.077340 0.077340 +v 1.187500 2.109375 -0.000000 +v 1.187500 2.077340 -0.077340 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.279379 0.630240 +vt 0.279379 0.580070 +vt 0.303030 0.544595 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.336476 0.544595 +vt 0.360127 0.580070 +vt 0.360127 0.630240 +vt 0.336476 0.665715 +vt 0.303030 0.665715 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.833333 0.166667 +vt 1.000000 0.083333 +vt 1.000000 0.166667 +vt 0.833333 0.083333 +vt 1.000000 0.000000 +vt 0.833333 0.666667 +vt 1.000000 0.583333 +vt 1.000000 0.666667 +vt 0.833333 0.583333 +vt 1.000000 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.416667 +vt 0.833333 0.416667 +vt 1.000000 0.333333 +vt 0.833333 0.333333 +vt 1.000000 0.250000 +vt 0.833333 0.250000 +vt 0.750000 0.250000 +vt 0.722222 0.166667 +vt 0.750000 0.166667 +vt 0.750000 0.416667 +vt 0.722222 0.333333 +vt 0.750000 0.333333 +vt 0.750000 0.583333 +vt 0.722222 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.083333 +vt 0.722222 -0.000000 +vt 0.750000 -0.000000 +vt 0.722222 0.250000 +vt 0.722222 0.416667 +vt 0.750000 0.666667 +vt 0.722222 0.583333 +vt 0.722222 0.083333 +vt 0.750000 0.250000 +vt 0.722222 0.166667 +vt 0.750000 0.166667 +vt 0.750000 0.416667 +vt 0.722222 0.333333 +vt 0.750000 0.333333 +vt 0.750000 0.583333 +vt 0.722222 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.083333 +vt 0.722222 -0.000000 +vt 0.750000 -0.000000 +vt 0.722222 0.250000 +vt 0.722222 0.416667 +vt 0.750000 0.666667 +vt 0.722222 0.583333 +vt 0.722222 0.083333 +vt 0.388889 0.250000 +vt 0.361111 0.333333 +vt 0.361111 0.291667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.388889 0.500000 +vt 0.361111 0.458333 +vt 0.388889 0.416667 +vt 0.388889 0.666667 +vt 0.361111 0.625000 +vt 0.388889 0.583333 +vt 0.388889 0.083333 +vt 0.361111 0.166667 +vt 0.361111 0.125000 +vt 0.388889 0.166667 +vt 0.361111 0.250000 +vt 0.361111 0.208333 +vt 0.361111 0.375000 +vt 0.388889 0.333333 +vt 0.361111 0.583333 +vt 0.361111 0.541667 +vt 0.361111 0.041667 +vt 0.388889 -0.000000 +vt 0.611111 0.416667 +vt 0.388889 0.333333 +vt 0.611111 0.333333 +vt 0.611111 0.250000 +vt 0.388889 0.166667 +vt 0.611111 0.166667 +vt 0.388889 0.083333 +vt 0.611111 0.083333 +vt 0.611111 0.666667 +vt 0.388889 0.583333 +vt 0.611111 0.583333 +vt 0.611111 0.500000 +vt 0.388889 0.416667 +vt 0.388889 0.250000 +vt 0.388889 -0.000000 +vt 0.611111 -0.000000 +vt 0.388889 0.500000 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.833333 +vt 0.000000 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.000000 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.833333 0.416667 +vt 0.750000 0.500000 +vt 0.750000 0.458333 +vt 0.833333 0.250000 +vt 0.750000 0.208333 +vt 0.833333 0.166667 +vt 0.750000 0.125000 +vt 0.833333 0.083333 +vt 0.833333 0.583333 +vt 0.750000 0.666667 +vt 0.750000 0.625000 +vt 0.750000 0.375000 +vt 0.833333 0.333333 +vt 0.833333 0.500000 +vt 0.750000 0.583333 +vt 0.750000 0.541667 +vt 0.750000 0.291667 +vt 0.833333 0.000000 +vt 0.750000 0.083333 +vt 0.750000 0.041667 +vt 0.833333 0.000000 +vt 0.722222 0.666667 +vt 0.722222 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.361111 0.500000 +vt 0.361111 0.666667 +vt 0.361111 0.416667 +vt 0.361111 0.083333 +vt 0.388889 0.666667 +vt 0.750000 0.250000 +vt 0.750000 0.166667 +vt 0.833333 0.666667 +vt 0.750000 0.416667 +vt 0.750000 0.333333 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.4008 -0.6478 0.6478 +vn 0.4008 -0.9161 0.0000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.9659 -0.2588 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.9659 0.2588 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.9659 -0.2588 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.2588 -0.9659 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.9659 0.2588 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.2588 0.9659 +vn 0.4008 0.0000 -0.9161 +vn 0.4008 -0.6478 -0.6478 +vn 0.4008 0.9161 0.0000 +vn 0.4008 0.6478 -0.6478 +vn 0.4008 0.6478 0.6478 +vn 0.4008 0.0000 0.9161 +vn 0.4472 -0.7746 -0.4472 +vn 0.4472 -0.8639 0.2315 +vn 0.4472 -0.4472 0.7746 +vn 0.4472 0.2315 0.8639 +vn 0.4472 0.7746 0.4472 +vn 0.4472 0.8639 -0.2315 +vn 0.4472 0.4472 -0.7746 +vn 0.4472 -0.2315 -0.8639 +vn 0.4472 0.2315 -0.8639 +vn 0.4472 -0.4472 -0.7746 +vn 0.4472 0.7746 -0.4472 +vn 0.4472 0.8639 0.2315 +vn 0.4472 0.4472 0.7746 +vn 0.4472 -0.2315 0.8639 +vn 0.4472 -0.7746 0.4472 +vn 0.4472 -0.8639 -0.2315 +vn 0.4472 0.6324 0.6324 +vn 0.4472 0.8944 0.0000 +vn 0.4472 0.0000 0.8944 +vn 0.4472 -0.6324 0.6324 +vn 0.4472 -0.8944 0.0000 +vn 0.4472 -0.6324 -0.6324 +vn 0.4472 0.0000 -0.8944 +vn 0.4472 0.6324 -0.6324 +vn 0.2425 0.6860 0.6860 +vn 0.2425 0.0000 0.9701 +vn 0.2425 0.6860 -0.6860 +vn 0.2425 0.0000 -0.9701 +vn 0.2425 -0.6860 -0.6860 +vn 0.2425 -0.6860 0.6860 +vn 0.2425 -0.9701 0.0000 +vn 0.2425 0.9701 0.0000 +s off +f 21/1/1 20/2/1 19/3/1 +f 58/4/2 59/5/2 61/6/2 +f 283/7/1 282/8/1 281/9/1 +f 272/10/2 273/11/2 275/12/2 +f 267/13/1 266/14/1 265/15/1 +f 251/16/1 250/17/1 249/18/1 +f 256/19/2 257/20/2 259/21/2 +f 19/3/1 17/22/1 18/23/1 +f 18/23/1 24/24/1 19/3/1 +f 24/24/1 23/25/1 19/3/1 +f 23/25/1 22/26/1 19/3/1 +f 22/26/1 21/1/1 19/3/1 +f 58/4/2 57/27/2 59/5/2 +f 59/5/2 60/28/2 61/6/2 +f 61/6/2 62/29/2 63/30/2 +f 63/30/2 64/31/2 61/6/2 +f 64/31/2 58/4/2 61/6/2 +f 281/9/1 279/32/1 280/33/1 +f 280/33/1 286/34/1 281/9/1 +f 286/34/1 285/35/1 281/9/1 +f 285/35/1 284/36/1 281/9/1 +f 284/36/1 283/7/1 281/9/1 +f 272/10/2 271/37/2 273/11/2 +f 273/11/2 274/38/2 275/12/2 +f 275/12/2 276/39/2 277/40/2 +f 277/40/2 278/41/2 275/12/2 +f 278/41/2 272/10/2 275/12/2 +f 265/15/1 263/42/1 264/43/1 +f 264/43/1 270/44/1 265/15/1 +f 270/44/1 269/45/1 265/15/1 +f 269/45/1 268/46/1 265/15/1 +f 268/46/1 267/13/1 265/15/1 +f 249/18/1 247/47/1 248/48/1 +f 248/48/1 254/49/1 249/18/1 +f 254/49/1 253/50/1 249/18/1 +f 253/50/1 252/51/1 249/18/1 +f 252/51/1 251/16/1 249/18/1 +f 256/19/2 255/52/2 257/20/2 +f 257/20/2 258/53/2 259/21/2 +f 259/21/2 260/54/2 261/55/2 +f 261/55/2 262/56/2 259/21/2 +f 262/56/2 256/19/2 259/21/2 +s 1 +f 2/57/3 3/58/4 1/59/3 +f 4/60/4 5/61/5 3/58/4 +f 6/62/5 7/63/6 5/64/5 +f 8/65/6 9/66/7 7/63/6 +f 10/67/7 11/68/8 9/66/7 +f 12/69/8 13/70/9 11/68/8 +f 14/71/9 15/72/10 13/70/9 +f 16/73/10 1/59/3 15/72/10 +f 32/74/10 34/75/3 26/76/3 +f 30/77/8 39/78/9 31/79/9 +f 28/80/6 37/81/7 29/82/7 +f 25/83/4 35/84/5 27/85/5 +f 31/79/9 40/86/10 32/74/10 +f 29/82/7 38/87/8 30/77/8 +f 27/88/5 36/89/6 28/80/6 +f 26/76/3 33/90/4 25/83/4 +f 48/91/10 50/92/3 42/93/3 +f 46/94/8 55/95/9 47/96/9 +f 44/97/6 53/98/7 45/99/7 +f 41/100/4 51/101/5 43/102/5 +f 47/96/9 56/103/10 48/91/10 +f 45/99/7 54/104/8 46/94/8 +f 43/105/5 52/106/6 44/97/6 +f 42/93/3 49/107/4 41/100/4 +f 72/108/11 175/109/12 176/110/11 +f 74/111/3 75/112/4 73/113/3 +f 76/114/4 77/115/5 75/112/4 +f 78/116/5 79/117/6 77/118/5 +f 80/119/6 81/120/7 79/117/6 +f 82/121/7 83/122/8 81/120/7 +f 84/123/8 85/124/9 83/122/8 +f 86/125/9 87/126/10 85/124/9 +f 88/127/10 73/113/3 87/126/10 +f 90/128/7 91/129/8 89/130/7 +f 92/131/8 93/132/9 91/129/8 +f 94/133/9 95/134/10 93/135/9 +f 96/136/10 97/137/3 95/134/10 +f 98/138/3 99/139/4 97/137/3 +f 100/140/4 101/141/5 99/139/4 +f 102/142/5 103/143/6 101/141/5 +f 104/144/6 89/130/7 103/143/6 +f 106/145/13 107/146/14 105/147/13 +f 108/148/14 109/149/15 107/146/14 +f 110/150/15 111/151/16 109/152/15 +f 112/153/16 113/154/17 111/151/16 +f 114/155/17 115/156/18 113/154/17 +f 116/157/18 117/158/19 115/156/18 +f 118/159/19 119/160/20 117/158/19 +f 120/161/20 105/147/13 119/160/20 +f 122/162/17 123/163/18 121/164/17 +f 124/165/18 125/166/19 123/163/18 +f 126/167/19 127/168/20 125/169/19 +f 128/170/20 129/171/13 127/168/20 +f 130/172/13 131/173/14 129/171/13 +f 132/174/14 133/175/15 131/173/14 +f 134/176/15 135/177/16 133/175/15 +f 136/178/16 121/164/17 135/177/16 +f 138/179/21 139/180/22 137/181/21 +f 140/182/22 141/183/23 139/180/22 +f 142/184/23 143/185/24 141/186/23 +f 144/187/24 145/188/25 143/185/24 +f 146/189/25 147/190/26 145/188/25 +f 148/191/26 149/192/27 147/190/26 +f 150/193/27 151/194/28 149/192/27 +f 152/195/28 137/181/21 151/194/28 +f 154/196/25 155/197/26 153/198/25 +f 156/199/26 157/200/27 155/197/26 +f 158/201/27 159/202/28 157/203/27 +f 160/204/28 161/205/21 159/202/28 +f 162/206/21 163/207/22 161/205/21 +f 164/208/22 165/209/23 163/207/22 +f 166/210/23 167/211/24 165/209/23 +f 168/212/24 153/198/25 167/211/24 +f 69/213/29 174/214/30 70/215/30 +f 67/216/31 172/217/32 68/218/32 +f 65/219/33 170/220/34 169/221/33 +f 66/222/34 176/223/11 170/224/34 +f 70/215/30 175/225/12 71/226/12 +f 69/213/29 172/227/32 173/228/29 +f 65/219/33 171/229/31 67/230/31 +f 177/231/8 245/232/9 237/233/9 +f 238/234/10 240/235/3 181/236/3 +f 181/236/3 239/237/4 182/238/4 +f 180/239/5 242/240/6 179/241/6 +f 178/242/7 244/243/8 177/231/8 +f 237/233/9 246/244/10 238/234/10 +f 182/238/4 241/245/5 180/246/5 +f 179/241/6 243/247/7 178/242/7 +f 215/248/35 235/249/1 216/250/36 +f 216/250/36 235/251/1 217/252/37 +f 217/253/37 235/254/1 218/255/38 +f 218/255/38 235/256/1 219/257/39 +f 219/257/39 235/258/1 220/259/40 +f 220/259/40 235/260/1 221/261/41 +f 222/262/42 235/263/1 215/248/35 +f 221/261/41 235/264/1 222/262/42 +f 204/265/43 233/266/1 205/267/44 +f 203/268/45 233/269/1 204/265/43 +f 202/270/46 233/271/1 203/268/45 +f 201/272/47 233/273/1 202/270/46 +f 200/274/48 233/275/1 201/276/47 +f 199/277/49 233/278/1 200/274/48 +f 206/279/50 233/280/1 199/277/49 +f 205/267/44 233/281/1 206/279/50 +f 196/282/51 232/283/1 197/284/52 +f 195/285/53 232/286/1 196/282/51 +f 194/287/54 232/288/1 195/285/53 +f 193/289/55 232/290/1 194/287/54 +f 192/291/56 232/292/1 193/293/55 +f 191/294/57 232/295/1 192/291/56 +f 198/296/58 232/297/1 191/294/57 +f 197/284/52 232/298/1 198/296/58 +f 212/299/48 234/300/1 213/301/47 +f 211/302/49 234/303/1 212/299/48 +f 210/304/50 234/305/1 211/302/49 +f 209/306/44 234/307/1 210/304/50 +f 208/308/43 234/309/1 209/310/44 +f 207/311/45 234/312/1 208/308/43 +f 214/313/46 234/314/1 207/311/45 +f 213/301/47 234/315/1 214/313/46 +f 229/316/37 236/317/1 230/318/38 +f 230/318/38 236/319/1 223/320/39 +f 223/320/39 236/321/1 224/322/40 +f 224/322/40 236/323/1 225/324/41 +f 225/325/41 236/326/1 226/327/42 +f 226/327/42 236/328/1 227/329/35 +f 227/329/35 236/330/1 228/331/36 +f 228/331/36 236/332/1 229/316/37 +f 189/333/55 231/334/1 190/335/54 +f 190/335/54 231/336/1 183/337/53 +f 183/337/53 231/338/1 184/339/51 +f 184/339/51 231/340/1 185/341/52 +f 185/342/52 231/343/1 186/344/58 +f 186/344/58 231/345/1 187/346/57 +f 187/346/57 231/347/1 188/348/56 +f 188/348/56 231/349/1 189/333/55 +f 292/350/59 299/351/60 300/352/59 +f 294/353/61 296/354/62 287/355/62 +f 287/355/62 295/356/63 288/357/63 +f 290/358/64 297/359/65 298/360/64 +f 292/350/59 301/361/66 293/362/66 +f 291/363/60 298/364/64 299/365/60 +f 293/362/66 302/366/61 294/353/61 +f 289/367/65 295/368/63 297/369/65 +f 2/57/3 4/60/4 3/58/4 +f 4/60/4 6/370/5 5/61/5 +f 6/62/5 8/65/6 7/63/6 +f 8/65/6 10/67/7 9/66/7 +f 10/67/7 12/69/8 11/68/8 +f 12/69/8 14/71/9 13/70/9 +f 14/71/9 16/73/10 15/72/10 +f 16/73/10 2/57/3 1/59/3 +f 32/74/10 40/86/10 34/75/3 +f 30/77/8 38/87/8 39/78/9 +f 28/80/6 36/89/6 37/81/7 +f 25/83/4 33/90/4 35/84/5 +f 31/79/9 39/78/9 40/86/10 +f 29/82/7 37/81/7 38/87/8 +f 27/88/5 35/371/5 36/89/6 +f 26/76/3 34/75/3 33/90/4 +f 48/91/10 56/103/10 50/92/3 +f 46/94/8 54/104/8 55/95/9 +f 44/97/6 52/106/6 53/98/7 +f 41/100/4 49/107/4 51/101/5 +f 47/96/9 55/95/9 56/103/10 +f 45/99/7 53/98/7 54/104/8 +f 43/105/5 51/372/5 52/106/6 +f 42/93/3 50/92/3 49/107/4 +f 72/108/11 71/226/12 175/109/12 +f 74/111/3 76/114/4 75/112/4 +f 76/114/4 78/373/5 77/115/5 +f 78/116/5 80/119/6 79/117/6 +f 80/119/6 82/121/7 81/120/7 +f 82/121/7 84/123/8 83/122/8 +f 84/123/8 86/125/9 85/124/9 +f 86/125/9 88/127/10 87/126/10 +f 88/127/10 74/111/3 73/113/3 +f 90/128/7 92/131/8 91/129/8 +f 92/131/8 94/374/9 93/132/9 +f 94/133/9 96/136/10 95/134/10 +f 96/136/10 98/138/3 97/137/3 +f 98/138/3 100/140/4 99/139/4 +f 100/140/4 102/142/5 101/141/5 +f 102/142/5 104/144/6 103/143/6 +f 104/144/6 90/128/7 89/130/7 +f 106/145/13 108/148/14 107/146/14 +f 108/148/14 110/375/15 109/149/15 +f 110/150/15 112/153/16 111/151/16 +f 112/153/16 114/155/17 113/154/17 +f 114/155/17 116/157/18 115/156/18 +f 116/157/18 118/159/19 117/158/19 +f 118/159/19 120/161/20 119/160/20 +f 120/161/20 106/145/13 105/147/13 +f 122/162/17 124/165/18 123/163/18 +f 124/165/18 126/376/19 125/166/19 +f 126/167/19 128/170/20 127/168/20 +f 128/170/20 130/172/13 129/171/13 +f 130/172/13 132/174/14 131/173/14 +f 132/174/14 134/176/15 133/175/15 +f 134/176/15 136/178/16 135/177/16 +f 136/178/16 122/162/17 121/164/17 +f 138/179/21 140/182/22 139/180/22 +f 140/182/22 142/377/23 141/183/23 +f 142/184/23 144/187/24 143/185/24 +f 144/187/24 146/189/25 145/188/25 +f 146/189/25 148/191/26 147/190/26 +f 148/191/26 150/193/27 149/192/27 +f 150/193/27 152/195/28 151/194/28 +f 152/195/28 138/179/21 137/181/21 +f 154/196/25 156/199/26 155/197/26 +f 156/199/26 158/378/27 157/200/27 +f 158/201/27 160/204/28 159/202/28 +f 160/204/28 162/206/21 161/205/21 +f 162/206/21 164/208/22 163/207/22 +f 164/208/22 166/210/23 165/209/23 +f 166/210/23 168/212/24 167/211/24 +f 168/212/24 154/196/25 153/198/25 +f 69/213/29 173/379/29 174/214/30 +f 67/216/31 171/380/31 172/217/32 +f 65/219/33 66/222/34 170/220/34 +f 66/222/34 72/108/11 176/223/11 +f 70/215/30 174/381/30 175/225/12 +f 69/213/29 68/218/32 172/227/32 +f 65/219/33 169/382/33 171/229/31 +f 177/231/8 244/243/8 245/232/9 +f 238/234/10 246/244/10 240/235/3 +f 181/236/3 240/235/3 239/237/4 +f 180/239/5 241/383/5 242/240/6 +f 178/242/7 243/247/7 244/243/8 +f 237/233/9 245/232/9 246/244/10 +f 182/238/4 239/237/4 241/245/5 +f 179/241/6 242/240/6 243/247/7 +f 292/350/59 291/363/60 299/351/60 +f 294/353/61 302/384/61 296/354/62 +f 287/355/62 296/385/62 295/356/63 +f 290/358/64 289/386/65 297/359/65 +f 292/350/59 300/387/59 301/361/66 +f 291/363/60 290/358/64 298/364/64 +f 293/362/66 301/388/66 302/366/61 +f 289/367/65 288/357/63 295/368/63 +o BarrelsTop +v 0.625000 2.500000 -0.156250 +v 1.000000 2.500000 -0.156250 +v 0.625000 2.389515 -0.110485 +v 1.000000 2.389515 -0.110485 +v 0.625000 2.343750 0.000000 +v 1.000000 2.343750 0.000000 +v 0.625000 2.389515 0.110485 +v 1.000000 2.389515 0.110485 +v 0.625000 2.500000 0.156250 +v 1.000000 2.500000 0.156250 +v 0.625000 2.610486 0.110485 +v 1.000000 2.610486 0.110485 +v 0.625000 2.656250 -0.000000 +v 1.000000 2.656250 -0.000000 +v 0.625000 2.610486 -0.110485 +v 1.000000 2.610486 -0.110485 +v 1.187500 2.422660 -0.077340 +v 1.187500 2.500000 -0.109375 +v 1.187500 2.390625 0.000000 +v 1.187500 2.422660 0.077340 +v 1.187500 2.500000 0.109375 +v 1.187500 2.577340 0.077340 +v 1.187500 2.609375 -0.000000 +v 1.187500 2.577340 -0.077340 +v 1.875000 2.422660 -0.077340 +v 1.875000 2.500000 -0.109375 +v 1.875000 2.390625 0.000000 +v 1.875000 2.422660 0.077340 +v 1.875000 2.500000 0.109375 +v 1.875000 2.577340 0.077340 +v 1.875000 2.609375 -0.000000 +v 1.875000 2.577340 -0.077340 +v 1.937500 2.422660 -0.077340 +v 1.937500 2.500000 -0.109375 +v 1.937500 2.390625 0.000000 +v 1.937500 2.422660 0.077340 +v 1.937500 2.500000 0.109375 +v 1.937500 2.577340 0.077340 +v 1.937500 2.609375 -0.000000 +v 1.937500 2.577340 -0.077340 +v 2.062500 2.422660 -0.077340 +v 2.062500 2.500000 -0.109375 +v 2.062500 2.390625 0.000000 +v 2.062500 2.422660 0.077340 +v 2.062500 2.500000 0.109375 +v 2.062500 2.577340 0.077340 +v 2.062500 2.609375 -0.000000 +v 2.062500 2.577340 -0.077340 +v 2.125000 2.422660 -0.077340 +v 2.125000 2.500000 -0.109375 +v 2.125000 2.390625 0.000000 +v 2.125000 2.422660 0.077340 +v 2.125000 2.500000 0.109375 +v 2.125000 2.577340 0.077340 +v 2.125000 2.609375 -0.000000 +v 2.125000 2.577340 -0.077340 +v 2.687500 2.422660 -0.077340 +v 2.687500 2.500000 -0.109375 +v 2.687500 2.390625 0.000000 +v 2.687500 2.422660 0.077340 +v 2.687500 2.500000 0.109375 +v 2.687500 2.577340 0.077340 +v 2.687500 2.609375 -0.000000 +v 2.687500 2.577340 -0.077340 +v 3.187500 2.422660 -0.077339 +v 3.187500 2.500000 -0.109375 +v 3.187500 2.390625 0.000000 +v 3.187500 2.422660 0.077340 +v 3.187500 2.500000 0.109375 +v 3.187500 2.577340 0.077340 +v 3.187500 2.609375 0.000000 +v 3.187500 2.577340 -0.077339 +v 1.187500 2.562500 -0.031250 +v 3.187500 2.562500 -0.031250 +v 1.187500 2.540403 -0.022097 +v 3.187500 2.540403 -0.022097 +v 1.187500 2.531250 0.000000 +v 3.187500 2.531250 0.000000 +v 1.187500 2.540403 0.022097 +v 3.187500 2.540403 0.022097 +v 1.187500 2.562500 0.031250 +v 3.187500 2.562500 0.031250 +v 1.187500 2.584598 0.022097 +v 3.187500 2.584597 0.022097 +v 1.187500 2.593750 -0.000000 +v 3.187500 2.593750 -0.000000 +v 1.187500 2.584598 -0.022097 +v 3.187500 2.584597 -0.022097 +v 1.187500 2.437500 0.031250 +v 3.187500 2.437500 0.031250 +v 1.187500 2.459597 0.022097 +v 3.187500 2.459597 0.022097 +v 1.187500 2.468750 -0.000000 +v 3.187500 2.468750 -0.000000 +v 1.187500 2.459597 -0.022097 +v 3.187500 2.459597 -0.022097 +v 1.187500 2.437500 -0.031250 +v 3.187500 2.437500 -0.031250 +v 1.187500 2.415403 -0.022097 +v 3.187500 2.415403 -0.022097 +v 1.187500 2.406250 -0.000000 +v 3.187500 2.406250 -0.000000 +v 1.187500 2.415403 0.022097 +v 3.187500 2.415403 0.022097 +v 1.187500 2.558314 0.038502 +v 3.187500 2.558314 0.038502 +v 1.187500 2.539338 0.023942 +v 3.187500 2.539338 0.023942 +v 1.187500 2.515625 0.027064 +v 3.187500 2.515625 0.027064 +v 1.187500 2.501065 0.046039 +v 3.187500 2.501065 0.046039 +v 1.187500 2.504187 0.069752 +v 3.187500 2.504187 0.069752 +v 1.187500 2.523162 0.084312 +v 3.187500 2.523162 0.084312 +v 1.187500 2.546875 0.081190 +v 3.187500 2.546875 0.081190 +v 1.187500 2.561435 0.062215 +v 3.187500 2.561435 0.062215 +v 1.187500 2.441687 -0.038502 +v 3.187500 2.441687 -0.038502 +v 1.187500 2.460662 -0.023942 +v 3.187500 2.460662 -0.023942 +v 1.187500 2.484375 -0.027064 +v 3.187500 2.484375 -0.027064 +v 1.187500 2.498935 -0.046039 +v 3.187500 2.498935 -0.046039 +v 1.187500 2.495813 -0.069752 +v 3.187500 2.495813 -0.069752 +v 1.187500 2.476838 -0.084312 +v 3.187500 2.476838 -0.084312 +v 1.187500 2.453125 -0.081190 +v 3.187500 2.453125 -0.081190 +v 1.187500 2.438565 -0.062215 +v 3.187500 2.438565 -0.062215 +v 1.187500 2.495813 0.069752 +v 3.187500 2.495814 0.069752 +v 1.187500 2.498935 0.046039 +v 3.187500 2.498935 0.046039 +v 1.187500 2.484375 0.027063 +v 3.187500 2.484375 0.027063 +v 1.187500 2.460662 0.023942 +v 3.187500 2.460662 0.023942 +v 1.187500 2.441687 0.038502 +v 3.187500 2.441687 0.038502 +v 1.187500 2.438565 0.062215 +v 3.187500 2.438565 0.062215 +v 1.187500 2.453125 0.081190 +v 3.187500 2.453125 0.081190 +v 1.187500 2.476838 0.084312 +v 3.187500 2.476838 0.084312 +v 1.187500 2.504187 -0.069752 +v 3.187500 2.504187 -0.069752 +v 1.187500 2.501065 -0.046039 +v 3.187500 2.501065 -0.046039 +v 1.187500 2.515625 -0.027064 +v 3.187500 2.515625 -0.027064 +v 1.187500 2.539338 -0.023942 +v 3.187500 2.539338 -0.023942 +v 1.187500 2.558314 -0.038502 +v 3.187500 2.558314 -0.038502 +v 1.187500 2.561435 -0.062215 +v 3.187500 2.561435 -0.062215 +v 1.187500 2.546875 -0.081190 +v 3.187500 2.546875 -0.081190 +v 1.187500 2.523162 -0.084312 +v 3.187500 2.523162 -0.084312 +v 3.125000 2.441995 -0.058004 +v 3.125000 2.500000 -0.082031 +v 3.125000 2.417969 0.000000 +v 3.125000 2.441995 0.058005 +v 3.125000 2.500000 0.082032 +v 3.125000 2.558005 0.058005 +v 3.125000 2.582031 0.000000 +v 3.125000 2.558005 -0.058004 +v 2.687500 2.577340 0.077340 +v 2.687500 2.500000 0.109375 +v 2.687500 2.422660 0.077340 +v 2.687500 2.390625 0.000000 +v 2.687500 2.500000 -0.109375 +v 2.687500 2.422660 -0.077340 +v 3.187500 2.562500 -0.031250 +v 3.187500 2.540403 -0.022097 +v 3.187500 2.531250 0.000000 +v 3.187500 2.540403 0.022097 +v 3.187500 2.562500 0.031250 +v 3.187500 2.584597 0.022097 +v 3.187500 2.593750 -0.000000 +v 3.187500 2.584597 -0.022097 +v 3.187500 2.437500 0.031250 +v 3.187500 2.459597 0.022097 +v 3.187500 2.468750 -0.000000 +v 3.187500 2.459597 -0.022097 +v 3.187500 2.437500 -0.031250 +v 3.187500 2.415403 -0.022097 +v 3.187500 2.406250 -0.000000 +v 3.187500 2.415403 0.022097 +v 3.187500 2.558314 0.038502 +v 3.187500 2.539338 0.023942 +v 3.187500 2.515625 0.027064 +v 3.187500 2.501065 0.046039 +v 3.187500 2.504187 0.069752 +v 3.187500 2.523162 0.084312 +v 3.187500 2.546875 0.081190 +v 3.187500 2.561435 0.062215 +v 3.187500 2.441687 -0.038502 +v 3.187500 2.460662 -0.023942 +v 3.187500 2.484375 -0.027064 +v 3.187500 2.498935 -0.046039 +v 3.187500 2.495813 -0.069752 +v 3.187500 2.476838 -0.084312 +v 3.187500 2.453125 -0.081190 +v 3.187500 2.438565 -0.062215 +v 3.187500 2.495814 0.069752 +v 3.187500 2.498935 0.046039 +v 3.187500 2.484375 0.027063 +v 3.187500 2.460662 0.023942 +v 3.187500 2.441687 0.038502 +v 3.187500 2.438565 0.062215 +v 3.187500 2.453125 0.081190 +v 3.187500 2.476838 0.084312 +v 3.187500 2.504187 -0.069752 +v 3.187500 2.501065 -0.046039 +v 3.187500 2.515625 -0.027064 +v 3.187500 2.539338 -0.023942 +v 3.187500 2.558314 -0.038502 +v 3.187500 2.561435 -0.062215 +v 3.187500 2.546875 -0.081190 +v 3.187500 2.523162 -0.084312 +v 3.125000 2.562500 0.000000 +v 3.125000 2.437500 -0.000000 +v 3.125000 2.531250 0.054127 +v 3.125000 2.468750 -0.054127 +v 3.125000 2.468750 0.054127 +v 3.125000 2.531250 -0.054127 +v 2.687500 2.609375 -0.000000 +v 2.687500 2.577340 -0.077340 +v 3.187500 2.422660 -0.077339 +v 3.187500 2.500000 -0.109375 +v 3.187500 2.390625 0.000000 +v 3.187500 2.422660 0.077340 +v 3.187500 2.500000 0.109375 +v 3.187500 2.577340 0.077340 +v 3.187500 2.609375 0.000000 +v 3.187500 2.577340 -0.077339 +v 3.125000 2.441995 -0.058004 +v 3.125000 2.500000 -0.082031 +v 3.125000 2.417969 0.000000 +v 3.125000 2.441995 0.058005 +v 3.125000 2.500000 0.082032 +v 3.125000 2.558005 0.058005 +v 3.125000 2.582031 0.000000 +v 3.125000 2.558005 -0.058004 +v 1.875000 2.422660 -0.077340 +v 1.875000 2.500000 -0.109375 +v 1.875000 2.390625 0.000000 +v 1.875000 2.422660 0.077340 +v 1.875000 2.500000 0.109375 +v 1.875000 2.577340 0.077340 +v 1.875000 2.609375 -0.000000 +v 1.875000 2.577340 -0.077340 +v 1.937500 2.422660 -0.077340 +v 1.937500 2.500000 -0.109375 +v 1.937500 2.390625 0.000000 +v 1.937500 2.422660 0.077340 +v 1.937500 2.500000 0.109375 +v 1.937500 2.577340 0.077340 +v 1.937500 2.609375 -0.000000 +v 1.937500 2.577340 -0.077340 +v 2.062500 2.422660 -0.077340 +v 2.062500 2.500000 -0.109375 +v 2.062500 2.390625 0.000000 +v 2.062500 2.422660 0.077340 +v 2.062500 2.500000 0.109375 +v 2.062500 2.577340 0.077340 +v 2.062500 2.609375 -0.000000 +v 2.062500 2.577340 -0.077340 +v 2.125000 2.422660 -0.077340 +v 2.125000 2.500000 -0.109375 +v 2.125000 2.390625 0.000000 +v 2.125000 2.422660 0.077340 +v 2.125000 2.500000 0.109375 +v 2.125000 2.577340 0.077340 +v 2.125000 2.609375 -0.000000 +v 2.125000 2.577340 -0.077340 +v 1.000000 2.500000 -0.156250 +v 1.000000 2.389515 -0.110485 +v 1.000000 2.343750 0.000000 +v 1.000000 2.389515 0.110485 +v 1.000000 2.500000 0.156250 +v 1.000000 2.610486 0.110485 +v 1.000000 2.656250 -0.000000 +v 1.000000 2.610486 -0.110485 +v 1.187500 2.422660 -0.077340 +v 1.187500 2.500000 -0.109375 +v 1.187500 2.390625 0.000000 +v 1.187500 2.422660 0.077340 +v 1.187500 2.500000 0.109375 +v 1.187500 2.577340 0.077340 +v 1.187500 2.609375 -0.000000 +v 1.187500 2.577340 -0.077340 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.613342 0.616465 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.279379 0.630240 +vt 0.279379 0.580070 +vt 0.303030 0.544595 +vt 0.719991 0.550202 +vt 0.688754 0.663320 +vt 0.613342 0.616465 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.688754 0.503346 +vt 0.719991 0.550202 +vt 0.719991 0.616465 +vt 0.688754 0.663320 +vt 0.644579 0.663320 +vt 0.336476 0.544595 +vt 0.360127 0.580070 +vt 0.360127 0.630240 +vt 0.336476 0.665715 +vt 0.303030 0.665715 +vt 0.719991 0.616465 +vt 0.644579 0.663320 +vt 0.613342 0.550202 +vt 0.644579 0.503346 +vt 0.688754 0.503346 +vt 0.833333 0.166667 +vt 1.000000 0.083333 +vt 1.000000 0.166667 +vt 0.833333 0.083333 +vt 1.000000 0.000000 +vt 0.833333 0.666667 +vt 1.000000 0.583333 +vt 1.000000 0.666667 +vt 0.833333 0.583333 +vt 1.000000 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.416667 +vt 0.833333 0.416667 +vt 1.000000 0.333333 +vt 0.833333 0.333333 +vt 1.000000 0.250000 +vt 0.833333 0.250000 +vt 0.750000 0.250000 +vt 0.722222 0.166667 +vt 0.750000 0.166667 +vt 0.750000 0.416667 +vt 0.722222 0.333333 +vt 0.750000 0.333333 +vt 0.750000 0.583333 +vt 0.722222 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.083333 +vt 0.722222 -0.000000 +vt 0.750000 -0.000000 +vt 0.722222 0.250000 +vt 0.722222 0.416667 +vt 0.750000 0.666667 +vt 0.722222 0.583333 +vt 0.722222 0.083333 +vt 0.750000 0.250000 +vt 0.722222 0.166667 +vt 0.750000 0.166667 +vt 0.750000 0.416667 +vt 0.722222 0.333333 +vt 0.750000 0.333333 +vt 0.750000 0.583333 +vt 0.722222 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.083333 +vt 0.722222 -0.000000 +vt 0.750000 -0.000000 +vt 0.722222 0.250000 +vt 0.722222 0.416667 +vt 0.750000 0.666667 +vt 0.722222 0.583333 +vt 0.722222 0.083333 +vt 0.388889 0.250000 +vt 0.361111 0.333333 +vt 0.361111 0.291667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.111111 0.750000 +vt 1.000000 0.708333 +vt 1.000000 0.750000 +vt 0.111111 0.708333 +vt 1.000000 0.666667 +vt 0.111111 1.000000 +vt 1.000000 0.958333 +vt 1.000000 1.000000 +vt 0.111111 0.958333 +vt 1.000000 0.916667 +vt 0.111111 0.916667 +vt 1.000000 0.875000 +vt 0.111111 0.875000 +vt 1.000000 0.833333 +vt 0.111111 0.833333 +vt 1.000000 0.791667 +vt 0.111111 0.791667 +vt 0.388889 0.500000 +vt 0.361111 0.458333 +vt 0.388889 0.416667 +vt 0.388889 0.666667 +vt 0.361111 0.625000 +vt 0.388889 0.583333 +vt 0.388889 0.083333 +vt 0.361111 0.166667 +vt 0.361111 0.125000 +vt 0.388889 0.166667 +vt 0.361111 0.250000 +vt 0.361111 0.208333 +vt 0.361111 0.375000 +vt 0.388889 0.333333 +vt 0.361111 0.583333 +vt 0.361111 0.541667 +vt 0.361111 0.041667 +vt 0.388889 -0.000000 +vt 0.611111 0.416667 +vt 0.388889 0.333333 +vt 0.611111 0.333333 +vt 0.611111 0.250000 +vt 0.388889 0.166667 +vt 0.611111 0.166667 +vt 0.388889 0.083333 +vt 0.611111 0.083333 +vt 0.611111 0.666667 +vt 0.388889 0.583333 +vt 0.611111 0.583333 +vt 0.611111 0.500000 +vt 0.388889 0.416667 +vt 0.388889 0.250000 +vt 0.388889 -0.000000 +vt 0.611111 -0.000000 +vt 0.388889 0.500000 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.000000 0.833333 +vt 0.111111 0.833333 +vt 0.000000 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.111111 0.833333 +vt 0.000000 0.833333 +vt 0.111111 0.791667 +vt 0.000000 0.791667 +vt 0.111111 0.750000 +vt 0.000000 0.750000 +vt 0.111111 0.708333 +vt 0.000000 0.708333 +vt 0.111111 0.666667 +vt 0.111111 1.000000 +vt 0.000000 1.000000 +vt 0.111111 0.958333 +vt 0.000000 0.958333 +vt 0.111111 0.916667 +vt 0.000000 0.916667 +vt 0.111111 0.875000 +vt 0.000000 0.875000 +vt 0.833333 0.416667 +vt 0.750000 0.500000 +vt 0.750000 0.458333 +vt 0.833333 0.250000 +vt 0.750000 0.208333 +vt 0.833333 0.166667 +vt 0.750000 0.125000 +vt 0.833333 0.083333 +vt 0.833333 0.583333 +vt 0.750000 0.666667 +vt 0.750000 0.625000 +vt 0.750000 0.375000 +vt 0.833333 0.333333 +vt 0.833333 0.500000 +vt 0.750000 0.583333 +vt 0.750000 0.541667 +vt 0.750000 0.291667 +vt 0.833333 0.000000 +vt 0.750000 0.083333 +vt 0.750000 0.041667 +vt 0.833333 0.000000 +vt 0.722222 0.666667 +vt 0.722222 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.111111 0.666667 +vt 0.361111 0.500000 +vt 0.361111 0.666667 +vt 0.361111 0.416667 +vt 0.361111 0.083333 +vt 0.388889 0.666667 +vt 0.750000 0.250000 +vt 0.750000 0.166667 +vt 0.833333 0.666667 +vt 0.750000 0.416667 +vt 0.750000 0.333333 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.4008 -0.6478 0.6478 +vn 0.4008 -0.9161 0.0000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.9659 -0.2588 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.9659 0.2588 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.9659 -0.2588 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.2588 -0.9659 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.9659 0.2588 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.2588 0.9659 +vn 0.4008 0.0000 -0.9161 +vn 0.4008 -0.6478 -0.6478 +vn 0.4008 0.9161 0.0000 +vn 0.4008 0.6478 -0.6478 +vn 0.4008 0.6478 0.6478 +vn 0.4008 0.0000 0.9161 +vn 0.4472 -0.7746 -0.4472 +vn 0.4472 -0.8639 0.2315 +vn 0.4472 -0.4472 0.7746 +vn 0.4472 0.2315 0.8639 +vn 0.4472 0.7746 0.4472 +vn 0.4472 0.8639 -0.2315 +vn 0.4472 0.4472 -0.7746 +vn 0.4472 -0.2315 -0.8639 +vn 0.4472 0.2315 -0.8639 +vn 0.4472 -0.4472 -0.7746 +vn 0.4472 0.7746 -0.4472 +vn 0.4472 0.8639 0.2315 +vn 0.4472 0.4472 0.7746 +vn 0.4472 -0.2315 0.8639 +vn 0.4472 -0.7746 0.4472 +vn 0.4472 -0.8639 -0.2315 +vn 0.4472 0.6324 0.6324 +vn 0.4472 0.8944 0.0000 +vn 0.4472 0.0000 0.8944 +vn 0.4472 -0.6324 0.6324 +vn 0.4472 -0.8944 0.0000 +vn 0.4472 -0.6324 -0.6324 +vn 0.4472 0.0000 -0.8944 +vn 0.4472 0.6324 -0.6324 +vn 0.2425 0.6860 0.6860 +vn 0.2425 0.0000 0.9701 +vn 0.2425 0.6860 -0.6860 +vn 0.2425 0.0000 -0.9701 +vn 0.2425 -0.6860 -0.6860 +vn 0.2425 -0.6860 0.6860 +vn 0.2425 -0.9701 0.0000 +vn 0.2425 0.9701 0.0000 +s off +f 323/389/67 322/390/67 321/391/67 +f 360/392/68 361/393/68 363/394/68 +f 585/395/67 584/396/67 583/397/67 +f 574/398/68 575/399/68 577/400/68 +f 569/401/67 568/402/67 567/403/67 +f 553/404/67 552/405/67 551/406/67 +f 558/407/68 559/408/68 561/409/68 +f 321/391/67 319/410/67 320/411/67 +f 320/411/67 326/412/67 321/391/67 +f 326/412/67 325/413/67 321/391/67 +f 325/413/67 324/414/67 321/391/67 +f 324/414/67 323/389/67 321/391/67 +f 360/392/68 359/415/68 361/393/68 +f 361/393/68 362/416/68 363/394/68 +f 363/394/68 364/417/68 365/418/68 +f 365/418/68 366/419/68 363/394/68 +f 366/419/68 360/392/68 363/394/68 +f 583/397/67 581/420/67 582/421/67 +f 582/421/67 588/422/67 583/397/67 +f 588/422/67 587/423/67 583/397/67 +f 587/423/67 586/424/67 583/397/67 +f 586/424/67 585/395/67 583/397/67 +f 574/398/68 573/425/68 575/399/68 +f 575/399/68 576/426/68 577/400/68 +f 577/400/68 578/427/68 579/428/68 +f 579/428/68 580/429/68 577/400/68 +f 580/429/68 574/398/68 577/400/68 +f 567/403/67 565/430/67 566/431/67 +f 566/431/67 572/432/67 567/403/67 +f 572/432/67 571/433/67 567/403/67 +f 571/433/67 570/434/67 567/403/67 +f 570/434/67 569/401/67 567/403/67 +f 551/406/67 549/435/67 550/436/67 +f 550/436/67 556/437/67 551/406/67 +f 556/437/67 555/438/67 551/406/67 +f 555/438/67 554/439/67 551/406/67 +f 554/439/67 553/404/67 551/406/67 +f 558/407/68 557/440/68 559/408/68 +f 559/408/68 560/441/68 561/409/68 +f 561/409/68 562/442/68 563/443/68 +f 563/443/68 564/444/68 561/409/68 +f 564/444/68 558/407/68 561/409/68 +s 1 +f 304/445/69 305/446/70 303/447/69 +f 306/448/70 307/449/71 305/446/70 +f 308/450/71 309/451/72 307/452/71 +f 310/453/72 311/454/73 309/451/72 +f 312/455/73 313/456/74 311/454/73 +f 314/457/74 315/458/75 313/456/74 +f 316/459/75 317/460/76 315/458/75 +f 318/461/76 303/447/69 317/460/76 +f 334/462/76 336/463/69 328/464/69 +f 332/465/74 341/466/75 333/467/75 +f 330/468/72 339/469/73 331/470/73 +f 327/471/70 337/472/71 329/473/71 +f 333/467/75 342/474/76 334/462/76 +f 331/470/73 340/475/74 332/465/74 +f 329/476/71 338/477/72 330/468/72 +f 328/464/69 335/478/70 327/471/70 +f 350/479/76 352/480/69 344/481/69 +f 348/482/74 357/483/75 349/484/75 +f 346/485/72 355/486/73 347/487/73 +f 343/488/70 353/489/71 345/490/71 +f 349/484/75 358/491/76 350/479/76 +f 347/487/73 356/492/74 348/482/74 +f 345/493/71 354/494/72 346/485/72 +f 344/481/69 351/495/70 343/488/70 +f 374/496/77 477/497/78 478/498/77 +f 376/499/69 377/500/70 375/501/69 +f 378/502/70 379/503/71 377/500/70 +f 380/504/71 381/505/72 379/506/71 +f 382/507/72 383/508/73 381/505/72 +f 384/509/73 385/510/74 383/508/73 +f 386/511/74 387/512/75 385/510/74 +f 388/513/75 389/514/76 387/512/75 +f 390/515/76 375/501/69 389/514/76 +f 392/516/73 393/517/74 391/518/73 +f 394/519/74 395/520/75 393/517/74 +f 396/521/75 397/522/76 395/523/75 +f 398/524/76 399/525/69 397/522/76 +f 400/526/69 401/527/70 399/525/69 +f 402/528/70 403/529/71 401/527/70 +f 404/530/71 405/531/72 403/529/71 +f 406/532/72 391/518/73 405/531/72 +f 408/533/79 409/534/80 407/535/79 +f 410/536/80 411/537/81 409/534/80 +f 412/538/81 413/539/82 411/540/81 +f 414/541/82 415/542/83 413/539/82 +f 416/543/83 417/544/84 415/542/83 +f 418/545/84 419/546/85 417/544/84 +f 420/547/85 421/548/86 419/546/85 +f 422/549/86 407/535/79 421/548/86 +f 424/550/83 425/551/84 423/552/83 +f 426/553/84 427/554/85 425/551/84 +f 428/555/85 429/556/86 427/557/85 +f 430/558/86 431/559/79 429/556/86 +f 432/560/79 433/561/80 431/559/79 +f 434/562/80 435/563/81 433/561/80 +f 436/564/81 437/565/82 435/563/81 +f 438/566/82 423/552/83 437/565/82 +f 440/567/87 441/568/88 439/569/87 +f 442/570/88 443/571/89 441/568/88 +f 444/572/89 445/573/90 443/574/89 +f 446/575/90 447/576/91 445/573/90 +f 448/577/91 449/578/92 447/576/91 +f 450/579/92 451/580/93 449/578/92 +f 452/581/93 453/582/94 451/580/93 +f 454/583/94 439/569/87 453/582/94 +f 456/584/91 457/585/92 455/586/91 +f 458/587/92 459/588/93 457/585/92 +f 460/589/93 461/590/94 459/591/93 +f 462/592/94 463/593/87 461/590/94 +f 464/594/87 465/595/88 463/593/87 +f 466/596/88 467/597/89 465/595/88 +f 468/598/89 469/599/90 467/597/89 +f 470/600/90 455/586/91 469/599/90 +f 371/601/95 476/602/96 372/603/96 +f 369/604/97 474/605/98 370/606/98 +f 367/607/99 472/608/100 471/609/99 +f 368/610/100 478/611/77 472/612/100 +f 372/603/96 477/613/78 373/614/78 +f 371/601/95 474/615/98 475/616/95 +f 367/607/99 473/617/97 369/618/97 +f 479/619/74 547/620/75 539/621/75 +f 540/622/76 542/623/69 483/624/69 +f 483/624/69 541/625/70 484/626/70 +f 482/627/71 544/628/72 481/629/72 +f 480/630/73 546/631/74 479/619/74 +f 539/621/75 548/632/76 540/622/76 +f 484/626/70 543/633/71 482/634/71 +f 481/629/72 545/635/73 480/630/73 +f 517/636/101 537/637/67 518/638/102 +f 518/638/102 537/639/67 519/640/103 +f 519/641/103 537/642/67 520/643/104 +f 520/643/104 537/644/67 521/645/105 +f 521/645/105 537/646/67 522/647/106 +f 522/647/106 537/648/67 523/649/107 +f 524/650/108 537/651/67 517/636/101 +f 523/649/107 537/652/67 524/650/108 +f 506/653/109 535/654/67 507/655/110 +f 505/656/111 535/657/67 506/653/109 +f 504/658/112 535/659/67 505/656/111 +f 503/660/113 535/661/67 504/658/112 +f 502/662/114 535/663/67 503/664/113 +f 501/665/115 535/666/67 502/662/114 +f 508/667/116 535/668/67 501/665/115 +f 507/655/110 535/669/67 508/667/116 +f 498/670/117 534/671/67 499/672/118 +f 497/673/119 534/674/67 498/670/117 +f 496/675/120 534/676/67 497/673/119 +f 495/677/121 534/678/67 496/675/120 +f 494/679/122 534/680/67 495/681/121 +f 493/682/123 534/683/67 494/679/122 +f 500/684/124 534/685/67 493/682/123 +f 499/672/118 534/686/67 500/684/124 +f 514/687/114 536/688/67 515/689/113 +f 513/690/115 536/691/67 514/687/114 +f 512/692/116 536/693/67 513/690/115 +f 511/694/110 536/695/67 512/692/116 +f 510/696/109 536/697/67 511/698/110 +f 509/699/111 536/700/67 510/696/109 +f 516/701/112 536/702/67 509/699/111 +f 515/689/113 536/703/67 516/701/112 +f 531/704/103 538/705/67 532/706/104 +f 532/706/104 538/707/67 525/708/105 +f 525/708/105 538/709/67 526/710/106 +f 526/710/106 538/711/67 527/712/107 +f 527/713/107 538/714/67 528/715/108 +f 528/715/108 538/716/67 529/717/101 +f 529/717/101 538/718/67 530/719/102 +f 530/719/102 538/720/67 531/704/103 +f 491/721/121 533/722/67 492/723/120 +f 492/723/120 533/724/67 485/725/119 +f 485/725/119 533/726/67 486/727/117 +f 486/727/117 533/728/67 487/729/118 +f 487/730/118 533/731/67 488/732/124 +f 488/732/124 533/733/67 489/734/123 +f 489/734/123 533/735/67 490/736/122 +f 490/736/122 533/737/67 491/721/121 +f 594/738/125 601/739/126 602/740/125 +f 596/741/127 598/742/128 589/743/128 +f 589/743/128 597/744/129 590/745/129 +f 592/746/130 599/747/131 600/748/130 +f 594/738/125 603/749/132 595/750/132 +f 593/751/126 600/752/130 601/753/126 +f 595/750/132 604/754/127 596/741/127 +f 591/755/131 597/756/129 599/757/131 +f 304/445/69 306/448/70 305/446/70 +f 306/448/70 308/758/71 307/449/71 +f 308/450/71 310/453/72 309/451/72 +f 310/453/72 312/455/73 311/454/73 +f 312/455/73 314/457/74 313/456/74 +f 314/457/74 316/459/75 315/458/75 +f 316/459/75 318/461/76 317/460/76 +f 318/461/76 304/445/69 303/447/69 +f 334/462/76 342/474/76 336/463/69 +f 332/465/74 340/475/74 341/466/75 +f 330/468/72 338/477/72 339/469/73 +f 327/471/70 335/478/70 337/472/71 +f 333/467/75 341/466/75 342/474/76 +f 331/470/73 339/469/73 340/475/74 +f 329/476/71 337/759/71 338/477/72 +f 328/464/69 336/463/69 335/478/70 +f 350/479/76 358/491/76 352/480/69 +f 348/482/74 356/492/74 357/483/75 +f 346/485/72 354/494/72 355/486/73 +f 343/488/70 351/495/70 353/489/71 +f 349/484/75 357/483/75 358/491/76 +f 347/487/73 355/486/73 356/492/74 +f 345/493/71 353/760/71 354/494/72 +f 344/481/69 352/480/69 351/495/70 +f 374/496/77 373/614/78 477/497/78 +f 376/499/69 378/502/70 377/500/70 +f 378/502/70 380/761/71 379/503/71 +f 380/504/71 382/507/72 381/505/72 +f 382/507/72 384/509/73 383/508/73 +f 384/509/73 386/511/74 385/510/74 +f 386/511/74 388/513/75 387/512/75 +f 388/513/75 390/515/76 389/514/76 +f 390/515/76 376/499/69 375/501/69 +f 392/516/73 394/519/74 393/517/74 +f 394/519/74 396/762/75 395/520/75 +f 396/521/75 398/524/76 397/522/76 +f 398/524/76 400/526/69 399/525/69 +f 400/526/69 402/528/70 401/527/70 +f 402/528/70 404/530/71 403/529/71 +f 404/530/71 406/532/72 405/531/72 +f 406/532/72 392/516/73 391/518/73 +f 408/533/79 410/536/80 409/534/80 +f 410/536/80 412/763/81 411/537/81 +f 412/538/81 414/541/82 413/539/82 +f 414/541/82 416/543/83 415/542/83 +f 416/543/83 418/545/84 417/544/84 +f 418/545/84 420/547/85 419/546/85 +f 420/547/85 422/549/86 421/548/86 +f 422/549/86 408/533/79 407/535/79 +f 424/550/83 426/553/84 425/551/84 +f 426/553/84 428/764/85 427/554/85 +f 428/555/85 430/558/86 429/556/86 +f 430/558/86 432/560/79 431/559/79 +f 432/560/79 434/562/80 433/561/80 +f 434/562/80 436/564/81 435/563/81 +f 436/564/81 438/566/82 437/565/82 +f 438/566/82 424/550/83 423/552/83 +f 440/567/87 442/570/88 441/568/88 +f 442/570/88 444/765/89 443/571/89 +f 444/572/89 446/575/90 445/573/90 +f 446/575/90 448/577/91 447/576/91 +f 448/577/91 450/579/92 449/578/92 +f 450/579/92 452/581/93 451/580/93 +f 452/581/93 454/583/94 453/582/94 +f 454/583/94 440/567/87 439/569/87 +f 456/584/91 458/587/92 457/585/92 +f 458/587/92 460/766/93 459/588/93 +f 460/589/93 462/592/94 461/590/94 +f 462/592/94 464/594/87 463/593/87 +f 464/594/87 466/596/88 465/595/88 +f 466/596/88 468/598/89 467/597/89 +f 468/598/89 470/600/90 469/599/90 +f 470/600/90 456/584/91 455/586/91 +f 371/601/95 475/767/95 476/602/96 +f 369/604/97 473/768/97 474/605/98 +f 367/607/99 368/610/100 472/608/100 +f 368/610/100 374/496/77 478/611/77 +f 372/603/96 476/769/96 477/613/78 +f 371/601/95 370/606/98 474/615/98 +f 367/607/99 471/770/99 473/617/97 +f 479/619/74 546/631/74 547/620/75 +f 540/622/76 548/632/76 542/623/69 +f 483/624/69 542/623/69 541/625/70 +f 482/627/71 543/771/71 544/628/72 +f 480/630/73 545/635/73 546/631/74 +f 539/621/75 547/620/75 548/632/76 +f 484/626/70 541/625/70 543/633/71 +f 481/629/72 544/628/72 545/635/73 +f 594/738/125 593/751/126 601/739/126 +f 596/741/127 604/772/127 598/742/128 +f 589/743/128 598/773/128 597/744/129 +f 592/746/130 591/774/131 599/747/131 +f 594/738/125 602/775/125 603/749/132 +f 593/751/126 592/746/130 600/752/130 +f 595/750/132 603/776/132 604/754/127 +f 591/755/131 590/745/129 597/756/129 +o Body +v -0.375000 1.875000 0.375000 +v -0.375000 2.625000 0.375000 +v -0.375000 1.875000 -0.375000 +v -0.375000 2.625000 -0.375000 +v 0.625000 1.875000 0.375000 +v 0.625000 2.625000 0.375000 +v 0.625000 1.875000 -0.375000 +v 0.625000 2.625000 -0.375000 +v -0.062500 2.187500 -0.437500 +v -0.062500 2.312500 -0.437500 +v -0.062500 2.187500 -0.500000 +v -0.062500 2.312500 -0.500000 +v 0.062500 2.187500 -0.437500 +v 0.062500 2.312500 -0.437500 +v 0.062500 2.187500 -0.500000 +v 0.062500 2.312500 -0.500000 +v -0.062500 2.187500 0.500000 +v -0.062500 2.312500 0.500000 +v -0.062500 2.187500 0.437500 +v -0.062500 2.312500 0.437500 +v 0.062500 2.187500 0.500000 +v 0.062500 2.312500 0.500000 +v 0.062500 2.187500 0.437500 +v 0.062500 2.312500 0.437500 +v -0.500000 2.750000 0.125000 +v -0.500000 2.750000 -0.125000 +v 0.625000 2.750000 -0.125000 +v 0.625000 2.750000 0.125000 +v -0.500000 1.750000 -0.125000 +v -0.500000 1.750000 0.125000 +v 0.625000 1.750000 -0.125000 +v 0.625000 1.750000 0.125000 +v 0.625000 2.625000 -0.375000 +v 1.125000 2.625000 0.125000 +v 0.625000 1.875000 -0.375000 +v 1.125000 2.625000 -0.125000 +v 1.125000 1.875000 0.125000 +v 0.625000 2.625000 0.375000 +v 1.125000 1.875000 -0.125000 +v 0.625000 1.875000 0.375000 +v 0.625000 2.750000 -0.125000 +v 0.625000 2.750000 0.125000 +v 0.625000 1.750000 -0.125000 +v 0.625000 1.750000 0.125000 +v -1.250000 1.750000 0.125000 +v -1.250000 1.750000 -0.125000 +v -0.500000 2.750000 -0.125000 +v -0.500000 2.750000 0.125000 +v -1.250000 2.750000 -0.125000 +v -1.250000 2.750000 0.125000 +v -1.250000 2.250000 -0.125000 +v -1.250000 2.250000 0.125000 +v -1.250000 2.375000 0.250000 +v -1.250000 2.625000 0.250000 +v -1.250000 2.625000 -0.250000 +v -1.250000 2.375000 -0.250000 +v -1.250000 1.875000 0.250000 +v -1.250000 2.125000 0.250000 +v -1.250000 2.125000 -0.250000 +v -1.250000 1.875000 -0.250000 +v -0.500000 1.750000 -0.125000 +v -0.437500 1.875000 -0.250000 +v -0.500000 1.750000 0.125000 +v -0.437500 1.875000 0.250000 +v -0.500000 2.250000 -0.125000 +v -0.500000 2.250000 0.125000 +v -0.437500 2.125000 0.250000 +v -0.437500 2.125000 -0.250000 +v -0.437500 2.625000 0.250000 +v -0.437500 2.375000 0.250000 +v -0.437500 2.625000 -0.250000 +v -0.437500 2.375000 -0.250000 +v -0.125000 2.125000 0.437500 +v -0.125000 2.375000 0.437500 +v 0.125000 2.125000 0.437500 +v 0.125000 2.375000 0.437500 +v -0.125000 2.125000 0.375000 +v -0.125000 2.375000 0.375000 +v 0.125000 2.125000 0.375000 +v 0.125000 2.375000 0.375000 +v -0.125000 2.125000 -0.437500 +v -0.125000 2.375000 -0.437500 +v 0.125000 2.125000 -0.437500 +v 0.125000 2.375000 -0.437500 +v -0.125000 2.125000 -0.375000 +v -0.125000 2.375000 -0.375000 +v 0.125000 2.125000 -0.375000 +v 0.125000 2.375000 -0.375000 +v -0.500000 1.375000 -0.375000 +v 0.500000 1.375000 -0.375000 +v -0.500000 1.187500 -0.324759 +v 0.500000 1.187500 -0.324759 +v -0.500000 1.050240 -0.187500 +v 0.500000 1.050240 -0.187500 +v -0.500000 1.000000 0.000000 +v 0.500000 1.000000 0.000000 +v -0.500000 1.050240 0.187500 +v 0.500000 1.050240 0.187500 +v -0.500000 1.187500 0.324760 +v 0.500000 1.187500 0.324760 +v -0.500000 1.375000 0.375000 +v 0.500000 1.375000 0.375000 +v -0.500000 1.562500 0.324760 +v 0.500000 1.562500 0.324760 +v -0.500000 1.699759 0.187500 +v 0.500000 1.699759 0.187500 +v -0.500000 1.750000 0.000000 +v 0.500000 1.750000 0.000000 +v -0.500000 1.699759 -0.187500 +v 0.500000 1.699759 -0.187500 +v -0.500000 1.562500 -0.324759 +v 0.500000 1.562500 -0.324759 +v 0.750000 1.250000 0.187500 +v 0.750000 1.500000 0.187500 +v 0.750000 1.250000 0.062500 +v 0.750000 1.500000 0.062500 +v 0.875000 1.250000 0.187500 +v 0.875000 1.500000 0.187500 +v 0.875000 1.250000 0.125000 +v 0.875000 1.500000 0.125000 +v 0.812500 1.281250 0.187500 +v 0.812500 1.468750 0.187500 +v 0.750000 1.281250 0.187500 +v 0.750000 1.468750 0.187500 +v 0.812500 1.281250 0.375000 +v 0.812500 1.468750 0.375000 +v 0.750000 1.281250 0.312500 +v 0.750000 1.468750 0.312500 +v 0.625000 1.281250 0.437500 +v 0.625000 1.468750 0.437500 +v 0.687500 1.281250 0.500000 +v 0.687500 1.468750 0.500000 +v -0.750000 1.281250 0.500000 +v -0.687500 1.468750 0.500000 +v -0.750000 1.281250 0.437500 +v -0.687500 1.468750 0.437500 +v -0.812500 1.593750 0.500000 +v -0.812500 1.593750 0.437500 +v -1.000000 1.531250 0.500000 +v -1.000000 1.531250 0.437500 +v -0.812500 2.156250 0.500000 +v -0.812500 2.093750 0.437500 +v -1.000000 2.156250 0.500000 +v -1.000000 2.093750 0.437500 +v -0.812500 2.218750 0.312500 +v -1.000000 2.218750 0.312500 +v -0.812500 2.281250 0.375000 +v -1.000000 2.281250 0.375000 +v -0.812500 2.281250 0.125000 +v -1.000000 2.281250 0.125000 +v -0.812500 2.218750 0.125000 +v -1.000000 2.218750 0.125000 +v -1.375000 2.625000 0.125000 +v -1.375000 2.625000 -0.125000 +v -1.375000 2.375000 -0.125000 +v -1.375000 2.375000 0.125000 +v -1.375000 1.875000 0.125000 +v -1.375000 1.875000 -0.125000 +v -1.375000 2.125000 -0.125000 +v -1.375000 2.125000 0.125000 +v -1.250000 2.125000 -0.125000 +v -1.250000 1.875000 -0.125000 +v -1.250000 1.875000 0.125000 +v -1.250000 2.125000 0.125000 +v -1.250000 2.625000 -0.125000 +v -1.250000 2.375000 -0.125000 +v -1.250000 2.375000 0.125000 +v -1.250000 2.625000 0.125000 +v 0.375000 2.750000 -0.375000 +v 0.000000 2.750000 -0.375000 +v 0.375000 2.750000 -0.187500 +v 0.000000 2.750000 -0.187500 +v 0.375000 2.937500 -0.375000 +v 0.000000 2.937500 -0.375000 +v 0.250000 2.781250 -0.385000 +v 0.250000 2.906250 -0.385000 +v 0.375000 3.062500 -0.312500 +v 0.000000 3.062500 -0.312500 +v 0.375000 3.062500 -0.187500 +v 0.000000 3.062500 -0.187500 +v 0.125000 2.781250 -0.385000 +v 0.125000 2.906250 -0.385000 +v 0.062500 2.937500 -0.187500 +v 0.125000 2.937500 -0.187500 +v 0.062500 2.937500 -0.125000 +v 0.125000 2.937500 -0.125000 +v 0.062500 2.687500 -0.187500 +v 0.125000 2.687500 -0.187500 +v 0.062500 2.687500 -0.125000 +v 0.125000 2.687500 -0.125000 +v 0.250000 2.937500 -0.187500 +v 0.312500 2.937500 -0.187500 +v 0.250000 2.937500 -0.125000 +v 0.312500 2.937500 -0.125000 +v 0.250000 2.687500 -0.187500 +v 0.312500 2.687500 -0.187500 +v 0.250000 2.687500 -0.125000 +v 0.312500 2.687500 -0.125000 +v 0.375000 2.781250 -0.343750 +v 0.375000 2.781250 -0.218750 +v 0.375000 2.843750 -0.343750 +v 0.375000 2.843750 -0.218750 +v 0.375000 2.906250 -0.218750 +v 0.375000 3.031250 -0.218750 +v 0.375000 2.906250 -0.281250 +v 0.375000 3.031250 -0.281250 +v 0.395000 2.781250 -0.218750 +v 0.395000 2.781250 -0.343750 +v 0.395000 2.843750 -0.218750 +v 0.395000 2.843750 -0.343750 +v 0.395000 2.906250 -0.218750 +v 0.395000 3.031250 -0.218750 +v 0.395000 2.906250 -0.281250 +v 0.395000 3.031250 -0.281250 +v 0.750000 1.215625 -0.276046 +v 0.750000 1.375000 -0.318750 +v 0.750000 1.098954 -0.159375 +v 0.750000 1.056250 0.000000 +v 0.750000 1.098954 0.159375 +v 0.750000 1.215625 0.276046 +v 0.750000 1.375000 0.318750 +v 0.750000 1.534375 0.276046 +v 0.750000 1.651045 0.159375 +v 0.750000 1.693750 0.000000 +v 0.750000 1.651045 -0.159375 +v 0.750000 1.534375 -0.276045 +v -0.500000 1.375000 -0.375000 +v -0.500000 1.187500 -0.324759 +v -0.500000 1.050240 -0.187500 +v -0.500000 1.000000 0.000000 +v -0.500000 1.050240 0.187500 +v -0.500000 1.187500 0.324760 +v -0.500000 1.375000 0.375000 +v -0.500000 1.562500 0.324760 +v -0.500000 1.699759 0.187500 +v -0.500000 1.750000 0.000000 +v -0.500000 1.699759 -0.187500 +v -0.500000 1.562500 -0.324759 +v 0.500000 1.375000 -0.375000 +v 0.500000 1.187500 -0.324759 +v 0.500000 1.050240 -0.187500 +v 0.500000 1.000000 0.000000 +v 0.500000 1.050240 0.187500 +v 0.500000 1.187500 0.324760 +v 0.500000 1.375000 0.375000 +v 0.500000 1.562500 0.324760 +v 0.500000 1.699759 0.187500 +v 0.500000 1.750000 0.000000 +v 0.500000 1.699759 -0.187500 +v 0.500000 1.562500 -0.324759 +v 0.750000 1.215625 -0.276046 +v 0.750000 1.375000 -0.318750 +v 0.750000 1.098954 -0.159375 +v 0.750000 1.056250 0.000000 +v 0.750000 1.098954 0.159375 +v 0.750000 1.215625 0.276046 +v 0.750000 1.375000 0.318750 +v 0.750000 1.534375 0.276046 +v 0.750000 1.651045 0.159375 +v 0.750000 1.693750 0.000000 +v 0.750000 1.651045 -0.159375 +v 0.750000 1.534375 -0.276045 +v 0.625000 2.625000 -0.375000 +v 1.125000 2.625000 0.125000 +v 0.625000 1.875000 -0.375000 +v 1.125000 2.625000 -0.125000 +v 1.125000 1.875000 0.125000 +v 0.625000 2.625000 0.375000 +v 1.125000 1.875000 -0.125000 +v 0.625000 1.875000 0.375000 +v 0.625000 2.750000 -0.125000 +v 0.625000 2.750000 0.125000 +v 0.625000 1.750000 -0.125000 +v 0.625000 1.750000 0.125000 +vt 0.320755 0.642857 +vt 0.452830 0.571429 +vt 0.471698 0.642857 +vt 0.301887 0.571429 +vt 0.150943 0.357143 +vt 0.301887 0.357143 +vt 0.528302 0.196429 +vt 0.443396 0.410714 +vt 0.443396 0.196429 +vt 0.150943 0.785714 +vt 0.301887 1.000000 +vt 0.150943 1.000000 +vt 0.481132 0.035714 +vt 0.443396 0.035714 +vt 0.150943 0.642857 +vt 0.150943 0.571429 +vt 0.311321 0.964286 +vt 0.330189 0.946429 +vt 0.330189 0.964286 +vt 0.311321 0.964286 +vt 0.330189 0.946429 +vt 0.330189 0.964286 +vt 0.405660 0.946429 +vt 0.386792 0.964286 +vt 0.386792 0.946429 +vt 0.405660 0.946429 +vt 0.386792 0.964286 +vt 0.386792 0.946429 +vt 0.367925 0.946429 +vt 0.349057 0.964286 +vt 0.349057 0.946429 +vt 0.443396 0.946429 +vt 0.424528 0.964286 +vt 0.424528 0.946429 +vt 0.349057 0.964286 +vt 0.367925 0.946429 +vt 0.367925 0.964286 +vt 0.424528 0.964286 +vt 0.443396 0.946429 +vt 0.443396 0.964286 +vt 0.150943 0.714286 +vt 0.405660 0.035714 +vt 0.405660 0.196429 +vt 0.367925 0.035714 +vt 0.452830 0.785714 +vt 0.320755 0.714286 +vt 0.471698 0.714286 +vt 0.301887 0.785714 +vt 0.150943 0.285714 +vt 0.320755 0.214286 +vt 0.320755 0.285714 +vt 0.301887 0.142857 +vt 0.150943 0.214286 +vt 0.150943 0.142857 +vt 0.443396 0.571429 +vt 0.481132 0.571429 +vt 0.405660 0.410714 +vt 0.405660 0.571429 +vt 0.367925 0.571429 +vt 0.000000 0.714286 +vt 0.000000 0.642857 +vt 0.320755 0.196429 +vt 0.660377 0.392857 +vt 0.547170 0.446429 +vt 0.528302 0.392857 +vt 0.660377 0.821429 +vt 0.528302 0.750000 +vt 0.660377 0.750000 +vt 0.528302 0.321429 +vt 0.660377 0.321429 +vt 0.537736 0.267857 +vt 0.660377 0.267857 +vt 0.660377 0.571429 +vt 0.547170 0.517857 +vt 0.660377 0.517857 +vt 0.735849 0.875000 +vt 0.754717 0.839286 +vt 0.792453 0.839286 +vt 0.735849 0.946429 +vt 0.679245 0.982143 +vt 0.660377 0.875000 +vt 0.660377 0.446429 +vt 0.547170 0.875000 +vt 0.528302 0.821429 +vt 0.660377 0.642857 +vt 0.537736 0.696429 +vt 0.528302 0.642857 +vt 0.660377 1.000000 +vt 0.547170 0.946429 +vt 0.660377 0.946429 +vt 0.660377 0.214286 +vt 0.528302 0.142857 +vt 0.660377 0.142857 +vt 0.528302 0.214286 +vt 0.528302 0.571429 +vt 0.660377 0.696429 +vt 0.415094 0.982143 +vt 0.405660 0.964286 +vt 0.377358 0.982143 +vt 0.301887 0.982143 +vt 0.339623 0.982143 +vt 0.301887 1.000000 +vt 0.339623 1.000000 +vt 0.452830 0.982143 +vt 0.415094 1.000000 +vt 0.377358 1.000000 +vt 0.443396 0.964286 +vt 0.415094 0.982143 +vt 0.405660 0.964286 +vt 0.377358 0.982143 +vt 0.301887 0.982143 +vt 0.367925 0.964286 +vt 0.339623 0.982143 +vt 0.301887 1.000000 +vt 0.452830 0.982143 +vt 0.415094 1.000000 +vt 0.377358 1.000000 +vt 0.339623 1.000000 +vt 0.757870 0.380968 +vt 0.702015 0.409297 +vt 0.661126 0.331901 +vt 0.915094 0.321429 +vt 0.896226 0.250000 +vt 0.915094 0.250000 +vt 0.896226 0.321429 +vt 0.886792 0.250000 +vt 0.886792 0.321429 +vt 0.867925 0.250000 +vt 0.886792 0.214286 +vt 0.905660 0.214286 +vt 0.886792 0.357143 +vt 0.679245 0.839286 +vt 0.716981 0.803571 +vt 0.716981 0.839286 +vt 0.660377 0.732143 +vt 0.679245 0.803571 +vt 0.660377 0.803571 +vt 0.716981 0.696429 +vt 0.679245 0.732143 +vt 0.679245 0.696429 +vt 0.716981 0.732143 +vt 0.679245 0.839286 +vt 0.716981 0.803571 +vt 0.716981 0.839286 +vt 0.735849 0.803571 +vt 0.735849 0.732143 +vt 0.660377 0.732143 +vt 0.679245 0.803571 +vt 0.660377 0.803571 +vt 0.716981 0.696429 +vt 0.679245 0.732143 +vt 0.679245 0.696429 +vt 0.716981 0.732143 +vt 0.735849 0.803571 +vt 0.735849 0.732143 +vt 0.047170 0.303571 +vt 0.103774 0.357143 +vt 0.047170 0.357143 +vt 0.103774 0.410714 +vt 0.113208 0.428571 +vt 0.103774 0.428571 +vt 0.103774 0.410714 +vt 0.113208 0.428571 +vt 0.103774 0.428571 +vt 0.047170 0.392857 +vt 0.660378 0.410714 +vt 0.811321 0.696429 +vt 0.660378 0.696429 +vt 0.103774 0.482143 +vt 0.103774 0.446429 +vt 0.122642 0.428571 +vt 0.047170 0.482143 +vt 0.047170 0.446429 +vt 0.028302 0.428571 +vt 0.103774 0.571429 +vt 0.047170 0.571429 +vt 0.103774 0.392857 +vt 0.132075 0.410714 +vt 0.141509 0.339286 +vt 0.141509 0.410714 +vt 0.113208 0.339286 +vt 0.113208 0.410714 +vt 0.122642 0.339286 +vt 0.122642 0.410714 +vt 0.132075 0.339286 +vt 0.132075 0.410714 +vt 0.141509 0.339286 +vt 0.141509 0.410714 +vt 0.113208 0.339286 +vt 0.113208 0.410714 +vt 0.122642 0.339286 +vt 0.122642 0.410714 +vt 0.132075 0.339286 +vt 0.028302 0.392857 +vt 0.009434 0.410714 +vt 0.009434 0.392857 +vt 0.018868 0.517857 +vt 0.009434 0.553571 +vt 0.009434 0.517857 +vt -0.000000 0.392857 +vt 0.000000 0.410714 +vt 0.009434 0.428571 +vt 0.028302 0.410714 +vt 0.028302 0.428571 +vt 0.009434 0.571429 +vt 0.018868 0.553571 +vt 0.018868 0.571429 +vt 0.000000 0.517857 +vt -0.000000 0.553571 +vt 0.037736 0.410714 +vt 0.037736 0.392857 +vt 0.028302 0.375000 +vt 0.009434 0.375000 +vt 0.018868 0.500000 +vt 0.009434 0.500000 +vt 0.028302 0.553571 +vt 0.028302 0.517857 +vt 0.833137 0.180385 +vt 0.866967 0.244419 +vt 0.808372 0.355329 +vt 0.443396 0.410714 +vt 0.528302 0.196429 +vt 0.443396 0.196429 +vt 0.481132 0.035714 +vt 0.443396 0.035714 +vt 0.405660 0.035714 +vt 0.367925 0.035714 +vt 0.405660 0.196429 +vt 0.443396 0.571429 +vt 0.481132 0.571429 +vt 0.405660 0.410714 +vt 0.405660 0.571429 +vt 0.367925 0.571429 +vt 0.320755 0.196429 +vt 0.339623 0.571429 +vt 0.528302 0.410714 +vt 0.311321 0.946429 +vt 0.311321 0.946429 +vt 0.349057 0.946429 +vt 0.424528 0.946429 +vt 0.339623 0.785714 +vt 0.018868 0.571429 +vt 0.132075 0.571429 +vt 0.132075 0.785714 +vt 0.018868 0.785714 +vt 0.320755 0.410714 +vt 0.811321 0.875000 +vt 0.811321 0.946429 +vt 0.792453 0.982143 +vt 0.754717 0.982143 +vt 0.679245 0.839286 +vt 0.716981 0.839286 +vt 0.716981 0.982143 +vt 0.528302 1.000000 +vt 0.452830 1.000000 +vt 0.452830 1.000000 +vt 0.661126 0.275242 +vt 0.676092 0.226175 +vt 0.702015 0.197846 +vt 0.731948 0.197846 +vt 0.757870 0.226175 +vt 0.772836 0.275242 +vt 0.772836 0.331901 +vt 0.731948 0.409297 +vt 0.676092 0.380968 +vt 0.867925 0.321429 +vt 0.905660 0.357143 +vt 0.103774 0.303571 +vt 0.811321 0.410714 +vt 0.150943 0.428571 +vt 0.150943 0.482143 +vt -0.000000 0.482143 +vt -0.000000 0.428571 +vt 0.103774 0.339286 +vt 0.103774 0.339286 +vt 0.866967 0.291295 +vt 0.854584 0.331891 +vt 0.833137 0.355329 +vt 0.786925 0.331891 +vt 0.774543 0.291295 +vt 0.774543 0.244419 +vt 0.786925 0.203823 +vt 0.808372 0.180385 +vt 0.854584 0.203823 +vt 0.528302 0.410714 +vt 0.320755 0.410714 +vt 0.849057 0.517857 +vt 1.000000 0.464286 +vt 1.000000 0.517857 +vt 0.849057 0.464286 +vt 1.000000 0.410714 +vt 0.849057 0.410714 +vt 1.000000 0.357143 +vt 0.849057 1.000000 +vt 1.000000 0.946429 +vt 1.000000 1.000000 +vt 0.849057 0.946429 +vt 1.000000 0.892857 +vt 0.849057 0.892857 +vt 1.000000 0.839286 +vt 0.849057 0.839286 +vt 1.000000 0.785714 +vt 0.849057 0.785714 +vt 1.000000 0.732143 +vt 0.849057 0.732143 +vt 1.000000 0.678571 +vt 0.849057 0.678571 +vt 1.000000 0.625000 +vt 0.849057 0.625000 +vt 1.000000 0.571429 +vt 0.849057 0.571429 +vt 0.849057 0.678571 +vt 0.811321 0.625000 +vt 0.849057 0.625000 +vt 0.943396 0.053571 +vt 0.915094 -0.000000 +vt 0.943396 -0.000000 +vt 0.943396 0.125000 +vt 0.915094 0.071429 +vt 0.943396 0.071429 +vt 0.971698 0.071429 +vt 0.952830 0.053571 +vt 0.971698 0.053571 +vt 0.952830 0.000000 +vt 0.971698 0.000000 +vt 0.971698 0.125000 +vt 0.952830 0.142857 +vt 0.707547 0.125000 +vt 0.698113 0.071429 +vt 0.905660 0.053571 +vt 0.707547 0.000000 +vt 0.905660 0.000000 +vt 0.943396 0.142857 +vt 0.915094 0.125000 +vt 0.905660 0.142857 +vt 0.679245 0.142857 +vt 0.650943 0.125000 +vt 0.679245 0.125000 +vt 0.641509 0.053571 +vt 0.698113 0.053571 +vt 0.679245 0.000000 +vt 0.641509 0.071429 +vt 0.632075 0.000000 +vt 0.556604 0.053571 +vt 0.556604 0.000000 +vt 0.632075 0.125000 +vt 0.556604 0.142857 +vt 0.547170 0.125000 +vt 0.547170 0.071429 +vt 0.547170 0.053571 +vt 0.518868 -0.000000 +vt 0.547170 -0.000000 +vt 0.518868 0.071429 +vt 0.518868 0.125000 +vt 0.481132 0.071429 +vt 0.509434 0.053571 +vt 0.481132 0.000000 +vt 0.509434 0.000000 +vt 0.547170 0.142857 +vt 0.509434 0.142857 +vt 0.481132 0.125000 +vt 0.849057 0.732143 +vt 0.811321 0.678571 +vt 0.811321 0.785714 +vt 0.811321 0.732143 +vt 0.849057 0.785714 +vt 0.811321 0.839286 +vt 0.849057 0.892857 +vt 0.849057 0.839286 +vt 0.811321 0.946429 +vt 0.811321 0.892857 +vt 0.849057 1.000000 +vt 0.849057 0.946429 +vt 0.849057 0.517857 +vt 0.811321 0.571429 +vt 0.811321 0.517857 +vt 0.811321 0.464286 +vt 0.849057 0.464286 +vt 0.849057 0.410714 +vt 0.811321 0.357143 +vt 0.849057 0.357143 +vt 0.849057 0.571429 +vt 0.811321 0.410714 +vt 0.849057 0.357143 +vt 0.915094 0.053571 +vt 0.971698 0.142857 +vt 0.915094 0.142857 +vt 0.707547 0.142857 +vt 0.650943 0.142857 +vt 0.650943 0.000000 +vt 0.632075 0.142857 +vt 0.518868 0.053571 +vt 0.481132 0.053571 +vt 0.518868 0.142857 +vt 0.481132 0.142857 +vt 0.811321 1.000000 +vn -0.8944 0.0000 -0.4472 +vn 0.0000 0.0000 -1.0000 +vn 0.4472 0.0000 -0.8944 +vn 0.0000 0.0000 1.0000 +vn 0.2182 -0.8729 -0.4364 +vn 0.0000 0.8944 -0.4472 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.2182 -0.8729 0.4364 +vn -0.8944 0.0000 0.4472 +vn 0.0000 0.8944 0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 -0.8944 -0.4472 +vn 0.2425 -0.9701 0.0000 +vn 0.2182 0.8729 -0.4364 +vn 0.2425 0.9701 0.0000 +vn 0.2182 0.8729 0.4364 +vn 0.4472 0.0000 0.8944 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.4472 -0.8944 +vn -0.4472 0.0000 0.8944 +vn -0.2182 0.8729 0.4364 +vn -0.2182 0.8729 -0.4364 +vn -0.2425 0.9701 0.0000 +vn -0.2182 -0.8729 0.4364 +vn -0.2425 -0.9701 0.0000 +vn -0.2182 -0.8729 -0.4364 +vn -0.4472 -0.0000 -0.8944 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.5000 -0.8660 +vn 0.2195 0.9756 0.0000 +vn 0.2195 0.8449 -0.4878 +vn -0.5491 -0.8042 -0.2275 +vn -0.2275 0.8042 -0.5491 +vn -0.5491 0.8042 -0.2275 +vn 0.7173 0.6302 0.2971 +vn 0.2971 -0.6302 0.7173 +vn 0.7173 -0.6302 0.2971 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.2275 0.5491 0.8042 +vn -0.2971 -0.7173 0.6302 +vn -0.2275 -0.8042 -0.5491 +vn 0.2275 0.5491 -0.8042 +vn 0.2971 0.6302 0.7173 +vn 0.5491 0.2275 0.8042 +vn -0.7173 -0.2971 -0.6302 +vn -0.2971 -0.7173 -0.6302 +vn -0.7173 -0.2971 0.6302 +vn 0.5491 0.2275 -0.8042 +vn -0.8042 -0.2275 -0.5491 +vn 0.8042 -0.2275 -0.5491 +vn 0.6302 0.2971 0.7173 +vn -0.6302 0.2971 0.7173 +vn 0.8042 -0.5491 -0.2275 +vn -0.6302 0.7173 0.2971 +vn 0.6302 0.7173 0.2971 +vn -0.8042 -0.5491 -0.2275 +vn 0.2195 0.8449 0.4878 +vn 0.2195 0.4878 0.8449 +vn 0.2195 0.0000 0.9756 +vn 0.2195 -0.4878 0.8449 +vn 0.2195 -0.8449 0.4878 +vn 0.2195 -0.9756 0.0000 +vn 0.2195 0.0000 -0.9756 +vn 0.2195 0.4878 -0.8449 +vn 0.2195 -0.4878 -0.8449 +vn 0.2195 -0.8449 -0.4878 +s off +f 630/777/133 607/778/133 633/779/133 +f 608/780/134 611/781/134 607/782/134 +f 639/783/135 640/784/135 643/785/135 +f 610/786/136 605/787/136 609/788/136 +f 639/789/137 643/785/137 647/790/137 +f 608/780/138 631/791/138 612/792/138 +f 614/793/139 615/794/139 613/795/139 +f 628/796/140 625/797/140 627/798/140 +f 620/799/140 617/800/140 619/801/140 +f 622/802/139 623/803/139 621/804/139 +f 619/805/141 613/806/141 615/807/141 +f 616/808/142 618/809/142 620/810/142 +f 627/811/141 621/812/141 623/813/141 +f 624/814/142 626/815/142 628/816/142 +f 630/777/142 632/817/142 631/791/142 +f 648/818/143 641/819/143 644/820/143 +f 605/821/144 629/822/144 634/823/144 +f 606/824/145 632/817/145 629/822/145 +f 635/825/141 634/826/141 633/827/141 +f 605/828/146 636/829/146 609/830/146 +f 607/782/147 635/825/147 633/827/147 +f 643/785/148 648/818/148 647/790/148 +f 645/831/149 640/784/149 637/832/149 +f 638/833/150 645/831/150 646/834/150 +f 646/834/151 642/835/151 638/833/151 +f 636/836/140 635/837/140 632/817/140 +f 640/784/140 641/819/140 643/785/140 +f 630/777/139 634/823/139 629/822/139 +f 638/833/152 644/838/152 641/819/152 +f 661/839/153 667/840/153 668/841/153 +f 659/842/134 676/843/134 660/844/134 +f 661/839/136 671/845/136 662/846/136 +f 662/846/154 670/847/154 656/848/154 +f 664/849/155 665/850/155 650/851/155 +f 655/852/139 663/853/139 664/854/139 +f 656/855/139 658/856/139 653/857/139 +f 650/851/141 667/840/141 649/858/141 +f 659/842/156 651/859/156 675/860/156 +f 663/861/156 669/862/156 672/863/156 +f 658/864/154 652/865/154 654/866/154 +f 657/867/136 673/868/136 658/869/136 +f 657/867/153 670/847/153 674/870/153 +f 663/861/134 666/871/134 664/849/134 +f 654/866/142 651/859/142 653/857/142 +f 660/844/155 669/862/155 655/872/155 +f 628/816/136 678/873/136 624/814/136 +f 624/874/136 677/875/136 623/803/136 +f 627/798/136 680/876/136 628/796/136 +f 623/813/136 679/877/136 627/811/136 +f 679/877/140 684/878/140 680/876/140 +f 677/875/141 683/879/141 679/877/141 +f 680/880/142 682/881/142 678/873/142 +f 678/873/139 681/882/139 677/875/139 +f 614/883/134 688/884/134 618/809/134 +f 618/885/134 687/886/134 617/800/134 +f 613/795/134 686/887/134 614/793/134 +f 617/888/134 685/889/134 613/806/134 +f 685/889/139 690/890/139 686/887/139 +f 686/891/142 692/892/142 688/884/142 +f 688/884/140 691/893/140 687/886/140 +f 687/886/141 689/894/141 685/889/141 +f 838/895/139 840/896/139 842/897/139 +f 720/898/135 723/899/135 719/900/135 +f 724/901/140 721/902/140 723/899/140 +f 722/903/136 717/904/136 721/902/136 +f 723/899/141 717/905/141 719/906/141 +f 724/901/142 718/907/142 722/903/142 +f 765/908/142 764/909/142 768/910/142 +f 766/911/134 763/912/134 765/913/134 +f 767/914/141 762/915/141 766/916/141 +f 764/909/139 762/915/139 761/917/139 +f 769/918/142 757/919/142 772/920/142 +f 768/921/136 761/917/136 767/922/136 +f 770/923/134 758/924/134 769/925/134 +f 771/926/141 759/927/141 770/928/141 +f 757/919/139 759/927/139 760/929/139 +f 772/930/136 760/929/136 771/931/136 +f 775/932/141 774/933/141 773/934/141 +f 797/935/142 796/936/142 795/937/142 +f 789/938/142 788/939/142 787/940/142 +f 774/933/134 777/941/134 773/934/134 +f 779/942/134 786/943/134 780/944/134 +f 784/945/139 782/946/139 778/947/139 +f 782/946/142 783/948/142 781/949/142 +f 777/950/140 781/949/140 783/948/140 +f 783/948/136 776/951/136 775/952/136 +f 778/953/157 781/949/157 777/941/157 +f 787/954/139 793/955/139 789/956/139 +f 789/938/136 794/957/136 790/958/136 +f 790/958/140 792/959/140 788/960/140 +f 788/960/134 791/961/134 787/954/134 +f 795/962/139 801/963/139 797/964/139 +f 797/935/136 802/965/136 798/966/136 +f 798/966/140 800/967/140 796/968/140 +f 796/968/134 799/969/134 795/962/134 +f 812/970/140 813/971/140 811/972/140 +f 817/973/140 816/974/140 815/975/140 +f 804/976/136 813/971/136 806/977/136 +f 806/978/142 814/979/142 805/980/142 +f 808/981/142 818/982/142 810/983/142 +f 807/984/136 816/974/136 808/985/136 +f 805/986/134 812/970/134 803/987/134 +f 803/988/141 811/972/141 804/989/141 +f 809/990/141 815/975/141 807/991/141 +f 810/992/134 817/973/134 809/993/134 +f 823/994/140 821/995/140 829/996/140 +f 870/997/158 869/998/158 873/999/158 +f 869/1000/159 877/1001/159 873/999/159 +f 878/1002/160 874/1003/160 871/1004/160 +f 878/1002/161 873/999/161 877/1001/161 +f 875/1005/162 867/1006/162 870/997/162 +f 875/1005/163 868/1007/163 876/1008/163 +f 876/1008/164 868/1007/164 872/1009/164 +f 871/1004/139 870/997/139 873/999/139 +f 874/1010/165 868/1007/165 871/1004/165 +f 630/777/133 608/1011/133 607/778/133 +f 608/780/134 612/792/134 611/781/134 +f 639/783/135 637/1012/135 640/784/135 +f 610/786/136 606/824/136 605/787/136 +f 608/780/138 630/777/138 631/791/138 +f 614/793/139 616/1013/139 615/794/139 +f 628/796/140 626/1014/140 625/797/140 +f 620/799/140 618/885/140 617/800/140 +f 622/802/139 624/874/139 623/803/139 +f 619/805/141 617/888/141 613/806/141 +f 616/808/142 614/883/142 618/809/142 +f 627/811/141 625/1015/141 621/812/141 +f 624/814/142 622/1016/142 626/815/142 +f 630/777/142 629/822/142 632/817/142 +f 605/821/144 606/1017/144 629/822/144 +f 606/824/145 610/786/145 632/817/145 +f 635/825/141 636/829/141 634/826/141 +f 605/828/146 634/826/146 636/829/146 +f 607/782/147 611/781/147 635/825/147 +f 643/785/148 641/819/148 648/818/148 +f 638/833/150 640/784/150 645/831/150 +f 635/837/140 611/1018/140 612/1019/140 +f 612/1019/140 631/791/140 635/837/140 +f 631/791/140 632/817/140 635/837/140 +f 632/817/140 610/1020/140 609/1021/140 +f 609/1021/140 636/836/140 632/817/140 +f 640/784/140 638/833/140 641/819/140 +f 630/777/139 633/779/139 634/823/139 +f 638/833/152 642/1022/152 644/838/152 +f 661/839/153 649/858/153 667/840/153 +f 659/842/134 675/860/134 676/843/134 +f 661/839/136 668/841/136 671/845/136 +f 662/846/154 671/845/154 670/847/154 +f 664/849/155 666/871/155 665/850/155 +f 664/854/139 650/1023/139 649/1024/139 +f 649/1024/139 661/1025/139 664/854/139 +f 661/1025/139 662/1026/139 664/854/139 +f 662/1026/139 656/855/139 664/854/139 +f 656/855/139 655/852/139 664/854/139 +f 653/857/139 659/1027/139 660/1028/139 +f 660/1028/139 655/852/139 656/855/139 +f 656/855/139 657/1029/139 658/856/139 +f 658/856/139 654/866/139 653/857/139 +f 653/857/139 660/1028/139 656/855/139 +f 650/851/141 665/850/141 667/840/141 +f 659/842/156 653/857/156 651/859/156 +f 663/861/156 655/872/156 669/862/156 +f 658/864/154 673/1030/154 652/865/154 +f 657/867/136 674/870/136 673/868/136 +f 657/867/153 656/848/153 670/847/153 +f 663/861/134 672/863/134 666/871/134 +f 654/866/142 652/865/142 651/859/142 +f 660/844/155 676/843/155 669/862/155 +f 628/816/136 680/880/136 678/873/136 +f 624/874/136 678/873/136 677/875/136 +f 627/798/136 679/877/136 680/876/136 +f 623/813/136 677/875/136 679/877/136 +f 679/877/140 683/879/140 684/878/140 +f 677/875/141 681/882/141 683/879/141 +f 680/880/142 684/1031/142 682/881/142 +f 678/873/139 682/881/139 681/882/139 +f 614/883/134 686/891/134 688/884/134 +f 618/885/134 688/884/134 687/886/134 +f 613/795/134 685/889/134 686/887/134 +f 617/888/134 687/886/134 685/889/134 +f 685/889/139 689/894/139 690/890/139 +f 686/891/142 690/1032/142 692/892/142 +f 688/884/140 692/892/140 691/893/140 +f 687/886/141 691/893/141 689/894/141 +f 842/897/139 831/1033/139 832/1034/139 +f 832/1034/139 833/1035/139 834/1036/139 +f 834/1036/139 835/1037/139 838/895/139 +f 835/1037/139 836/1038/139 838/895/139 +f 836/1038/139 837/1039/139 838/895/139 +f 838/895/139 839/1040/139 840/896/139 +f 840/896/139 841/1041/139 842/897/139 +f 842/897/139 832/1034/139 838/895/139 +f 832/1034/139 834/1036/139 838/895/139 +f 720/898/135 724/901/135 723/899/135 +f 724/901/140 722/903/140 721/902/140 +f 722/903/136 718/1042/136 717/904/136 +f 723/899/141 721/902/141 717/905/141 +f 724/901/142 720/1043/142 718/907/142 +f 765/908/142 763/912/142 764/909/142 +f 766/911/134 762/915/134 763/912/134 +f 767/914/141 761/917/141 762/915/141 +f 764/909/139 763/912/139 762/915/139 +f 769/918/142 758/924/142 757/919/142 +f 768/921/136 764/909/136 761/917/136 +f 770/923/134 759/927/134 758/924/134 +f 771/926/141 760/929/141 759/927/141 +f 757/919/139 758/924/139 759/927/139 +f 772/930/136 757/919/136 760/929/136 +f 775/932/141 776/1044/141 774/933/141 +f 797/935/142 798/966/142 796/936/142 +f 789/938/142 790/958/142 788/939/142 +f 774/933/134 778/953/134 777/941/134 +f 779/942/134 785/1045/134 786/943/134 +f 774/1046/139 776/1047/139 778/947/139 +f 776/1047/139 784/945/139 778/947/139 +f 782/946/142 784/945/142 783/948/142 +f 783/948/140 775/1048/140 777/950/140 +f 775/1048/140 773/1049/140 777/950/140 +f 783/948/136 784/945/136 776/951/136 +f 778/953/157 782/946/157 781/949/157 +f 787/954/139 791/961/139 793/955/139 +f 789/938/136 793/1050/136 794/957/136 +f 790/958/140 794/957/140 792/959/140 +f 788/960/134 792/959/134 791/961/134 +f 795/962/139 799/969/139 801/963/139 +f 797/935/136 801/1051/136 802/965/136 +f 798/966/140 802/965/140 800/967/140 +f 796/968/134 800/967/134 799/969/134 +f 812/970/140 814/979/140 813/971/140 +f 817/973/140 818/982/140 816/974/140 +f 804/976/136 811/972/136 813/971/136 +f 806/978/142 813/971/142 814/979/142 +f 808/981/142 816/974/142 818/982/142 +f 807/984/136 815/975/136 816/974/136 +f 805/986/134 814/979/134 812/970/134 +f 803/988/141 812/970/141 811/972/141 +f 809/990/141 817/973/141 815/975/141 +f 810/992/134 818/982/134 817/973/134 +f 821/995/140 819/1052/140 829/996/140 +f 819/1052/140 820/1053/140 829/996/140 +f 820/1053/140 830/1054/140 829/996/140 +f 829/996/140 828/1055/140 827/1056/140 +f 827/1056/140 826/1057/140 829/996/140 +f 826/1057/140 825/1058/140 829/996/140 +f 825/1058/140 824/1059/140 823/994/140 +f 823/994/140 822/1060/140 821/995/140 +f 825/1058/140 823/994/140 829/996/140 +f 870/997/158 867/1061/158 869/998/158 +f 878/1002/161 871/1004/161 873/999/161 +f 875/1005/163 870/997/163 868/1007/163 +f 871/1004/139 868/1007/139 870/997/139 +f 874/1010/165 872/1062/165 868/1007/165 +s 1 +f 694/1063/134 695/1064/166 693/1065/134 +f 696/1066/166 697/1067/167 695/1064/166 +f 698/1068/167 699/1069/141 697/1067/167 +f 700/1070/141 701/1071/168 699/1072/141 +f 702/1073/168 703/1074/169 701/1071/168 +f 704/1075/169 705/1076/136 703/1074/169 +f 706/1077/136 707/1078/170 705/1076/136 +f 708/1079/170 709/1080/171 707/1078/170 +f 710/1081/171 711/1082/142 709/1080/171 +f 712/1083/142 713/1084/172 711/1082/142 +f 714/1085/172 715/1086/173 713/1084/172 +f 716/1087/173 693/1065/134 715/1086/173 +f 852/1088/174 865/1089/175 853/1090/175 +f 731/1091/176 734/1092/177 732/1093/178 +f 730/1094/179 735/1095/180 729/1096/181 +f 725/1097/182 731/1098/176 727/1099/183 +f 727/1099/183 732/1100/178 728/1101/184 +f 726/1102/185 732/1103/178 730/1094/179 +f 726/1102/185 729/1096/181 725/1097/182 +f 735/1095/180 738/1104/186 737/1105/187 +f 733/1106/188 740/1107/189 734/1108/177 +f 735/1095/180 731/1091/176 729/1096/181 +f 732/1109/178 736/1110/190 730/1094/179 +f 734/1111/177 738/1104/186 736/1110/190 +f 737/1105/187 733/1106/188 735/1095/180 +f 740/1112/189 741/1113/191 738/1114/186 +f 737/1105/187 744/1115/192 739/1116/193 +f 744/1115/192 740/1117/189 739/1116/193 +f 738/1114/186 743/1118/194 737/1105/187 +f 742/1119/195 748/1120/196 746/1121/197 +f 741/1122/191 746/1123/197 745/1124/198 +f 741/1122/191 747/1125/199 743/1118/194 +f 743/1118/194 748/1120/196 744/1115/192 +f 748/1126/196 749/1127/200 746/1128/197 +f 745/1124/198 752/1129/201 747/1125/199 +f 751/1130/202 754/1131/184 752/1129/201 +f 750/1132/203 755/1133/182 749/1134/200 +f 746/1135/197 751/1130/202 745/1124/198 +f 749/1136/200 753/1137/185 751/1130/202 +f 752/1129/201 748/1126/196 747/1125/199 +f 754/1131/184 750/1132/203 752/1129/201 +f 851/1138/204 864/1139/174 852/1088/174 +f 851/1138/204 862/1140/205 863/1141/204 +f 850/1142/205 861/1143/206 862/1140/205 +f 848/1144/207 861/1143/206 849/1145/206 +f 848/1144/207 859/1146/208 860/1147/207 +f 846/1148/209 859/1146/208 847/1149/208 +f 843/1150/210 866/1151/211 856/1152/210 +f 843/1150/210 855/1153/212 844/1154/212 +f 845/1155/213 858/1156/209 846/1157/209 +f 854/1158/211 865/1089/175 866/1151/211 +f 844/1154/212 857/1159/213 845/1155/213 +f 694/1063/134 696/1066/166 695/1064/166 +f 696/1066/166 698/1068/167 697/1067/167 +f 698/1068/167 700/1160/141 699/1069/141 +f 700/1070/141 702/1073/168 701/1071/168 +f 702/1073/168 704/1075/169 703/1074/169 +f 704/1075/169 706/1077/136 705/1076/136 +f 706/1077/136 708/1079/170 707/1078/170 +f 708/1079/170 710/1081/171 709/1080/171 +f 710/1081/171 712/1083/142 711/1082/142 +f 712/1083/142 714/1085/172 713/1084/172 +f 714/1085/172 716/1087/173 715/1086/173 +f 716/1087/173 694/1063/134 693/1065/134 +f 852/1088/174 864/1139/174 865/1089/175 +f 731/1091/176 733/1161/188 734/1092/177 +f 730/1094/179 736/1110/190 735/1095/180 +f 725/1097/182 729/1096/181 731/1098/176 +f 727/1099/183 731/1098/176 732/1100/178 +f 726/1102/185 728/1162/184 732/1103/178 +f 726/1102/185 730/1094/179 729/1096/181 +f 735/1095/180 736/1110/190 738/1104/186 +f 733/1106/188 739/1116/193 740/1107/189 +f 735/1095/180 733/1161/188 731/1091/176 +f 732/1109/178 734/1163/177 736/1110/190 +f 734/1111/177 740/1164/189 738/1104/186 +f 737/1105/187 739/1116/193 733/1106/188 +f 740/1112/189 742/1165/195 741/1113/191 +f 737/1105/187 743/1118/194 744/1115/192 +f 744/1115/192 742/1166/195 740/1117/189 +f 738/1114/186 741/1113/191 743/1118/194 +f 742/1119/195 744/1115/192 748/1120/196 +f 741/1122/191 742/1167/195 746/1123/197 +f 741/1122/191 745/1124/198 747/1125/199 +f 743/1118/194 747/1125/199 748/1120/196 +f 748/1126/196 750/1168/203 749/1127/200 +f 745/1124/198 751/1130/202 752/1129/201 +f 751/1130/202 753/1137/185 754/1131/184 +f 750/1132/203 756/1169/183 755/1133/182 +f 746/1135/197 749/1170/200 751/1130/202 +f 749/1136/200 755/1171/182 753/1137/185 +f 752/1129/201 750/1168/203 748/1126/196 +f 754/1131/184 756/1169/183 750/1132/203 +f 851/1138/204 863/1141/204 864/1139/174 +f 851/1138/204 850/1142/205 862/1140/205 +f 850/1142/205 849/1145/206 861/1143/206 +f 848/1144/207 860/1147/207 861/1143/206 +f 848/1144/207 847/1149/208 859/1146/208 +f 846/1148/209 858/1172/209 859/1146/208 +f 843/1150/210 854/1158/211 866/1151/211 +f 843/1150/210 856/1152/210 855/1153/212 +f 845/1155/213 857/1159/213 858/1156/209 +f 854/1158/211 853/1090/175 865/1089/175 +f 844/1154/212 855/1153/212 857/1159/213 +o Carriage +v -0.500000 0.625000 0.500000 +v 0.500000 0.625000 0.500000 +v -0.500000 0.625000 -0.500000 +v 0.500000 0.625000 -0.500000 +v 0.000000 0.125000 -0.500000 +v 0.000000 0.625000 -0.500000 +v 0.353553 0.125000 -0.353553 +v 0.353553 0.625000 -0.353553 +v 0.500000 0.125000 0.000000 +v 0.500000 0.625000 0.000000 +v 0.353553 0.125000 0.353553 +v 0.353553 0.625000 0.353553 +v -0.000000 0.125000 0.500000 +v -0.000000 0.625000 0.500000 +v -0.353553 0.125000 0.353553 +v -0.353553 0.625000 0.353553 +v -0.500000 0.125000 0.000000 +v -0.500000 0.625000 0.000000 +v -0.353553 0.125000 -0.353553 +v -0.353553 0.625000 -0.353553 +v 0.375000 0.750000 0.500000 +v -0.375000 0.750000 0.500000 +v -0.375000 0.750000 -0.500000 +v 0.375000 0.750000 -0.500000 +v -0.220971 0.500000 0.397748 +v 0.397748 0.500000 -0.220971 +v -0.397748 0.500000 0.220971 +v 0.220971 0.500000 -0.397748 +v 0.662913 0.375000 -0.486136 +v 0.662913 0.500000 -0.486136 +v 0.486136 0.375000 -0.662913 +v 0.486136 0.500000 -0.662913 +v 0.574524 0.250000 -0.397748 +v 0.574524 0.375000 -0.397748 +v 0.397748 0.250000 -0.574524 +v 0.397748 0.375000 -0.574524 +v 0.397748 0.250000 -0.220971 +v 0.220971 0.250000 -0.397748 +v -0.662912 0.375000 0.486136 +v -0.662912 0.500000 0.486136 +v -0.486136 0.375000 0.662913 +v -0.486136 0.500000 0.662913 +v -0.574524 0.250000 0.397748 +v -0.574524 0.375000 0.397748 +v -0.397747 0.250000 0.574524 +v -0.397747 0.375000 0.574524 +v -0.397748 0.250000 0.220971 +v -0.220971 0.250000 0.397748 +v 0.397748 0.500000 0.220971 +v -0.220971 0.500000 -0.397748 +v 0.220971 0.500000 0.397748 +v -0.397748 0.500000 -0.220971 +v -0.486136 0.375000 -0.662913 +v -0.486136 0.500000 -0.662913 +v -0.662913 0.375000 -0.486136 +v -0.662913 0.500000 -0.486136 +v -0.397748 0.250000 -0.574524 +v -0.397748 0.375000 -0.574524 +v -0.574524 0.250000 -0.397748 +v -0.574524 0.375000 -0.397748 +v -0.220971 0.250000 -0.397748 +v -0.397748 0.250000 -0.220971 +v 0.486136 0.375000 0.662912 +v 0.486136 0.500000 0.662912 +v 0.662913 0.375000 0.486136 +v 0.662913 0.500000 0.486136 +v 0.397748 0.250000 0.574524 +v 0.397748 0.375000 0.574524 +v 0.574524 0.250000 0.397748 +v 0.574524 0.375000 0.397748 +v 0.220971 0.250000 0.397748 +v 0.397748 0.250000 0.220971 +v 0.000000 0.312500 -0.625000 +v 0.441942 0.312500 -0.441942 +v 0.625000 0.312500 0.000000 +v 0.441942 0.312500 0.441942 +v -0.000000 0.312500 0.625000 +v -0.441942 0.312500 0.441942 +v -0.625000 0.312500 0.000000 +v -0.441942 0.312500 -0.441942 +v 0.000000 0.437500 -0.625000 +v 0.441942 0.437500 -0.441942 +v 0.625000 0.437500 0.000000 +v 0.441942 0.437500 0.441942 +v -0.000000 0.437500 0.625000 +v -0.441942 0.437500 0.441942 +v -0.625000 0.437500 0.000000 +v -0.441942 0.437500 -0.441942 +v 0.500000 0.625000 -0.500000 +v 0.375000 0.625000 -0.500000 +v 0.500000 0.625000 -0.375000 +v 0.375000 0.625000 -0.375000 +v 0.500000 0.500000 -0.500000 +v 0.375000 0.500000 -0.500000 +v 0.500000 0.500000 -0.375000 +v 0.375000 0.500000 -0.375000 +v -0.375000 0.625000 -0.500000 +v -0.500000 0.625000 -0.500000 +v -0.375000 0.625000 -0.375000 +v -0.500000 0.625000 -0.375000 +v -0.375000 0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.375000 0.500000 -0.375000 +v -0.500000 0.500000 -0.375000 +v 0.500000 0.625000 0.375000 +v 0.375000 0.625000 0.375000 +v 0.500000 0.625000 0.500000 +v 0.375000 0.625000 0.500000 +v 0.500000 0.500000 0.375000 +v 0.375000 0.500000 0.375000 +v 0.500000 0.500000 0.500000 +v 0.375000 0.500000 0.500000 +v -0.375000 0.625000 0.375000 +v -0.500000 0.625000 0.375000 +v -0.375000 0.625000 0.500000 +v -0.500000 0.625000 0.500000 +v -0.375000 0.500000 0.375000 +v -0.500000 0.500000 0.375000 +v -0.375000 0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v 0.000000 0.312500 -0.500000 +v 0.353553 0.312500 -0.353553 +v 0.500000 0.312500 0.000000 +v 0.353553 0.312500 0.353553 +v -0.000000 0.312500 0.500000 +v -0.353553 0.312500 0.353553 +v -0.500000 0.312500 0.000000 +v -0.353553 0.312500 -0.353553 +v 0.000000 0.312500 -0.625000 +v 0.441942 0.312500 -0.441942 +v 0.625000 0.312500 0.000000 +v 0.441942 0.312500 0.441942 +v -0.000000 0.312500 0.625000 +v -0.441942 0.312500 0.441942 +v -0.625000 0.312500 0.000000 +v -0.441942 0.312500 -0.441942 +v 0.000000 0.437500 -0.500000 +v 0.353553 0.437500 -0.353553 +v 0.500000 0.437500 0.000000 +v 0.353553 0.437500 0.353553 +v -0.000000 0.437500 0.500000 +v -0.353553 0.437500 0.353553 +v -0.500000 0.437500 0.000000 +v -0.353553 0.437500 -0.353553 +v 0.000000 0.437500 -0.625000 +v 0.441942 0.437500 -0.441942 +v 0.625000 0.437500 0.000000 +v 0.441942 0.437500 0.441942 +v -0.000000 0.437500 0.625000 +v -0.441942 0.437500 0.441942 +v -0.625000 0.437500 0.000000 +v -0.441942 0.437500 -0.441942 +v 0.375000 0.625000 0.500000 +v -0.375000 0.625000 0.500000 +v -0.375000 0.625000 -0.500000 +v 0.375000 0.625000 -0.500000 +v -0.375000 0.625000 -0.625000 +v 0.375000 0.625000 -0.625000 +v 0.375000 0.625000 0.625000 +v -0.375000 0.625000 0.625000 +v -0.375000 2.125000 -0.625000 +v 0.375000 2.125000 -0.625000 +v 0.375000 2.125000 0.625000 +v -0.375000 2.125000 0.625000 +v -0.250000 2.375000 -0.625000 +v 0.250000 2.375000 -0.625000 +v 0.250000 2.375000 0.625000 +v -0.250000 2.375000 0.625000 +v -0.375000 2.125000 -0.500000 +v 0.375000 2.125000 -0.500000 +v -0.250000 2.375000 -0.500000 +v 0.250000 2.375000 -0.500000 +v 0.375000 2.125000 0.500000 +v -0.375000 2.125000 0.500000 +v 0.250000 2.375000 0.500000 +v -0.250000 2.375000 0.500000 +v 0.062500 2.250000 0.625000 +v -0.062500 2.250000 0.625000 +v 0.062500 2.000000 0.750000 +v -0.062500 2.000000 0.750000 +v 0.062500 0.625500 0.750000 +v -0.062500 0.625500 0.750000 +v 0.062500 0.625500 0.625000 +v -0.062500 0.625500 0.625000 +v 0.062500 2.250000 -0.625000 +v -0.062500 2.250000 -0.625000 +v 0.062500 0.625500 -0.625000 +v -0.062500 0.625500 -0.625000 +v 0.062500 2.000000 -0.750000 +v -0.062500 2.000000 -0.750000 +v 0.062500 0.625500 -0.750000 +v -0.062500 0.625500 -0.750000 +vt 0.560606 0.652174 +vt 0.439394 0.695652 +vt 0.439394 0.652174 +vt 1.000000 0.739130 +vt 0.969697 0.652174 +vt 1.000000 0.652174 +vt 0.924242 0.826087 +vt 0.909091 0.913043 +vt 0.909091 0.826087 +vt 1.000000 0.739130 +vt 0.969697 0.652174 +vt 1.000000 0.652174 +vt 0.954545 0.826087 +vt 0.939394 0.913043 +vt 0.939394 0.826087 +vt 0.969697 0.956522 +vt 0.954545 0.913043 +vt 1.000000 0.913043 +vt 0.924242 0.913043 +vt 1.000000 0.826087 +vt 0.954545 0.782609 +vt 0.969697 0.782609 +vt 0.924242 0.826087 +vt 0.909091 0.913043 +vt 0.909091 0.826087 +vt 0.954545 0.826087 +vt 0.939394 0.913043 +vt 0.939394 0.826087 +vt 0.969697 0.956522 +vt 0.954545 0.913043 +vt 1.000000 0.913043 +vt 0.924242 0.913043 +vt 1.000000 0.826087 +vt 0.954545 0.782609 +vt 0.969697 0.782609 +vt 1.000000 0.739130 +vt 0.969697 0.652174 +vt 1.000000 0.652174 +vt 0.924242 0.826087 +vt 0.909091 0.913043 +vt 0.909091 0.826087 +vt 1.000000 0.739130 +vt 0.969697 0.652174 +vt 1.000000 0.652174 +vt 0.954545 0.826087 +vt 0.939394 0.913043 +vt 0.939394 0.826087 +vt 0.969697 0.956522 +vt 0.954545 0.913043 +vt 1.000000 0.913043 +vt 0.924242 0.913043 +vt 1.000000 0.826087 +vt 0.954545 0.782609 +vt 0.969697 0.782609 +vt 0.924242 0.826087 +vt 0.909091 0.913043 +vt 0.909091 0.826087 +vt 0.954545 0.826087 +vt 0.939394 0.913043 +vt 0.939394 0.826087 +vt 0.969697 0.956522 +vt 0.954545 0.913043 +vt 1.000000 0.913043 +vt 0.924242 0.913043 +vt 1.000000 0.826087 +vt 0.954545 0.782609 +vt 0.969697 0.782609 +vt 0.378788 0.869565 +vt 0.393939 0.826087 +vt 0.393939 0.869565 +vt 0.363636 0.826087 +vt 0.363636 0.869565 +vt 0.409091 0.869565 +vt 0.424242 0.826087 +vt 0.424242 0.869565 +vt 0.409091 0.826087 +vt 0.363636 0.869565 +vt 0.378788 0.826087 +vt 0.378788 0.869565 +vt 0.409091 0.826087 +vt 0.424242 0.869565 +vt 0.409091 0.869565 +vt 0.393939 0.869565 +vt 0.393939 0.826087 +vt 0.393939 0.869565 +vt 0.409091 0.826087 +vt 0.409091 0.869565 +vt 0.378788 0.826087 +vt 0.378788 0.869565 +vt 0.363636 0.869565 +vt 0.424242 0.826087 +vt 0.424242 0.869565 +vt 0.409091 0.869565 +vt 0.424242 0.826087 +vt 0.424242 0.869565 +vt 0.393939 0.826087 +vt 0.393939 0.869565 +vt 0.378788 0.869565 +vt 0.363636 0.869565 +vt 0.378788 0.826087 +vt 0.242424 0.913043 +vt 0.189394 0.869565 +vt 0.234848 0.869565 +vt 0.356061 0.869565 +vt 0.303030 0.913043 +vt 0.310606 0.869565 +vt 0.424242 0.913043 +vt 0.371212 0.869565 +vt 0.416667 0.869565 +vt 0.053030 0.869565 +vt 0.000000 0.913043 +vt 0.007576 0.869565 +vt 0.181818 0.913043 +vt 0.128788 0.869565 +vt 0.174242 0.869565 +vt 0.295455 0.869565 +vt 0.250000 0.869565 +vt 0.484848 0.913043 +vt 0.431818 0.869565 +vt 0.477273 0.869565 +vt 0.113636 0.869565 +vt 0.060606 0.913043 +vt 0.068182 0.869565 +vt 0.189394 1.000000 +vt 0.242424 0.956522 +vt 0.234848 1.000000 +vt 0.356061 1.000000 +vt 0.303030 0.956522 +vt 0.363636 0.956522 +vt 0.371212 1.000000 +vt 0.424242 0.956522 +vt 0.416667 1.000000 +vt 0.053030 1.000000 +vt 0.000000 0.956522 +vt 0.060606 0.956522 +vt 0.128788 1.000000 +vt 0.181818 0.956522 +vt 0.174242 1.000000 +vt 0.295455 1.000000 +vt 0.431818 1.000000 +vt 0.484848 0.956522 +vt 0.477273 1.000000 +vt 0.068182 1.000000 +vt 0.121212 0.956522 +vt 0.113636 1.000000 +vt 0.439394 0.260870 +vt 0.560606 -0.000000 +vt 0.560606 0.260870 +vt 0.560606 0.304348 +vt 0.439394 0.304348 +vt 0.575758 0.608696 +vt 0.560606 0.608696 +vt 0.424242 0.608696 +vt 0.439394 0.608696 +vt 0.424242 0.347826 +vt 0.439394 0.347826 +vt 0.575758 0.347826 +vt 0.560606 0.347826 +vt 0.575758 0.608696 +vt 0.424242 0.347826 +vt 0.757576 0.347826 +vt 0.787879 0.304348 +vt 0.787879 0.347826 +vt 0.787879 0.608696 +vt 0.757576 0.652174 +vt 0.757576 0.608696 +vt 0.787879 0.391304 +vt 0.803030 0.565217 +vt 0.787879 0.565217 +vt 0.242424 0.608696 +vt 0.212121 0.652174 +vt 0.212121 0.608696 +vt 0.212121 0.347826 +vt 0.242424 0.304348 +vt 0.242424 0.347826 +vt 0.212121 0.565217 +vt 0.196970 0.391304 +vt 0.212121 0.391304 +vt 0.803030 0.391304 +vt 0.833333 0.347826 +vt 0.166667 0.608696 +vt -0.000000 0.608696 +vt 0.166667 0.347826 +vt 0.424242 0.608696 +vt 0.409091 0.652174 +vt 0.409091 0.304348 +vt 0.590909 0.652174 +vt 0.575758 0.347826 +vt 0.590909 0.304348 +vt 0.242424 0.217391 +vt 0.212121 0.260870 +vt 0.212121 0.217391 +vt 0.424242 0.217391 +vt 0.242424 0.260870 +vt 0.439394 0.260870 +vt 0.424242 0.260870 +vt 0.424242 0.173913 +vt 0.212121 0.173913 +vt 0.424242 0.304348 +vt 0.212121 0.304348 +vt 0.575758 0.217391 +vt 0.560606 0.260870 +vt 0.560606 0.217391 +vt 0.575758 0.304348 +vt 0.757576 0.260870 +vt 0.787879 0.304348 +vt 0.757576 0.217391 +vt 0.575758 0.173913 +vt 0.787879 0.173913 +vt 0.575758 0.260870 +vt 0.787879 0.260870 +vt 0.560606 0.695652 +vt 0.969697 0.739130 +vt 0.969697 0.739130 +vt 1.000000 1.000000 +vt 0.969697 1.000000 +vt 0.954545 0.956522 +vt 1.000000 1.000000 +vt 0.969697 1.000000 +vt 0.954545 0.956522 +vt 0.969697 0.739130 +vt 0.969697 0.739130 +vt 1.000000 1.000000 +vt 0.969697 1.000000 +vt 0.954545 0.956522 +vt 1.000000 1.000000 +vt 0.969697 1.000000 +vt 0.954545 0.956522 +vt 0.378788 0.826087 +vt 0.363636 0.826087 +vt 0.424242 0.826087 +vt 0.393939 0.826087 +vt 0.363636 0.826087 +vt 0.409091 0.826087 +vt 0.363636 0.826087 +vt 0.363636 0.913043 +vt 0.121212 0.913043 +vt 0.310606 1.000000 +vt 0.007576 1.000000 +vt 0.250000 1.000000 +vt 0.439394 -0.000000 +vt 0.757576 0.304348 +vt 0.787879 0.652174 +vt 0.242424 0.652174 +vt 0.212121 0.304348 +vt 0.196970 0.565217 +vt 1.000000 0.347826 +vt 1.000000 0.608696 +vt 0.833333 0.608696 +vt -0.000000 0.347826 +vt 0.424242 0.652174 +vt 0.424242 0.304348 +vt 0.575758 0.652174 +vt 0.575758 0.304348 +vt 0.439394 0.217391 +vt 0.787879 0.217391 +vt 0.272727 0.869565 +vt 0.227273 0.695652 +vt 0.272727 0.695652 +vt 0.227273 0.869565 +vt 0.181818 0.695652 +vt 0.181818 0.869565 +vt 0.136364 0.695652 +vt 0.136364 0.869565 +vt 0.090909 0.695652 +vt 0.090909 0.869565 +vt 0.045455 0.695652 +vt 0.045455 0.869565 +vt 0.000000 0.695652 +vt 0.363636 0.869565 +vt 0.318182 0.695652 +vt 0.363636 0.695652 +vt 0.318182 0.869565 +vt 0.060606 0.913043 +vt 0.000000 0.956522 +vt 0.000000 0.913043 +vt 0.484848 0.913043 +vt 0.424242 0.956522 +vt 0.424242 0.913043 +vt 0.363636 0.956522 +vt 0.363636 0.913043 +vt 0.303030 0.956522 +vt 0.303030 0.913043 +vt 0.242424 0.956522 +vt 0.242424 0.913043 +vt 0.181818 0.956522 +vt 0.181818 0.913043 +vt 0.121212 0.956522 +vt 0.121212 0.913043 +vt 0.060606 0.956522 +vt 0.000000 0.869565 +vt 0.484848 0.956522 +vn 0.7071 0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +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 -0.7071 0.7071 0.0000 +vn -0.8944 0.4472 0.0000 +vn 0.8944 0.4472 0.0000 +vn 0.0000 0.4472 0.8944 +vn 0.0000 0.4472 -0.8944 +s off +f 882/1173/214 899/1174/214 880/1175/214 +f 916/1176/215 911/1177/215 915/1178/215 +f 914/1179/216 911/1180/216 913/1181/216 +f 926/1182/215 921/1183/215 925/1184/215 +f 910/1185/216 907/1186/216 909/1187/216 +f 912/1188/217 908/1189/217 904/1190/217 +f 914/1179/215 907/1186/215 912/1191/215 +f 906/1192/218 908/1189/218 910/1185/218 +f 910/1185/219 909/1193/219 914/1194/219 +f 924/1195/220 921/1196/220 923/1197/220 +f 920/1198/220 917/1199/220 919/1200/220 +f 922/1201/219 918/1202/219 905/1203/219 +f 924/1195/215 917/1199/215 922/1204/215 +f 903/1205/218 918/1202/218 920/1198/218 +f 920/1198/217 919/1206/217 924/1207/217 +f 940/1208/215 935/1209/215 939/1210/215 +f 938/1211/219 935/1212/219 937/1213/219 +f 950/1214/215 945/1215/215 949/1216/215 +f 934/1217/219 931/1218/219 933/1219/219 +f 936/1220/216 932/1221/216 928/1222/216 +f 933/1219/215 936/1223/215 938/1211/215 +f 930/1224/218 932/1221/218 934/1217/218 +f 934/1217/220 933/1225/220 938/1226/220 +f 948/1227/217 945/1228/217 947/1229/217 +f 944/1230/217 941/1231/217 943/1232/217 +f 946/1233/220 942/1234/220 929/1235/220 +f 948/1227/215 941/1231/215 946/1236/215 +f 927/1237/218 942/1234/218 944/1230/218 +f 944/1230/216 943/1238/216 948/1239/216 +f 969/1240/221 971/1241/221 967/1242/221 +f 974/1243/222 969/1240/222 970/1244/222 +f 968/1245/223 974/1246/223 970/1247/223 +f 967/1242/224 972/1248/224 968/1245/224 +f 977/1249/221 979/1250/221 975/1251/221 +f 982/1252/222 977/1253/222 978/1254/222 +f 976/1255/223 982/1252/223 978/1254/223 +f 975/1251/224 980/1256/224 976/1255/224 +f 985/1257/221 987/1258/221 983/1259/221 +f 990/1260/222 985/1257/222 986/1261/222 +f 984/1262/223 990/1260/223 986/1261/223 +f 983/1259/224 988/1263/224 984/1264/224 +f 993/1265/221 995/1266/221 991/1267/221 +f 998/1268/222 993/1265/222 994/1269/222 +f 992/1270/223 998/1268/223 994/1269/223 +f 991/1271/224 996/1272/224 992/1270/224 +f 1009/1273/215 1002/1274/215 1001/1275/215 +f 999/1276/215 1008/1277/215 1000/1278/215 +f 1014/1279/215 999/1280/215 1006/1281/215 +f 1004/1282/215 1013/1283/215 1005/1284/215 +f 1010/1285/215 1003/1286/215 1002/1287/215 +f 1000/1288/215 1009/1273/215 1001/1289/215 +f 1013/1290/215 1006/1291/215 1005/1292/215 +f 1003/1293/215 1012/1294/215 1004/1295/215 +f 1018/1296/218 1025/1297/218 1017/1298/218 +f 1015/1299/218 1024/1300/218 1023/1301/218 +f 1015/1302/218 1030/1303/218 1022/1304/218 +f 1020/1305/218 1029/1306/218 1028/1307/218 +f 1019/1308/218 1026/1309/218 1018/1310/218 +f 1016/1311/218 1025/1297/218 1024/1300/218 +f 1022/1312/218 1029/1313/218 1021/1314/218 +f 1020/1315/218 1027/1316/218 1019/1317/218 +f 900/1318/218 902/1319/218 901/1320/218 +f 900/1318/225 881/1321/225 879/1322/225 +f 902/1323/224 882/1173/224 1034/1324/224 +f 899/1325/222 1031/1326/222 880/1175/222 +f 900/1327/222 879/1322/222 1032/1328/222 +f 901/1329/224 1033/1330/224 881/1321/224 +f 1033/1330/215 1034/1324/215 1031/1326/215 +f 1033/1330/215 1036/1331/215 1034/1324/215 +f 1031/1326/215 1038/1332/215 1032/1328/215 +f 1039/1333/226 1049/1334/226 1043/1335/226 +f 1044/1336/227 1048/1337/227 1040/1338/227 +f 1043/1339/218 1050/1340/218 1044/1341/218 +f 1041/1342/227 1053/1343/227 1045/1344/227 +f 1046/1345/226 1052/1346/226 1042/1347/226 +f 1045/1348/218 1054/1349/218 1046/1350/218 +f 1050/1340/222 1049/1351/222 1047/1352/222 +f 1051/1353/224 899/1354/224 1052/1355/224 +f 1037/1356/221 899/1357/221 1041/1342/221 +f 1042/1347/223 1052/1346/223 900/1358/223 +f 1045/1348/222 1046/1350/222 1042/1347/222 +f 1040/1338/221 1048/1337/221 902/1359/221 +f 1035/1360/223 901/1361/223 1039/1333/223 +f 1040/1338/224 1036/1331/224 1039/1333/224 +f 1058/1362/228 1055/1363/228 1056/1364/228 +f 1060/1365/222 1057/1366/222 1058/1362/222 +f 1060/1365/215 1061/1367/215 1059/1368/215 +f 1062/1369/223 1058/1362/223 1056/1370/223 +f 1057/1366/221 1061/1371/221 1055/1372/221 +f 1070/1373/215 1065/1374/215 1066/1375/215 +f 1065/1376/221 1067/1377/221 1063/1378/221 +f 1068/1379/223 1066/1380/223 1064/1381/223 +f 1068/1379/224 1069/1382/224 1070/1373/224 +f 1068/1379/229 1063/1383/229 1067/1377/229 +f 882/1173/214 902/1384/214 899/1174/214 +f 916/1176/215 913/1385/215 911/1177/215 +f 914/1179/216 912/1191/216 911/1180/216 +f 926/1182/215 923/1386/215 921/1183/215 +f 910/1185/216 908/1189/216 907/1186/216 +f 904/1190/217 915/1387/217 912/1188/217 +f 915/1387/217 911/1388/217 912/1188/217 +f 912/1188/217 907/1389/217 908/1189/217 +f 914/1179/215 909/1187/215 907/1186/215 +f 906/1192/218 904/1190/218 908/1189/218 +f 913/1385/219 916/1176/219 914/1194/219 +f 916/1176/219 906/1192/219 914/1194/219 +f 906/1192/219 910/1185/219 914/1194/219 +f 924/1195/220 922/1204/220 921/1196/220 +f 920/1198/220 918/1202/220 917/1199/220 +f 905/1203/219 925/1390/219 922/1201/219 +f 925/1390/219 921/1391/219 922/1201/219 +f 922/1201/219 917/1392/219 918/1202/219 +f 924/1195/215 919/1200/215 917/1199/215 +f 903/1205/218 905/1203/218 918/1202/218 +f 923/1386/217 926/1182/217 924/1207/217 +f 926/1182/217 903/1205/217 924/1207/217 +f 903/1205/217 920/1198/217 924/1207/217 +f 940/1208/215 937/1393/215 935/1209/215 +f 938/1211/219 936/1223/219 935/1212/219 +f 950/1214/215 947/1394/215 945/1215/215 +f 934/1217/219 932/1221/219 931/1218/219 +f 928/1222/216 939/1395/216 936/1220/216 +f 939/1395/216 935/1396/216 936/1220/216 +f 936/1220/216 931/1397/216 932/1221/216 +f 933/1219/215 931/1218/215 936/1223/215 +f 930/1224/218 928/1222/218 932/1221/218 +f 937/1393/220 940/1208/220 938/1226/220 +f 940/1208/220 930/1224/220 938/1226/220 +f 930/1224/220 934/1217/220 938/1226/220 +f 948/1227/217 946/1236/217 945/1228/217 +f 944/1230/217 942/1234/217 941/1231/217 +f 929/1235/220 949/1398/220 946/1233/220 +f 949/1398/220 945/1399/220 946/1233/220 +f 946/1233/220 941/1400/220 942/1234/220 +f 948/1227/215 943/1232/215 941/1231/215 +f 927/1237/218 929/1235/218 942/1234/218 +f 947/1394/216 950/1214/216 948/1239/216 +f 950/1214/216 927/1237/216 948/1239/216 +f 927/1237/216 944/1230/216 948/1239/216 +f 969/1240/221 973/1401/221 971/1241/221 +f 974/1243/222 973/1401/222 969/1240/222 +f 968/1245/223 972/1248/223 974/1246/223 +f 967/1242/224 971/1241/224 972/1248/224 +f 977/1249/221 981/1402/221 979/1250/221 +f 982/1252/222 981/1403/222 977/1253/222 +f 976/1255/223 980/1256/223 982/1252/223 +f 975/1251/224 979/1250/224 980/1256/224 +f 985/1257/221 989/1404/221 987/1258/221 +f 990/1260/222 989/1404/222 985/1257/222 +f 984/1262/223 988/1405/223 990/1260/223 +f 983/1259/224 987/1258/224 988/1263/224 +f 993/1265/221 997/1406/221 995/1266/221 +f 998/1268/222 997/1406/222 993/1265/222 +f 992/1270/223 996/1272/223 998/1268/223 +f 991/1271/224 995/1407/224 996/1272/224 +f 1009/1273/215 1010/1285/215 1002/1274/215 +f 999/1276/215 1007/1408/215 1008/1277/215 +f 1014/1279/215 1007/1408/215 999/1280/215 +f 1004/1282/215 1012/1294/215 1013/1283/215 +f 1010/1285/215 1011/1409/215 1003/1286/215 +f 1000/1288/215 1008/1277/215 1009/1273/215 +f 1013/1290/215 1014/1279/215 1006/1291/215 +f 1003/1293/215 1011/1409/215 1012/1294/215 +f 1018/1296/218 1026/1309/218 1025/1297/218 +f 1015/1299/218 1016/1410/218 1024/1300/218 +f 1015/1302/218 1023/1301/218 1030/1303/218 +f 1020/1305/218 1021/1411/218 1029/1306/218 +f 1019/1308/218 1027/1316/218 1026/1309/218 +f 1016/1311/218 1017/1412/218 1025/1297/218 +f 1022/1312/218 1030/1303/218 1029/1313/218 +f 1020/1315/218 1028/1307/218 1027/1316/218 +f 900/1318/218 899/1413/218 902/1319/218 +f 900/1318/225 901/1320/225 881/1321/225 +f 1034/1324/215 882/1173/215 880/1175/215 +f 1031/1326/215 1032/1328/215 1033/1330/215 +f 1032/1328/215 879/1322/215 1033/1330/215 +f 1034/1324/215 880/1175/215 1031/1326/215 +f 879/1322/215 881/1321/215 1033/1330/215 +f 1033/1330/215 1035/1360/215 1036/1331/215 +f 1031/1326/215 1037/1356/215 1038/1332/215 +f 1039/1333/226 1047/1414/226 1049/1334/226 +f 1044/1336/227 1050/1415/227 1048/1337/227 +f 1043/1339/218 1049/1351/218 1050/1340/218 +f 1041/1342/227 1051/1416/227 1053/1343/227 +f 1046/1345/226 1054/1417/226 1052/1346/226 +f 1045/1348/218 1053/1418/218 1054/1349/218 +f 1047/1352/222 901/1419/222 902/1420/222 +f 902/1420/222 1048/1421/222 1047/1352/222 +f 1048/1421/222 1050/1340/222 1047/1352/222 +f 899/1354/224 900/1422/224 1052/1355/224 +f 1052/1355/224 1054/1349/224 1053/1418/224 +f 1053/1418/224 1051/1353/224 1052/1355/224 +f 1031/1423/221 899/1357/221 1037/1356/221 +f 899/1357/221 1051/1416/221 1041/1342/221 +f 900/1358/223 1032/1424/223 1038/1332/223 +f 1038/1332/223 1042/1347/223 900/1358/223 +f 1042/1347/222 1038/1332/222 1037/1356/222 +f 1037/1356/222 1041/1342/222 1042/1347/222 +f 1041/1342/222 1045/1348/222 1042/1347/222 +f 902/1359/221 1034/1425/221 1036/1331/221 +f 1036/1331/221 1040/1338/221 902/1359/221 +f 1033/1426/223 901/1361/223 1035/1360/223 +f 901/1361/223 1047/1414/223 1039/1333/223 +f 1036/1331/224 1035/1360/224 1039/1333/224 +f 1039/1333/224 1043/1339/224 1044/1341/224 +f 1044/1341/224 1040/1338/224 1039/1333/224 +f 1058/1362/228 1057/1366/228 1055/1363/228 +f 1060/1365/222 1059/1368/222 1057/1366/222 +f 1060/1365/215 1062/1427/215 1061/1367/215 +f 1062/1369/223 1060/1365/223 1058/1362/223 +f 1057/1366/221 1059/1368/221 1061/1371/221 +f 1070/1373/215 1069/1382/215 1065/1374/215 +f 1065/1376/221 1069/1382/221 1067/1377/221 +f 1068/1379/223 1070/1373/223 1066/1380/223 +f 1068/1379/224 1067/1377/224 1069/1382/224 +f 1068/1379/229 1064/1428/229 1063/1383/229 +s 1 +f 884/1429/224 885/1430/216 883/1431/224 +f 886/1432/216 887/1433/221 885/1430/216 +f 888/1434/221 889/1435/217 887/1433/221 +f 890/1436/217 891/1437/222 889/1435/217 +f 892/1438/222 893/1439/220 891/1437/222 +f 894/1440/220 895/1441/223 893/1439/220 +f 896/1442/223 897/1443/219 895/1444/223 +f 898/1445/219 883/1431/224 897/1443/219 +f 956/1446/220 965/1447/223 957/1448/223 +f 957/1449/223 966/1450/219 958/1451/219 +f 958/1451/219 959/1452/224 951/1453/224 +f 951/1453/224 960/1454/216 952/1455/216 +f 952/1455/216 961/1456/221 953/1457/221 +f 953/1457/221 962/1458/217 954/1459/217 +f 954/1459/217 963/1460/222 955/1461/222 +f 955/1461/222 964/1462/220 956/1446/220 +f 884/1429/224 886/1432/216 885/1430/216 +f 886/1432/216 888/1434/221 887/1433/221 +f 888/1434/221 890/1436/217 889/1435/217 +f 890/1436/217 892/1438/222 891/1437/222 +f 892/1438/222 894/1440/220 893/1439/220 +f 894/1440/220 896/1463/223 895/1441/223 +f 896/1442/223 898/1445/219 897/1443/219 +f 898/1445/219 884/1429/224 883/1431/224 +f 956/1446/220 964/1462/220 965/1447/223 +f 957/1449/223 965/1464/223 966/1450/219 +f 958/1451/219 966/1450/219 959/1452/224 +f 951/1453/224 959/1452/224 960/1454/216 +f 952/1455/216 960/1454/216 961/1456/221 +f 953/1457/221 961/1456/221 962/1458/217 +f 954/1459/217 962/1458/217 963/1460/222 +f 955/1461/222 963/1460/222 964/1462/220 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index c84ee8d36..54defb5f7 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -153,6 +153,8 @@ "turret.jeremy_fire": {"category": "block", "sounds": ["turret/jeremy_fire1", "turret/jeremy_fire2", "turret/jeremy_fire3", "turret/jeremy_fire4", "turret/jeremy_fire5"]}, "turret.jeremy_reload": {"category": "block", "sounds": [{"name": "turret/jeremy_reload", "stream": false}]}, "turret.richard_fire": {"category": "block", "sounds": [{"name": "turret/richard_fire", "stream": false}]}, + "turret.howard_fire": {"category": "block", "sounds": [{"name": "turret/howard_fire", "stream": false}]}, + "turret.howard_reload": {"category": "block", "sounds": [{"name": "turret/howard_reload", "stream": false}]}, "entity.chopperFlyingLoop": {"category": "hostile", "sounds": [{"name": "entity/chopperFlyingLoop", "stream": true}]}, "entity.chopperDrop": {"category": "hostile", "sounds": [{"name": "entity/chopperDrop", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/turret/howard_fire.ogg b/src/main/resources/assets/hbm/sounds/turret/howard_fire.ogg new file mode 100644 index 000000000..71bad6b35 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/turret/howard_fire.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/turret/howard_reload.ogg b/src/main/resources/assets/hbm/sounds/turret/howard_reload.ogg new file mode 100644 index 000000000..1ad842a29 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/turret/howard_reload.ogg differ diff --git a/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret_howard.png b/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret_howard.png new file mode 100644 index 000000000..b13077d32 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret_howard.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ammo_dgk.png b/src/main/resources/assets/hbm/textures/items/ammo_dgk.png new file mode 100644 index 000000000..2c171cafe Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ammo_dgk.png differ diff --git a/src/main/resources/assets/hbm/textures/models/turrets/ciws_barrels.png b/src/main/resources/assets/hbm/textures/models/turrets/base/ciws_barrels.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/turrets/ciws_barrels.png rename to src/main/resources/assets/hbm/textures/models/turrets/base/ciws_barrels.png diff --git a/src/main/resources/assets/hbm/textures/models/turrets/carriage_ciws.png b/src/main/resources/assets/hbm/textures/models/turrets/carriage_ciws.png new file mode 100644 index 000000000..035906552 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/turrets/carriage_ciws.png differ diff --git a/src/main/resources/assets/hbm/textures/models/turrets/ciws_body.png b/src/main/resources/assets/hbm/textures/models/turrets/ciws_body.png deleted file mode 100644 index f5973d66c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/turrets/ciws_body.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/turrets/howard.png b/src/main/resources/assets/hbm/textures/models/turrets/howard.png new file mode 100644 index 000000000..44f4817df Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/turrets/howard.png differ diff --git a/src/main/resources/assets/hbm/textures/models/turrets/howard_barrels.png b/src/main/resources/assets/hbm/textures/models/turrets/howard_barrels.png new file mode 100644 index 000000000..4c11c13f6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/turrets/howard_barrels.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 219431c1d..3c94e0bef 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-3808", + "version":"1.0.27-3815", "mcversion": "1.7.10", "url": "", "updateUrl": "",