From 4293bddf123b38d6de59b06008d2ee097fc1c0fd Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 3 Jul 2022 22:37:20 +0200 Subject: [PATCH] brick by brick, suck my --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/generic/BlockCoalBurning.java | 2 - .../hbm/blocks/generic/BlockDeepCobble.java | 43 + .../hbm/blocks/generic/BlockStorageCrate.java | 9 +- .../hbm/blocks/machine/BlockMassStorage.java | 15 +- .../com/hbm/config/FalloutConfigJSON.java | 105 +- .../hbm/entity/cart/EntityMinecartCrate.java | 15 + .../hbm/entity/effect/EntityFalloutRain.java | 117 +- .../entity/logic/EntityNukeExplosionMK4.java | 2 +- .../projectile/EntityArtilleryShell.java | 58 +- .../container/ContainerTurretBase.java | 7 + src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/weapon/ItemAmmoArty.java | 185 +- .../com/hbm/items/weapon/ItemGunBase.java | 4 +- .../java/com/hbm/items/weapon/ItemGunBio.java | 61 + src/main/java/com/hbm/main/ClientProxy.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 27 +- .../java/com/hbm/main/ResourceManager.java | 2 + .../com/hbm/particle/ParticlePlasmaBlast.java | 6 +- .../com/hbm/particle/ParticleRBMKMush.java | 4 + .../item/weapon/ItemRenderBioRevolver.java | 124 + .../turret/TileEntityTurretBaseNT.java | 15 +- src/main/java/com/hbm/util/Compat.java | 12 +- .../java/com/hbm/world/feature/DeepLayer.java | 81 + .../hbm/models/weapons/bio_revolver.obj | 3484 +++++++++++++++++ src/main/resources/assets/hbm/sounds.json | 3 + .../assets/hbm/sounds/block/closeC1.ogg | Bin 0 -> 12174 bytes .../assets/hbm/sounds/block/closeC2.ogg | Bin 0 -> 12275 bytes .../assets/hbm/sounds/block/closeC3.ogg | Bin 0 -> 11026 bytes .../assets/hbm/sounds/block/openC1.ogg | Bin 0 -> 12513 bytes .../assets/hbm/sounds/block/openC2.ogg | Bin 0 -> 13060 bytes .../assets/hbm/sounds/block/openCSqueaky.ogg | Bin 0 -> 11596 bytes .../hbm/sounds/weapon/explosion_medium.ogg | Bin 0 -> 24589 bytes .../assets/hbm/textures/blocks/block_tar.png | Bin 0 -> 516 bytes ...ning.png => stone_deep_cobble.burning.png} | Bin ...obble.png => stone_deep_cobble.normal.png} | Bin .../blocks/stone_deep_cobble.steaming.png | Bin 0 -> 910 bytes .../items/ammo_arty_mini_nuke_multi.png | Bin 0 -> 345 bytes .../items/ammo_arty_phosphorus_multi.png | Bin 0 -> 356 bytes .../textures/models/weapons/bio_revolver.png | Bin 0 -> 2246 bytes 40 files changed, 4105 insertions(+), 283 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java create mode 100644 src/main/java/com/hbm/items/weapon/ItemGunBio.java create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java create mode 100644 src/main/java/com/hbm/world/feature/DeepLayer.java create mode 100644 src/main/resources/assets/hbm/models/weapons/bio_revolver.obj create mode 100644 src/main/resources/assets/hbm/sounds/block/closeC1.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/closeC2.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/closeC3.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/openC1.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/openC2.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg create mode 100644 src/main/resources/assets/hbm/sounds/weapon/explosion_medium.ogg create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_tar.png rename src/main/resources/assets/hbm/textures/blocks/{deep_cobble_burning.png => stone_deep_cobble.burning.png} (100%) rename src/main/resources/assets/hbm/textures/blocks/{deep_cobble.png => stone_deep_cobble.normal.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_deep_cobble.steaming.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/bio_revolver.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 6fe06592e..e0a391b02 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -139,6 +139,7 @@ public class ModBlocks { public static Block stone_resource; public static Block stalagmite; public static Block stalactite; + public static Block stone_deep_cobble; public static Block depth_brick; public static Block depth_tiles; @@ -1383,6 +1384,7 @@ public class ModBlocks { stone_resource = new BlockResourceStone().setBlockName("stone_resource").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); + stone_deep_cobble = new BlockDeepCobble().setBlockName("stone_deep_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); @@ -2488,6 +2490,7 @@ public class ModBlocks { GameRegistry.registerBlock(basalt_brick, basalt_brick.getUnlocalizedName()); GameRegistry.registerBlock(basalt_polished, basalt_polished.getUnlocalizedName()); GameRegistry.registerBlock(basalt_tiles, basalt_tiles.getUnlocalizedName()); + //GameRegistry.registerBlock(stone_deep_cobble, ItemBlockBase.class, stone_deep_cobble.getUnlocalizedName()); //Blocks GameRegistry.registerBlock(block_uranium, block_uranium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java index 7a8167446..312c9c310 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCoalBurning.java @@ -2,8 +2,6 @@ package com.hbm.blocks.generic; import java.util.Random; -import com.hbm.blocks.ModBlocks; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java b/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java new file mode 100644 index 000000000..34c894bbb --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java @@ -0,0 +1,43 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.BlockEnumMulti; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public class BlockDeepCobble extends BlockEnumMulti { + + public static enum EnumDeepCobbleTypes { + NORMAL, + BURNING, + STEAMING + } + + public BlockDeepCobble() { + super(Material.rock, EnumDeepCobbleTypes.class, true, true); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + super.randomDisplayTick(world, x, y, z, rand); + + int meta = world.getBlockMetadata(x, y, z); + Block b = world.getBlock(x, y + 1, z); + + if(!b.isNormalCube()) { + if(meta == EnumDeepCobbleTypes.BURNING.ordinal()) { + world.spawnParticle("flame", x + rand.nextDouble(), y + 1.0625, z + rand.nextDouble(), 0.0, 0.0, 0.0); + } + + if(meta == EnumDeepCobbleTypes.STEAMING.ordinal()) { + world.spawnParticle("cloud", x + 0.25 + rand.nextDouble() * 0.5, y + 1.0625, z + 0.25 + rand.nextDouble() * 0.5, 0.0, 0.05, 0.0); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 986650809..5dddb69ed 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -32,6 +32,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -134,7 +136,12 @@ public class BlockStorageCrate extends BlockContainer { try { byte[] abyte = CompressedStreamTools.compress(nbt); - //System.out.println("size: " + abyte.length); //TODO: test capacity, make sure size is <20% of maximum allowed payload + + if(abyte.length > 6000) { + player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Warning: Container NBT exceeds 6kB, contents will be ejected!")); + return world.setBlockToAir(x, y, z); + } + } catch(IOException e) { } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java index 3c5f2826c..519011857 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java +++ b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java @@ -73,9 +73,18 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo return side == 1 ? this.iconTop[meta] : (side == 0 ? this.iconTop[meta] : this.iconSide[meta]); } + @Override + public int damageDropped(int meta) { + return meta; + } + @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityMassStorage(meta == 0 ? 10_000 : meta == 1 ? 100_000 : 1_000_000); + return new TileEntityMassStorage(getCapacity(meta)); + } + + public int getCapacity(int meta) { + return meta == 0 ? 10_000 : meta == 1 ? 100_000 : meta == 2 ? 1_000_000 : 0; } @Override @@ -131,7 +140,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo } } - if(inv instanceof TileEntityMassStorage) { + if(inv instanceof TileEntityMassStorage && nbt.func_150296_c().size() > 0) { TileEntityMassStorage storage = (TileEntityMassStorage) inv; nbt.setInteger("stack", storage.getStockpile()); } @@ -274,7 +283,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo if(type != null) { list.add(EnumChatFormatting.GOLD + type.getDisplayName()); - list.add("x" + String.format("%,d", stack.stackTagCompound.getInteger("stack"))); + list.add(String.format("%,d", stack.stackTagCompound.getInteger("stack")) + " / " + String.format("%,d", getCapacity(stack.getItemDamage()))); } } } diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index 3db6590e8..7236fbbf1 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -5,7 +5,6 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Random; @@ -18,6 +17,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.main.MainRegistry; +import com.hbm.util.Compat; import com.hbm.util.Tuple.Triplet; import net.minecraft.block.Block; @@ -53,29 +53,34 @@ public class FalloutConfigJSON { } private static void initDefault() { - entries.add(new FalloutEntry() - .mB(Blocks.leaves) - .prim(new Triplet(Blocks.air, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.leaves2) - .prim(new Triplet(Blocks.air, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_1, 0, 1)) - .max(5) - .sol(true)); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_0, 0, 1)) - .min(5) - .max(15) - .sol(true)); - entries.add(new FalloutEntry() - .mB(Blocks.stone) - .prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)) - .min(15) - .max(75) - .sol(true)); + + double woodEffectRange = 65D; + /* destroy all leaves within the radios, kill all leaves outside of it */ + entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); + entries.add(new FalloutEntry( ).mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); + + entries.add(new FalloutEntry() .mB(Blocks.log) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.log2) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.planks) .prim(new Triplet(ModBlocks.waste_planks, 0, 1)) .max(woodEffectRange)); + + FalloutEntry stoneCore = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_1, 0, 1)).max(5).sol(true); + FalloutEntry stoneInner = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_0, 0, 1)).min(5).max(15).sol(true); + FalloutEntry stoneOuter = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)).min(15).max(50).sol(true); + + entries.add(stoneCore.clone().mB(Blocks.stone)); + entries.add(stoneInner.clone().mB(Blocks.stone)); + entries.add(stoneOuter.clone().mB(Blocks.stone)); + entries.add(stoneCore.clone().mB(Blocks.gravel)); + entries.add(stoneInner.clone().mB(Blocks.gravel)); + entries.add(stoneOuter.clone().mB(Blocks.gravel)); + entries.add(new FalloutEntry() .mB(Blocks.grass) .prim(new Triplet(ModBlocks.waste_earth, 0, 1))); @@ -100,24 +105,13 @@ public class FalloutConfigJSON { .mB(Blocks.coal_ore) .prim(new Triplet(Blocks.diamond_ore, 0, 3), new Triplet(Blocks.emerald_ore, 0, 2)) .c(0.2)); - entries.add(new FalloutEntry() - .mB(Blocks.log) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.log2) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.red_mushroom_block).mM(10) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.brown_mushroom_block).mM(10) - .prim(new Triplet(ModBlocks.waste_log, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.planks) - .prim(new Triplet(ModBlocks.waste_planks, 0, 1))); entries.add(new FalloutEntry() .mB(Blocks.coal_ore) .prim(new Triplet(Blocks.diamond_ore, 0, 3), new Triplet(Blocks.emerald_ore, 0, 2)) + .c(0.5)); + entries.add(new FalloutEntry() + .mB(ModBlocks.ore_lignite) + .prim(new Triplet(Blocks.diamond_ore, 0, 1)) .c(0.2)); entries.add(new FalloutEntry() .mB(ModBlocks.ore_uranium) @@ -128,6 +122,20 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(ModBlocks.ore_gneiss_uranium) .prim(new Triplet(ModBlocks.ore_gneiss_schrabidium, 0, 1), new Triplet(ModBlocks.ore_gneiss_uranium_scorched, 0, 99))); + + /// COMPAT /// + Block deepslate = Compat.tryLoadBlock(Compat.MOD_EF, "deepslate"); + if(deepslate != null) { //identical to stone + entries.add(stoneCore.clone().mB(deepslate)); + entries.add(stoneInner.clone().mB(deepslate)); + entries.add(stoneOuter.clone().mB(deepslate)); + } + Block stone = Compat.tryLoadBlock(Compat.MOD_EF, "stone"); + if(stone != null) { //identical to stone + entries.add(stoneCore.clone().mB(stone)); + entries.add(stoneInner.clone().mB(stone)); + entries.add(stoneOuter.clone().mB(stone)); + } } private static void writeDefault(File file) { @@ -185,6 +193,21 @@ public class FalloutConfigJSON { private double maxDist = 100.0D; private boolean isSolid = false; + + public FalloutEntry clone() { + FalloutEntry entry = new FalloutEntry(); + entry.mB(matchesBlock); + entry.mM(matchesMeta); + entry.mMa(matchesMaterial); + entry.mO(matchesOpaque); + entry.prim(primaryBlocks); + entry.sec(secondaryBlocks); + entry.min(minDist); + entry.max(maxDist); + entry.sol(isSolid); + + return entry; + } public FalloutEntry mB(Block block) { this.matchesBlock = block; return this; } public FalloutEntry mM(int meta) { this.matchesMeta = meta; return this; } @@ -211,7 +234,7 @@ public class FalloutConfigJSON { if(primaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(primaryBlocks); - world.setBlock(x, y, z, block.block, block.meta, 2); + world.setBlock(x, y, z, block.block, block.meta, 3); return true; } else { @@ -219,7 +242,7 @@ public class FalloutConfigJSON { if(secondaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(secondaryBlocks); - world.setBlock(x, y, z, block.block, block.meta, 2); + world.setBlock(x, y, z, block.block, block.meta, 3); return true; } } diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java index 8eaaff942..1e88f0177 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java @@ -1,5 +1,7 @@ package com.hbm.entity.cart; +import java.io.IOException; + import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemModMinecart; @@ -11,8 +13,11 @@ import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class EntityMinecartCrate extends EntityMinecartContainerBase { @@ -76,6 +81,16 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase { if(this.func_95999_t() != null) { itemstack.setStackDisplayName(this.func_95999_t()); } + + try { + byte[] abyte = CompressedStreamTools.compress(nbt); + + if(abyte.length > 6000) { + worldObj.newExplosion(this, posX, posY, posZ, 2F, true, true); + this.entityDropItem(ItemModMinecart.createCartItem(EnumCartBase.VANILLA, EnumMinecart.CRATE), 0.0F); + } + + } catch(IOException e) { } this.entityDropItem(itemstack, 0.0F); } diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 3fb6146a7..a6cef460f 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -9,6 +9,7 @@ import com.hbm.saveddata.AuxSavedData; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityFallingBlock; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; @@ -72,6 +73,7 @@ public class EntityFalloutRain extends Entity { } } } + } else { setDead(); } @@ -120,7 +122,9 @@ public class EntityFalloutRain extends Entity { Collections.reverse(chunksToProcess); // So it starts nicely from the middle Collections.reverse(outerChunksToProcess); } - + + //private List changedPositions = new ArrayList(); + // TODO cache chunks? private void stomp(int x, int z, double dist) { @@ -145,12 +149,12 @@ public class EntityFalloutRain extends Entity { double chance = 0.05 - Math.pow((d - 0.6) * 0.5, 2); if(chance >= rand.nextDouble() && ModBlocks.fallout.canPlaceBlockAt(worldObj, x, y + 1, z)) - worldObj.setBlock(x, y + 1, z, ModBlocks.fallout); + setBlock(x, y + 1, z, ModBlocks.fallout); } if(b.isFlammable(worldObj, x, y, z, ForgeDirection.UP)) { if(rand.nextInt(5) == 0) - worldObj.setBlock(x, y + 1, z, Blocks.fire); + setBlock(x, y + 1, z, Blocks.fire); } boolean eval = false; @@ -161,107 +165,32 @@ public class EntityFalloutRain extends Entity { if(entry.isSolid()) { depth++; } - eval = true; break; } } + if(dist < 65 && b.getBlockHardness(worldObj, x, y, z) <= Blocks.stonebrick.getExplosionResistance(null)) { + Block bl = worldObj.getBlock(x, y - 1, z); + if(bl == Blocks.air) { + EntityFallingBlock entityfallingblock = new EntityFallingBlock(worldObj, x + 0.5D, y + 0.5D, z + 0.5D, worldObj.getBlock(x, y, z), worldObj.getBlockMetadata(x, y, z)); + worldObj.spawnEntityInWorld(entityfallingblock); + } + } + if(!eval && b.isNormalCube()) { depth++; } - - /*if (b == Blocks.leaves || b == Blocks.leaves2) { - worldObj.setBlock(x, y, z, Blocks.air); - - } else if(b == Blocks.stone) { - - depth++; - - if(dist < 5) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_1); - else if(dist < 15) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_0); - else if(dist < 75) - worldObj.setBlock(x, y, z, ModBlocks.sellafield_slaked); - else - return; - - if(depth > 2) - return; - - } else if(b == Blocks.grass) { - worldObj.setBlock(x, y, z, ModBlocks.waste_earth); - return; - - } else if(b == Blocks.mycelium) { - worldObj.setBlock(x, y, z, ModBlocks.waste_mycelium); - return; - - } else if(b == Blocks.sand) { - - if(rand.nextInt(20) == 0) - worldObj.setBlock(x, y, z, meta == 0 ? ModBlocks.waste_trinitite : ModBlocks.waste_trinitite_red); - return; - - } else if (b == Blocks.clay) { - worldObj.setBlock(x, y, z, Blocks.hardened_clay); - return; - - } else if (b == Blocks.mossy_cobblestone) { - worldObj.setBlock(x, y, z, Blocks.coal_ore); - return; - - } else if (b == Blocks.coal_ore) { - int ra = rand.nextInt(150); - if (ra < 20) { - worldObj.setBlock(x, y, z, Blocks.diamond_ore); - } else if (ra < 30) { - worldObj.setBlock(x, y, z, Blocks.emerald_ore); - } - return; - - } else if (b == Blocks.log || b == Blocks.log2) { - worldObj.setBlock(x, y, z, ModBlocks.waste_log); - - } else if (b == Blocks.brown_mushroom_block || b == Blocks.red_mushroom_block) { - if (meta == 10) { - worldObj.setBlock(x, y, z, ModBlocks.waste_log); - } else { - worldObj.setBlock(x, y, z, Blocks.air,0,2); - } - - } else if (b.getMaterial() == Material.wood && b.isOpaqueCube() && b != ModBlocks.waste_log) { - worldObj.setBlock(x, y, z, ModBlocks.waste_planks); - } - - else if (b == ModBlocks.ore_uranium) { - if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_uranium_scorched); - return; - - } else if (b == ModBlocks.ore_nether_uranium) { - if (rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_nether_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_nether_uranium_scorched); - return; - - } else if(b == ModBlocks.ore_gneiss_uranium) { - if(rand.nextInt(VersatileConfig.getSchrabOreChance()) == 0) - worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_schrabidium); - else - worldObj.setBlock(x, y, z, ModBlocks.ore_gneiss_uranium_scorched); - return; - - //this piece stops the "stomp" from reaching below ground - } else if(b.isNormalCube()) { - return; - }*/ } } + + public void setBlock(int x, int y, int z, Block block) { + setBlock(x, y, z, block, 0); + } + + public void setBlock(int x, int y, int z, Block block, int meta) { + worldObj.setBlock(x, y, z, block, meta, 3); //this was supposed to write the position to a list for a multi block update, but forge already has that built-in. whoops. + } @Override protected void entityInit() { diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java index 3ccfd3eda..6d0a40d70 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK4.java @@ -102,7 +102,7 @@ public class EntityNukeExplosionMK4 extends Entity { fallout.posX = this.posX; fallout.posY = this.posY; fallout.posZ = this.posZ; - fallout.setScale((int)(this.length * 1.8 + falloutAdd) * BombConfig.falloutRange / 100); + fallout.setScale((int)(this.length * 2.5 + falloutAdd) * BombConfig.falloutRange / 100); this.worldObj.spawnEntityInWorld(fallout); diff --git a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java index c11471a5e..8e66e0b47 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java +++ b/src/main/java/com/hbm/entity/projectile/EntityArtilleryShell.java @@ -67,22 +67,38 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public ArtilleryShell getType() { try { - return ItemAmmoArty.types[this.dataWatcher.getWatchableObjectInt(10)]; + return ItemAmmoArty.itemTypes[this.dataWatcher.getWatchableObjectInt(10)]; } catch(Exception ex) { - return ItemAmmoArty.types[0]; + return ItemAmmoArty.itemTypes[0]; } } - public void setTarget(int x, int y, int z) { + public double[] getTarget() { + return new double[] { this.targetX, this.targetY, this.targetZ }; + } + + public void setTarget(double x, double y, double z) { this.targetX = x; this.targetY = y; this.targetZ = z; } + public double getTargetHeight() { + return this.targetY; + } + public void setWhistle(boolean whistle) { this.shouldWhistle = whistle; } + public boolean getWhistle() { + return this.shouldWhistle; + } + + public boolean didWhistle() { + return this.didWhistle; + } + @Override public void onUpdate() { @@ -96,12 +112,13 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa double dist = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ); if(speed * 18 > dist) { - worldObj.playSoundEffect(this.targetX, this.targetY, this.targetZ, "hbm:turret.mortarWhistle", 15.0F, 1.0F); + worldObj.playSoundEffect(this.targetX, this.targetY, this.targetZ, "hbm:turret.mortarWhistle", 15.0F, 0.9F + rand.nextFloat() * 0.2F); this.didWhistle = true; } } loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); + this.getType().onUpdate(this); } else { if(this.turnProgress > 0) { @@ -143,15 +160,7 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa protected void onImpact(MovingObjectPosition mop) { if(!worldObj.isRemote) { - /*Vec3 vec = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize(); - this.worldObj.newExplosion(this, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 15F, false, false); - this.setDead();*/ - this.getType().onImpact(this, mop); - - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } } } @@ -172,27 +181,30 @@ public class EntityArtilleryShell extends EntityThrowableNT implements IChunkLoa public void loadNeighboringChunks(int newChunkX, int newChunkZ) { if(!worldObj.isRemote && loaderTicket != null) { - for(ChunkCoordIntPair chunk : loadedChunks) { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + clearChunkLoader(); loadedChunks.clear(); loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); loadedChunks.add(new ChunkCoordIntPair(newChunkX + (int) Math.ceil((this.posX + this.motionX) / 16D), newChunkZ + (int) Math.ceil((this.posZ + this.motionZ) / 16D))); - /*loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ - 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX + 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ + 1)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX - 1, newChunkZ)); - loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ - 1));*/ for(ChunkCoordIntPair chunk : loadedChunks) { ForgeChunkManager.forceChunk(loaderTicket, chunk); } } } + + public void killAndClear() { + this.setDead(); + this.clearChunkLoader(); + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null) { + for(ChunkCoordIntPair chunk : loadedChunks) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + } + } @Override public void writeEntityToNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java b/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java index bcf16824c..0948f8578 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java +++ b/src/main/java/com/hbm/inventory/container/ContainerTurretBase.java @@ -15,6 +15,7 @@ public class ContainerTurretBase extends Container { public ContainerTurretBase(InventoryPlayer invPlayer, TileEntityTurretBaseNT te) { turret = te; + turret.openInventory(); this.addSlotToContainer(new Slot(te, 0, 98, 27)); @@ -78,4 +79,10 @@ public class ContainerTurretBase extends Container { public boolean canInteractWith(EntityPlayer player) { return turret.isUseableByPlayer(player); } + + @Override + public void onContainerClosed(EntityPlayer p_75134_1_) { + super.onContainerClosed(p_75134_1_); + this.turret.closeInventory(); + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index a28ded22a..45d2ad402 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1632,6 +1632,7 @@ public class ModItems { public static Item gun_revolver_silver; public static Item gun_revolver_red; //public static Item gun_revolver_nopip_ammo; + public static Item gun_bio_revolver; public static Item gun_deagle; public static Item gun_flechette; public static Item gun_ar15; @@ -4368,6 +4369,7 @@ public class ModItems { gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); gun_revolver_red = new ItemGunBase(Gun44MagnumFactory.getRedConfig()).setUnlocalizedName("gun_revolver_red").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_red"); gun_deagle = new ItemGunBase(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_deagle").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_deagle"); + gun_bio_revolver = new ItemGunBio(Gun50AEFactory.getDeagleConfig()).setUnlocalizedName("gun_bio_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bio_revolver"); gun_flechette = new ItemGunBase(Gun556mmFactory.getSPIWConfig(), Gun556mmFactory.getGLauncherConfig()).setUnlocalizedName("gun_flechette").setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_flechette"); gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15"); //gun_calamity_ammo = new ItemCustomLore().setUnlocalizedName("gun_calamity_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_calamity_ammo"); @@ -7167,6 +7169,7 @@ public class ModItems { GameRegistry.registerItem(gun_revolver_blackjack, gun_revolver_blackjack.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_silver, gun_revolver_silver.getUnlocalizedName()); GameRegistry.registerItem(gun_revolver_red, gun_revolver_red.getUnlocalizedName()); + GameRegistry.registerItem(gun_bio_revolver, gun_bio_revolver.getUnlocalizedName()); GameRegistry.registerItem(gun_deagle, gun_deagle.getUnlocalizedName()); GameRegistry.registerItem(gun_flechette, gun_flechette.getUnlocalizedName()); GameRegistry.registerItem(gun_ar15, gun_ar15.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index 525f26f03..8ffd39ae5 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -15,7 +15,6 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; -import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -42,13 +41,18 @@ import net.minecraft.util.Vec3; public class ItemAmmoArty extends Item { - public static ArtilleryShell[] types = new ArtilleryShell[ /* >>> */ 6 /* <<< */ ]; + public static ArtilleryShell[] itemTypes = new ArtilleryShell[ /* >>> */ 8 /* <<< */ ]; + public static ArtilleryShell[] shellTypes = new ArtilleryShell[ /* >>> */ 8 /* <<< */ ]; + /* item types */ public final int NORMAL = 0; public final int CLASSIC = 1; public final int EXPLOSIVE = 2; public final int MINI_NUKE = 3; public final int NUKE = 4; public final int PHOSPHORUS = 5; + public final int MINI_NUKE_MULTI = 6; + public final int PHOSPHORUS_MULTI = 7; + /* non-item shell types */ public ItemAmmoArty() { this.setHasSubtypes(true); @@ -63,7 +67,9 @@ public class ItemAmmoArty extends Item { list.add(new ItemStack(item, 1, CLASSIC)); list.add(new ItemStack(item, 1, EXPLOSIVE)); list.add(new ItemStack(item, 1, PHOSPHORUS)); + list.add(new ItemStack(item, 1, PHOSPHORUS_MULTI)); list.add(new ItemStack(item, 1, MINI_NUKE)); + list.add(new ItemStack(item, 1, MINI_NUKE_MULTI)); list.add(new ItemStack(item, 1, NUKE)); } @@ -108,15 +114,15 @@ public class ItemAmmoArty extends Item { } } - private IIcon[] icons = new IIcon[types.length]; + private IIcon[] icons = new IIcon[itemTypes.length]; @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { - this.icons = new IIcon[types.length]; + this.icons = new IIcon[itemTypes.length]; for(int i = 0; i < icons.length; i++) { - this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + types[i].name); + this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + itemTypes[i].name); } } @@ -128,71 +134,85 @@ public class ItemAmmoArty extends Item { @Override public String getUnlocalizedName(ItemStack stack) { - return "item." + types[Math.abs(stack.getItemDamage()) % types.length].name; + return "item." + itemTypes[Math.abs(stack.getItemDamage()) % itemTypes.length].name; } - public static abstract class ArtilleryShell { + public abstract class ArtilleryShell { String name; + public ArtilleryShell() { } + public ArtilleryShell(String name) { this.name = name; } public abstract void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop); + public void onUpdate(EntityArtilleryShell shell) { } + } + + public static void standardExplosion(EntityArtilleryShell shell, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks) { + shell.worldObj.playSoundEffect(shell.posX, shell.posY, shell.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + shell.worldObj.rand.nextFloat() * 0.2F); + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); + if(breaksBlocks) { + xnt.setBlockAllocator(new BlockAllocatorStandard(48)); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + } + xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(rangeMod)); + xnt.setPlayerProcessor(new PlayerProcessorStandard()); + xnt.setSFX(new ExplosionEffectStandard()); + xnt.explode(); + shell.killAndClear(); + } + + public static void standardCluster(EntityArtilleryShell shell, int clusterType, int amount, double splitHeight, double deviation) { + if(!shell.getWhistle() || shell.motionY > 0) return; + if(shell.getTargetHeight() + splitHeight < shell.posY) return; + + shell.killAndClear(); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "plasmablast"); + data.setFloat("r", 1.0F); + data.setFloat("g", 1.0F); + data.setFloat("b", 1.0F); + data.setFloat("scale", 50F); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, shell.posX, shell.posY, shell.posZ), + new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 500)); + + for(int i = 0; i < amount; i++) { + EntityArtilleryShell cluster = new EntityArtilleryShell(shell.worldObj); + cluster.setType(clusterType); + cluster.setPositionAndRotation(shell.posX, shell.posY, shell.posZ, shell.rotationYaw, shell.rotationPitch); + cluster.motionX = i == 0 ? shell.motionX : (shell.motionX + shell.worldObj.rand.nextGaussian() * deviation); + cluster.motionY = shell.motionY; + cluster.motionZ = i == 0 ? shell.motionZ : (shell.motionZ + shell.worldObj.rand.nextGaussian() * deviation); + double[] target = shell.getTarget(); + cluster.setTarget(target[0], target[1], target[2]); + cluster.setWhistle(shell.getWhistle() && !shell.didWhistle()); + shell.worldObj.spawnEntityInWorld(cluster); + } } private void init() { - this.types[NORMAL] = new ArtilleryShell("ammo_arty") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 10F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[CLASSIC] = new ArtilleryShell("ammo_arty_classic") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 15F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(5F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 20F); - xnt.setBlockAllocator(new BlockAllocatorStandard(48)); - xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - shell.setDead(); - } - }; - this.types[MINI_NUKE] = new ArtilleryShell("ammo_arty_mini_nuke") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + /* STANDARD SHELLS */ + this.shellTypes[NORMAL] = this.itemTypes[NORMAL] = new ArtilleryShell("ammo_arty") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 10F, 3F, false); }}; + this.shellTypes[CLASSIC] = this.itemTypes[CLASSIC] = new ArtilleryShell("ammo_arty_classic") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 5F, false); }}; + this.shellTypes[EXPLOSIVE] = this.itemTypes[EXPLOSIVE] = new ArtilleryShell("ammo_arty_he") { public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { standardExplosion(shell, mop, 15F, 3F, true); }}; + + /* MINI NUKE */ + this.shellTypes[MINI_NUKE] = this.itemTypes[MINI_NUKE] = new ArtilleryShell("ammo_arty_mini_nuke") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + shell.killAndClear(); Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); ExplosionNukeSmall.explode(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, ExplosionNukeSmall.medium); - shell.setDead(); } }; - this.types[NUKE] = new ArtilleryShell("ammo_arty_nuke") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + + /* FULL NUKE */ + this.shellTypes[NUKE] = this.itemTypes[NUKE] = new ArtilleryShell("ammo_arty_nuke") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { shell.worldObj.spawnEntityInWorld(EntityNukeExplosionMK4.statFac(shell.worldObj, BombConfig.missileRadius, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord)); EntityNukeCloudSmall entity2 = new EntityNukeCloudSmall(shell.worldObj, 1000, BombConfig.missileRadius * 0.005F); entity2.posX = mop.hitVec.xCoord; @@ -202,53 +222,44 @@ public class ItemAmmoArty extends Item { shell.setDead(); } }; - this.types[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus") { - @Override public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { - - Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); - double x = mop.hitVec.xCoord - vec.xCoord; - double y = mop.hitVec.yCoord - vec.yCoord; - double z = mop.hitVec.zCoord - vec.zCoord; - - ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, x, y, z, 10F); - xnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(3F)); - xnt.setPlayerProcessor(new PlayerProcessorStandard()); - xnt.setSFX(new ExplosionEffectStandard()); - xnt.explode(); - - ExplosionLarge.spawnShrapnels(shell.worldObj, x, y, z, 15); - ExplosionChaos.burn(shell.worldObj, (int)x, (int)y, (int)z, 12); - + + /* PHOSPHORUS */ + this.shellTypes[PHOSPHORUS] = this.itemTypes[PHOSPHORUS] = new ArtilleryShell("ammo_arty_phosphorus") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + standardExplosion(shell, mop, 10F, 3F, false); + shell.worldObj.playSoundEffect(shell.posX, shell.posY, shell.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + shell.worldObj.rand.nextFloat() * 0.2F); + ExplosionLarge.spawnShrapnels(shell.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 15); + ExplosionChaos.burn(shell.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 12); int radius = 15; List hit = shell.worldObj.getEntitiesWithinAABBExcludingEntity(shell, AxisAlignedBB.getBoundingBox(shell.posX - radius, shell.posY - radius, shell.posZ - radius, shell.posX + radius, shell.posY + radius, shell.posZ + radius)); - for(Entity e : hit) { - - if(!Library.isObstructed(shell.worldObj, shell.posX, shell.posY, shell.posZ, e.posX, e.posY + e.getEyeHeight(), e.posZ)) { - e.setFire(5); - - if(e instanceof EntityLivingBase) { - - PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 30 * 20, 0, true); - eff.getCurativeItems().clear(); - ((EntityLivingBase)e).addPotionEffect(eff); - } + e.setFire(5); + if(e instanceof EntityLivingBase) { + PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 30 * 20, 0, true); + eff.getCurativeItems().clear(); + ((EntityLivingBase)e).addPotionEffect(eff); } } - for(int i = 0; i < 5; i++) { NBTTagCompound haze = new NBTTagCompound(); haze.setString("type", "haze"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, x + shell.worldObj.rand.nextGaussian() * 10, y, z + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(haze, mop.hitVec.xCoord + shell.worldObj.rand.nextGaussian() * 10, mop.hitVec.yCoord, mop.hitVec.zCoord + shell.worldObj.rand.nextGaussian() * 10), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 150)); } - NBTTagCompound data = new NBTTagCompound(); data.setString("type", "rbmkmush"); data.setFloat("scale", 10); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, x, y, z, 250)); - - shell.setDead(); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord), new TargetPoint(shell.dimension, shell.posX, shell.posY, shell.posZ, 250)); } }; + + /* CLUSTER SHELLS */ + this.shellTypes[PHOSPHORUS_MULTI] = this.itemTypes[PHOSPHORUS_MULTI] = new ArtilleryShell("ammo_arty_phosphorus_multi") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { ItemAmmoArty.this.shellTypes[PHOSPHORUS].onImpact(shell, mop); } + public void onUpdate(EntityArtilleryShell shell) { standardCluster(shell, PHOSPHORUS, 10, 300, 5); } + }; + this.shellTypes[MINI_NUKE_MULTI] = this.itemTypes[MINI_NUKE_MULTI] = new ArtilleryShell("ammo_arty_mini_nuke_multi") { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { ItemAmmoArty.this.shellTypes[MINI_NUKE].onImpact(shell, mop); } + public void onUpdate(EntityArtilleryShell shell) { standardCluster(shell, MINI_NUKE, 5, 300, 5); } + }; } } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index c7e59441e..1601bce8f 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -272,13 +272,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD { } } - //called on click (client side, called by update cylce) + //called on click (client side, called by mouse click event) public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } //called on click release (server side, called by mouse packet) for release actions like charged shots public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { } - //called on click release (client side, called by update cylce) + //called on click release (client side, called by update cycle) public void endActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { } //reload action, if existent diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBio.java b/src/main/java/com/hbm/items/weapon/ItemGunBio.java new file mode 100644 index 000000000..624d8a660 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemGunBio.java @@ -0,0 +1,61 @@ +package com.hbm.items.weapon; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.handler.GunConfiguration; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class ItemGunBio extends ItemGunBase { + + public ItemGunBio(GunConfiguration config) { + super(config); + } + + /* just a test */ + public static long lastShot; + public static List smokeNodes = new ArrayList(); + + @Override + public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { + lastShot = System.currentTimeMillis(); + } + + @Override + @SideOnly(Side.CLIENT) + protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { + super.updateClient(stack, world, entity, slot, isCurrentItem); + + boolean smoking = lastShot + 3000 > System.currentTimeMillis(); + + if(!smoking && !smokeNodes.isEmpty()) { + smokeNodes.clear(); + } + + if(smoking) { + + Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); + prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); + double accel = 15D; + double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; + double waggle = 0.025D; + + for(double[] node : smokeNodes) { + node[0] += prev.xCoord * accel + world.rand.nextGaussian() * waggle + side; + node[1] += prev.yCoord + 1.5D; + node[2] += prev.zCoord * accel + world.rand.nextGaussian() * waggle; + } + + double alpha = (System.currentTimeMillis() - ItemGunBio.lastShot) / 3000D; + alpha = (1 - alpha) * 0.25D; + + smokeNodes.add(new double[] {0, 0, 0, alpha}); + } + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b23001c5b..fda6c15f9 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -452,6 +452,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_brimstone, new ItemRenderObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_bio_revolver, new ItemRenderBioRevolver()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponShotty()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponObj()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6269822a1..a1fdef708 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -77,8 +77,7 @@ import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.ArmorUtil; -import com.hbm.world.feature.OreCave; -import com.hbm.world.feature.SchistStratum; +import com.hbm.world.feature.*; import com.hbm.world.generator.CellularDungeonFactory; import cpw.mods.fml.common.SidedProxy; @@ -1010,27 +1009,12 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); + MinecraftForge.EVENT_BUS.register(new SchistStratum()); //DecorateBiomeEvent.Pre + //MinecraftForge.EVENT_BUS.register(new DeepLayer()); //DecorateBiomeEvent.Pre + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); - - //imagine adding flower entries but they don't actually do shit with the world generator - //"well but at least they work with bone meal, as advertised" except they fucking don't - /*BiomeGenBase.plains.addFlower(ModBlocks.plant_flower, EnumFlowerType.FOXGLOVE.ordinal(), 10); - BiomeGenBase.roofedForest.addFlower(ModBlocks.plant_flower, EnumFlowerType.NIGHTSHADE.ordinal(), 10); - BiomeGenBase.jungle.addFlower(ModBlocks.plant_flower, EnumFlowerType.TOBACCO.ordinal(), 10);*/ - - /*Set threads = Thread.getAllStackTraces().keySet(); - - for (Thread thread : threads) { - - System.out.println("Printing thread " + thread.getName()); - StackTraceElement[] stackTraceElements = thread.getStackTrace(); - for (StackTraceElement stackTraceElement : stackTraceElements) { - System.out.println("\t" + stackTraceElement); - } - System.out.println(""); - }*/ } @EventHandler @@ -1044,9 +1028,6 @@ public class MainRegistry { MinecraftForge.TERRAIN_GEN_BUS.register(commonHandler); MinecraftForge.ORE_GEN_BUS.register(commonHandler); - SchistStratum schist = new SchistStratum(); - MinecraftForge.EVENT_BUS.register(schist); //DecorateBiomeEvent.Pre - OreDictManager oreMan = new OreDictManager(); MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index fe61e64fa..e3a209a0f 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -658,6 +658,7 @@ public class ResourceManager { public static final IModelCustom spas_12 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/spas-12.obj")); public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj")); public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj")); + public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -734,6 +735,7 @@ public class ResourceManager { public static final ResourceLocation detonator_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/detonator_laser.png"); public static final ResourceLocation spas_12_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/spas-12.png"); public static final ResourceLocation glass_cannon_panel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/glass_cannon_panel.png"); + public static final ResourceLocation bio_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/bio_revolver.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java index 7be30ddca..18430e811 100644 --- a/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java +++ b/src/main/java/com/hbm/particle/ParticlePlasmaBlast.java @@ -55,6 +55,9 @@ public class ParticlePlasmaBlast extends EntityFX { GL11.glDisable(GL11.GL_CULL_FACE); RenderHelper.disableStandardItemLighting(); + boolean fog = GL11.glIsEnabled(GL11.GL_FOG); + if(fog) GL11.glDisable(GL11.GL_FOG); + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double)interp - interpPosX); float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double)interp - interpPosY); float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double)interp - interpPosZ); @@ -78,7 +81,8 @@ public class ParticlePlasmaBlast extends EntityFX { tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(+ 1 * scale), 0, 0); tess.addVertexWithUV((double)(+ 1 * scale), (double)(- 0.25), (double)(- 1 * scale), 0, 1); tess.draw(); - + + if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); diff --git a/src/main/java/com/hbm/particle/ParticleRBMKMush.java b/src/main/java/com/hbm/particle/ParticleRBMKMush.java index 4d72f6a63..81a25bfcc 100644 --- a/src/main/java/com/hbm/particle/ParticleRBMKMush.java +++ b/src/main/java/com/hbm/particle/ParticleRBMKMush.java @@ -76,6 +76,9 @@ public class ParticleRBMKMush extends EntityFX { GL11.glAlphaFunc(GL11.GL_GREATER, 0); GL11.glDepthMask(false); RenderHelper.disableStandardItemLighting(); + + boolean fog = GL11.glIsEnabled(GL11.GL_FOG); + if(fog) GL11.glDisable(GL11.GL_FOG); tessellaator.startDrawingQuads(); @@ -93,6 +96,7 @@ public class ParticleRBMKMush extends EntityFX { tessellaator.addVertexWithUV((double) (pX + x * scale - sx * scale), (double) (pY - y * scale), (double) (pZ + z * scale - sz * scale), 0, (prog + 1) * frame); tessellaator.draw(); + if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_LIGHTING); } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java new file mode 100644 index 000000000..85afe5184 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderBioRevolver.java @@ -0,0 +1,124 @@ +package com.hbm.render.item.weapon; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.weapon.ItemGunBio; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderBioRevolver implements IItemRenderer { + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + GL11.glPushMatrix(); + + GL11.glEnable(GL11.GL_CULL_FACE); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.bio_revolver_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.1D; + GL11.glRotated(25, 0, 0, 1); + GL11.glTranslated(1.0, 0.25, -0.25); + GL11.glRotated(80, 0, 1, 0); + GL11.glScaled(s0, s0, s0); + double width = 0.3D; + + GL11.glPushMatrix(); + GL11.glTranslated(0.0, 2.0, 10.0); + + if(ItemGunBio.smokeNodes.size() > 1) { + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + + for(int i = 0; i < ItemGunBio.smokeNodes.size() - 1; i++) { + double[] node = ItemGunBio.smokeNodes.get(i); + double[] past = ItemGunBio.smokeNodes.get(i + 1); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); + tess.addVertex(node[0] - width, node[1], node[2]); + tess.addVertex(node[0] + width, node[1], node[2]); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); + tess.addVertex(past[0] + width, past[1], past[2]); + tess.addVertex(past[0] - width, past[1], past[2]); + } + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + tess.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); + } + + GL11.glPopMatrix(); + + break; + + case EQUIPPED: + + double scale = 0.125D; + GL11.glScaled(scale, scale, scale); + GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(4F, -2F, 5F); + + break; + + case ENTITY: + + double s1 = 0.1D; + GL11.glScaled(s1, s1, s1); + + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + double s = 0.8D; + GL11.glTranslated(8, 7, 0); + GL11.glRotated(-90, 0, 1, 0); + GL11.glRotated(-135, 1, 0, 0); + GL11.glScaled(s, s, -s); + + break; + + default: break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.bio_revolver.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 40155d00a..518c2716d 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -828,11 +828,20 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple public AxisAlignedBB getRenderBoundingBox() { return TileEntity.INFINITE_EXTENT_AABB; } - + @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public void openInventory() { + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.openC", 1.0F, 1.0F); + } + + @Override + public void closeInventory() { + this.worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:block.closeC", 1.0F, 1.0F); + } } diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index eb01a021b..279b81db0 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.handler.HazmatRegistry; import com.hbm.hazard.HazardRegistry; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; @@ -20,8 +21,15 @@ public class Compat { public static final String MOD_REC = "ReactorCraft"; public static Item tryLoadItem(String domain, String name) { - String reg = domain + ":" + name; - return (Item) Item.itemRegistry.getObject(reg); + return (Item) Item.itemRegistry.getObject(getReg(domain, name)); + } + + public static Block tryLoadBlock(String domain, String name) { + return (Block) Block.blockRegistry.getObject(getReg(domain, name)); + } + + private static String getReg(String domain, String name) { + return domain + ":" + name; } public static enum ReikaIsotope { diff --git a/src/main/java/com/hbm/world/feature/DeepLayer.java b/src/main/java/com/hbm/world/feature/DeepLayer.java new file mode 100644 index 000000000..5e50efd0d --- /dev/null +++ b/src/main/java/com/hbm/world/feature/DeepLayer.java @@ -0,0 +1,81 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent; + +public class DeepLayer { + + NoiseGeneratorPerlin noise; + + @SubscribeEvent + public void onDecorate(DecorateBiomeEvent.Pre event) { + + if(this.noise == null) { + this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 19), 4); + } + + World world = event.world; + + if(world.provider.dimensionId != 0) + return; + + int cX = event.chunkX; + int cZ = event.chunkZ; + + double scale = 0.01D; + int threshold = 2; + + for(int x = cX + 8; x < cX + 24; x++) { + for(int z = cZ + 8; z < cZ + 24; z++) { + + double n = noise.func_151601_a(x * scale, z * scale); + + if(n > threshold) { + int range = (int)((n - threshold) * 8); + + if(range > 24) + range = 48 - range; + + if(range < 0) + continue; + + for(int y = 1; y <= range; y++) { + + Block target = world.getBlock(x, y, z); + + if(target.isNormalCube() && target.getMaterial() == Material.rock && target != Blocks.bedrock) { + + boolean lava = false; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + Block neighbor = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(neighbor.getMaterial() == Material.lava) { + lava = true; + break; + } + } + + if(lava || world.rand.nextInt(10) == 0) { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 1, 2); + } else if(world.rand.nextInt(10) == 0 && world.getBlock(x, y + 1, z).getMaterial() == Material.air) { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 2, 2); + } else { + world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 0, 2); + } + } + } + } + } + } + } +} diff --git a/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj new file mode 100644 index 000000000..08d9f49ba --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/bio_revolver.obj @@ -0,0 +1,3484 @@ +# Blender v2.79 (sub 0) OBJ File: 'bio_revolver.blend' +# www.blender.org +o Barrel +v -0.500000 1.500000 9.125000 +v 0.500000 1.500000 9.125000 +v -0.500000 1.500000 -0.875000 +v 0.500000 1.500000 -0.875000 +v -0.500000 2.000000 9.125000 +v 0.500000 2.000000 9.125000 +v -0.500000 2.500000 -0.875000 +v 0.500000 2.500000 -0.875000 +v -0.250000 2.250000 9.125000 +v 0.250000 2.250000 9.125000 +v -0.250000 2.500000 -0.875000 +v 0.250000 2.500000 -0.875000 +v -0.250000 1.250000 -0.875000 +v -0.250000 1.250000 9.125000 +v 0.250000 1.250000 9.125000 +v 0.250000 1.250000 -0.875000 +v 0.500000 2.000000 1.625000 +v -0.250000 1.000000 9.125000 +v 0.250000 1.000000 9.125000 +v -0.500000 2.000000 1.625000 +v -0.250000 2.250000 6.625000 +v 0.250000 2.250000 6.625000 +v -0.125000 3.000000 7.125000 +v -0.125000 3.000000 8.625000 +v 0.125000 3.000000 8.625000 +v 0.125000 3.000000 7.125000 +v -0.250000 -0.250000 -0.875000 +v 0.250000 -0.250000 -0.875000 +v -0.250000 -0.250000 1.125000 +v 0.250000 -0.250000 1.125000 +v -0.250000 1.000000 2.375000 +v 0.250000 1.000000 2.375000 +v -0.250000 0.250000 1.375000 +v 0.250000 0.250000 1.375000 +v -0.250000 0.750000 1.875000 +v 0.250000 0.750000 1.875000 +v -0.250000 2.250000 1.625000 +v 0.250000 2.250000 1.625000 +v -0.375000 1.562500 9.125000 +v 0.375000 1.562500 9.125000 +v -0.375000 1.937500 9.125000 +v 0.375000 1.937500 9.125000 +v -0.187500 2.125000 9.125000 +v 0.187500 2.125000 9.125000 +v -0.187500 1.375000 9.125000 +v 0.187500 1.375000 9.125000 +v -0.375000 1.562500 -0.875000 +v 0.375000 1.562500 -0.875000 +v -0.375000 1.937500 -0.875000 +v 0.375000 1.937500 -0.875000 +v -0.187500 2.125000 -0.875000 +v 0.187500 2.125000 -0.875000 +v -0.187500 1.375000 -0.875000 +v 0.187500 1.375000 -0.875000 +v 0.250000 1.000000 -0.875000 +v -0.250000 1.000000 -0.875000 +v -0.562500 2.375000 -1.000400 +v 0.562500 2.375000 -1.000400 +v -0.562500 2.286329 -0.963671 +v 0.562500 2.286329 -0.963671 +v -0.562500 2.249600 -0.875000 +v 0.562500 2.249600 -0.875000 +v -0.562500 2.286329 -0.786329 +v 0.562500 2.286329 -0.786329 +v -0.562500 2.375000 -0.749600 +v 0.562500 2.375000 -0.749600 +v -0.562500 2.463671 -0.786329 +v 0.562500 2.463671 -0.786329 +v -0.562500 2.500400 -0.875000 +v 0.562500 2.500400 -0.875000 +v -0.562500 2.463671 -0.963671 +v 0.562500 2.463671 -0.963671 +v 0.000000 1.125000 -0.875000 +v -0.088388 1.088388 -0.875000 +v -0.125000 1.000000 -0.875000 +v -0.088388 0.911612 -0.875000 +v 0.000000 0.875000 -0.875000 +v 0.088388 0.911612 -0.875000 +v 0.125000 1.000000 -0.875000 +v 0.088388 1.088388 -0.875000 +v 0.000000 1.125000 -3.375000 +v -0.088388 1.088388 -3.375000 +v -0.125000 1.000000 -3.375000 +v -0.088388 0.911612 -3.375000 +v 0.000000 0.875000 -3.375000 +v 0.088388 0.911612 -3.375000 +v 0.125000 1.000000 -3.375000 +v 0.088388 1.088388 -3.375000 +v 0.250000 1.250000 0.625000 +v 0.250000 1.000000 0.625000 +v 1.000000 1.250000 -0.875000 +v 1.000000 1.000000 -0.875000 +v 0.250000 1.250000 -0.875000 +v 0.250000 1.000000 -0.875000 +v -0.250000 1.250000 -0.875000 +v -0.250000 1.000000 -0.875000 +v -1.000000 1.250000 -0.875000 +v -1.000000 1.000000 -0.875000 +v -0.250000 1.250000 0.625000 +v -0.250000 1.000000 0.625000 +v 0.088388 1.088388 -3.375000 +v 0.125000 1.000000 -3.375000 +v 0.088388 0.911612 -3.375000 +v 0.000000 0.875000 -3.375000 +v -0.088388 0.911612 -3.375000 +v -0.125000 1.000000 -3.375000 +v -0.088388 1.088388 -3.375000 +v 0.000000 1.125000 -3.375000 +v 0.062500 3.000000 8.375000 +v 0.062500 3.000000 7.250000 +v -0.062500 3.000000 7.250000 +v -0.062500 3.000000 8.375000 +v 0.062500 3.250000 8.125000 +v 0.062500 3.250000 7.250000 +v -0.062500 3.250000 7.250000 +v -0.062500 3.250000 8.125000 +v -0.250000 -0.250000 1.125000 +v 0.250000 -0.250000 1.125000 +v -0.250000 1.000000 2.375000 +v 0.250000 1.000000 2.375000 +v -0.250000 0.250000 1.375000 +v 0.250000 0.250000 1.375000 +v -0.250000 0.750000 1.875000 +v 0.250000 0.750000 1.875000 +v -0.375000 1.562500 9.125000 +v 0.375000 1.562500 9.125000 +v -0.375000 1.937500 9.125000 +v 0.375000 1.937500 9.125000 +v -0.187500 2.125000 9.125000 +v 0.187500 2.125000 9.125000 +v -0.187500 1.375000 9.125000 +v 0.187500 1.375000 9.125000 +v -0.375000 1.562500 -0.875000 +v 0.375000 1.562500 -0.875000 +v -0.375000 1.937500 -0.875000 +v 0.375000 1.937500 -0.875000 +v -0.187500 2.125000 -0.875000 +v 0.187500 2.125000 -0.875000 +v -0.187500 1.375000 -0.875000 +v 0.187500 1.375000 -0.875000 +v -0.562500 2.375000 -1.000400 +v 0.562500 2.375000 -1.000400 +v -0.562500 2.286329 -0.963671 +v 0.562500 2.286329 -0.963671 +v -0.562500 2.249600 -0.875000 +v 0.562500 2.249600 -0.875000 +v -0.562500 2.286329 -0.786329 +v 0.562500 2.286329 -0.786329 +v -0.562500 2.375000 -0.749600 +v 0.562500 2.375000 -0.749600 +v -0.562500 2.463671 -0.786329 +v 0.562500 2.463671 -0.786329 +v -0.562500 2.500400 -0.875000 +v 0.562500 2.500400 -0.875000 +v -0.562500 2.463671 -0.963671 +v 0.562500 2.463671 -0.963671 +vt 0.012605 0.553191 +vt 0.348740 0.531915 +vt 0.348740 0.553191 +vt 0.159664 0.787234 +vt 0.184874 0.808511 +vt 0.159664 0.808511 +vt 0.264706 0.510638 +vt 0.012605 0.468085 +vt 0.264706 0.468085 +vt 0.348740 0.702128 +vt 0.264706 0.659574 +vt 0.348740 0.659574 +vt 0.117647 0.978723 +vt 0.025210 0.957447 +vt 0.042017 0.914894 +vt 0.012605 0.425532 +vt 0.008403 0.382979 +vt 0.012605 0.382979 +vt 0.348740 0.446809 +vt 0.348740 0.468085 +vt 0.348740 0.425532 +vt 0.012605 0.446809 +vt 0.004202 0.468085 +vt 0.012605 0.510638 +vt 0.004202 0.510638 +vt 0.159664 0.872340 +vt 0.117647 0.829787 +vt 0.159664 0.829787 +vt 0.184874 0.787234 +vt 0.226891 0.808511 +vt 0.252101 0.808511 +vt 0.226891 0.787234 +vt 0.252101 0.787234 +vt 0.168067 0.872340 +vt 0.243697 0.872340 +vt 0.243697 0.723404 +vt 0.168067 0.723404 +vt 0.117647 0.872340 +vt 0.050420 0.829787 +vt 0.096639 0.659574 +vt 0.264706 0.702128 +vt 0.096639 0.702128 +vt 0.012605 0.659574 +vt 0.012605 0.638298 +vt 0.012605 0.723404 +vt 0.264706 0.723404 +vt 0.264706 0.638298 +vt 0.348740 0.638298 +vt 0.348740 0.723404 +vt 0.264706 0.382979 +vt 0.348740 0.340426 +vt 0.264706 0.595745 +vt 0.180045 0.974974 +vt 0.177951 0.987775 +vt 0.172896 0.982473 +vt 0.008403 0.702128 +vt 0.012605 0.702128 +vt 0.008403 0.659574 +vt 0.008403 0.638298 +vt 0.012605 0.595745 +vt 0.008403 0.553191 +vt 0.008403 0.531915 +vt 0.012605 0.531915 +vt -0.000000 0.510638 +vt 0.008403 0.425532 +vt 0.359244 0.606383 +vt 0.373950 0.638298 +vt 0.357143 0.638298 +vt 0.371849 0.606383 +vt 0.382353 0.638298 +vt 0.378151 0.590425 +vt 0.382353 0.553191 +vt 0.378151 0.558511 +vt 0.373950 0.531915 +vt 0.359244 0.542553 +vt 0.357143 0.531915 +vt 0.352941 0.590425 +vt 0.117647 0.723404 +vt 0.042017 0.787234 +vt 0.252101 0.851064 +vt 0.302521 0.872340 +vt 0.252101 0.872340 +vt 0.302521 0.851064 +vt 0.327731 0.872340 +vt 0.327731 0.723404 +vt 0.327731 0.851064 +vt 0.327731 1.000000 +vt 0.327731 0.872340 +vt 0.302521 0.851064 +vt 0.327731 0.851064 +vt 0.302521 0.872340 +vt 0.252101 0.851064 +vt 0.327731 1.000000 +vt 0.327731 0.723404 +vt 0.438629 0.638826 +vt 0.440968 0.653124 +vt 0.435321 0.659046 +vt 0.171642 0.974974 +vt 0.169548 0.987775 +vt 0.164492 0.982473 +vt 0.155462 0.904255 +vt 0.126050 0.893617 +vt 0.155462 0.893617 +vt 0.163866 0.904255 +vt 0.163866 0.893617 +vt 0.117647 0.893617 +vt 0.126050 0.904255 +vt 0.117647 0.904255 +vt 0.155462 0.872340 +vt 0.117647 0.872340 +vt 0.155462 0.925532 +vt 0.008403 0.978723 +vt 0.050420 0.872340 +vt 0.168067 0.829787 +vt 0.168067 0.872340 +vt 0.172896 0.974974 +vt 0.174990 0.969672 +vt 0.177951 0.969672 +vt 0.180045 0.982473 +vt 0.174990 0.987775 +vt 0.008403 0.723404 +vt 0.008403 0.595745 +vt -0.000000 0.468085 +vt 0.008403 0.446809 +vt 0.371849 0.542553 +vt 0.352941 0.558511 +vt 0.348740 0.510638 +vt 0.025210 0.744681 +vt 0.008403 0.723404 +vt 0.252101 0.872340 +vt 0.432982 0.644748 +vt 0.435321 0.638826 +vt 0.440968 0.644748 +vt 0.438629 0.659046 +vt 0.432982 0.653124 +vt 0.166586 0.969672 +vt 0.169548 0.969672 +vt 0.171642 0.982473 +vt 0.166586 0.987775 +vt 0.164492 0.974974 +vt 0.117647 0.925532 +vt -0.000000 0.234043 +vt 0.336134 0.265957 +vt -0.000000 0.265957 +vt -0.000000 0.319149 +vt 0.336134 0.340426 +vt -0.000000 0.340426 +vt -0.000000 0.212766 +vt 0.336134 0.234043 +vt 0.189076 0.872340 +vt 0.193277 0.968085 +vt 0.189076 0.968085 +vt 0.193277 0.872340 +vt 0.197479 0.968085 +vt 0.163866 0.872340 +vt 0.168067 0.968085 +vt 0.163866 0.968085 +vt 0.168067 0.872340 +vt 0.172269 0.968085 +vt 0.172269 0.872340 +vt 0.176471 0.968085 +vt 0.176471 0.872340 +vt 0.180672 0.968085 +vt 0.180672 0.872340 +vt 0.184874 0.968085 +vt 0.184874 0.872340 +vt 0.432773 0.659574 +vt 0.348740 0.670213 +vt 0.348740 0.659574 +vt 0.432773 0.638298 +vt 0.348740 0.648936 +vt 0.348740 0.638298 +vt 0.432773 0.702128 +vt 0.348740 0.712766 +vt 0.348740 0.702128 +vt 0.432773 0.680851 +vt 0.348740 0.691489 +vt 0.348740 0.680851 +vt 0.432773 0.670213 +vt 0.432773 0.648936 +vt 0.432773 0.712766 +vt 0.348740 0.723404 +vt 0.432773 0.691489 +vt 0.033613 0.829787 +vt 0.016807 0.872340 +vt 0.016807 0.829787 +vt 0.033613 0.872340 +vt 0.050420 0.829787 +vt 0.050420 0.872340 +vt 0.000000 0.872340 +vt 0.000000 0.829787 +vt -0.000000 0.287234 +vt 0.336134 0.319149 +vt -0.000000 0.159574 +vt 0.336134 0.180851 +vt -0.000000 0.180851 +vt 0.336134 0.127660 +vt -0.000000 0.127660 +vt 0.336134 0.287234 +vt 0.336134 0.212766 +vt 0.197479 0.872340 +vt 0.432773 0.723404 +vt 0.336134 0.159574 +vn 0.7071 -0.7071 0.0000 +vn 0.0000 0.5547 0.8321 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.9950 0.0995 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.5547 -0.8321 +vn -0.9864 0.1644 0.0000 +vn 0.9864 0.1644 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7053 0.7053 0.0705 +vn 0.0000 0.9806 0.1961 +vn -0.7053 0.7053 0.0705 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +vn 0.0000 0.7071 0.7071 +vn 0.3827 -0.9239 0.0000 +vn -0.3827 -0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +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.5847 0.8112 +vn 0.0000 -0.8112 0.5847 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 -0.8944 0.4472 +vn 0.9239 0.3827 0.0000 +s off +f 2/1/1 16/2/1 4/3/1 +f 10/4/2 24/5/2 9/6/2 +f 32/7/3 18/8/3 31/9/3 +f 11/10/4 38/11/4 12/12/4 +f 55/13/5 36/14/5 34/15/5 +f 1/16/6 41/17/6 5/18/6 +f 13/19/7 56/20/7 31/9/7 +f 3/21/8 14/22/8 1/16/8 +f 14/23/6 19/24/6 15/25/6 +f 55/26/9 27/27/9 56/28/9 +f 25/29/10 23/30/10 24/5/10 +f 21/31/11 26/32/11 22/33/11 +f 9/34/12 23/30/12 21/35/12 +f 22/36/13 25/29/13 10/37/13 +f 28/38/3 29/39/3 27/27/3 +f 22/40/10 37/41/10 21/42/10 +f 22/40/14 10/43/14 6/44/14 +f 5/45/15 21/42/15 20/46/15 +f 38/11/16 17/47/16 12/12/16 +f 17/47/17 8/48/17 12/12/17 +f 37/41/18 11/10/18 20/46/18 +f 7/49/17 20/46/17 11/10/17 +f 20/50/7 7/51/7 3/21/7 +f 4/3/5 8/48/5 17/52/5 +f 147/53/7 151/54/7 155/55/7 +f 5/45/6 43/56/6 9/57/6 +f 9/57/6 44/58/6 10/43/6 +f 10/43/6 42/59/6 6/44/6 +f 6/60/6 40/61/6 2/1/6 +f 2/1/6 46/62/6 15/63/6 +f 46/64/6 14/23/6 15/25/6 +f 14/22/6 39/65/6 1/16/6 +f 52/66/9 11/67/9 12/68/9 +f 8/48/9 52/66/9 12/68/9 +f 51/69/9 7/70/9 11/67/9 +f 49/71/9 3/72/9 7/70/9 +f 47/73/9 13/74/9 3/72/9 +f 13/74/9 54/75/9 16/76/9 +f 54/75/9 4/3/9 16/76/9 +f 4/3/9 50/77/9 8/48/9 +f 15/63/5 19/24/5 32/7/5 +f 56/78/7 29/39/7 33/79/7 +f 90/80/19 91/81/19 89/82/19 +f 92/83/9 93/84/9 91/81/9 +f 92/83/3 90/85/3 94/86/3 +f 91/81/10 93/84/10 89/87/10 +f 96/88/9 97/89/9 95/90/9 +f 98/91/20 99/92/20 97/89/20 +f 98/91/3 96/88/3 100/93/3 +f 97/89/10 99/94/10 95/90/10 +f 108/95/9 102/96/9 104/97/9 +f 142/98/5 154/99/5 150/100/5 +f 115/101/10 113/102/10 114/103/10 +f 111/104/9 114/103/9 110/105/9 +f 109/106/21 116/107/21 112/108/21 +f 110/109/5 113/102/5 109/110/5 +f 111/111/7 116/107/7 115/101/7 +f 2/1/1 15/63/1 16/2/1 +f 10/4/2 25/29/2 24/5/2 +f 32/7/3 19/24/3 18/8/3 +f 11/10/4 37/41/4 38/11/4 +f 55/13/5 32/112/5 36/14/5 +f 34/15/5 30/113/5 55/13/5 +f 30/113/5 28/38/5 55/13/5 +f 1/16/6 39/65/6 41/17/6 +f 31/9/7 18/8/7 14/22/7 +f 14/22/7 13/19/7 31/9/7 +f 3/21/8 13/19/8 14/22/8 +f 14/23/6 18/8/6 19/24/6 +f 56/28/9 13/114/9 16/115/9 +f 55/26/9 28/38/9 27/27/9 +f 56/28/9 16/115/9 55/26/9 +f 25/29/10 26/32/10 23/30/10 +f 21/31/11 23/30/11 26/32/11 +f 9/34/12 24/5/12 23/30/12 +f 22/36/13 26/32/13 25/29/13 +f 28/38/3 30/113/3 29/39/3 +f 22/40/10 38/11/10 37/41/10 +f 6/44/14 17/47/14 22/40/14 +f 17/47/14 38/11/14 22/40/14 +f 9/57/15 21/42/15 5/45/15 +f 21/42/15 37/41/15 20/46/15 +f 3/21/7 1/16/7 20/50/7 +f 1/16/7 5/18/7 20/50/7 +f 6/60/5 2/1/5 17/52/5 +f 2/1/5 4/3/5 17/52/5 +f 155/55/7 141/116/7 147/53/7 +f 141/116/7 143/117/7 147/53/7 +f 143/117/7 145/118/7 147/53/7 +f 147/53/7 149/119/7 151/54/7 +f 151/54/7 153/120/7 155/55/7 +f 5/45/6 41/121/6 43/56/6 +f 9/57/6 43/56/6 44/58/6 +f 10/43/6 44/58/6 42/59/6 +f 6/60/6 42/122/6 40/61/6 +f 2/1/6 40/61/6 46/62/6 +f 46/64/6 45/123/6 14/23/6 +f 14/22/6 45/124/6 39/65/6 +f 52/66/9 51/69/9 11/67/9 +f 8/48/9 50/77/9 52/66/9 +f 51/69/9 49/71/9 7/70/9 +f 49/71/9 47/73/9 3/72/9 +f 47/73/9 53/125/9 13/74/9 +f 13/74/9 53/125/9 54/75/9 +f 54/75/9 48/126/9 4/3/9 +f 4/3/9 48/126/9 50/77/9 +f 32/7/5 55/127/5 16/2/5 +f 16/2/5 15/63/5 32/7/5 +f 35/128/7 31/129/7 56/78/7 +f 56/78/7 27/27/7 29/39/7 +f 33/79/7 35/128/7 56/78/7 +f 90/80/19 92/83/19 91/81/19 +f 92/83/9 94/86/9 93/84/9 +f 96/88/9 98/91/9 97/89/9 +f 98/91/20 100/130/20 99/92/20 +f 106/131/9 107/132/9 108/95/9 +f 108/95/9 101/133/9 102/96/9 +f 102/96/9 103/134/9 104/97/9 +f 104/97/9 105/135/9 106/131/9 +f 106/131/9 108/95/9 104/97/9 +f 146/136/5 144/137/5 142/98/5 +f 142/98/5 156/138/5 154/99/5 +f 154/99/5 152/139/5 150/100/5 +f 150/100/5 148/140/5 146/136/5 +f 146/136/5 142/98/5 150/100/5 +f 115/101/10 116/107/10 113/102/10 +f 111/104/9 115/101/9 114/103/9 +f 109/106/21 113/102/21 116/107/21 +f 110/109/5 114/103/5 113/102/5 +f 111/111/7 112/141/7 116/107/7 +s 1 +f 129/142/22 138/143/23 130/144/23 +f 126/145/24 140/146/25 132/147/25 +f 127/148/26 137/149/22 129/142/22 +f 58/150/9 59/151/27 57/152/9 +f 60/153/27 61/154/3 59/151/27 +f 62/155/3 63/156/28 61/157/3 +f 64/158/28 65/159/6 63/156/28 +f 66/160/6 67/161/21 65/159/6 +f 68/162/21 69/163/10 67/161/21 +f 70/164/10 71/165/29 69/163/10 +f 72/166/29 57/152/9 71/165/29 +f 87/167/5 80/168/14 79/169/5 +f 85/170/3 78/171/1 77/172/3 +f 83/173/7 76/174/8 75/175/7 +f 81/176/10 74/177/15 73/178/10 +f 88/179/14 73/178/10 80/168/14 +f 86/180/1 79/169/5 78/171/1 +f 84/181/8 77/182/3 76/174/8 +f 82/183/15 75/175/7 74/177/15 +f 121/184/30 124/185/31 123/186/31 +f 122/187/30 117/188/32 118/189/32 +f 123/186/31 120/190/33 119/191/33 +f 128/192/25 134/193/24 126/145/24 +f 131/194/26 133/195/34 125/196/34 +f 131/194/26 140/197/25 132/198/25 +f 130/144/23 136/199/25 128/192/25 +f 125/196/34 135/200/26 127/148/26 +f 129/142/22 137/149/22 138/143/23 +f 126/145/24 134/193/24 140/146/25 +f 127/148/26 135/200/26 137/149/22 +f 58/150/9 60/153/27 59/151/27 +f 60/153/27 62/201/3 61/154/3 +f 62/155/3 64/158/28 63/156/28 +f 64/158/28 66/160/6 65/159/6 +f 66/160/6 68/162/21 67/161/21 +f 68/162/21 70/164/10 69/163/10 +f 70/164/10 72/166/29 71/165/29 +f 72/166/29 58/150/9 57/152/9 +f 87/167/5 88/179/14 80/168/14 +f 85/170/3 86/180/1 78/171/1 +f 83/173/7 84/181/8 76/174/8 +f 81/176/10 82/183/15 74/177/15 +f 88/179/14 81/176/10 73/178/10 +f 86/180/1 87/167/5 79/169/5 +f 84/181/8 85/202/3 77/182/3 +f 82/183/15 83/173/7 75/175/7 +f 121/184/30 122/187/30 124/185/31 +f 122/187/30 121/184/30 117/188/32 +f 123/186/31 124/185/31 120/190/33 +f 128/192/25 136/199/25 134/193/24 +f 131/194/26 139/203/26 133/195/34 +f 131/194/26 139/203/26 140/197/25 +f 130/144/23 138/143/23 136/199/25 +f 125/196/34 133/195/34 135/200/26 +o Latch +v -0.500000 2.500400 -0.875000 +v 0.500000 2.500400 -0.875000 +v -0.500000 2.500400 -3.375000 +v 0.500000 2.500400 -3.375000 +v 0.500000 2.250400 -0.875000 +v -0.500000 2.250400 -0.875000 +v 0.500000 2.250400 -3.375000 +v -0.500000 2.250400 -3.375000 +v 0.500000 2.375400 -3.750000 +v -0.500000 2.375400 -3.750000 +v 0.500000 2.125400 -3.750000 +v -0.500000 2.125400 -3.750000 +v 0.500000 2.125400 -4.000000 +v -0.500000 2.125400 -4.000000 +v 0.500000 0.625400 -3.750000 +v 0.500000 0.625400 -4.000000 +v -0.500000 0.625400 -3.750000 +v -0.500000 0.625400 -4.000000 +v 0.375000 0.625400 -3.750000 +v 0.375000 0.625400 -4.000000 +v -0.375000 0.625400 -3.750000 +v -0.375000 0.625400 -4.000000 +v 0.375000 2.125400 -3.750000 +v 0.375000 2.125400 -4.000000 +v -0.375000 2.125400 -3.750000 +v -0.375000 2.125400 -4.000000 +vt 0.113445 0.031915 +vt 0.197479 0.095745 +vt 0.113445 0.095745 +vt 0.021008 0.095745 +vt 0.105042 0.031915 +vt 0.105042 0.095745 +vt 0.113445 0.117021 +vt 0.197479 0.010638 +vt 0.197479 0.031915 +vt 0.210084 0.031915 +vt 0.218487 -0.000000 +vt 0.268908 0.010638 +vt 0.218487 0.010638 +vt 0.210084 0.095745 +vt 0.197479 0.117021 +vt 0.210084 0.117021 +vt 0.000000 0.042553 +vt 0.008403 0.085106 +vt 0.000000 0.085106 +vt 0.218487 0.031915 +vt 0.210084 0.010638 +vt 0.268908 0.117021 +vt 0.218487 0.117021 +vt 0.218487 0.095745 +vt 0.273109 0.063830 +vt 0.268908 0.042553 +vt 0.273109 0.042553 +vt 0.273109 0.085106 +vt 0.268908 0.063830 +vt 0.273109 0.063830 +vt 0.268908 0.085106 +vt 0.218487 0.063830 +vt 0.268908 0.063830 +vt 0.218487 0.042553 +vt 0.268908 0.127660 +vt 0.218487 0.085106 +vt 0.268908 0.095745 +vt 0.268908 0.031915 +vt 0.008403 0.042553 +vt 0.008403 0.031915 +vt 0.021008 0.031915 +vt 0.113445 0.010638 +vt 0.210084 0.010638 +vt 0.268908 -0.000000 +vt 0.210084 0.117021 +vt 0.218487 0.063830 +vt 0.218487 0.127660 +vt 0.008403 0.095745 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.9487 0.3162 +vn 0.0000 0.7071 -0.7071 +s off +f 158/204/35 159/205/35 157/206/35 +f 164/207/36 161/208/36 162/209/36 +f 159/205/37 162/210/37 157/206/37 +f 157/206/38 161/208/38 158/204/38 +f 158/204/39 163/211/39 160/212/39 +f 163/211/39 165/213/39 160/212/39 +f 179/214/38 171/215/38 167/216/38 +f 160/212/40 166/217/40 159/205/40 +f 164/218/37 166/217/37 168/219/37 +f 180/220/36 181/221/36 182/222/36 +f 169/223/39 165/224/39 167/216/39 +f 173/225/37 168/226/37 170/227/37 +f 171/228/36 176/229/36 172/230/36 +f 174/231/36 177/232/36 173/233/36 +f 178/234/39 181/235/39 177/232/39 +f 175/236/37 180/237/37 176/229/37 +f 177/238/38 168/226/38 173/225/38 +f 182/239/41 174/240/41 170/227/41 +f 176/229/41 169/223/41 172/241/41 +f 179/242/42 167/243/42 163/244/42 +f 165/213/43 169/223/43 180/237/43 +f 158/204/35 160/212/35 159/205/35 +f 164/207/36 163/244/36 161/208/36 +f 159/205/37 164/218/37 162/210/37 +f 157/206/38 162/209/38 161/208/38 +f 158/204/39 161/245/39 163/211/39 +f 163/211/39 167/246/39 165/213/39 +f 179/214/38 175/247/38 171/215/38 +f 160/212/40 165/213/40 166/217/40 +f 164/218/37 159/205/37 166/217/37 +f 180/220/36 179/242/36 181/221/36 +f 167/216/39 171/215/39 172/241/39 +f 172/241/39 169/223/39 167/216/39 +f 170/227/37 174/240/37 173/225/37 +f 168/226/37 166/248/37 170/227/37 +f 171/228/36 175/236/36 176/229/36 +f 174/231/36 178/234/36 177/232/36 +f 178/234/39 182/239/39 181/235/39 +f 175/236/37 179/249/37 180/237/37 +f 177/238/38 181/250/38 168/226/38 +f 182/239/41 178/234/41 174/240/41 +f 176/229/41 180/237/41 169/223/41 +f 163/244/42 164/207/42 181/221/42 +f 164/207/42 168/251/42 181/221/42 +f 181/221/42 179/242/42 163/244/42 +f 180/237/43 182/239/43 165/213/43 +f 182/239/43 170/227/43 166/217/43 +f 165/213/43 182/239/43 166/217/43 +o Hammer +v 0.125000 1.750400 -4.125000 +v -0.125000 1.750400 -4.125000 +v 0.125000 1.625400 -4.250000 +v -0.125000 1.625400 -4.250000 +v 0.125000 1.000400 -4.375000 +v -0.125000 1.000400 -4.375000 +v 0.125000 1.000400 -5.250000 +v -0.125000 1.000400 -5.250000 +v 0.125000 0.875400 -5.250000 +v -0.125000 0.875400 -5.250000 +v 0.125000 0.750400 -4.750000 +v -0.125000 0.750400 -4.750000 +v 0.062500 0.750400 -4.250000 +v -0.062500 0.750400 -4.250000 +v 0.062500 0.750400 -4.750000 +v -0.062500 0.750400 -4.750000 +v 0.062500 -0.249600 -4.250000 +v -0.062500 -0.249600 -4.250000 +v 0.062500 -0.249600 -4.750000 +v -0.062500 -0.249600 -4.750000 +v -0.125000 1.750400 -4.000000 +v 0.125000 1.750400 -4.000000 +v -0.125000 0.750400 -4.000000 +v 0.125000 0.750400 -4.000000 +vt 0.684874 0.585106 +vt 0.676471 0.574468 +vt 0.684874 0.574468 +vt 0.684874 0.638298 +vt 0.676471 0.585106 +vt 0.726891 0.500000 +vt 0.697479 0.521277 +vt 0.697479 0.500000 +vt 0.726891 0.478723 +vt 0.731092 0.457447 +vt 0.731092 0.478723 +vt 0.710084 0.478723 +vt 0.726891 0.457447 +vt 0.676471 0.563830 +vt 0.672269 0.563830 +vt 0.668067 0.553191 +vt 0.638655 0.500000 +vt 0.655462 0.478723 +vt 0.663866 0.500000 +vt 0.684874 0.478723 +vt 0.693277 0.553191 +vt 0.710084 0.457447 +vt 0.747899 0.500000 +vt 0.764706 0.585106 +vt 0.747899 0.585106 +vt 0.743697 0.500000 +vt 0.743697 0.585106 +vt 0.726891 0.500000 +vt 0.726891 0.585106 +vt 0.768908 0.500000 +vt 0.768908 0.585106 +vt 0.676471 0.478723 +vt 0.684874 0.563830 +vt 0.726891 0.489362 +vt 0.676471 0.638298 +vt 0.726891 0.521277 +vt 0.638655 0.489362 +vt 0.689076 0.563830 +vt 0.684874 0.457447 +vt 0.764706 0.500000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.1961 -0.9806 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.9701 -0.2425 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 185/252/44 184/253/44 183/254/44 +f 187/255/45 186/256/45 185/252/45 +f 189/257/46 188/258/46 187/259/46 +f 191/260/47 190/261/47 189/262/47 +f 193/263/48 192/264/48 191/260/48 +f 203/265/49 184/266/49 186/267/49 +f 190/268/49 194/269/49 188/270/49 +f 206/271/50 187/259/50 185/272/50 +f 206/271/51 194/273/51 193/263/51 +f 202/274/49 196/275/49 198/276/49 +f 201/277/47 198/276/47 197/278/47 +f 199/279/50 197/278/50 195/280/50 +f 196/275/52 199/281/52 195/282/52 +f 205/283/52 204/284/52 203/265/52 +f 184/253/46 204/284/46 183/254/46 +f 193/263/50 191/285/50 189/257/50 +f 185/252/44 186/256/44 184/253/44 +f 187/255/45 188/286/45 186/256/45 +f 189/257/46 190/287/46 188/258/46 +f 191/260/47 192/264/47 190/261/47 +f 193/263/48 194/273/48 192/264/48 +f 186/267/49 188/270/49 205/283/49 +f 205/283/49 203/265/49 186/267/49 +f 192/288/49 194/269/49 190/268/49 +f 194/269/49 205/283/49 188/270/49 +f 185/272/50 183/289/50 204/284/50 +f 204/284/50 206/271/50 185/272/50 +f 206/271/51 205/290/51 194/273/51 +f 202/274/49 200/291/49 196/275/49 +f 201/277/47 202/274/47 198/276/47 +f 199/279/50 201/277/50 197/278/50 +f 196/275/52 200/291/52 199/281/52 +f 205/283/52 206/271/52 204/284/52 +f 184/253/46 203/265/46 204/284/46 +f 189/257/50 187/259/50 193/263/50 +f 187/259/50 206/271/50 193/263/50 +o Drum +v 0.000000 2.250000 -0.875000 +v -0.625000 2.082532 -0.875000 +v -1.082532 1.625000 -0.875000 +v -1.250000 1.000000 -0.875000 +v -1.082532 0.375000 -0.875000 +v -0.625000 -0.082532 -0.875000 +v -0.000000 -0.250000 -0.875000 +v 0.625000 -0.082532 -0.875000 +v 1.082531 0.375000 -0.875000 +v 1.250000 1.000000 -0.875000 +v 1.082532 1.624999 -0.875000 +v 0.625001 2.082531 -0.875000 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v -0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v 0.000000 2.125000 -0.875000 +v -0.265165 2.015165 -0.875000 +v -0.375000 1.750000 -0.875000 +v -0.265165 1.484835 -0.875000 +v 0.000000 1.375000 -0.875000 +v 0.265165 1.484835 -0.875000 +v 0.375000 1.750000 -0.875000 +v 0.265165 2.015165 -0.875000 +v 0.000000 2.125000 -3.375000 +v -0.265165 2.015165 -3.375000 +v -0.375000 1.750000 -3.375000 +v -0.265165 1.484835 -3.375000 +v 0.000000 1.375000 -3.375000 +v 0.265165 1.484835 -3.375000 +v 0.375000 1.750000 -3.375000 +v 0.265165 2.015165 -3.375000 +v 0.000000 -0.125000 -0.875000 +v 0.265165 -0.015165 -0.875000 +v 0.375000 0.250000 -0.875000 +v 0.265165 0.515165 -0.875000 +v 0.000000 0.625000 -0.875000 +v -0.265165 0.515165 -0.875000 +v -0.375000 0.250000 -0.875000 +v -0.265165 -0.015165 -0.875000 +v 0.000000 -0.125000 -3.375000 +v 0.265165 -0.015165 -3.375000 +v 0.375000 0.250000 -3.375000 +v 0.265165 0.515165 -3.375000 +v 0.000000 0.625000 -3.375000 +v -0.265165 0.515165 -3.375000 +v -0.375000 0.250000 -3.375000 +v -0.265165 -0.015165 -3.375000 +v 0.974279 1.562500 -0.875000 +v 0.746576 1.737222 -0.875000 +v 0.462019 1.699759 -0.875000 +v 0.287297 1.472057 -0.875000 +v 0.324759 1.187500 -0.875000 +v 0.552462 1.012778 -0.875000 +v 0.837019 1.050241 -0.875000 +v 1.011741 1.277943 -0.875000 +v 0.974279 1.562500 -3.375000 +v 0.746576 1.737222 -3.375000 +v 0.462019 1.699759 -3.375000 +v 0.287297 1.472057 -3.375000 +v 0.324759 1.187500 -3.375000 +v 0.552462 1.012778 -3.375000 +v 0.837019 1.050241 -3.375000 +v 1.011741 1.277943 -3.375000 +v -0.974278 0.437500 -0.875000 +v -0.746576 0.262778 -0.875000 +v -0.462019 0.300241 -0.875000 +v -0.287297 0.527943 -0.875000 +v -0.324759 0.812500 -0.875000 +v -0.552462 0.987222 -0.875000 +v -0.837019 0.949759 -0.875000 +v -1.011741 0.722057 -0.875000 +v -0.974278 0.437500 -3.375000 +v -0.746576 0.262778 -3.375000 +v -0.462019 0.300241 -3.375000 +v -0.287297 0.527943 -3.375000 +v -0.324759 0.812500 -3.375000 +v -0.552462 0.987222 -3.375000 +v -0.837019 0.949759 -3.375000 +v -1.011741 0.722057 -3.375000 +v 0.974279 0.437500 -0.875000 +v 1.011741 0.722057 -0.875000 +v 0.837019 0.949759 -0.875000 +v 0.552462 0.987222 -0.875000 +v 0.324759 0.812500 -0.875000 +v 0.287297 0.527943 -0.875000 +v 0.462019 0.300241 -0.875000 +v 0.746576 0.262778 -0.875000 +v 0.974279 0.437500 -3.375000 +v 1.011741 0.722057 -3.375000 +v 0.837019 0.949759 -3.375000 +v 0.552462 0.987222 -3.375000 +v 0.324759 0.812500 -3.375000 +v 0.287297 0.527943 -3.375000 +v 0.462019 0.300241 -3.375000 +v 0.746576 0.262778 -3.375000 +v -0.974278 1.562500 -0.875000 +v -1.011741 1.277943 -0.875000 +v -0.837019 1.050241 -0.875000 +v -0.552462 1.012778 -0.875000 +v -0.324759 1.187500 -0.875000 +v -0.287297 1.472057 -0.875000 +v -0.462019 1.699759 -0.875000 +v -0.746576 1.737223 -0.875000 +v -0.974278 1.562500 -3.375000 +v -1.011741 1.277943 -3.375000 +v -0.837019 1.050241 -3.375000 +v -0.552462 1.012778 -3.375000 +v -0.324759 1.187500 -3.375000 +v -0.287297 1.472057 -3.375000 +v -0.462019 1.699759 -3.375000 +v -0.746576 1.737223 -3.375000 +v 0.000000 2.125000 -3.312500 +v -0.265165 2.015165 -3.312500 +v -0.375000 1.750000 -3.312500 +v -0.265165 1.484835 -3.312500 +v 0.000000 1.375000 -3.312500 +v 0.265165 1.484835 -3.312500 +v 0.375000 1.750000 -3.312500 +v 0.265165 2.015165 -3.312500 +v 0.000000 -0.125000 -3.312500 +v 0.265165 -0.015165 -3.312500 +v 0.375000 0.250000 -3.312500 +v 0.265165 0.515165 -3.312500 +v 0.000000 0.625000 -3.312500 +v -0.265165 0.515165 -3.312500 +v -0.375000 0.250000 -3.312500 +v -0.265165 -0.015165 -3.312500 +v 0.974279 1.562500 -3.312500 +v 0.746576 1.737222 -3.312500 +v 0.462019 1.699759 -3.312500 +v 0.287297 1.472057 -3.312500 +v 0.324759 1.187500 -3.312500 +v 0.552462 1.012778 -3.312500 +v 0.837019 1.050241 -3.312500 +v 1.011741 1.277943 -3.312500 +v -0.974279 0.437500 -3.312500 +v -0.746576 0.262778 -3.312500 +v -0.462019 0.300241 -3.312500 +v -0.287297 0.527943 -3.312500 +v -0.324759 0.812500 -3.312500 +v -0.552462 0.987222 -3.312500 +v -0.837019 0.949759 -3.312500 +v -1.011741 0.722057 -3.312500 +v 0.974279 0.437500 -3.312500 +v 1.011741 0.722057 -3.312500 +v 0.837019 0.949759 -3.312500 +v 0.552462 0.987222 -3.312500 +v 0.324759 0.812500 -3.312500 +v 0.287297 0.527943 -3.312500 +v 0.462019 0.300241 -3.312500 +v 0.746576 0.262778 -3.312500 +v -0.974279 1.562500 -3.312500 +v -1.011741 1.277943 -3.312500 +v -0.837019 1.050241 -3.312500 +v -0.552462 1.012778 -3.312500 +v -0.324759 1.187500 -3.312500 +v -0.287297 1.472057 -3.312500 +v -0.462019 1.699759 -3.312500 +v -0.746576 1.737222 -3.312500 +v 0.000000 2.125000 -0.937500 +v -0.265165 2.015165 -0.937500 +v -0.375000 1.750000 -0.937500 +v -0.265165 1.484835 -0.937500 +v 0.000000 1.375000 -0.937500 +v 0.265165 1.484835 -0.937500 +v 0.375000 1.750000 -0.937500 +v 0.265165 2.015165 -0.937500 +v 0.000000 -0.125000 -0.937500 +v 0.265165 -0.015165 -0.937500 +v 0.375000 0.250000 -0.937500 +v 0.265165 0.515165 -0.937500 +v 0.000000 0.625000 -0.937500 +v -0.265165 0.515165 -0.937500 +v -0.375000 0.250000 -0.937500 +v -0.265165 -0.015165 -0.937500 +v 0.974279 1.562500 -0.937500 +v 0.746576 1.737222 -0.937500 +v 0.462019 1.699759 -0.937500 +v 0.287297 1.472057 -0.937500 +v 0.324759 1.187500 -0.937500 +v 0.552462 1.012778 -0.937500 +v 0.837019 1.050241 -0.937500 +v 1.011741 1.277943 -0.937500 +v -0.974279 0.437500 -0.937500 +v -0.746576 0.262778 -0.937500 +v -0.462019 0.300241 -0.937500 +v -0.287297 0.527943 -0.937500 +v -0.324759 0.812500 -0.937500 +v -0.552462 0.987222 -0.937500 +v -0.837019 0.949759 -0.937500 +v -1.011741 0.722057 -0.937500 +v 0.974279 0.437500 -0.937500 +v 1.011741 0.722057 -0.937500 +v 0.837019 0.949759 -0.937500 +v 0.552462 0.987222 -0.937500 +v 0.324759 0.812500 -0.937500 +v 0.287297 0.527943 -0.937500 +v 0.462019 0.300241 -0.937500 +v 0.746576 0.262778 -0.937500 +v -0.974279 1.562500 -0.937500 +v -1.011741 1.277943 -0.937500 +v -0.837019 1.050241 -0.937500 +v -0.552462 1.012778 -0.937500 +v -0.324759 1.187500 -0.937500 +v -0.287297 1.472057 -0.937500 +v -0.462019 1.699759 -0.937500 +v -0.746576 1.737222 -0.937500 +v 0.000000 2.250000 -0.875000 +v -0.625000 2.082532 -0.875000 +v -1.082532 1.625000 -0.875000 +v -1.250000 1.000000 -0.875000 +v -1.082532 0.375000 -0.875000 +v -0.625000 -0.082532 -0.875000 +v -0.000000 -0.250000 -0.875000 +v 0.625000 -0.082532 -0.875000 +v 1.082531 0.375000 -0.875000 +v 1.250000 1.000000 -0.875000 +v 1.082532 1.624999 -0.875000 +v 0.625001 2.082531 -0.875000 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v -0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v 0.000000 2.125000 -0.875000 +v -0.265165 2.015165 -0.875000 +v -0.375000 1.750000 -0.875000 +v -0.265165 1.484835 -0.875000 +v 0.000000 1.375000 -0.875000 +v 0.265165 1.484835 -0.875000 +v 0.375000 1.750000 -0.875000 +v 0.265165 2.015165 -0.875000 +v 0.000000 2.125000 -3.375000 +v -0.265165 2.015165 -3.375000 +v -0.375000 1.750000 -3.375000 +v -0.265165 1.484835 -3.375000 +v 0.000000 1.375000 -3.375000 +v 0.265165 1.484835 -3.375000 +v 0.375000 1.750000 -3.375000 +v 0.265165 2.015165 -3.375000 +v 0.000000 -0.125000 -0.875000 +v 0.265165 -0.015165 -0.875000 +v 0.375000 0.250000 -0.875000 +v 0.265165 0.515165 -0.875000 +v 0.000000 0.625000 -0.875000 +v -0.265165 0.515165 -0.875000 +v -0.375000 0.250000 -0.875000 +v -0.265165 -0.015165 -0.875000 +v 0.000000 -0.125000 -3.375000 +v 0.265165 -0.015165 -3.375000 +v 0.375000 0.250000 -3.375000 +v 0.265165 0.515165 -3.375000 +v 0.000000 0.625000 -3.375000 +v -0.265165 0.515165 -3.375000 +v -0.375000 0.250000 -3.375000 +v -0.265165 -0.015165 -3.375000 +v 0.974279 1.562500 -0.875000 +v 0.746576 1.737222 -0.875000 +v 0.462019 1.699759 -0.875000 +v 0.287297 1.472057 -0.875000 +v 0.324759 1.187500 -0.875000 +v 0.552462 1.012778 -0.875000 +v 0.837019 1.050241 -0.875000 +v 1.011741 1.277943 -0.875000 +v 0.974279 1.562500 -3.375000 +v 0.746576 1.737222 -3.375000 +v 0.462019 1.699759 -3.375000 +v 0.287297 1.472057 -3.375000 +v 0.324759 1.187500 -3.375000 +v 0.552462 1.012778 -3.375000 +v 0.837019 1.050241 -3.375000 +v 1.011741 1.277943 -3.375000 +v -0.974278 0.437500 -0.875000 +v -0.746576 0.262778 -0.875000 +v -0.462019 0.300241 -0.875000 +v -0.287297 0.527943 -0.875000 +v -0.324759 0.812500 -0.875000 +v -0.552462 0.987222 -0.875000 +v -0.837019 0.949759 -0.875000 +v -1.011741 0.722057 -0.875000 +v -0.974278 0.437500 -3.375000 +v -0.746576 0.262778 -3.375000 +v -0.462019 0.300241 -3.375000 +v -0.287297 0.527943 -3.375000 +v -0.324759 0.812500 -3.375000 +v -0.552462 0.987222 -3.375000 +v -0.837019 0.949759 -3.375000 +v -1.011741 0.722057 -3.375000 +v 0.974279 0.437500 -0.875000 +v 1.011741 0.722057 -0.875000 +v 0.837019 0.949759 -0.875000 +v 0.552462 0.987222 -0.875000 +v 0.324759 0.812500 -0.875000 +v 0.287297 0.527943 -0.875000 +v 0.462019 0.300241 -0.875000 +v 0.746576 0.262778 -0.875000 +v 0.974279 0.437500 -3.375000 +v 1.011741 0.722057 -3.375000 +v 0.837019 0.949759 -3.375000 +v 0.552462 0.987222 -3.375000 +v 0.324759 0.812500 -3.375000 +v 0.287297 0.527943 -3.375000 +v 0.462019 0.300241 -3.375000 +v 0.746576 0.262778 -3.375000 +v -0.974278 1.562500 -0.875000 +v -1.011741 1.277943 -0.875000 +v -0.837019 1.050241 -0.875000 +v -0.552462 1.012778 -0.875000 +v -0.324759 1.187500 -0.875000 +v -0.287297 1.472057 -0.875000 +v -0.462019 1.699759 -0.875000 +v -0.746576 1.737223 -0.875000 +v -0.974278 1.562500 -3.375000 +v -1.011741 1.277943 -3.375000 +v -0.837019 1.050241 -3.375000 +v -0.552462 1.012778 -3.375000 +v -0.324759 1.187500 -3.375000 +v -0.287297 1.472057 -3.375000 +v -0.462019 1.699759 -3.375000 +v -0.746576 1.737223 -3.375000 +vt 0.533583 0.170366 +vt 0.536538 0.146655 +vt 0.537284 0.147745 +vt 0.535276 0.122379 +vt 0.546219 0.138375 +vt 0.537284 0.192988 +vt 0.530651 0.166080 +vt 0.558854 0.170366 +vt 0.571374 0.169276 +vt 0.555153 0.192988 +vt 0.555899 0.146655 +vt 0.555153 0.147745 +vt 0.557161 0.122379 +vt 0.580308 0.082671 +vt 0.574421 0.110669 +vt 0.574421 0.102097 +vt 0.564833 0.107473 +vt 0.564833 0.105293 +vt 0.557161 0.090387 +vt 0.571374 0.043490 +vt 0.558854 0.042400 +vt 0.555153 0.019778 +vt 0.561786 0.046686 +vt 0.555153 0.065021 +vt 0.555899 0.066111 +vt 0.546219 0.074391 +vt 0.512129 0.130095 +vt 0.518016 0.102097 +vt 0.518016 0.110669 +vt 0.533583 0.042400 +vt 0.521063 0.043490 +vt 0.537284 0.019778 +vt 0.537284 0.065021 +vt 0.530651 0.046686 +vt 0.536538 0.066111 +vt 0.527604 0.105293 +vt 0.527604 0.107473 +vt 0.525160 0.198735 +vt 0.521063 0.169276 +vt 0.567277 0.198735 +vt 0.588336 0.106383 +vt 0.580308 0.130095 +vt 0.567277 0.014031 +vt 0.525160 0.014031 +vt 0.504101 0.106383 +vt 0.512129 0.082671 +vt 0.365516 0.170366 +vt 0.352996 0.169276 +vt 0.362584 0.166080 +vt 0.387086 0.192988 +vt 0.393719 0.166080 +vt 0.403307 0.169276 +vt 0.412241 0.130095 +vt 0.406354 0.102097 +vt 0.412241 0.082671 +vt 0.390787 0.042400 +vt 0.403307 0.043490 +vt 0.393719 0.046686 +vt 0.365516 0.042400 +vt 0.352996 0.043490 +vt 0.369217 0.019778 +vt 0.344061 0.082671 +vt 0.349948 0.110669 +vt 0.344061 0.130095 +vt 0.359536 0.105293 +vt 0.349948 0.102097 +vt 0.367209 0.090387 +vt 0.359536 0.107473 +vt 0.368471 0.146655 +vt 0.369217 0.147745 +vt 0.367209 0.122379 +vt 0.378151 0.138375 +vt 0.390787 0.170366 +vt 0.387831 0.146655 +vt 0.387086 0.147745 +vt 0.389094 0.122379 +vt 0.406354 0.110669 +vt 0.396766 0.105293 +vt 0.396766 0.107473 +vt 0.387086 0.065021 +vt 0.387831 0.066111 +vt 0.378151 0.074391 +vt 0.389094 0.090387 +vt 0.369217 0.065021 +vt 0.362584 0.046686 +vt 0.368471 0.066111 +vt 0.357092 0.198735 +vt 0.369217 0.192988 +vt 0.399210 0.198735 +vt 0.420269 0.106383 +vt 0.399210 0.014031 +vt 0.387086 0.019778 +vt 0.357092 0.014031 +vt 0.336033 0.106383 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.561786 0.166080 +vt 0.535276 0.090387 +vt 0.509743 0.159702 +vt 0.513391 0.154370 +vt 0.546219 0.202358 +vt 0.546219 0.213022 +vt 0.579046 0.154370 +vt 0.582694 0.159702 +vt 0.579046 0.058396 +vt 0.582694 0.053064 +vt 0.546219 0.010408 +vt 0.546219 -0.000256 +vt 0.513391 0.058396 +vt 0.509743 0.053064 +vt 0.378151 0.202358 +vt 0.378151 0.213022 +vt 0.341676 0.159702 +vt 0.345324 0.154370 +vt 0.410979 0.154370 +vt 0.414626 0.159702 +vt 0.410979 0.058396 +vt 0.414626 0.053064 +vt 0.378151 0.010408 +vt 0.378151 -0.000256 +vt 0.345324 0.058396 +vt 0.341676 0.053064 +vt 0.402659 0.214703 +vt 0.412467 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.274658 +vt 0.395723 0.257098 +vt 0.412467 0.274658 +vt 0.402659 0.274658 +vt 0.395723 0.257098 +vt 0.402659 0.214703 +vt 0.419403 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.232264 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.402659 0.274658 +vt 0.395723 0.257098 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.419403 0.257098 +vt 0.412467 0.274658 +vt 0.402659 0.274658 +vt 0.395723 0.232264 +vt 0.412467 0.214703 +vt 0.395723 0.232264 +vt 0.402659 0.214703 +vt 0.412467 0.214703 +vt 0.419403 0.257098 +vt 0.402659 0.274658 +vt 0.370513 0.257098 +vt 0.370513 0.232264 +vt 0.377449 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.394193 0.232264 +vt 0.394193 0.257098 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.387257 0.274658 +vt 0.377449 0.274658 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.214703 +vt 0.387257 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.387257 0.214703 +vt 0.394193 0.232264 +vt 0.387257 0.274658 +vt 0.370513 0.257098 +vt 0.377449 0.214703 +vt 0.370513 0.257098 +vt 0.370513 0.232264 +vt 0.387257 0.214703 +vt 0.394193 0.257098 +vt 0.377449 0.274658 +vt 0.504202 0.425532 +vt 0.420168 0.478723 +vt 0.420168 0.425532 +vt 0.504202 0.159574 +vt 0.420168 0.212766 +vt 0.420168 0.159574 +vt 0.504202 -0.000000 +vt 0.420168 0.053191 +vt 0.420168 -0.000000 +vt 0.504202 0.478723 +vt 0.420168 0.531915 +vt 0.504202 0.212766 +vt 0.420168 0.265957 +vt 0.504202 0.319149 +vt 0.420168 0.372340 +vt 0.420168 0.319149 +vt 0.504202 0.053191 +vt 0.420168 0.106383 +vt 0.504202 0.531915 +vt 0.420168 0.585106 +vt 0.504202 0.265957 +vt 0.504202 0.372340 +vt 0.504202 0.106383 +vt 0.504202 0.585106 +vt 0.420168 0.638298 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.340426 +vt 0.588235 0.361702 +vt 0.504202 0.361702 +vt 0.504202 0.212766 +vt 0.588235 0.234043 +vt 0.504202 0.234043 +vt 0.504202 0.255319 +vt 0.588235 0.276596 +vt 0.504202 0.276596 +vt 0.504202 0.319149 +vt 0.588235 0.340426 +vt 0.588235 0.382979 +vt 0.504202 0.382979 +vt 0.588235 0.255319 +vt 0.588235 0.297872 +vt 0.504202 0.297872 +vt 0.588235 0.319149 +vt 0.504202 0.638298 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vt 0.588235 0.212766 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.5000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 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.7071 -0.7071 0.0000 +vn 0.2588 0.9659 0.0000 +vn 0.9659 -0.2588 0.0000 +vn -0.2588 -0.9659 0.0000 +vn -0.9659 0.2588 0.0000 +vn 0.9659 0.2588 0.0000 +vn 0.2588 -0.9659 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.2588 0.9659 0.0000 +s off +f 245/292/53 274/293/53 244/294/53 +f 244/294/53 275/295/53 243/296/53 +f 246/297/53 273/298/53 245/292/53 +f 241/299/53 326/300/53 240/301/53 +f 324/302/53 241/299/53 242/303/53 +f 323/304/53 242/303/53 243/296/53 +f 294/305/53 321/306/53 293/307/53 +f 293/307/53 322/308/53 292/309/53 +f 322/308/53 291/310/53 292/309/53 +f 288/311/53 261/312/53 262/313/53 +f 289/314/53 260/315/53 261/312/53 +f 290/316/53 259/317/53 260/315/53 +f 278/318/53 305/319/53 277/320/53 +f 257/321/53 310/322/53 256/323/53 +f 258/324/53 309/325/53 257/321/53 +f 259/317/53 308/326/53 258/324/53 +f 277/320/53 306/327/53 276/328/53 +f 306/327/53 275/295/53 276/328/53 +f 275/295/53 259/317/53 323/304/53 +f 230/329/53 272/330/53 246/297/53 +f 220/331/53 240/301/53 326/300/53 +f 222/332/53 320/333/53 294/305/53 +f 224/334/53 288/311/53 262/313/53 +f 226/335/53 256/323/53 310/322/53 +f 228/336/53 304/337/53 278/318/53 +f 233/338/54 318/339/54 317/340/54 +f 238/341/54 265/342/54 264/343/54 +f 270/344/54 297/345/54 296/346/54 +f 249/347/54 302/348/54 301/349/54 +f 253/350/54 280/351/54 254/352/54 +f 286/353/54 313/354/54 312/355/54 +f 284/356/54 313/354/54 285/357/54 +f 283/358/54 314/359/54 284/356/54 +f 233/338/54 316/360/54 234/361/54 +f 234/361/54 315/362/54 235/363/54 +f 237/364/54 266/365/54 265/342/54 +f 236/366/54 267/367/54 266/365/54 +f 269/368/54 298/369/54 297/345/54 +f 267/367/54 298/369/54 268/370/54 +f 250/371/54 301/349/54 300/372/54 +f 251/373/54 300/372/54 299/374/54 +f 252/375/54 281/376/54 253/350/54 +f 251/373/54 282/377/54 252/375/54 +f 251/373/54 267/367/54 315/362/54 +f 208/378/54 318/339/54 232/379/54 +f 218/380/54 238/341/54 264/343/54 +f 216/381/54 270/344/54 296/346/54 +f 214/382/54 302/348/54 248/383/54 +f 212/384/54 254/352/54 280/351/54 +f 210/385/54 286/353/54 312/355/54 +f 333/386/53 331/387/53 329/388/53 +f 341/389/53 339/390/53 337/391/53 +f 349/392/53 347/393/53 345/394/53 +f 357/395/53 355/396/53 353/397/53 +f 365/398/53 363/399/53 361/400/53 +f 373/401/53 371/402/53 369/403/53 +f 379/404/54 381/405/54 375/406/54 +f 387/407/54 389/408/54 383/409/54 +f 393/410/54 395/411/54 397/412/54 +f 403/413/54 405/414/54 399/415/54 +f 409/416/54 411/417/54 413/418/54 +f 417/419/54 419/420/54 421/421/54 +f 245/292/53 273/298/53 274/293/53 +f 244/294/53 274/293/53 275/295/53 +f 246/297/53 272/330/53 273/298/53 +f 241/299/53 325/422/53 326/300/53 +f 324/302/53 325/422/53 241/299/53 +f 323/304/53 324/302/53 242/303/53 +f 294/305/53 320/333/53 321/306/53 +f 293/307/53 321/306/53 322/308/53 +f 322/308/53 323/304/53 291/310/53 +f 288/311/53 289/314/53 261/312/53 +f 289/314/53 290/316/53 260/315/53 +f 290/316/53 291/310/53 259/317/53 +f 278/318/53 304/337/53 305/319/53 +f 257/321/53 309/325/53 310/322/53 +f 258/324/53 308/326/53 309/325/53 +f 259/317/53 307/423/53 308/326/53 +f 277/320/53 305/319/53 306/327/53 +f 306/327/53 307/423/53 275/295/53 +f 323/304/53 243/296/53 275/295/53 +f 275/295/53 307/423/53 259/317/53 +f 259/317/53 291/310/53 323/304/53 +f 230/329/53 229/424/53 272/330/53 +f 229/424/53 271/425/53 272/330/53 +f 239/426/53 219/427/53 246/297/53 +f 219/427/53 230/329/53 246/297/53 +f 220/331/53 219/427/53 240/301/53 +f 219/427/53 239/426/53 240/301/53 +f 319/428/53 221/429/53 326/300/53 +f 221/429/53 220/331/53 326/300/53 +f 222/332/53 221/429/53 320/333/53 +f 221/429/53 319/428/53 320/333/53 +f 287/430/53 223/431/53 294/305/53 +f 223/431/53 222/332/53 294/305/53 +f 224/334/53 223/431/53 288/311/53 +f 223/431/53 287/430/53 288/311/53 +f 255/432/53 225/433/53 262/313/53 +f 225/433/53 224/334/53 262/313/53 +f 226/335/53 225/433/53 256/323/53 +f 225/433/53 255/432/53 256/323/53 +f 303/434/53 227/435/53 310/322/53 +f 227/435/53 226/335/53 310/322/53 +f 228/336/53 227/435/53 304/337/53 +f 227/435/53 303/434/53 304/337/53 +f 271/425/53 229/424/53 278/318/53 +f 229/424/53 228/336/53 278/318/53 +f 233/338/54 232/379/54 318/339/54 +f 238/341/54 237/364/54 265/342/54 +f 270/344/54 269/368/54 297/345/54 +f 249/347/54 248/383/54 302/348/54 +f 253/350/54 281/376/54 280/351/54 +f 286/353/54 285/357/54 313/354/54 +f 284/356/54 314/359/54 313/354/54 +f 283/358/54 315/362/54 314/359/54 +f 233/338/54 317/340/54 316/360/54 +f 234/361/54 316/360/54 315/362/54 +f 237/364/54 236/366/54 266/365/54 +f 236/366/54 235/363/54 267/367/54 +f 269/368/54 268/370/54 298/369/54 +f 267/367/54 299/374/54 298/369/54 +f 250/371/54 249/347/54 301/349/54 +f 251/373/54 250/371/54 300/372/54 +f 252/375/54 282/377/54 281/376/54 +f 251/373/54 283/358/54 282/377/54 +f 315/362/54 283/358/54 251/373/54 +f 251/373/54 299/374/54 267/367/54 +f 267/367/54 235/363/54 315/362/54 +f 231/436/54 207/437/54 232/379/54 +f 207/437/54 208/378/54 232/379/54 +f 208/378/54 209/438/54 318/339/54 +f 209/438/54 311/439/54 318/339/54 +f 263/440/54 217/441/54 264/343/54 +f 217/441/54 218/380/54 264/343/54 +f 218/380/54 207/437/54 238/341/54 +f 207/437/54 231/436/54 238/341/54 +f 295/442/54 215/443/54 296/346/54 +f 215/443/54 216/381/54 296/346/54 +f 216/381/54 217/441/54 270/344/54 +f 217/441/54 263/440/54 270/344/54 +f 247/444/54 213/445/54 248/383/54 +f 213/445/54 214/382/54 248/383/54 +f 214/382/54 215/443/54 302/348/54 +f 215/443/54 295/442/54 302/348/54 +f 279/446/54 211/447/54 280/351/54 +f 211/447/54 212/384/54 280/351/54 +f 212/384/54 213/445/54 254/352/54 +f 213/445/54 247/444/54 254/352/54 +f 311/439/54 209/438/54 312/355/54 +f 209/438/54 210/385/54 312/355/54 +f 210/385/54 211/447/54 286/353/54 +f 211/447/54 279/446/54 286/353/54 +f 329/388/53 328/448/53 327/449/53 +f 327/449/53 334/450/53 333/386/53 +f 333/386/53 332/451/53 331/387/53 +f 331/387/53 330/452/53 329/388/53 +f 329/388/53 327/449/53 333/386/53 +f 337/391/53 336/453/53 335/454/53 +f 335/454/53 342/455/53 341/389/53 +f 341/389/53 340/456/53 339/390/53 +f 339/390/53 338/457/53 337/391/53 +f 337/391/53 335/454/53 341/389/53 +f 345/394/53 344/458/53 343/459/53 +f 343/459/53 350/460/53 345/394/53 +f 350/460/53 349/392/53 345/394/53 +f 349/392/53 348/461/53 347/393/53 +f 347/393/53 346/462/53 345/394/53 +f 353/397/53 352/463/53 351/464/53 +f 351/464/53 358/465/53 357/395/53 +f 357/395/53 356/466/53 355/396/53 +f 355/396/53 354/467/53 353/397/53 +f 353/397/53 351/464/53 357/395/53 +f 361/400/53 360/468/53 359/469/53 +f 359/469/53 366/470/53 361/400/53 +f 366/470/53 365/398/53 361/400/53 +f 365/398/53 364/471/53 363/399/53 +f 363/399/53 362/472/53 361/400/53 +f 369/403/53 368/473/53 367/474/53 +f 367/474/53 374/475/53 369/403/53 +f 374/475/53 373/401/53 369/403/53 +f 373/401/53 372/476/53 371/402/53 +f 371/402/53 370/477/53 369/403/53 +f 375/406/54 376/478/54 377/479/54 +f 377/479/54 378/480/54 379/404/54 +f 379/404/54 380/481/54 381/405/54 +f 381/405/54 382/482/54 375/406/54 +f 375/406/54 377/479/54 379/404/54 +f 383/409/54 384/483/54 385/484/54 +f 385/484/54 386/485/54 387/407/54 +f 387/407/54 388/486/54 389/408/54 +f 389/408/54 390/487/54 383/409/54 +f 383/409/54 385/484/54 387/407/54 +f 391/488/54 392/489/54 393/410/54 +f 393/410/54 394/490/54 395/411/54 +f 395/411/54 396/491/54 397/412/54 +f 397/412/54 398/492/54 391/488/54 +f 391/488/54 393/410/54 397/412/54 +f 399/415/54 400/493/54 401/494/54 +f 401/494/54 402/495/54 403/413/54 +f 403/413/54 404/496/54 405/414/54 +f 405/414/54 406/497/54 399/415/54 +f 399/415/54 401/494/54 403/413/54 +f 407/498/54 408/499/54 409/416/54 +f 409/416/54 410/500/54 411/417/54 +f 411/417/54 412/501/54 413/418/54 +f 413/418/54 414/502/54 407/498/54 +f 407/498/54 409/416/54 413/418/54 +f 415/503/54 416/504/54 417/419/54 +f 417/419/54 418/505/54 419/420/54 +f 419/420/54 420/506/54 421/421/54 +f 421/421/54 422/507/54 415/503/54 +f 415/503/54 417/419/54 421/421/54 +s 1 +f 437/508/55 426/509/56 425/510/55 +f 444/511/57 433/512/58 432/513/57 +f 441/514/59 430/515/60 429/516/59 +f 438/517/56 427/518/61 426/509/56 +f 445/519/58 434/520/62 433/512/58 +f 435/521/63 424/522/64 423/523/63 +f 442/524/60 431/525/65 430/515/60 +f 439/526/61 428/527/66 427/518/61 +f 446/528/62 423/523/63 434/520/62 +f 436/529/64 425/510/55 424/522/64 +f 443/530/65 432/513/57 431/525/65 +f 440/531/66 429/532/59 428/527/66 +f 453/533/56 460/534/67 452/535/67 +f 451/536/63 458/537/68 450/538/68 +f 449/539/57 456/540/69 448/541/69 +f 454/542/70 461/543/56 453/533/56 +f 452/535/67 459/544/63 451/545/63 +f 450/538/68 457/546/57 449/539/57 +f 448/541/69 455/547/59 447/548/59 +f 447/548/59 462/549/70 454/542/70 +f 469/550/57 476/551/69 468/552/69 +f 467/553/59 474/554/70 466/555/70 +f 465/556/56 472/557/67 464/558/67 +f 470/559/68 477/560/57 469/550/57 +f 468/552/69 475/561/59 467/562/59 +f 466/555/70 473/563/56 465/556/56 +f 464/558/67 471/564/63 463/565/63 +f 463/565/63 478/566/68 470/559/68 +f 485/567/64 492/568/71 484/569/71 +f 483/570/58 490/571/72 482/572/72 +f 481/573/60 488/574/73 480/575/73 +f 486/576/74 493/577/64 485/567/64 +f 484/569/71 491/578/58 483/579/58 +f 482/572/72 489/580/60 481/573/60 +f 480/575/73 487/581/61 479/582/61 +f 479/582/61 494/583/74 486/576/74 +f 501/584/60 508/585/73 500/586/73 +f 499/587/61 506/588/74 498/589/74 +f 497/590/64 504/591/71 496/592/71 +f 502/593/72 509/594/60 501/584/60 +f 500/586/73 507/595/61 499/596/61 +f 498/589/74 505/597/64 497/590/64 +f 496/592/71 503/598/58 495/599/58 +f 495/599/58 510/600/72 502/593/72 +f 517/601/62 524/602/75 516/603/75 +f 515/604/65 522/605/76 514/606/76 +f 513/607/66 520/608/77 512/609/77 +f 518/610/78 525/611/62 517/601/62 +f 516/603/75 523/612/65 515/613/65 +f 514/606/76 521/614/66 513/607/66 +f 512/609/77 519/615/55 511/616/55 +f 511/616/55 526/617/78 518/610/78 +f 533/618/66 540/619/77 532/620/77 +f 531/621/55 538/622/78 530/623/78 +f 529/624/62 536/625/75 528/626/75 +f 534/627/76 541/628/66 533/618/66 +f 532/620/77 539/629/55 531/630/55 +f 530/623/78 537/631/62 529/624/62 +f 528/626/75 535/632/65 527/633/65 +f 527/633/65 542/634/76 534/627/76 +f 437/508/55 438/517/56 426/509/56 +f 444/511/57 445/519/58 433/512/58 +f 441/514/59 442/524/60 430/515/60 +f 438/517/56 439/526/61 427/518/61 +f 445/519/58 446/528/62 434/520/62 +f 435/521/63 436/529/64 424/522/64 +f 442/524/60 443/530/65 431/525/65 +f 439/526/61 440/531/66 428/527/66 +f 446/528/62 435/521/63 423/523/63 +f 436/529/64 437/508/55 425/510/55 +f 443/530/65 444/511/57 432/513/57 +f 440/531/66 441/635/59 429/532/59 +f 453/533/56 461/543/56 460/534/67 +f 451/536/63 459/636/63 458/537/68 +f 449/539/57 457/546/57 456/540/69 +f 454/542/70 462/549/70 461/543/56 +f 452/535/67 460/534/67 459/544/63 +f 450/538/68 458/537/68 457/546/57 +f 448/541/69 456/540/69 455/547/59 +f 447/548/59 455/547/59 462/549/70 +f 469/550/57 477/560/57 476/551/69 +f 467/553/59 475/637/59 474/554/70 +f 465/556/56 473/563/56 472/557/67 +f 470/559/68 478/566/68 477/560/57 +f 468/552/69 476/551/69 475/561/59 +f 466/555/70 474/554/70 473/563/56 +f 464/558/67 472/557/67 471/564/63 +f 463/565/63 471/564/63 478/566/68 +f 485/567/64 493/577/64 492/568/71 +f 483/570/58 491/638/58 490/571/72 +f 481/573/60 489/580/60 488/574/73 +f 486/576/74 494/583/74 493/577/64 +f 484/569/71 492/568/71 491/578/58 +f 482/572/72 490/571/72 489/580/60 +f 480/575/73 488/574/73 487/581/61 +f 479/582/61 487/581/61 494/583/74 +f 501/584/60 509/594/60 508/585/73 +f 499/587/61 507/639/61 506/588/74 +f 497/590/64 505/597/64 504/591/71 +f 502/593/72 510/600/72 509/594/60 +f 500/586/73 508/585/73 507/595/61 +f 498/589/74 506/588/74 505/597/64 +f 496/592/71 504/591/71 503/598/58 +f 495/599/58 503/598/58 510/600/72 +f 517/601/62 525/611/62 524/602/75 +f 515/604/65 523/640/65 522/605/76 +f 513/607/66 521/614/66 520/608/77 +f 518/610/78 526/617/78 525/611/62 +f 516/603/75 524/602/75 523/612/65 +f 514/606/76 522/605/76 521/614/66 +f 512/609/77 520/608/77 519/615/55 +f 511/616/55 519/615/55 526/617/78 +f 533/618/66 541/628/66 540/619/77 +f 531/621/55 539/641/55 538/622/78 +f 529/624/62 537/631/62 536/625/75 +f 534/627/76 542/634/76 541/628/66 +f 532/620/77 540/619/77 539/629/55 +f 530/623/78 538/622/78 537/631/62 +f 528/626/75 536/625/75 535/632/65 +f 527/633/65 535/632/65 542/634/76 +o Grip +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v 0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v -0.125000 1.750400 -4.125000 +v 0.125000 0.750400 -4.125000 +v 0.125000 0.250400 -4.625000 +v -0.125000 0.750400 -4.125000 +v -0.125000 0.250400 -4.625000 +v -0.375000 0.750400 -4.125000 +v 0.375000 0.750400 -4.125000 +v -0.375000 0.250400 -4.625000 +v 0.375000 0.250400 -4.625000 +v -0.375000 0.000400 -5.375000 +v 0.375000 0.000400 -5.375000 +v -0.125000 2.125400 -4.125000 +v 0.125000 2.125400 -4.125000 +v -0.125000 1.875400 -4.125000 +v 0.125000 1.875400 -4.125000 +v -0.375000 1.875400 -4.125000 +v 0.375000 1.875400 -4.125000 +v 0.375000 1.875400 -3.500000 +v -0.375000 1.875400 -3.500000 +v 0.125000 1.875400 -3.500000 +v -0.125000 1.875400 -3.500000 +v 0.125000 2.125400 -3.500000 +v -0.125000 2.125400 -3.500000 +v 0.375000 -0.249600 -3.500000 +v -0.375000 -0.249600 -3.500000 +v 0.375000 1.875400 -4.125000 +v -0.375000 1.875400 -4.125000 +v 0.125000 1.875400 -4.125000 +v -0.125000 1.875400 -4.125000 +v 0.125000 2.125400 -4.125000 +v -0.125000 2.125400 -4.125000 +v 0.375000 -0.249600 -0.750000 +v -0.375000 -0.249600 -0.750000 +v 0.375000 0.000400 -5.375000 +v -0.375000 0.000400 -5.375000 +v 0.375000 0.250400 -4.625000 +v -0.375000 0.250400 -4.625000 +v 0.375000 0.750400 -4.125000 +v -0.375000 0.750400 -4.125000 +v 0.375000 -0.999600 0.000000 +v -0.375000 -0.999600 0.000000 +v 0.375000 -0.999600 -2.125000 +v -0.375000 -0.999600 -2.125000 +v -0.375000 0.000400 -0.750000 +v 0.375000 0.000400 -0.750000 +v -0.375000 -0.249600 0.000000 +v 0.375000 -0.249600 0.000000 +v -0.375000 -0.749600 0.000000 +v 0.375000 -0.749600 0.000000 +v -0.375000 -0.649119 0.375000 +v 0.375000 -0.649119 0.375000 +v -0.375000 -0.374600 0.649519 +v 0.375000 -0.374600 0.649519 +v -0.375000 0.000400 0.750000 +v 0.375000 0.000400 0.750000 +v -0.375000 0.375400 0.649519 +v 0.375000 0.375400 0.649519 +v -0.375000 0.649919 0.375000 +v 0.375000 0.649919 0.375000 +v -0.375000 0.750400 0.000000 +v 0.375000 0.750400 0.000000 +v -0.375000 0.649919 -0.375000 +v 0.375000 0.649919 -0.375000 +v -0.375000 0.375401 -0.649519 +v 0.375000 0.375400 -0.649519 +v 0.375000 -1.749600 -4.875000 +v -0.375000 -1.749600 -4.875000 +v 0.375000 -0.999600 -5.000000 +v -0.375000 -0.999600 -5.000000 +v 0.375000 -1.374600 -4.375000 +v -0.375000 -1.374600 -4.375000 +v 0.375000 0.000400 -6.375000 +v -0.375000 0.000400 -6.375000 +v 0.375000 -2.124600 -7.750000 +v -0.375000 -2.124600 -7.750000 +v 0.375000 -4.624600 -8.500000 +v -0.375000 -4.624600 -8.500000 +v 0.375000 -5.374600 -8.500000 +v -0.375000 -5.374600 -8.500000 +v 0.375000 -5.374600 -5.500000 +v -0.375000 -5.374600 -5.500000 +v 0.375000 -4.124600 -5.500000 +v -0.375000 -4.124600 -5.500000 +v -0.625000 -0.999600 -5.250000 +v -0.625000 -1.749600 -5.125000 +v -0.625000 -0.249600 -5.625000 +v -0.625000 -0.249600 -6.125000 +v -0.625000 -2.124600 -7.500000 +v -0.625000 -4.624600 -8.250000 +v -0.625000 -5.124600 -8.250000 +v -0.625000 -5.124600 -5.750000 +v -0.625000 -4.124600 -5.750000 +v 0.625000 -1.749600 -5.125000 +v 0.625000 -0.999600 -5.250000 +v 0.625000 -0.249600 -5.625000 +v 0.625000 -0.249600 -6.125000 +v 0.625000 -2.124600 -7.500000 +v 0.625000 -4.624600 -8.250000 +v 0.625000 -5.124600 -8.250000 +v 0.625000 -5.124600 -5.750000 +v 0.625000 -4.124600 -5.750000 +v 0.000000 -5.374600 -7.250000 +v -0.176777 -5.374600 -7.176777 +v -0.250000 -5.374600 -7.000000 +v -0.176777 -5.374600 -6.823223 +v 0.000000 -5.374600 -6.750000 +v 0.176777 -5.374600 -6.823223 +v 0.250000 -5.374600 -7.000000 +v 0.176777 -5.374600 -7.176777 +v 0.000000 -5.874600 -7.250000 +v -0.176777 -5.874600 -7.176777 +v -0.250000 -5.874600 -7.000000 +v -0.176777 -5.874600 -6.823223 +v 0.000000 -5.874600 -6.750000 +v 0.176777 -5.874600 -6.823223 +v 0.250000 -5.874600 -7.000000 +v 0.176777 -5.874600 -7.176777 +v 0.000000 -6.749600 -7.000000 +v 0.108253 -6.687100 -7.000000 +v 0.108253 -6.562100 -7.000000 +v 0.000000 -6.499600 -7.000000 +v -0.108253 -6.562100 -7.000000 +v -0.108253 -6.687100 -7.000000 +v 0.000000 -6.665866 -7.312500 +v 0.108253 -6.611740 -7.281250 +v 0.108253 -6.503487 -7.218750 +v 0.000000 -6.449360 -7.187500 +v -0.108253 -6.503487 -7.218750 +v -0.108253 -6.611740 -7.281250 +v 0.000000 -6.437100 -7.541266 +v 0.108253 -6.405850 -7.487139 +v 0.108253 -6.343350 -7.378886 +v 0.000000 -6.312100 -7.324759 +v -0.108253 -6.343350 -7.378886 +v -0.108253 -6.405850 -7.487139 +v 0.000000 -6.124600 -7.625000 +v 0.108253 -6.124600 -7.562500 +v 0.108253 -6.124600 -7.437500 +v 0.000000 -6.124600 -7.375000 +v -0.108253 -6.124600 -7.437500 +v -0.108253 -6.124600 -7.562500 +v 0.000000 -5.812100 -7.541266 +v 0.108253 -5.843350 -7.487139 +v 0.108253 -5.905850 -7.378886 +v 0.000000 -5.937100 -7.324759 +v -0.108253 -5.905850 -7.378886 +v -0.108253 -5.843350 -7.487139 +v 0.000000 -5.583334 -7.312500 +v 0.108253 -5.637461 -7.281250 +v 0.108253 -5.745714 -7.218750 +v 0.000000 -5.799841 -7.187500 +v -0.108253 -5.745714 -7.218750 +v -0.108253 -5.637461 -7.281250 +v 0.000000 -5.499600 -7.000000 +v 0.108253 -5.562100 -7.000000 +v 0.108253 -5.687100 -7.000000 +v 0.000000 -5.749600 -7.000000 +v -0.108253 -5.687100 -7.000000 +v -0.108253 -5.562100 -7.000000 +v 0.000000 -5.583334 -6.687500 +v 0.108253 -5.637461 -6.718750 +v 0.108253 -5.745714 -6.781250 +v 0.000000 -5.799841 -6.812500 +v -0.108253 -5.745714 -6.781250 +v -0.108253 -5.637461 -6.718750 +v 0.000000 -5.812100 -6.458734 +v 0.108253 -5.843350 -6.512861 +v 0.108253 -5.905850 -6.621114 +v 0.000000 -5.937100 -6.675241 +v -0.108253 -5.905850 -6.621114 +v -0.108253 -5.843350 -6.512861 +v 0.000000 -6.124600 -6.375000 +v 0.108253 -6.124600 -6.437500 +v 0.108253 -6.124600 -6.562500 +v 0.000000 -6.124600 -6.625000 +v -0.108253 -6.124600 -6.562500 +v -0.108253 -6.124600 -6.437500 +v 0.000000 -6.437100 -6.458734 +v 0.108253 -6.405850 -6.512861 +v 0.108253 -6.343350 -6.621114 +v 0.000000 -6.312100 -6.675241 +v -0.108253 -6.343350 -6.621114 +v -0.108253 -6.405850 -6.512861 +v 0.000000 -6.665866 -6.687500 +v 0.108253 -6.611740 -6.718750 +v 0.108253 -6.503487 -6.781250 +v 0.000000 -6.449360 -6.812500 +v -0.108253 -6.503487 -6.781250 +v -0.108253 -6.611740 -6.718750 +v 0.250000 -0.999600 -0.625000 +v -0.250000 -0.999600 -0.625000 +v 0.250000 -1.499600 -1.375000 +v -0.250000 -1.499600 -1.375000 +v 0.250000 -3.249600 -2.375000 +v -0.250000 -3.249600 -2.375000 +v 0.250000 -2.499600 -1.625000 +v -0.250000 -2.499600 -1.625000 +v 0.250000 -3.249600 -3.375000 +v -0.250000 -3.249600 -3.375000 +v 0.250000 -2.124600 -4.375000 +v -0.250000 -2.124600 -4.375000 +v 0.250000 -2.999600 -3.875000 +v -0.250000 -2.999600 -3.875000 +v 0.250000 -1.749600 -4.875000 +v -0.250000 -1.749600 -4.875000 +v 0.250000 -0.999600 -2.125000 +v -0.250000 -0.999600 -2.125000 +v 0.250000 -1.499600 -1.500000 +v -0.250000 -1.499600 -1.500000 +v 0.250000 -2.499600 -1.750000 +v -0.250000 -2.499600 -1.750000 +v 0.250000 -3.124600 -2.375000 +v -0.250000 -3.124600 -2.375000 +v 0.250000 -3.124600 -3.375000 +v -0.250000 -3.124600 -3.375000 +v 0.250000 -2.874600 -3.875000 +v -0.250000 -2.874600 -3.875000 +v 0.250000 -2.124600 -4.250000 +v -0.250000 -2.124600 -4.250000 +v 0.250000 -1.499600 -3.875000 +v -0.250000 -1.499600 -3.875000 +v 0.250000 -1.124600 -3.375000 +v -0.250000 -1.124600 -3.375000 +v 0.250000 -1.374600 -4.375000 +v -0.250000 -1.374600 -4.375000 +v 0.250000 -0.999600 -2.250000 +v -0.250000 -0.999600 -2.250000 +v 0.250000 -1.124600 -2.250000 +v -0.250000 -1.124600 -2.250000 +v 0.250000 -1.124600 -3.250000 +v -0.250000 -1.124600 -3.250000 +v 0.250000 -1.249600 -3.250000 +v -0.250000 -1.249600 -3.250000 +v 0.250000 -1.499600 -3.000000 +v -0.250000 -1.499600 -3.000000 +v 0.250000 -1.499600 -2.875000 +v -0.250000 -1.499600 -2.875000 +v 0.250000 -1.874600 -3.250000 +v -0.250000 -1.874600 -3.250000 +v 0.250000 -1.874600 -3.125000 +v -0.250000 -1.874600 -3.125000 +v 0.250000 -2.624600 -3.250000 +v -0.250000 -2.624600 -3.250000 +v 0.250000 -2.624600 -3.125000 +v -0.250000 -2.624600 -3.125000 +v 0.250000 -2.999600 -3.000000 +v -0.250000 -2.999600 -3.000000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v -0.125000 0.250400 -4.625000 +v -0.125000 0.750400 -4.125000 +v 0.125000 0.250400 -4.625000 +v 0.125000 0.750400 -4.125000 +v -0.125000 1.750400 -4.125000 +v 0.125000 1.750400 -4.125000 +v -0.125000 0.750400 -4.000000 +v 0.125000 0.750400 -4.000000 +v -0.125000 1.750400 -4.000000 +v 0.125000 1.750400 -4.000000 +v 0.125000 0.125400 -4.625000 +v -0.125000 0.125400 -4.625000 +v -0.125000 0.062900 -5.187500 +v 0.125000 -0.062100 -5.187500 +v -0.125000 -0.062100 -5.187500 +v 0.125000 0.062900 -5.187500 +v 0.000000 2.250000 -3.375000 +v -0.625000 2.082532 -3.375000 +v -1.082532 1.625000 -3.375000 +v -1.250000 1.000000 -3.375000 +v -1.082532 0.375000 -3.375000 +v -0.625000 -0.082532 -3.375000 +v 0.000000 -0.250000 -3.375000 +v 0.625000 -0.082532 -3.375000 +v 1.082531 0.375000 -3.375000 +v 1.250000 1.000000 -3.375000 +v 1.082532 1.624999 -3.375000 +v 0.625001 2.082531 -3.375000 +v -0.312500 1.541266 -3.808012 +v -0.541265 1.937500 -3.625000 +v -0.937500 0.458735 -3.625000 +v 0.000000 -0.082531 -3.625000 +v -1.082531 1.000000 -3.625000 +v -0.625000 1.000000 -3.808012 +v 0.000000 1.000000 -3.875000 +v 0.625000 1.000000 -3.808013 +v 1.082531 1.000000 -3.625000 +v 0.000000 0.375000 -3.808013 +v 0.000000 1.625000 -3.808012 +v 0.000000 2.082531 -3.625000 +v 0.312500 0.458734 -3.808013 +v 0.541265 0.062500 -3.625000 +v -0.541266 0.687500 -3.808013 +v 0.541266 1.312500 -3.808012 +v 0.937500 1.541265 -3.625000 +v 0.312500 1.541266 -3.808012 +v 0.541266 1.937500 -3.625000 +v -0.937500 1.541266 -3.625000 +v -0.312500 0.458734 -3.808013 +v -0.541266 0.062500 -3.625000 +v -0.541266 1.312500 -3.808013 +v 0.541266 0.687500 -3.808012 +v 0.937500 0.458734 -3.625000 +v 0.125000 1.750400 -4.125000 +v -0.125000 0.062900 -5.187500 +v 0.125000 0.062900 -5.187500 +v 0.250000 -0.999600 -2.125000 +v -0.250000 -0.999600 -2.125000 +v 0.250000 -1.499600 -1.500000 +v -0.250000 -1.499600 -1.500000 +v 0.250000 -2.499600 -1.750000 +v -0.250000 -2.499600 -1.750000 +v 0.250000 -3.124600 -2.375000 +v -0.250000 -3.124600 -2.375000 +v 0.250000 -3.124600 -3.375000 +v -0.250000 -3.124600 -3.375000 +v 0.250000 -2.874600 -3.875000 +v -0.250000 -2.874600 -3.875000 +v 0.250000 -2.124600 -4.250000 +v -0.250000 -2.124600 -4.250000 +v 0.250000 -1.499600 -3.875000 +v -0.250000 -1.499600 -3.875000 +v 0.250000 -1.124600 -3.375000 +v -0.250000 -1.124600 -3.375000 +v 0.250000 -0.999600 -0.625000 +v -0.250000 -0.999600 -0.625000 +v 0.250000 -1.499600 -1.375000 +v -0.250000 -1.499600 -1.375000 +v 0.250000 -3.249600 -2.375000 +v -0.250000 -3.249600 -2.375000 +v 0.250000 -2.499600 -1.625000 +v -0.250000 -2.499600 -1.625000 +v 0.250000 -3.249600 -3.375000 +v -0.250000 -3.249600 -3.375000 +v 0.250000 -2.124600 -4.375000 +v -0.250000 -2.124600 -4.375000 +v 0.250000 -2.999600 -3.875000 +v -0.250000 -2.999600 -3.875000 +v 0.250000 -1.749600 -4.875000 +v -0.250000 -1.749600 -4.875000 +v 0.250000 -0.999600 -2.250000 +v -0.250000 -0.999600 -2.250000 +v 0.250000 -1.124600 -2.250000 +v -0.250000 -1.124600 -2.250000 +v 0.250000 -1.499600 -2.875000 +v -0.250000 -1.499600 -2.875000 +v 0.250000 -1.874600 -3.125000 +v -0.250000 -1.874600 -3.125000 +v 0.250000 -2.624600 -3.125000 +v -0.250000 -2.624600 -3.125000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v 0.250000 -1.124600 -3.250000 +v -0.250000 -1.124600 -3.250000 +v 0.250000 -1.249600 -3.250000 +v -0.250000 -1.249600 -3.250000 +v 0.250000 -1.499600 -3.000000 +v -0.250000 -1.499600 -3.000000 +v 0.250000 -1.874600 -3.250000 +v -0.250000 -1.874600 -3.250000 +v 0.250000 -2.624600 -3.250000 +v -0.250000 -2.624600 -3.250000 +v 0.250000 -2.999600 -3.000000 +v -0.250000 -2.999600 -3.000000 +v 0.250000 -2.999600 -2.875000 +v -0.250000 -2.999600 -2.875000 +v 0.375000 -0.249600 -0.750000 +v -0.375000 -0.249600 -0.750000 +v -0.375000 0.000400 -0.750000 +v 0.375000 0.000400 -0.750000 +v -0.375000 -0.749600 0.000000 +v 0.375000 -0.749600 0.000000 +v -0.375000 -0.649119 0.375000 +v 0.375000 -0.649119 0.375000 +v -0.375000 -0.374600 0.649519 +v 0.375000 -0.374600 0.649519 +v -0.375000 0.000400 0.750000 +v 0.375000 0.000400 0.750000 +v -0.375000 0.375400 0.649519 +v 0.375000 0.375400 0.649519 +v -0.375000 0.649919 0.375000 +v 0.375000 0.649919 0.375000 +v -0.375000 0.750400 0.000000 +v 0.375000 0.750400 0.000000 +v -0.375000 0.649919 -0.375000 +v 0.375000 0.649919 -0.375000 +v -0.375000 0.375401 -0.649519 +v 0.375000 0.375400 -0.649519 +v 0.000000 -5.874600 -7.250000 +v -0.176777 -5.874600 -7.176777 +v -0.250000 -5.874600 -7.000000 +v -0.176777 -5.874600 -6.823223 +v 0.000000 -5.874600 -6.750000 +v 0.176777 -5.874600 -6.823223 +v 0.250000 -5.874600 -7.000000 +v 0.176777 -5.874600 -7.176777 +vt 0.934680 0.880438 +vt 0.931495 0.899911 +vt 0.923804 0.891845 +vt 0.582523 0.542432 +vt 0.546218 0.595502 +vt 0.509914 0.436291 +vt 0.735294 0.393617 +vt 0.714286 0.414894 +vt 0.714286 0.393617 +vt 0.735294 0.436170 +vt 0.714286 0.436170 +vt 0.714286 0.372340 +vt 0.735294 0.414894 +vt 0.714286 0.393617 +vt 0.714286 0.414894 +vt 0.735294 0.372340 +vt 0.714286 0.372340 +vt 0.634454 0.457447 +vt 0.705882 0.414894 +vt 0.705882 0.436170 +vt 0.714286 0.255319 +vt 0.621849 0.191489 +vt 0.714286 0.191489 +vt 0.668067 0.000000 +vt 0.596639 0.063830 +vt 0.596639 -0.000000 +vt 0.592222 0.490252 +vt 0.601192 0.467541 +vt 0.613445 0.500594 +vt 0.592201 0.552331 +vt 0.588915 0.521276 +vt 0.613445 0.500574 +vt 0.588235 -0.000000 +vt 0.760504 0.063830 +vt 0.743697 0.000000 +vt 0.760504 0.000000 +vt 0.743697 0.063830 +vt 0.668067 0.063830 +vt 0.596639 0.191489 +vt 0.621849 0.191489 +vt 0.596639 0.148936 +vt 0.752101 0.234043 +vt 0.735294 0.276596 +vt 0.920106 0.839533 +vt 0.907815 0.860279 +vt 0.895524 0.839533 +vt 0.909863 0.860279 +vt 0.911912 0.901772 +vt 0.913960 0.901772 +vt 0.924203 0.932891 +vt 0.924203 0.927704 +vt 0.940590 0.932891 +vt 0.940590 0.927704 +vt 0.948784 0.922518 +vt 0.948784 0.917331 +vt 0.956978 0.886212 +vt 0.948784 0.860280 +vt 0.965172 0.870653 +vt 0.956978 0.855093 +vt 0.940591 0.844720 +vt 0.908984 0.898791 +vt 0.918921 0.926465 +vt 0.895073 0.911370 +vt 0.948730 0.923950 +vt 0.959164 0.903823 +vt 0.965623 0.923950 +vt 0.956183 0.934013 +vt 0.939291 0.934013 +vt 0.920404 0.919780 +vt 0.940291 0.936564 +vt 0.939463 0.942858 +vt 0.921233 0.913486 +vt 0.930348 0.907192 +vt 0.927862 0.905094 +vt 0.927862 0.884114 +vt 0.925376 0.882016 +vt 0.932834 0.846350 +vt 0.937806 0.829566 +vt 0.940292 0.831664 +vt 0.935589 0.833136 +vt 0.938209 0.853039 +vt 0.932968 0.833136 +vt 0.940829 0.853039 +vt 0.938209 0.892846 +vt 0.935589 0.912750 +vt 0.932968 0.912750 +vt 0.940829 0.926019 +vt 0.919867 0.932653 +vt 0.940829 0.932653 +vt 0.919867 0.939288 +vt 0.743697 0.468085 +vt 0.747899 0.489362 +vt 0.743697 0.489362 +vt 0.781513 0.457447 +vt 0.747899 0.468085 +vt 0.747899 0.457447 +vt 0.747899 0.500000 +vt 0.781513 0.489362 +vt 0.781513 0.500000 +vt 0.815126 0.457447 +vt 0.798319 0.468085 +vt 0.798319 0.457447 +vt 0.815126 0.500000 +vt 0.798319 0.489362 +vt 0.815126 0.489362 +vt 0.819328 0.489362 +vt 0.815126 0.468085 +vt 0.819328 0.468085 +vt 0.798319 0.500000 +vt 0.714286 0.191489 +vt 0.735294 0.276596 +vt 0.752101 0.234043 +vt 0.668067 0.127660 +vt 0.940838 0.879572 +vt 0.919857 0.892852 +vt 0.919857 0.879572 +vt 0.923804 0.880437 +vt 0.926989 0.872371 +vt 0.931495 0.872371 +vt 0.934680 0.891845 +vt 0.926989 0.899911 +vt 0.525258 0.581282 +vt 0.509914 0.542432 +vt 0.504297 0.489362 +vt 0.525258 0.397441 +vt 0.546218 0.383221 +vt 0.567179 0.397441 +vt 0.582523 0.436291 +vt 0.588140 0.489362 +vt 0.567179 0.581282 +vt 0.735294 0.414894 +vt 0.735294 0.372340 +vt 0.735294 0.393617 +vt 0.705882 0.457447 +vt 0.634454 0.393617 +vt 0.705882 0.393617 +vt 0.621849 0.255319 +vt 0.613445 0.459228 +vt 0.637952 0.500594 +vt 0.637952 0.521277 +vt 0.634669 0.552301 +vt 0.625699 0.575012 +vt 0.613445 0.583325 +vt 0.601192 0.575012 +vt 0.592222 0.552301 +vt 0.588939 0.521277 +vt 0.588915 0.500573 +vt 0.613445 0.459168 +vt 0.625711 0.467489 +vt 0.634689 0.490222 +vt 0.637976 0.521277 +vt 0.634689 0.552331 +vt 0.625710 0.575064 +vt 0.613445 0.583385 +vt 0.601180 0.575064 +vt 0.588235 0.063830 +vt 0.668067 0.127660 +vt 0.764706 0.127660 +vt 0.743697 0.095745 +vt 0.760504 0.063830 +vt 0.596639 0.127660 +vt 0.764706 0.127660 +vt 0.777311 0.212766 +vt 0.954930 0.886212 +vt 0.910972 0.900049 +vt 0.957177 0.902565 +vt 0.930348 0.844252 +vt 0.940829 0.892846 +vt 0.781513 0.468085 +vt 0.777311 0.212766 +vt 0.743697 0.095745 +vt 0.596639 0.191489 +vt 0.596639 0.148936 +vt 0.596639 0.127660 +vt 0.940838 0.892852 +vt 0.798319 0.393617 +vt 0.781513 0.414894 +vt 0.781513 0.393617 +vt 0.546219 0.702128 +vt 0.567179 0.702128 +vt 0.564371 0.728663 +vt 0.556699 0.748088 +vt 0.546219 0.755198 +vt 0.535738 0.748088 +vt 0.528066 0.728663 +vt 0.525258 0.702128 +vt 0.528066 0.675592 +vt 0.535738 0.656167 +vt 0.546219 0.649057 +vt 0.556699 0.656167 +vt 0.564371 0.675592 +vt 0.525258 0.794048 +vt 0.514778 0.748088 +vt 0.528066 0.781733 +vt 0.509914 0.702128 +vt 0.509914 0.755198 +vt 0.504297 0.702128 +vt 0.514778 0.656167 +vt 0.528066 0.622522 +vt 0.509914 0.649057 +vt 0.525258 0.610207 +vt 0.546219 0.595987 +vt 0.567179 0.610207 +vt 0.546219 0.610207 +vt 0.582523 0.649057 +vt 0.564371 0.622522 +vt 0.588140 0.702128 +vt 0.577659 0.656167 +vt 0.582523 0.755198 +vt 0.582523 0.702128 +vt 0.567179 0.794048 +vt 0.577659 0.748088 +vt 0.546219 0.808268 +vt 0.564371 0.781733 +vt 0.546219 0.794048 +vt 0.815126 0.436170 +vt 0.798319 0.457447 +vt 0.798319 0.436170 +vt 0.815126 0.414894 +vt 0.823529 0.393617 +vt 0.823529 0.457447 +vt 0.743697 0.436170 +vt 0.743697 0.414894 +vt 0.747899 0.436170 +vt 0.781513 0.457447 +vt 0.743697 0.457447 +vt 0.747899 0.414894 +vt 0.743697 0.393617 +vt 0.985219 0.872592 +vt 0.998667 0.899832 +vt 0.985219 0.899832 +vt 0.969536 0.872592 +vt 0.969536 0.899832 +vt 0.951493 0.872592 +vt 0.951493 0.899832 +vt 0.974790 0.500000 +vt 1.000000 0.340426 +vt 1.000000 0.500000 +vt 0.974790 0.585106 +vt 1.000000 0.585106 +vt 0.974790 0.340426 +vt 1.000000 0.127660 +vt 0.974790 0.127660 +vt 1.000000 0.063830 +vt 0.974790 0.063830 +vt 0.873950 0.000000 +vt 0.974790 0.000000 +vt 0.848740 0.063830 +vt 0.823529 0.170213 +vt 0.823529 0.063830 +vt 0.848740 0.372340 +vt 0.823529 0.372340 +vt 0.852941 0.436170 +vt 0.873950 0.500000 +vt 0.865546 0.521277 +vt 0.873950 0.170213 +vt 0.882353 0.085106 +vt 0.873950 0.063830 +vt 0.882353 0.170213 +vt 0.857143 0.372340 +vt 0.941176 0.340426 +vt 0.966387 0.085106 +vt 0.974790 0.063830 +vt 0.974790 0.127660 +vt 0.966387 0.127660 +vt 0.949580 0.340426 +vt 0.852941 0.436170 +vt 0.873950 0.500000 +vt 0.861345 0.436170 +vt 0.899160 0.521277 +vt 0.890756 0.500000 +vt 0.848740 0.372340 +vt 0.865546 0.521277 +vt 0.890756 0.500000 +vt 0.861345 0.436170 +vt 0.873950 0.170213 +vt 0.882353 0.085106 +vt 0.882353 0.170213 +vt 0.873950 0.063830 +vt 0.966387 0.085106 +vt 0.857143 0.372340 +vt 0.949580 0.340426 +vt 0.966387 0.127660 +vt 0.899160 0.521277 +vt 0.941176 0.340426 +vt 0.938253 0.871237 +vt 0.942758 0.901045 +vt 0.938253 0.901045 +vt 0.929242 0.871237 +vt 0.933747 0.901045 +vt 0.929242 0.901045 +vt 0.915726 0.871237 +vt 0.920231 0.901045 +vt 0.915726 0.901045 +vt 0.942758 0.871237 +vt 0.947263 0.901045 +vt 0.933747 0.871237 +vt 0.924737 0.871237 +vt 0.924737 0.901045 +vt 0.920231 0.871237 +vt 0.911221 0.871237 +vt 0.911221 0.901045 +vt 0.924858 0.844613 +vt 0.932902 0.852863 +vt 0.925788 0.852747 +vt 0.932088 0.860294 +vt 0.926546 0.860224 +vt 0.931393 0.867370 +vt 0.927334 0.867251 +vt 0.931232 0.905426 +vt 0.936772 0.905464 +vt 0.932013 0.912379 +vt 0.932773 0.919801 +vt 0.941314 0.916674 +vt 0.933711 0.927895 +vt 0.941340 0.855839 +vt 0.933698 0.844647 +vt 0.939032 0.861938 +vt 0.934877 0.872565 +vt 0.936721 0.891739 +vt 0.934716 0.900487 +vt 0.939499 0.893403 +vt 0.938901 0.910890 +vt 0.942419 0.895402 +vt 0.945733 0.875189 +vt 0.942533 0.877527 +vt 0.936866 0.867331 +vt 0.939599 0.879435 +vt 0.939470 0.879434 +vt 0.942423 0.877529 +vt 0.945644 0.897355 +vt 0.945687 0.897480 +vt 0.939552 0.893329 +vt 0.936796 0.891537 +vt 0.936854 0.881422 +vt 0.936659 0.881419 +vt 0.936793 0.867170 +vt 0.941296 0.855827 +vt 0.945613 0.875201 +vt 0.938835 0.910782 +vt 0.942461 0.895422 +vt 0.936735 0.905259 +vt 0.931373 0.867015 +vt 0.934781 0.872296 +vt 0.932081 0.860036 +vt 0.938974 0.861853 +vt 0.932908 0.852672 +vt 0.933563 0.927590 +vt 0.941215 0.916660 +vt 0.932644 0.919514 +vt 0.931891 0.912038 +vt 0.934710 0.900165 +vt 0.927378 0.866867 +vt 0.925840 0.852489 +vt 0.933720 0.844504 +vt 0.925584 0.919504 +vt 0.926374 0.912111 +vt 0.927031 0.905078 +vt 0.931107 0.904919 +vt 0.921813 0.866837 +vt 0.926593 0.859917 +vt 0.917274 0.855510 +vt 0.924917 0.844387 +vt 0.917183 0.916706 +vt 0.924813 0.927669 +vt 0.919467 0.910598 +vt 0.923576 0.900002 +vt 0.921828 0.880695 +vt 0.923880 0.871874 +vt 0.919033 0.878935 +vt 0.919683 0.861354 +vt 0.916099 0.876875 +vt 0.912751 0.897456 +vt 0.915948 0.895082 +vt 0.921610 0.905207 +vt 0.918879 0.893157 +vt 0.919006 0.892966 +vt 0.916053 0.894886 +vt 0.912853 0.874859 +vt 0.912751 0.875116 +vt 0.918920 0.879213 +vt 0.921625 0.891181 +vt 0.921781 0.890971 +vt 0.921742 0.905171 +vt 0.917244 0.916662 +vt 0.912840 0.897242 +vt 0.919597 0.861631 +vt 0.915993 0.877138 +vt 0.921726 0.867150 +vt 0.921700 0.881012 +vt 0.923754 0.899952 +vt 0.926506 0.912277 +vt 0.919562 0.910560 +vt 0.925686 0.919686 +vt 0.917188 0.855762 +vt 0.923787 0.872246 +vt 0.927216 0.905237 +vt 0.924888 0.927895 +vt 0.924921 0.817369 +vt 0.935774 0.842139 +vt 0.924921 0.842139 +vt 0.935774 0.883358 +vt 0.924921 0.883358 +vt 0.935774 0.908127 +vt 0.924921 0.908127 +vt 0.935775 0.948185 +vt 0.924921 0.948185 +vt 0.935775 0.955055 +vt 0.924921 0.955055 +vt 0.982186 0.872592 +vt 0.995635 0.899832 +vt 0.982186 0.899832 +vt 0.960502 0.872592 +vt 0.948474 0.872592 +vt 0.960502 0.899832 +vt 0.948474 0.899832 +vt 0.926957 0.872592 +vt 0.926956 0.899832 +vt 0.904134 0.872592 +vt 0.881955 0.899832 +vt 0.881955 0.872592 +vt 0.862560 0.899832 +vt 0.862560 0.872592 +vt 0.916934 0.861053 +vt 0.931341 0.843442 +vt 0.931838 0.838411 +vt 0.947240 0.853506 +vt 0.947737 0.848474 +vt 0.954692 0.863569 +vt 0.954196 0.868601 +vt 0.651260 0.255319 +vt 0.663866 0.319149 +vt 0.651260 0.319149 +vt 0.638655 0.255319 +vt 0.638655 0.319149 +vt 0.626050 0.319149 +vt 0.613445 0.255319 +vt 0.613445 0.319149 +vt 0.600840 0.255319 +vt 0.600840 0.319149 +vt 0.588235 0.255319 +vt 0.588235 0.319149 +vt 0.939465 0.872592 +vt 0.939465 0.899832 +vt 0.917947 0.872592 +vt 0.917947 0.899832 +vt 0.898929 0.872592 +vt 0.898929 0.899832 +vt 0.876750 0.872592 +vt 0.876750 0.899832 +vt 0.859528 0.872592 +vt 0.859528 0.899832 +vt 0.924921 0.944741 +vt 0.935775 0.937872 +vt 0.935775 0.944741 +vt 0.924921 0.937872 +vt 0.935775 0.918441 +vt 0.924921 0.918441 +vt 0.935775 0.893671 +vt 0.924921 0.893671 +vt 0.935775 0.852452 +vt 0.924921 0.852452 +vt 0.935774 0.827682 +vt 0.663866 0.255319 +vt 0.676471 0.319149 +vt 0.676471 0.255319 +vt 0.689076 0.319149 +vt 0.689076 0.255319 +vt 0.701681 0.319149 +vt 0.621849 0.255319 +vt 0.613445 0.191489 +vt 0.621849 0.191489 +vt 0.798319 0.414894 +vt 0.735294 0.436170 +vt 0.735294 0.414894 +vt 0.781513 0.436170 +vt 0.998667 0.872592 +vt 0.848740 0.170213 +vt 0.947263 0.871237 +vt 0.935774 0.817369 +vt 0.995635 0.872592 +vt 0.904134 0.899832 +vt 0.918921 0.862311 +vt 0.626050 0.255319 +vt 0.924921 0.827682 +vt 0.701681 0.255319 +vt 0.613445 0.255319 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -0.8000 0.6000 +vn 0.0000 -0.9864 0.1644 +vn 0.0000 0.8506 -0.5257 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn -0.2624 0.0000 -0.9649 +vn -0.2272 0.1312 -0.9649 +vn -0.1312 0.2272 -0.9649 +vn 0.0000 0.2624 -0.9649 +vn 0.1312 0.2272 -0.9649 +vn 0.2272 0.1312 -0.9649 +vn 0.2624 0.0000 -0.9649 +vn 0.2272 -0.1312 -0.9649 +vn 0.1312 -0.2272 -0.9649 +vn 0.0000 -0.2624 -0.9649 +vn -0.1312 -0.2272 -0.9649 +vn -0.2272 -0.1312 -0.9649 +vn 0.4154 0.7195 -0.5565 +vn 0.5690 0.3285 -0.7538 +vn 0.3285 0.5690 -0.7538 +vn 0.6571 0.0000 -0.7538 +vn 0.7195 0.4154 -0.5565 +vn 0.8308 0.0000 -0.5565 +vn 0.5690 -0.3285 -0.7538 +vn 0.3285 -0.5690 -0.7538 +vn 0.7195 -0.4154 -0.5565 +vn 0.4154 -0.7195 -0.5565 +vn 0.0000 -0.8308 -0.5565 +vn -0.4154 -0.7195 -0.5565 +vn 0.0000 -0.6571 -0.7538 +vn -0.7195 -0.4154 -0.5565 +vn -0.3285 -0.5690 -0.7538 +vn -0.8308 0.0000 -0.5565 +vn -0.5690 -0.3285 -0.7538 +vn -0.7195 0.4154 -0.5565 +vn -0.6571 0.0000 -0.7538 +vn -0.4154 0.7195 -0.5565 +vn -0.5690 0.3285 -0.7538 +vn 0.0000 0.8308 -0.5565 +vn -0.3285 0.5690 -0.7538 +vn 0.0000 0.6571 -0.7538 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 -0.6697 0.7426 +vn 0.0000 -0.0384 0.9992 +vn 0.0000 0.7071 0.7071 +vn 0.3998 0.8007 -0.4460 +vn -0.3523 0.3839 -0.8535 +vn -0.3998 0.8007 -0.4460 +vn 0.7731 0.6107 0.1713 +vn -0.7731 0.6107 0.1713 +vn 0.3523 0.3839 -0.8535 +vn -0.3686 0.1318 -0.9202 +vn 0.3686 0.1318 -0.9202 +vn -0.3913 -0.6507 -0.6507 +vn 0.3913 -0.6507 -0.6507 +vn -0.3913 -0.6507 0.6507 +vn 0.3913 -0.6507 0.6507 +vn -0.3919 -0.1212 0.9120 +vn 0.5418 -0.3062 0.7827 +vn -0.5418 -0.3062 0.7827 +vn 0.9324 0.1009 0.3470 +vn 0.9109 0.3617 0.1984 +vn -0.9054 -0.3002 0.3002 +vn -0.9341 -0.0434 0.3543 +vn -0.9051 -0.0217 0.4246 +vn -0.8991 0.1963 -0.3913 +vn -0.9054 -0.3002 -0.3002 +vn -0.9098 0.0646 -0.4100 +vn -0.9324 0.1009 0.3470 +vn -0.9109 0.3617 0.1984 +vn -0.9043 0.1413 0.4028 +vn -0.9142 0.3796 -0.1418 +vn 0.9142 0.3796 -0.1418 +vn 0.9043 0.1413 0.4028 +vn 0.3919 -0.1212 0.9120 +vn 0.9054 -0.3002 0.3002 +vn 0.9341 -0.0434 0.3543 +vn 0.9054 -0.3002 -0.3002 +vn 0.9051 -0.0217 0.4246 +vn 0.9098 0.0646 -0.4100 +vn 0.8991 0.1963 -0.3913 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.8303 -0.4827 -0.2786 +vn 0.8303 -0.5573 0.0000 +vn 0.9016 0.3745 0.2162 +vn 0.9016 0.4324 0.0000 +vn 0.0000 0.8660 0.5000 +vn -0.9016 0.3745 0.2162 +vn -0.9016 0.4324 0.0000 +vn -0.8303 -0.5573 0.0000 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.8303 -0.2786 -0.4827 +vn 0.0000 0.5000 0.8660 +vn -0.9016 0.2162 0.3745 +vn -0.8303 -0.4827 -0.2786 +vn -0.8303 -0.2786 -0.4827 +vn 0.8303 0.0000 -0.5573 +vn 0.9016 0.2162 0.3745 +vn 0.9016 0.0000 0.4324 +vn -0.9016 0.0000 0.4324 +vn -0.8303 0.0000 -0.5573 +vn 0.0000 0.5000 -0.8660 +vn 0.9016 -0.2162 0.3745 +vn 0.0000 -0.5000 0.8660 +vn -0.9016 -0.2162 0.3745 +vn 0.8303 0.4827 -0.2786 +vn 0.8303 0.2786 -0.4827 +vn 0.9016 -0.3745 0.2162 +vn 0.0000 -0.8660 0.5000 +vn -0.9016 -0.3745 0.2162 +vn -0.8303 0.2786 -0.4827 +vn -0.8303 0.4827 -0.2786 +vn 0.0000 0.8660 -0.5000 +vn 0.8303 0.5573 0.0000 +vn 0.9016 -0.4324 0.0000 +vn -0.8303 0.5573 0.0000 +vn 0.8303 0.4827 0.2786 +vn 0.9016 -0.3745 -0.2162 +vn -0.9016 -0.3745 -0.2162 +vn -0.9016 -0.4324 0.0000 +vn 0.8303 0.2786 0.4827 +vn -0.9016 -0.2162 -0.3745 +vn -0.8303 0.4827 0.2786 +vn -0.8303 0.2786 0.4827 +vn 0.8303 0.0000 0.5573 +vn 0.9016 -0.2162 -0.3745 +vn 0.9016 0.0000 -0.4324 +vn -0.9016 0.0000 -0.4324 +vn -0.8303 0.0000 0.5573 +vn 0.9016 0.2162 -0.3745 +vn -0.9016 0.2162 -0.3745 +vn 0.8303 -0.4827 0.2786 +vn 0.8303 -0.2786 0.4827 +vn 0.9016 0.3745 -0.2162 +vn -0.9016 0.3745 -0.2162 +vn -0.8303 -0.2786 0.4827 +vn -0.8303 -0.4827 0.2786 +vn 0.0000 0.5547 0.8320 +vn 0.0000 0.2898 0.9571 +vn 0.0000 -0.2898 0.9571 +vn 0.0000 -0.7237 0.6901 +vn 0.0000 -0.4927 0.8702 +vn 0.0000 -0.6618 -0.7497 +vn 0.0000 -0.8000 -0.6000 +vn 0.0000 -0.7264 -0.6872 +vn 0.0000 -0.9732 -0.2297 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.5760 0.8174 +vn 0.0000 -0.8320 0.5547 +vn 0.0000 -0.9659 0.2588 +vn 0.0000 0.9732 0.2297 +vn 0.0000 0.9239 -0.3827 +vn -0.5773 -0.5773 -0.5773 +vn 0.6302 0.2971 -0.7173 +vn 0.5773 -0.5773 -0.5773 +vn 0.0000 0.4927 -0.8702 +vn 0.0000 -0.3198 -0.9475 +vn 0.0000 -0.7808 -0.6247 +vn 0.5623 0.6708 0.4835 +vn -0.6589 0.6399 -0.3955 +vn -0.5623 0.6708 0.4835 +vn -0.6302 0.2971 -0.7173 +vn 0.6589 0.6399 -0.3955 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.0985 -0.9951 +vn 0.0000 0.2898 -0.9571 +vn 0.0000 -0.2898 -0.9571 +vn 0.0000 -0.8816 -0.4718 +vn 0.0000 0.1305 -0.9914 +s off +f 948/642/79 946/643/79 944/644/79 +f 553/645/80 543/646/80 547/647/80 +f 582/648/81 576/649/81 574/650/81 +f 576/649/82 585/651/82 577/652/82 +f 572/653/82 582/648/82 574/650/82 +f 585/654/83 575/655/83 577/656/83 +f 575/655/82 581/657/82 573/658/82 +f 579/659/80 574/660/80 575/661/80 +f 579/662/82 586/663/82 578/664/82 +f 597/665/79 594/666/79 595/667/79 +f 607/668/81 605/669/81 601/670/81 +f 618/671/83 598/672/83 600/673/83 +f 594/666/80 602/674/80 595/667/80 +f 620/675/84 625/676/84 621/677/84 +f 597/665/85 624/678/85 596/679/85 +f 600/680/83 587/681/83 602/682/83 +f 578/664/81 590/683/81 592/684/81 +f 761/685/83 747/686/83 745/687/83 +f 763/688/83 751/689/83 747/686/83 +f 765/690/83 749/691/83 751/689/83 +f 767/692/83 753/693/83 749/691/83 +f 769/694/83 757/695/83 753/693/83 +f 771/696/83 755/697/83 757/695/83 +f 755/697/83 775/698/83 759/699/83 +f 779/700/83 775/698/83 777/701/83 +f 746/702/81 760/703/81 744/704/81 +f 774/705/81 754/706/81 758/707/81 +f 774/705/81 778/708/81 776/709/81 +f 785/710/83 783/711/83 781/712/83 +f 787/713/83 791/714/83 783/711/83 +f 789/715/83 795/716/83 791/714/83 +f 793/717/83 799/718/83 795/716/83 +f 799/718/83 801/719/83 803/720/83 +f 800/721/81 798/722/81 802/723/81 +f 796/724/81 794/725/81 798/722/81 +f 794/725/81 788/726/81 790/727/81 +f 786/728/81 790/727/81 788/726/81 +f 782/729/81 784/730/81 780/731/81 +f 809/732/79 812/733/79 808/734/79 +f 807/735/83 813/736/83 809/737/83 +f 808/738/81 810/739/81 805/740/81 +f 819/741/83 814/742/83 806/743/83 +f 816/744/81 815/745/81 818/746/81 +f 816/747/80 817/748/80 819/749/80 +f 805/740/81 815/745/81 804/750/81 +f 814/742/83 807/735/83 806/743/83 +f 579/751/83 593/752/83 591/753/83 +f 578/664/81 586/663/81 596/754/81 +f 916/755/79 919/756/79 917/757/79 +f 944/644/79 943/758/79 942/759/79 +f 942/759/79 949/760/79 948/642/79 +f 948/642/79 947/761/79 946/643/79 +f 946/643/79 945/762/79 944/644/79 +f 944/644/79 942/759/79 948/642/79 +f 543/646/80 544/763/80 545/764/80 +f 545/764/80 546/765/80 543/646/80 +f 546/765/80 547/647/80 543/646/80 +f 547/647/80 548/766/80 549/767/80 +f 549/767/80 550/768/80 551/769/80 +f 551/769/80 552/770/80 553/645/80 +f 553/645/80 554/771/80 543/646/80 +f 547/647/80 549/767/80 551/769/80 +f 551/769/80 553/645/80 547/647/80 +f 582/648/81 584/772/81 576/649/81 +f 576/649/82 584/772/82 585/651/82 +f 572/653/82 580/773/82 582/648/82 +f 585/654/83 583/774/83 575/655/83 +f 575/655/82 583/774/82 581/657/82 +f 575/661/80 573/775/80 579/659/80 +f 579/659/80 578/776/80 574/660/80 +f 578/776/80 572/777/80 574/660/80 +f 574/660/80 576/649/80 577/652/80 +f 574/660/80 577/652/80 575/661/80 +f 579/662/82 587/778/82 586/663/82 +f 597/665/79 596/679/79 594/666/79 +f 605/669/81 603/779/81 601/670/81 +f 601/670/81 586/780/81 599/781/81 +f 599/781/81 619/782/81 601/670/81 +f 619/782/81 617/783/81 601/670/81 +f 617/783/81 615/784/81 601/670/81 +f 615/784/81 613/785/81 601/670/81 +f 613/785/81 611/786/81 601/670/81 +f 611/786/81 609/787/81 601/670/81 +f 609/787/81 607/668/81 601/670/81 +f 598/672/83 587/788/83 600/673/83 +f 600/673/83 602/789/83 604/790/83 +f 604/790/83 606/791/83 600/673/83 +f 606/791/83 608/792/83 600/673/83 +f 608/792/83 610/793/83 600/673/83 +f 610/793/83 612/794/83 600/673/83 +f 612/794/83 614/795/83 600/673/83 +f 614/795/83 616/796/83 600/673/83 +f 616/796/83 618/671/83 600/673/83 +f 594/666/80 603/797/80 602/674/80 +f 620/675/84 624/678/84 625/676/84 +f 597/665/85 625/676/85 624/678/85 +f 587/681/83 579/751/83 597/798/83 +f 579/751/83 623/799/83 625/800/83 +f 597/798/83 579/751/83 625/800/83 +f 623/799/83 621/801/83 625/800/83 +f 597/798/83 595/802/83 587/681/83 +f 595/802/83 602/682/83 587/681/83 +f 580/773/81 572/653/81 592/684/81 +f 572/653/81 578/664/81 592/684/81 +f 578/664/81 622/803/81 590/683/81 +f 622/803/81 588/804/81 590/683/81 +f 761/685/83 763/688/83 747/686/83 +f 763/688/83 765/690/83 751/689/83 +f 765/690/83 767/692/83 749/691/83 +f 767/692/83 769/694/83 753/693/83 +f 769/694/83 771/696/83 757/695/83 +f 771/696/83 773/805/83 755/697/83 +f 755/697/83 773/805/83 775/698/83 +f 779/700/83 759/699/83 775/698/83 +f 746/702/81 762/806/81 760/703/81 +f 774/705/81 772/807/81 754/706/81 +f 774/705/81 758/707/81 778/708/81 +f 785/710/83 787/713/83 783/711/83 +f 787/713/83 789/715/83 791/714/83 +f 789/715/83 793/717/83 795/716/83 +f 793/717/83 797/808/83 799/718/83 +f 799/718/83 797/808/83 801/719/83 +f 800/721/81 796/724/81 798/722/81 +f 796/724/81 792/809/81 794/725/81 +f 794/725/81 792/809/81 788/726/81 +f 786/728/81 782/729/81 790/727/81 +f 782/729/81 786/728/81 784/730/81 +f 809/732/79 813/736/79 812/733/79 +f 807/735/83 811/810/83 813/736/83 +f 808/738/81 812/733/81 810/739/81 +f 819/741/83 817/748/83 814/742/83 +f 816/744/81 804/750/81 815/745/81 +f 816/747/80 818/746/80 817/748/80 +f 805/740/81 810/739/81 815/745/81 +f 814/742/83 811/810/83 807/735/83 +f 589/811/83 623/799/83 591/753/83 +f 623/799/83 579/751/83 591/753/83 +f 579/751/83 573/658/83 593/752/83 +f 573/658/83 581/657/83 593/752/83 +f 620/675/81 622/803/81 624/812/81 +f 622/803/81 578/664/81 624/812/81 +f 586/663/81 601/813/81 603/814/81 +f 603/814/81 594/815/81 586/663/81 +f 594/815/81 596/754/81 586/663/81 +f 596/754/81 624/812/81 578/664/81 +f 916/755/79 918/816/79 919/756/79 +s 1 +f 563/817/86 556/818/87 561/819/87 +f 838/820/88 837/821/89 854/822/90 +f 832/823/91 838/820/88 854/822/90 +f 842/824/92 838/820/88 832/823/91 +f 849/825/93 838/820/88 842/824/92 +f 847/826/94 838/820/88 849/825/93 +f 839/827/95 855/828/96 838/820/88 +f 844/829/97 838/820/88 855/828/96 +f 841/830/98 838/820/88 844/829/97 +f 852/831/99 838/820/88 841/830/98 +f 846/832/100 838/820/88 852/831/99 +f 837/821/89 838/820/88 846/832/100 +f 839/827/95 838/820/88 847/826/94 +f 831/833/101 848/834/102 850/835/103 +f 840/836/104 830/837/105 829/838/106 +f 829/838/106 856/839/107 840/836/104 +f 845/840/108 828/841/109 827/842/110 +f 826/843/111 845/840/108 827/842/110 +f 825/844/112 835/845/113 826/843/111 +f 824/846/114 853/847/115 825/844/112 +f 823/848/116 834/849/117 824/846/114 +f 822/850/118 836/851/119 823/848/116 +f 821/852/120 851/853/121 822/850/118 +f 820/854/122 833/855/123 821/852/120 +f 850/835/103 820/854/122 831/833/101 +f 847/826/94 850/835/103 848/834/102 +f 840/836/104 847/826/94 848/834/102 +f 840/836/104 855/828/96 839/827/95 +f 845/840/108 855/828/96 856/839/107 +f 845/840/108 841/830/98 844/829/97 +f 835/845/113 852/831/99 841/830/98 +f 846/832/100 853/847/115 834/849/117 +f 834/849/117 837/821/89 846/832/100 +f 836/851/119 854/822/90 837/821/89 +f 851/853/121 832/823/91 854/822/90 +f 843/856/124 832/823/91 833/855/123 +f 843/856/124 849/825/93 842/824/92 +f 858/857/125 562/858/86 559/859/86 +f 859/860/125 563/817/86 565/861/125 +f 564/862/125 859/860/125 565/861/125 +f 568/863/88 569/864/88 555/865/88 +f 555/865/88 560/866/87 570/867/88 +f 560/866/87 559/859/86 562/858/86 +f 561/819/87 857/868/88 571/869/88 +f 874/870/126 877/871/84 875/872/126 +f 872/873/127 875/872/126 873/874/127 +f 870/875/128 873/874/127 871/876/128 +f 626/877/129 629/878/130 627/879/131 +f 588/880/132 627/879/131 589/881/133 +f 628/882/134 631/883/135 629/878/130 +f 630/884/136 633/885/137 631/883/135 +f 632/886/138 635/887/139 633/888/137 +f 634/889/140 637/890/141 635/891/139 +f 637/890/141 620/892/142 621/893/143 +f 622/894/144 649/895/145 588/896/132 +f 637/897/141 645/898/146 635/899/139 +f 646/900/147 639/901/148 642/902/149 +f 635/899/139 644/903/150 633/904/137 +f 631/905/135 644/903/150 643/906/151 +f 629/907/130 643/906/151 642/902/149 +f 623/908/152 640/909/153 638/910/154 +f 627/911/131 642/902/149 641/912/155 +f 623/908/152 639/901/148 621/913/143 +f 627/911/131 640/909/153 589/914/133 +f 637/897/141 639/901/148 646/900/147 +f 650/915/156 649/895/145 648/916/157 +f 636/917/158 654/918/159 655/919/160 +f 632/886/138 654/918/159 634/920/140 +f 630/884/136 653/921/161 632/886/138 +f 636/917/158 647/922/162 620/892/142 +f 628/923/134 652/924/163 630/884/136 +f 626/925/129 651/926/164 628/923/134 +f 622/894/144 647/922/162 648/916/157 +f 588/896/132 650/915/156 626/925/129 +f 667/927/165 660/928/80 659/929/165 +f 665/930/166 658/931/83 657/932/166 +f 670/933/81 663/934/167 662/935/81 +f 668/936/80 661/937/168 660/928/80 +f 666/938/83 659/929/165 658/931/83 +f 664/939/88 657/932/166 656/940/88 +f 671/941/167 656/940/88 663/934/167 +f 669/942/168 662/935/81 661/943/168 +f 672/944/79 679/945/169 673/946/170 +f 673/946/170 680/947/171 674/948/172 +f 674/948/172 681/949/173 675/950/82 +f 675/951/82 682/952/174 676/953/175 +f 682/952/174 677/954/176 676/953/175 +f 677/954/176 678/955/177 672/956/79 +f 684/957/178 679/945/169 678/958/177 +f 685/959/179 680/947/171 679/945/169 +f 680/947/171 687/960/180 681/949/173 +f 687/961/180 682/952/174 681/962/173 +f 688/963/181 683/964/182 682/952/174 +f 689/965/183 678/955/177 683/964/182 +f 690/966/88 685/959/179 684/957/178 +f 691/967/184 686/968/185 685/959/179 +f 692/969/186 687/960/180 686/968/185 +f 687/961/180 694/970/187 688/963/181 +f 688/963/181 695/971/188 689/965/183 +f 695/971/188 684/972/178 689/965/183 +f 696/973/189 691/967/184 690/966/88 +f 691/967/184 698/974/190 692/969/186 +f 692/969/186 699/975/191 693/976/80 +f 693/977/80 700/978/192 694/970/187 +f 700/978/192 695/971/188 694/970/187 +f 695/971/188 696/979/189 690/980/88 +f 696/973/189 703/981/193 697/982/194 +f 703/981/193 698/974/190 697/982/194 +f 704/983/195 699/975/191 698/974/190 +f 705/984/196 700/978/192 699/985/191 +f 706/986/197 701/987/198 700/978/192 +f 707/988/199 696/979/189 701/987/198 +f 708/989/82 703/981/193 702/990/200 +f 709/991/201 704/983/195 703/981/193 +f 710/992/202 705/993/196 704/983/195 +f 711/994/79 706/986/197 705/984/196 +f 706/986/197 713/995/203 707/988/199 +f 713/995/203 702/996/200 707/988/199 +f 708/989/82 715/997/204 709/991/201 +f 709/991/201 716/998/205 710/992/202 +f 710/992/202 717/999/177 711/1000/79 +f 711/994/79 718/1001/206 712/1002/207 +f 718/1001/206 713/995/203 712/1002/207 +f 713/995/203 714/1003/173 708/1004/82 +f 720/1005/180 715/997/204 714/1006/173 +f 721/1007/208 716/998/205 715/997/204 +f 716/998/205 723/1008/178 717/999/177 +f 723/1009/178 718/1001/206 717/1010/177 +f 724/1011/209 719/1012/210 718/1001/206 +f 725/1013/211 714/1003/173 719/1012/210 +f 726/1014/80 721/1007/208 720/1005/180 +f 727/1015/212 722/1016/213 721/1007/208 +f 728/1017/214 723/1008/178 722/1016/213 +f 723/1009/178 730/1018/215 724/1011/209 +f 724/1011/209 731/1019/216 725/1013/211 +f 731/1019/216 720/1020/180 725/1013/211 +f 732/1021/191 727/1015/212 726/1014/80 +f 727/1015/212 734/1022/217 728/1017/214 +f 734/1022/217 729/1023/88 728/1017/214 +f 729/1024/88 736/1025/218 730/1018/215 +f 736/1025/218 731/1019/216 730/1018/215 +f 731/1019/216 732/1026/191 726/1027/80 +f 732/1021/191 739/1028/219 733/1029/220 +f 739/1028/219 734/1022/217 733/1029/220 +f 740/1030/221 735/1031/189 734/1022/217 +f 735/1032/189 742/1033/222 736/1025/218 +f 742/1033/222 737/1034/223 736/1025/218 +f 743/1035/224 732/1026/191 737/1034/223 +f 672/944/79 739/1028/219 738/1036/196 +f 673/946/170 740/1030/221 739/1028/219 +f 674/948/172 741/1037/200 740/1030/221 +f 675/951/82 742/1033/222 741/1038/200 +f 742/1033/222 677/954/176 743/1035/224 +f 677/954/176 738/1039/196 743/1035/224 +f 905/1040/225 902/1041/226 903/1042/226 +f 903/1042/226 900/1043/227 901/1044/227 +f 901/1044/227 898/1045/228 899/1046/228 +f 899/1046/228 896/1047/229 897/1048/229 +f 897/1048/229 894/1049/80 895/1050/80 +f 889/1051/230 892/1052/231 888/1053/230 +f 888/1053/230 891/1054/232 889/1051/230 +f 887/1055/233 890/1056/232 886/1057/233 +f 883/1058/234 886/1057/233 882/1059/234 +f 885/1060/229 880/1061/235 881/1062/235 +f 882/1059/234 885/1060/229 883/1058/234 +f 881/1062/235 878/1063/236 879/1064/236 +f 750/1065/81 762/806/81 746/702/81 +f 766/1066/81 750/1065/81 748/1067/81 +f 768/1068/81 748/1067/81 752/1069/81 +f 756/1070/81 768/1068/81 752/1069/81 +f 754/706/81 770/1071/81 756/1070/81 +f 935/1072/173 936/1073/82 934/1074/173 +f 933/1075/180 934/1074/173 932/1076/180 +f 930/1077/80 933/1075/180 932/1076/180 +f 929/1078/191 930/1077/80 928/1079/191 +f 927/1080/196 928/1079/191 926/1081/196 +f 925/1082/237 926/1081/196 924/1083/237 +f 868/1084/238 871/876/128 869/1085/238 +f 866/1086/239 869/1085/238 867/1087/239 +f 813/736/240 810/739/241 812/733/242 +f 864/1088/243 867/1087/239 865/1089/243 +f 862/1090/244 865/1089/243 863/1091/244 +f 860/1092/245 863/1091/244 861/1093/245 +f 818/746/246 814/742/247 817/748/248 +f 811/810/249 815/745/250 810/739/241 +f 906/1094/88 909/1095/251 907/1096/88 +f 908/1097/251 911/1098/252 909/1095/251 +f 910/1099/252 913/1100/253 911/1098/252 +f 912/1101/253 915/1102/254 913/1100/253 +f 914/1103/254 917/1104/255 915/1102/254 +f 937/1105/82 938/1106/200 936/1073/82 +f 939/1107/200 940/1108/189 938/1106/200 +f 941/1109/189 922/1110/256 940/1108/189 +f 921/1111/88 923/1112/256 920/1113/88 +f 563/817/86 557/1114/86 556/818/87 +f 831/833/101 830/837/105 848/834/102 +f 840/836/104 848/834/102 830/837/105 +f 829/838/106 828/841/109 856/839/107 +f 845/840/108 856/839/107 828/841/109 +f 826/843/111 835/845/113 845/840/108 +f 825/844/112 853/847/115 835/845/113 +f 824/846/114 834/849/117 853/847/115 +f 823/848/116 836/851/119 834/849/117 +f 822/850/118 851/853/121 836/851/119 +f 821/852/120 833/855/123 851/853/121 +f 820/854/122 843/856/124 833/855/123 +f 850/835/103 843/856/124 820/854/122 +f 847/826/94 849/825/93 850/835/103 +f 840/836/104 839/827/95 847/826/94 +f 840/836/104 856/839/107 855/828/96 +f 845/840/108 844/829/97 855/828/96 +f 845/840/108 835/845/113 841/830/98 +f 835/845/113 853/847/115 852/831/99 +f 846/832/100 852/831/99 853/847/115 +f 834/849/117 836/851/119 837/821/89 +f 836/851/119 851/853/121 854/822/90 +f 851/853/121 833/855/123 832/823/91 +f 843/856/124 842/824/92 832/823/91 +f 843/856/124 850/835/103 849/825/93 +f 858/857/125 564/862/125 562/858/86 +f 859/860/125 557/1114/86 563/817/86 +f 564/862/125 858/857/125 859/860/125 +f 568/863/88 566/1115/88 567/1116/88 +f 569/864/88 571/869/88 857/868/88 +f 568/863/88 567/1116/88 569/864/88 +f 555/865/88 570/867/88 568/863/88 +f 569/864/88 857/868/88 555/865/88 +f 555/865/88 558/1117/87 560/866/87 +f 560/866/87 558/1117/87 559/859/86 +f 561/819/87 556/818/87 857/868/88 +f 874/870/126 876/1118/84 877/871/84 +f 872/873/127 874/870/126 875/872/126 +f 870/875/128 872/873/127 873/874/127 +f 626/877/129 628/882/134 629/878/130 +f 588/880/132 626/877/129 627/879/131 +f 628/882/134 630/884/136 631/883/135 +f 630/884/136 632/886/138 633/885/137 +f 632/886/138 634/920/140 635/887/139 +f 634/889/140 636/1119/158 637/890/141 +f 637/890/141 636/1119/158 620/892/142 +f 622/894/144 648/916/157 649/895/145 +f 637/897/141 646/900/147 645/898/146 +f 639/901/148 638/910/154 642/902/149 +f 638/910/154 640/909/153 641/912/155 +f 641/912/155 642/902/149 638/910/154 +f 642/902/149 643/906/151 646/900/147 +f 643/906/151 644/903/150 645/898/146 +f 646/900/147 643/906/151 645/898/146 +f 635/899/139 645/898/146 644/903/150 +f 631/905/135 633/904/137 644/903/150 +f 629/907/130 631/905/135 643/906/151 +f 623/908/152 589/914/133 640/909/153 +f 627/911/131 629/907/130 642/902/149 +f 623/908/152 638/910/154 639/901/148 +f 627/911/131 641/912/155 640/909/153 +f 637/897/141 621/913/143 639/901/148 +f 648/916/157 647/922/162 651/926/164 +f 647/922/162 655/919/160 651/926/164 +f 655/919/160 654/918/159 652/924/163 +f 654/918/159 653/921/161 652/924/163 +f 652/924/163 651/926/164 655/919/160 +f 651/926/164 650/915/156 648/916/157 +f 636/917/158 634/920/140 654/918/159 +f 632/886/138 653/921/161 654/918/159 +f 630/884/136 652/924/163 653/921/161 +f 636/917/158 655/919/160 647/922/162 +f 628/923/134 651/926/164 652/924/163 +f 626/925/129 650/915/156 651/926/164 +f 622/894/144 620/892/142 647/922/162 +f 588/896/132 649/895/145 650/915/156 +f 667/927/165 668/936/80 660/928/80 +f 665/930/166 666/938/83 658/931/83 +f 670/933/81 671/941/167 663/934/167 +f 668/936/80 669/1120/168 661/937/168 +f 666/938/83 667/927/165 659/929/165 +f 664/939/88 665/930/166 657/932/166 +f 671/941/167 664/939/88 656/940/88 +f 669/942/168 670/933/81 662/935/81 +f 672/944/79 678/958/177 679/945/169 +f 673/946/170 679/945/169 680/947/171 +f 674/948/172 680/947/171 681/949/173 +f 675/951/82 681/962/173 682/952/174 +f 682/952/174 683/964/182 677/954/176 +f 677/954/176 683/964/182 678/955/177 +f 684/957/178 685/959/179 679/945/169 +f 685/959/179 686/968/185 680/947/171 +f 680/947/171 686/968/185 687/960/180 +f 687/961/180 688/963/181 682/952/174 +f 688/963/181 689/965/183 683/964/182 +f 689/965/183 684/972/178 678/955/177 +f 690/966/88 691/967/184 685/959/179 +f 691/967/184 692/969/186 686/968/185 +f 692/969/186 693/976/80 687/960/180 +f 687/961/180 693/977/80 694/970/187 +f 688/963/181 694/970/187 695/971/188 +f 695/971/188 690/980/88 684/972/178 +f 696/973/189 697/982/194 691/967/184 +f 691/967/184 697/982/194 698/974/190 +f 692/969/186 698/974/190 699/975/191 +f 693/977/80 699/985/191 700/978/192 +f 700/978/192 701/987/198 695/971/188 +f 695/971/188 701/987/198 696/979/189 +f 696/973/189 702/990/200 703/981/193 +f 703/981/193 704/983/195 698/974/190 +f 704/983/195 705/993/196 699/975/191 +f 705/984/196 706/986/197 700/978/192 +f 706/986/197 707/988/199 701/987/198 +f 707/988/199 702/996/200 696/979/189 +f 708/989/82 709/991/201 703/981/193 +f 709/991/201 710/992/202 704/983/195 +f 710/992/202 711/1000/79 705/993/196 +f 711/994/79 712/1002/207 706/986/197 +f 706/986/197 712/1002/207 713/995/203 +f 713/995/203 708/1004/82 702/996/200 +f 708/989/82 714/1006/173 715/997/204 +f 709/991/201 715/997/204 716/998/205 +f 710/992/202 716/998/205 717/999/177 +f 711/994/79 717/1010/177 718/1001/206 +f 718/1001/206 719/1012/210 713/995/203 +f 713/995/203 719/1012/210 714/1003/173 +f 720/1005/180 721/1007/208 715/997/204 +f 721/1007/208 722/1016/213 716/998/205 +f 716/998/205 722/1016/213 723/1008/178 +f 723/1009/178 724/1011/209 718/1001/206 +f 724/1011/209 725/1013/211 719/1012/210 +f 725/1013/211 720/1020/180 714/1003/173 +f 726/1014/80 727/1015/212 721/1007/208 +f 727/1015/212 728/1017/214 722/1016/213 +f 728/1017/214 729/1023/88 723/1008/178 +f 723/1009/178 729/1024/88 730/1018/215 +f 724/1011/209 730/1018/215 731/1019/216 +f 731/1019/216 726/1027/80 720/1020/180 +f 732/1021/191 733/1029/220 727/1015/212 +f 727/1015/212 733/1029/220 734/1022/217 +f 734/1022/217 735/1031/189 729/1023/88 +f 729/1024/88 735/1032/189 736/1025/218 +f 736/1025/218 737/1034/223 731/1019/216 +f 731/1019/216 737/1034/223 732/1026/191 +f 732/1021/191 738/1036/196 739/1028/219 +f 739/1028/219 740/1030/221 734/1022/217 +f 740/1030/221 741/1037/200 735/1031/189 +f 735/1032/189 741/1038/200 742/1033/222 +f 742/1033/222 743/1035/224 737/1034/223 +f 743/1035/224 738/1039/196 732/1026/191 +f 672/944/79 673/946/170 739/1028/219 +f 673/946/170 674/948/172 740/1030/221 +f 674/948/172 675/950/82 741/1037/200 +f 675/951/82 676/953/175 742/1033/222 +f 742/1033/222 676/953/175 677/954/176 +f 677/954/176 672/956/79 738/1039/196 +f 905/1040/225 904/1121/225 902/1041/226 +f 903/1042/226 902/1041/226 900/1043/227 +f 901/1044/227 900/1043/227 898/1045/228 +f 899/1046/228 898/1045/228 896/1047/229 +f 897/1048/229 896/1047/229 894/1049/80 +f 889/1051/230 893/1122/231 892/1052/231 +f 888/1053/230 890/1056/232 891/1054/232 +f 887/1055/233 891/1054/232 890/1056/232 +f 883/1058/234 887/1055/233 886/1057/233 +f 885/1060/229 884/1123/229 880/1061/235 +f 882/1059/234 884/1123/229 885/1060/229 +f 881/1062/235 880/1061/235 878/1063/236 +f 750/1065/81 764/1124/81 762/806/81 +f 766/1066/81 764/1124/81 750/1065/81 +f 768/1068/81 766/1066/81 748/1067/81 +f 756/1070/81 770/1071/81 768/1068/81 +f 754/706/81 772/807/81 770/1071/81 +f 935/1072/173 937/1105/82 936/1073/82 +f 933/1075/180 935/1072/173 934/1074/173 +f 930/1077/80 931/1125/80 933/1075/180 +f 929/1078/191 931/1125/80 930/1077/80 +f 927/1080/196 929/1078/191 928/1079/191 +f 925/1082/237 927/1080/196 926/1081/196 +f 868/1084/238 870/875/128 871/876/128 +f 866/1086/239 868/1084/238 869/1085/238 +f 813/736/240 811/810/249 810/739/241 +f 864/1088/243 866/1086/239 867/1087/239 +f 862/1090/244 864/1088/243 865/1089/243 +f 860/1092/245 862/1090/244 863/1091/244 +f 818/746/246 815/745/250 814/742/247 +f 811/810/249 814/742/247 815/745/250 +f 906/1094/88 908/1097/251 909/1095/251 +f 908/1097/251 910/1099/252 911/1098/252 +f 910/1099/252 912/1101/253 913/1100/253 +f 912/1101/253 914/1103/254 915/1102/254 +f 914/1103/254 916/1126/255 917/1104/255 +f 937/1105/82 939/1107/200 938/1106/200 +f 939/1107/200 941/1109/189 940/1108/189 +f 941/1109/189 923/1127/256 922/1110/256 +f 921/1111/88 922/1128/256 923/1112/256 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 26f12b89f..cb6d4f4b3 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -42,6 +42,8 @@ "block.crateClose": {"category": "block", "sounds": [{"name": "block/crateClose", "stream": false}]}, "block.storageOpen": {"category": "block", "sounds": [{"name": "block/storageOpen", "stream": false}]}, "block.storageClose": {"category": "block", "sounds": [{"name": "block/storageClose", "stream": false}]}, + "block.openC": {"category": "block", "sounds": ["block/openC1", "block/openC2", "block/openCSqueaky"]}, + "block.closeC": {"category": "block", "sounds": ["block/closeC1", "block/closeC2", "block/closeC3"]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, @@ -157,6 +159,7 @@ "weapon.extinguisher": {"category": "player", "sounds": [{"name": "weapon/extinguisher", "stream": false}]}, "weapon.robin_explosion": {"category": "player", "sounds": [{"name": "weapon/robin_explosion", "stream": false}]}, "weapon.shotgunPump": {"category": "player", "sounds": [{"name": "weapon/shotgunShootPump", "stream": false}]}, + "weapon.explosionMedium": {"category": "player", "sounds": [{"name": "weapon/explosion_medium", "stream": false}]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/closeC1.ogg b/src/main/resources/assets/hbm/sounds/block/closeC1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5a35086897e1680b0e1879f0f0e9d23f35c2a4df GIT binary patch literal 12174 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 Iv_+Kv1N`Mv-v9sr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/closeC3.ogg b/src/main/resources/assets/hbm/sounds/block/closeC3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..60a79c215a0f7a6a58819985b712953236034ec2 GIT binary patch literal 11026 zcmeHscUV-t_U@)gQG}sLM~bu=kvdcX0ciswy;tdjRB0lDNRcAFGjxHGjuh#Lh2DD= zP!NVL9Vx=y;P;*Hocqu3xzD+O-REX9*(=G)O7bRq<;{$$jg2ON4g3`*jGUD�ksU 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/openC1.ogg b/src/main/resources/assets/hbm/sounds/block/openC1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..755263e3dca8b9b8c6c2876ca237c11037301265 GIT binary patch literal 12513 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/openC2.ogg b/src/main/resources/assets/hbm/sounds/block/openC2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e85591c591bf43f1088a83a7e40927921e248c40 GIT binary patch literal 13060 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ɨhy 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg b/src/main/resources/assets/hbm/sounds/block/openCSqueaky.ogg new file mode 100644 index 0000000000000000000000000000000000000000..72b16728bfb04f1c99943e499c292cbd82637598 GIT binary patch literal 11596 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/block_tar.png b/src/main/resources/assets/hbm/textures/blocks/block_tar.png new file mode 100644 index 0000000000000000000000000000000000000000..b39ce723250761c59607bfd2e2b890737c2fcf77 GIT binary patch literal 516 zcmV+f0{i`mP)b*n6X@pQ$2zeSLk-9McQN7^o_$O05-tVvOAP zjfl`%J0$8qR2AT?u=nP99@biz86v_MgT40|a$OfP#$b#=DTO&F*LAVhqP50a>+CHe z=lgjc%#5`bqN!Xy8a*?3msdLO?{QwKC^CwfB8f zYegN;aXn093`7JoqqRoPnGgaoM*jZ(D5ZP|Tmz5h@9!@;XL8PXN`0z`@P5Am2qAnd zcdXv~K^|kAsP4Uw;%>7i@_8O4#)z5WZ_oXG-?Y}wS}{gMQlgYX2;mfa_Wfdyxkr8PjhXTN{mnlVqh?KV3`3@Bv=5vRjBH#AE$n7H`n zgIVH(Pa0o*|(7!I^m3%OV>FHZH5&S?vYdLTPDhTR1nL^!EvV!duBtoYV6h zj$`w7@*bvTkUrj^(X5adxQSt2kSlF*Qq59poFcnbbYGN-!FTaU3X-b$ajG^m3C^)C679j?R@c-0U-EzDv5IRXOX{j+2WDF9rVLW*m{bL{635h` zn}F|()LtLOvzK&)dT|APogCz!fh9B4JxzB<0nVY%KZ$JIXdE<=7 zzia}~-7$t?wh^YsKXUwPnDp^F*GAsww36l0Y$3WNN|nF=Uv-B2(3Aj{W#I9s?4+My zSti0vV&1VG8{0N1mJcy40{}^MGtzsVy||LSXm{4pA>3YKjm0i=&N@JK3` zW(!RT(7LFz{Ne$stP}7?DV0j(N;?F6QJ!r4fZrQoW_%t1Ar={MWRJ#R_Y{GkkEPXz z_`MMT+>*jS%?jPIF#z_nD+~`Ncr)=aM@L6w3MnK>lyFNj4I{&y*$){S`<%>{iR{)m z%&(z%yzFOJ@OvX%9ZvG)7hh4S7bu0@(g#Z8m07*qoM6N<$f|-1yssI20 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png b/src/main/resources/assets/hbm/textures/items/ammo_arty_mini_nuke_multi.png new file mode 100644 index 0000000000000000000000000000000000000000..5f84d965f784c8966a5ca119dd44ff8ba4972df3 GIT binary patch literal 345 zcmV-f0jB0Pq7J8OmNr>!q{oyh)nRC0Eymz5QJPtSPa^l0B|PF96yz#|IHItW54!pWK`r zZb3SC?dr-<4nn*xfZM?ui!~(xw~Hh0-@lNdY)l7#Tb~KQ&$nXz^eQ?H#!R5v&Zt43 rNojw1es~d+0npyg+v;O--Dvy)BEfe2Y8b^g00000NkvXXu0mjf6_k!c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png b/src/main/resources/assets/hbm/textures/items/ammo_arty_phosphorus_multi.png new file mode 100644 index 0000000000000000000000000000000000000000..01c9c9f67850c97fbfe9284fdedc4e4c4e8e9ed2 GIT binary patch literal 356 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 Ux}nn=9RL6T07*qoM6N<$f+iz9^#A|> literal 0 HcmV?d00001