From 3ae4c3757ae1fa088267bdecf6099f090d750ae4 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 21 Mar 2021 21:42:52 +0100 Subject: [PATCH] the full CIWS experience --- src/main/java/com/hbm/blocks/ModBlocks.java | 18 +- .../com/hbm/blocks/generic/BlockSpeedy.java | 27 + .../com/hbm/blocks/machine/WasteDrum.java | 29 + .../com/hbm/blocks/turret/TurretHoward.java | 68 + .../java/com/hbm/crafting/WeaponRecipes.java | 30 +- .../hbm/entity/mob/EntityHunterChopper.java | 182 +- .../com/hbm/entity/mob/EntityQuackos.java | 43 +- .../hbm/entity/projectile/EntityMeteor.java | 120 +- .../hbm/handler/BulletConfigSyncingUtil.java | 2 + src/main/java/com/hbm/handler/GUIHandler.java | 20 +- .../java/com/hbm/handler/HazmatRegistry.java | 5 + .../com/hbm/handler/guncfg/GunDGKFactory.java | 15 + .../hbm/handler/guncfg/GunDartFactory.java | 3 +- .../com/hbm/inventory/AssemblerRecipes.java | 35 +- .../com/hbm/inventory/ShredderRecipes.java | 13 + .../java/com/hbm/inventory/gui/GUISILEX.java | 2 +- .../hbm/inventory/gui/GUITurretHoward.java | 20 + src/main/java/com/hbm/items/ModItems.java | 17 +- .../java/com/hbm/items/tool/ItemPeas.java | 30 + .../com/hbm/items/tool/ItemTurretControl.java | 1 - .../com/hbm/items/weapon/ItemCrucible.java | 3 +- .../com/hbm/items/weapon/ItemGunShotty.java | 3 +- src/main/java/com/hbm/lib/Library.java | 1 + src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/main/ResourceManager.java | 4 + .../hbm/render/item/ItemRenderLibrary.java | 16 + .../render/tileentity/RenderTurretHoward.java | 64 + .../render/util/RenderAccessoryUtility.java | 4 + .../hbm/render/util/RenderScreenOverlay.java | 2 +- .../turret/TileEntityTurretBaseNT.java | 43 +- .../turret/TileEntityTurretChekhov.java | 4 +- .../turret/TileEntityTurretHoward.java | 176 + .../java/com/hbm/util/EntityDamageUtil.java | 28 + src/main/resources/assets/hbm/lang/de_DE.lang | 5 + src/main/resources/assets/hbm/lang/en_US.lang | 5 + .../hbm/models/turrets/turret_howard.obj | 3945 +++++++++++++++++ src/main/resources/assets/hbm/sounds.json | 2 + .../assets/hbm/sounds/turret/howard_fire.ogg | Bin 0 -> 42299 bytes .../hbm/sounds/turret/howard_reload.ogg | Bin 0 -> 14049 bytes .../textures/gui/weapon/gui_turret_howard.png | Bin 0 -> 3823 bytes .../assets/hbm/textures/items/ammo_dgk.png | Bin 0 -> 199 bytes .../turrets/{ => base}/ciws_barrels.png | Bin .../textures/models/turrets/carriage_ciws.png | Bin 0 -> 722 bytes .../hbm/textures/models/turrets/ciws_body.png | Bin 1388 -> 0 bytes .../hbm/textures/models/turrets/howard.png | Bin 0 -> 1900 bytes .../models/turrets/howard_barrels.png | Bin 0 -> 256 bytes src/main/resources/mcmod.info | 2 +- 49 files changed, 4762 insertions(+), 229 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockSpeedy.java create mode 100644 src/main/java/com/hbm/blocks/turret/TurretHoward.java create mode 100644 src/main/java/com/hbm/handler/guncfg/GunDGKFactory.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUITurretHoward.java create mode 100644 src/main/java/com/hbm/items/tool/ItemPeas.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderTurretHoward.java create mode 100644 src/main/java/com/hbm/tileentity/turret/TileEntityTurretHoward.java create mode 100644 src/main/java/com/hbm/util/EntityDamageUtil.java create mode 100644 src/main/resources/assets/hbm/models/turrets/turret_howard.obj create mode 100644 src/main/resources/assets/hbm/sounds/turret/howard_fire.ogg create mode 100644 src/main/resources/assets/hbm/sounds/turret/howard_reload.ogg create mode 100644 src/main/resources/assets/hbm/textures/gui/weapon/gui_turret_howard.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_dgk.png rename src/main/resources/assets/hbm/textures/models/turrets/{ => base}/ciws_barrels.png (100%) create mode 100644 src/main/resources/assets/hbm/textures/models/turrets/carriage_ciws.png delete mode 100644 src/main/resources/assets/hbm/textures/models/turrets/ciws_body.png create mode 100644 src/main/resources/assets/hbm/textures/models/turrets/howard.png create mode 100644 src/main/resources/assets/hbm/textures/models/turrets/howard_barrels.png 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 0000000000000000000000000000000000000000..71bad6b354d22c4b17d3b10097873961b9557b8b GIT binary patch literal 42299 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 SFTBUib_~PAG&B$gI7k4!YG`l( literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..1ad842a2987066f8c444a24d122f64efa585160b GIT binary patch literal 14049 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 E01di2T>t<8 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..b13077d3231f195fb1d585261af150387a00c5cb GIT binary patch literal 3823 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..035906552d8a5f08a54eb3cd140a8863bfa07524 GIT binary patch literal 722 zcmV;@0xkWCP)BF%v00004b3#c}2nYxW zd$C@#cLLl8G#B zW+M%OH((pOz^2#kmmmKpAtA$bSJnJ(s=5oJJkMKNF=bgsp=}6BQ55X|{}##+Fiqmn z27oZ+dEV~#`={%1*F~^iutF>xHAgs|PTKb)hX9QDe^fJP)?P&n1vvy@%sz)GiUKRZ z3;N>IxBrA30x%$ml~R^v)U|p*5P$(e0LJ3WPB4skEp>X9Wk#pELWotw2_G4N;a&B| z5Axc7ari}%>FOX6LPR0#_c`C}H>Px`Vn~u?)EG_EC}RmLc1;!Mitkgn?>p`DE2G_R zH|lSzs-mAigk6I)go;~CM6}%yZ8s4m?`Er0^WD<<($e{Iza|}!4n8_$YwkWfwwwF) zG)+g1S5?(*966>;%+d%Q(fF)OCogKP<8?a z1OXTj1YkfAfB``OhO;W;v3yc%?CbMuHHAup6FP3z1<|$1LiD`Ba=y^N_q8ZNX*zL> z)k*#|_IE`ew_y7mbTPLaUsBh#m2q6#OcX9|i$CrB{K{_6O%Jz-XfkISu2_6hsW!GW zO*87zHP%w`e*FD=llQ(>*Y)TFsD4TkLKyc%NHM&!e++t`ORMwg@Gc11vbXjhD$xeuY}-cg}7qcOzi3_k2;@y3&Z;g@ha0#)6}RE&|#8Py0Xi)&qE28BpnWirlL6~cBvhhWk%m9q5uE@ literal 0 HcmV?d00001 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 f5973d66c0ee756cf5e8b8bb150610a00af6507d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1388 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 DS8rsD literal 0 HcmV?d00001 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": "",