diff --git a/gradle.properties b/gradle.properties index 697f43ef4..c7f807b69 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4592 +mod_build_number=4606 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index ea82b5b0f..bafc8521d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -11,6 +11,8 @@ import com.hbm.blocks.machine.*; import com.hbm.blocks.machine.pile.*; import com.hbm.blocks.machine.rbmk.*; import com.hbm.blocks.network.*; +import com.hbm.blocks.rail.RailNarrowCurve; +import com.hbm.blocks.rail.RailNarrowStraight; import com.hbm.blocks.rail.RailStandardCurve; import com.hbm.blocks.rail.RailStandardStraight; import com.hbm.blocks.siege.*; @@ -328,6 +330,7 @@ public class ModBlocks { public static Block reinforced_stone; public static Block concrete_smooth; public static Block concrete_colored; + public static Block concrete_colored_ext; public static Block concrete; public static Block concrete_asbestos; public static Block concrete_super; @@ -664,6 +667,8 @@ public class ModBlocks { public static Block foundry_channel; public static Block foundry_tank; public static Block foundry_outlet; + public static Block foundry_slagtap; + public static Block slag; public static Block machine_difurnace_off; public static Block machine_difurnace_on; @@ -1090,6 +1095,8 @@ public class ModBlocks { public static Block rail_highspeed; public static Block rail_booster; + public static Block rail_narrow_straight; + public static Block rail_narrow_curve; public static Block rail_large_straight; public static Block rail_large_curve; @@ -1507,6 +1514,7 @@ public class ModBlocks { reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); concrete_colored = new BlockConcreteColored(Material.rock).setBlockName("concrete_colored").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); + concrete_colored_ext = new BlockConcreteColoredExt(Material.rock).setBlockName("concrete_colored_ext").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext"); concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); concrete_asbestos = new BlockGeneric(Material.rock).setBlockName("concrete_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_asbestos"); concrete_super = new BlockUberConcrete().setBlockName("concrete_super").setCreativeTab(MainRegistry.blockTab).setHardness(150.0F).setResistance(10000.0F); @@ -1780,6 +1788,8 @@ public class ModBlocks { foundry_channel = new FoundryChannel().setBlockName("foundry_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); foundry_tank = new FoundryTank().setBlockName("foundry_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); foundry_outlet = new FoundryOutlet().setBlockName("foundry_outlet").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + foundry_slagtap = new FoundrySlagtap().setBlockName("foundry_slagtap").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); + slag = new BlockDynamicSlag().setBlockName("slag").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":slag"); machine_difurnace_off = new MachineDiFurnace(false).setBlockName("machine_difurnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_difurnace_on = new MachineDiFurnace(true).setBlockName("machine_difurnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -2113,6 +2123,8 @@ public class ModBlocks { rail_narrow = new RailGeneric().setBlockName("rail_narrow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow"); rail_highspeed = new RailGeneric().setMaxSpeed(1F).setFlexible(false).setBlockName("rail_highspeed").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_highspeed"); rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster"); + rail_narrow_straight = new RailNarrowStraight().setBlockName("rail_narrow_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); + rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2639,6 +2651,7 @@ public class ModBlocks { GameRegistry.registerBlock(reinforced_ducrete, ItemBlockBlastInfo.class, reinforced_ducrete.getUnlocalizedName()); GameRegistry.registerBlock(concrete_smooth, ItemBlockBlastInfo.class, concrete_smooth.getUnlocalizedName()); GameRegistry.registerBlock(concrete_colored, ItemBlockColoredConcrete.class, concrete_colored.getUnlocalizedName()); + register(concrete_colored_ext); GameRegistry.registerBlock(concrete, ItemBlockBlastInfo.class, concrete.getUnlocalizedName()); GameRegistry.registerBlock(concrete_asbestos, ItemBlockBlastInfo.class, concrete_asbestos.getUnlocalizedName()); GameRegistry.registerBlock(concrete_super, ItemBlockBlastInfo.class, concrete_super.getUnlocalizedName()); @@ -2993,6 +3006,8 @@ public class ModBlocks { register(foundry_channel); register(foundry_tank); register(foundry_outlet); + register(foundry_slagtap); + register(slag); register(machine_difurnace_off); register(machine_difurnace_on); register(machine_difurnace_extension); @@ -3337,6 +3352,8 @@ public class ModBlocks { GameRegistry.registerBlock(rail_narrow, ItemBlockBase.class, rail_narrow.getUnlocalizedName()); GameRegistry.registerBlock(rail_highspeed, ItemBlockBase.class, rail_highspeed.getUnlocalizedName()); GameRegistry.registerBlock(rail_booster, ItemBlockBase.class, rail_booster.getUnlocalizedName()); + register(rail_narrow_straight); + register(rail_narrow_curve); register(rail_large_straight); register(rail_large_curve); diff --git a/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java b/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java new file mode 100644 index 000000000..929d2281a --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java @@ -0,0 +1,35 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.util.IIcon; + +public class BlockConcreteColoredExt extends BlockEnumMulti { + + public BlockConcreteColoredExt(Material mat) { + super(mat, EnumConcreteType.class, true, true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + + if(meta == EnumConcreteType.MACHINE_STRIPE.ordinal() && (side == 0 || side == 1)) { + return super.getIcon(side, EnumConcreteType.MACHINE.ordinal()); + } + + return super.getIcon(side, meta); + } + + public enum EnumConcreteType { + MACHINE, + MACHINE_STRIPE, + INDIGO, + PURPLE, + PINK, + HAZARD + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java new file mode 100644 index 000000000..fc053c80c --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java @@ -0,0 +1,278 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.material.NTMMaterial; +import com.hbm.items.machine.ItemScraps; +import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap; +import com.hbm.render.icon.TextureAtlasSpriteMutatable; +import com.hbm.util.Compat; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.stats.StatList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockDynamicSlag extends BlockContainer { + + private HashMap iconMap = new HashMap(); + + public BlockDynamicSlag() { + super(Material.iron); + this.useNeighborBrightness = true; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntitySlag(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + + if(reg instanceof TextureMap) { + TextureMap map = (TextureMap) reg; + + for(NTMMaterial mat : Mats.orderedList) { + if(mat.solidColorLight != mat.solidColorDark) { + String placeholderName = this.getTextureName() + "-" + mat.names[0]; + TextureAtlasSpriteMutatable mutableIcon = new TextureAtlasSpriteMutatable(placeholderName, new RGBMutatorInterpolatedComponentRemap(0xFFFFFF, 0x505050, mat.solidColorLight, mat.solidColorDark)).setBlockAtlas(); + map.setTextureEntry(placeholderName, mutableIcon); + iconMap.put(mat, mutableIcon); + } + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null) { + IIcon override = iconMap.get(tile.mat); + if(override != null) { + return override; + } + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null) { + if(!iconMap.containsKey(tile.mat)) { + return tile.mat.moltenColor; + } + } + + return 0xffffff; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + if(tile != null) { + this.setBlockBounds(0F, 0F, 0F, 1F, (float) tile.amount / (float) TileEntitySlag.maxAmount, 1F); + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + if(tile != null) { + this.setBlockBounds(0F, 0F, 0F, 1F, (float) tile.amount / (float) TileEntitySlag.maxAmount, 1F); + } + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + TileEntity s = Compat.getTileStandard(world, x, y, z); + TileEntity b = Compat.getTileStandard(world, x, y - 1, z); + + /* Error here, delete the block */ + if(s == null || !(s instanceof TileEntitySlag)) { + world.setBlockToAir(x, y, z); + return; + } + + TileEntitySlag self = (TileEntitySlag) s; + + /* Flow down */ + if(world.getBlock(x, y - 1, z).isReplaceable(world, x, y - 1, z)) { + world.setBlock(x, y - 1, z, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, x, y - 1, z); + tile.mat = self.mat; + tile.amount = self.amount; + world.markBlockForUpdate(x, y - 1, z); + world.setBlockToAir(x, y, z); + return; + } else if(b instanceof TileEntitySlag) { + + TileEntitySlag below = (TileEntitySlag) b; + + if(below.mat == self.mat && below.amount < TileEntitySlag.maxAmount) { + int transfer = Math.min(TileEntitySlag.maxAmount - below.amount, self.amount); + below.amount += transfer; + self.amount -= transfer; + + if(self.amount <= 0){ + world.setBlockToAir(x, y, z); + } else { + world.markBlockForUpdate(x, y, z); + } + + world.markBlockForUpdate(x, y - 1, z); + world.scheduleBlockUpdate(x, y - 1, z, ModBlocks.slag, 1); + return; + } + } + + /* Flow sideways, no neighbors */ + ForgeDirection[] sides = new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.SOUTH, ForgeDirection.EAST, ForgeDirection.WEST }; + int count = 0; + for(ForgeDirection dir : sides) { + int iX = x + dir.offsetX; + int iZ = z + dir.offsetZ; + + if(world.getBlock(iX, y, iZ).isReplaceable(world, iX, y, iZ)) { + count++; + } + } + + if(self.amount >= self.maxAmount / 5 && count > 0) { + int toSpread = Math.max(self.amount / (count * 2), 1); + + for(ForgeDirection dir : sides) { + int iX = x + dir.offsetX; + int iZ = z + dir.offsetZ; + + if(world.getBlock(iX, y, iZ).isReplaceable(world, iX, y, iZ)) { + world.setBlock(iX, y, iZ, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, iX, y, iZ); + world.markBlockForUpdate(iX, y, iZ); + world.scheduleBlockUpdate(iX, y, iZ, ModBlocks.slag, 1); + tile.mat = self.mat; + tile.amount = toSpread; + self.amount -= toSpread; + world.markBlockForUpdate(x, y, z); + } + } + } + } + + @Override + public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { + + if(!player.capabilities.isCreativeMode) { + harvesters.set(player); + this.dropBlockAsItem(world, x, y, z, meta, 0); + harvesters.set(null); + } + } + + @Override + public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) { + player.addStat(StatList.mineBlockStatArray[getIdFromBlock(this)], 1); + player.addExhaustion(0.025F); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = new ArrayList(); + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null && tile.amount > 0) { + ret.add(ItemScraps.create(new MaterialStack(tile.mat, tile.amount))); + } + + return ret; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null) { + return ItemScraps.create(new MaterialStack(tile.mat, tile.amount)); + } + + return super.getPickBlock(target, world, x, y, z, player); + } + + public static class TileEntitySlag extends TileEntity { + + public NTMMaterial mat; + public int amount; + public static int maxAmount = MaterialShapes.BLOCK.q(16); + + @Override + public boolean canUpdate() { + return false; + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.mat = Mats.matById.get(nbt.getInteger("mat")); + this.amount = nbt.getInteger("amount"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(this.mat != null) nbt.setInteger("mat", this.mat.id); + nbt.setInteger("amount", this.amount); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java index bf00c6b60..e692c3bf9 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java @@ -131,7 +131,7 @@ public class FoundryChannel extends BlockContainer implements ICrucibleAcceptor if(b == ModBlocks.foundry_outlet && meta == dir.ordinal()) return true; - return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold; + return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold || b == ModBlocks.foundry_slagtap; } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java index de46f885b..d62f01cb0 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java @@ -167,12 +167,12 @@ public class FoundryOutlet extends BlockContainer implements ICrucibleAcceptor, @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - return ((TileEntityFoundryOutlet) world.getTileEntity(x, y, z)).canAcceptPartialFlow(world, x, y, z, side, stack); + return ((ICrucibleAcceptor) world.getTileEntity(x, y, z)).canAcceptPartialFlow(world, x, y, z, side, stack); } @Override public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - return ((TileEntityFoundryOutlet) world.getTileEntity(x, y, z)).flow(world, x, y, z, side, stack); + return ((ICrucibleAcceptor) world.getTileEntity(x, y, z)).flow(world, x, y, z, side, stack); } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java new file mode 100644 index 000000000..b001d1157 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java @@ -0,0 +1,35 @@ +package com.hbm.blocks.machine; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityFoundrySlagtap; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class FoundrySlagtap extends FoundryOutlet { + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_top"); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_bottom"); + this.iconInner = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_inner"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_front"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityFoundrySlagtap(); + } + + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return false; } + @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { return false; } + @Override public void printHook(Pre event, World world, int x, int y, int z) { } +} diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 430395012..4fd66886a 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -25,7 +25,8 @@ public interface IRailNTM { public TrackGauge getGauge(World world, int x, int y, int z); public static enum TrackGauge { - STANDARD //roughly 1.5m + STANDARD, //roughly 1.5m + NARROW //roughly 0.75m } /** A wrapper for all relevant info required when leaving a rail */ diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java new file mode 100644 index 000000000..1fc4c01ae --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java @@ -0,0 +1,144 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailNarrowCurve extends BlockDummyable implements IRailNTM { + + public RailNarrowCurve() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return null; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + double turnRadius = 4.5D; + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * turnRadius; + double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * turnRadius; + + Vec3 dist = Vec3.createVectorHelper(vec.xCoord - axisX, 0, vec.zCoord - axisZ); + dist = dist.normalize(); + dist.xCoord *= turnRadius; + dist.zCoord *= turnRadius; + + double moveAngle = Math.atan2(motionX, motionZ) * 180D / Math.PI + 90; + + if(speed == 0) { + info.dist(0).pos(new BlockPos(x, y, z)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + double angleDeg = Math.atan2(dist.xCoord, dist.zCoord) * 180D / Math.PI + 90; + if(dir == Library.NEG_X) angleDeg -= 90; + if(dir == Library.POS_X) angleDeg += 90; + if(dir == Library.POS_Z) angleDeg += 180; + angleDeg = MathHelper.wrapAngleTo180_double(angleDeg); + double length90Deg = turnRadius * Math.PI / 2D; + double angularChange = speed / length90Deg * 90D; + + ForgeDirection moveDir = ForgeDirection.UNKNOWN; + + if(Math.abs(motionX) > Math.abs(motionZ)) { + moveDir = motionX > 0 ? Library.POS_X : Library.NEG_X; + } else { + moveDir = motionZ > 0 ? Library.POS_Z : Library.NEG_Z; + } + + if(moveDir == dir || moveDir == rot.getOpposite()) { + angularChange *= -1; + } + + double effAngle = angleDeg + angularChange; + moveAngle += angularChange; + + if(effAngle > 90) { + double angleOvershoot = effAngle - 90D; + moveAngle -= angleOvershoot; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius); + } + + if(effAngle < 0) { + double angleOvershoot = -effAngle; + moveAngle -= angleOvershoot; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX - rot.offsetX * turnRadius, y, axisZ -rot.offsetZ * turnRadius); + } + + double radianChange = angularChange * Math.PI / 180D; + dist.rotateAroundY((float) radianChange); + + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.NARROW; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 4, 0, 4, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java new file mode 100644 index 000000000..4d51dfe07 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java @@ -0,0 +1,115 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailNarrowStraight extends BlockDummyable implements IRailNTM { + + public RailNarrowStraight() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 2, 0, 0}; + } + + @Override + public int getOffset() { + return 2; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + info.yaw(-90F); + } else { + targetX -= speed; + info.yaw(90F); + } + vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); + vec.yCoord = y; + vec.zCoord = cZ + 0.5; + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + info.yaw(0F); + } else { + targetZ -= speed; + info.yaw(180F); + } + vec.xCoord = cX + 0.5; + vec.yCoord = y; + vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 3 : -3))); + } + + return vec; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.NARROW; + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 46bc0bf4d..7028571ce 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -49,12 +49,13 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; ForgeDirection dir = ForgeDirection.getOrientation(meta); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - double turnRadius = 4.5D; + + double turnRadius = 4D; + double axisDist = 4.5D; Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); - double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * turnRadius; - double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * turnRadius; + double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * axisDist; + double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * axisDist; Vec3 dist = Vec3.createVectorHelper(vec.xCoord - axisX, 0, vec.zCoord - axisZ); dist = dist.normalize(); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 1c8889b0b..903e01e1b 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -31,7 +31,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { @Override public int[] getDimensions() { - return new int[] {0, 0, 2, 2, 0, 0}; + return new int[] {0, 0, 2, 2, 1, 0}; } @Override @@ -69,6 +69,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { int cZ = pos[2]; int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); @@ -87,7 +88,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { } vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); vec.yCoord = y; - vec.zCoord = cZ + 0.5; + vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); } else { @@ -99,7 +100,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { targetZ -= speed; info.yaw(180F); } - vec.xCoord = cX + 0.5; + vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; vec.yCoord = y; vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index fb39122a5..f85df1900 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -452,6 +452,7 @@ public class OreDictManager { ANY_HIGHEXPLOSIVE .ingot(ball_tnt).ingot(ball_tatb); ANY_CONCRETE .any(concrete, concrete_smooth, concrete_asbestos, ducrete, ducrete_smooth); for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored, 1, i)); } + for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored_ext, 1, i)); } ANY_COKE .gem(fromAll(coke, EnumCokeType.class)).block(fromAll(block_coke, EnumCokeType.class)); ANY_BISMOID .ingot(ingot_bismuth, ingot_arsenic).nugget(nugget_bismuth, nugget_arsenic).block(block_bismuth); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 57bad806d..be6b5d8bc 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -229,14 +229,11 @@ public class ChemplantRecipes extends SerializableRecipe { .outputFluids(new FluidStack(Fluids.XENON, 50))); recipes.add(new ChemRecipe(61, "SATURN", 60) .inputItems( - new ComparableStack(ModItems.powder_dura_steel), - new OreDictStack(P_RED.dust())) - .inputFluids( - new FluidStack(Fluids.ACID, 100), - (GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? - new FluidStack(Fluids.WATER, 200) : - new FluidStack(Fluids.MERCURY, 50)) - .outputItems(new ItemStack(ModItems.ingot_saturnite, 2))); + new OreDictStack(DURA.dust(), 2), + new OreDictStack(CU.dust(), 1), + new OreDictStack(COAL.dust(), 1)) + .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 100)) + .outputItems(new ItemStack(ModItems.ingot_saturnite, 4))); recipes.add(new ChemRecipe(62, "BALEFIRE", 100) .inputItems(new ComparableStack(ModItems.egg_balefire_shard)) .inputFluids(new FluidStack(Fluids.KEROSENE, 6000)) diff --git a/src/main/java/com/hbm/items/special/ItemAutogen.java b/src/main/java/com/hbm/items/special/ItemAutogen.java index 9ddf38798..1e1f1d075 100644 --- a/src/main/java/com/hbm/items/special/ItemAutogen.java +++ b/src/main/java/com/hbm/items/special/ItemAutogen.java @@ -99,7 +99,7 @@ public class ItemAutogen extends Item { NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); if(mat != null) { - return mat.solidColorLight; + return mat.moltenColor; } return 0xffffff; diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java index 4db1ce526..1d53bb44c 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java @@ -59,7 +59,7 @@ public class ItemGunGauss extends ItemGunBase { public void startActionClient(ItemStack stack, World world, EntityPlayer player, boolean main) { if(!main && getItemWear(stack) < mainConfig.durability && player.inventory.hasItem(ModItems.gun_xvl1456_ammo)) { - chargeLoop = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, 1.0F, 0.75F); + chargeLoop = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, 1.0F, 5F, 0.75F); world.playSoundAtEntity(player, "hbm:weapon.tauChargeLoop2", 1.0F, 0.75F); if(chargeLoop != null) { @@ -120,7 +120,7 @@ public class ItemGunGauss extends ItemGunBase { public AudioWrapper rebootAudio(AudioWrapper wrapper, EntityPlayer player) { wrapper.stopSound(); - AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, wrapper.getVolume(), wrapper.getPitch()); + AudioWrapper audio = MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop2", (float)player.posX, (float)player.posY, (float)player.posZ, wrapper.getVolume(), wrapper.getRange(), wrapper.getPitch()); audio.startSound(); return audio; } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 79c7e3689..7f4e466a7 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4592)"; + public static final String VERSION = "1.0.27 BETA (4606)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a549c1204..c47b1b9e1 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -782,6 +782,9 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderFoundryChannel()); RenderingRegistry.registerBlockHandler(new RenderFoundryTank()); RenderingRegistry.registerBlockHandler(new RenderFoundryOutlet()); + + RenderingRegistry.registerBlockHandler(new RenderNarrowStraightRail()); + RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); @@ -1875,13 +1878,23 @@ public class ClientProxy extends ServerProxy { } @Override - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { AudioWrapperClient audio = new AudioWrapperClient(new ResourceLocation(sound)); audio.updatePosition(x, y, z); + audio.updateVolume(volume); + audio.updateRange(range); return audio; } + @Override + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { + AudioWrapper audio = getLoopedSound(sound, x, y, z, volume, range, pitch); + audio.setKeepAlive(keepAlive); + return audio; + } + + /** Only used for doors */ @Override public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { AudioWrapperClientStartStop audio = new AudioWrapperClientStartStop(world, sound == null ? null : new ResourceLocation(sound), start, stop, volume * 5); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 77f0c09fa..02ce53a80 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.BlockEnums.DecoCabinetEnum; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockConcreteColoredExt.EnumConcreteType; import com.hbm.blocks.generic.BlockGenericStairs; import com.hbm.blocks.generic.BlockMultiSlab; import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; @@ -406,9 +407,16 @@ public class CraftingManager { for(int i = 0; i < 16; i++) { String dyeName = "dye" + dyes[15 - i]; addRecipeAuto(new ItemStack(ModBlocks.concrete_colored, 8, i), new Object[] { "CCC", "CDC", "CCC", 'C', ModBlocks.concrete_smooth, 'D', dyeName }); - addRecipeAuto(new ItemStack(ModBlocks.concrete_colored, 8, i), new Object[] { "CCC", "CDC", "CCC", 'C', ModBlocks.concrete_colored, 'D', dyeName }); } addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { ModBlocks.concrete_colored }); + addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { ModBlocks.concrete_colored_ext }); + + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_GRAY }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.MACHINE_STRIPE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BROWN, '2', KEY_BLACK }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.INDIGO.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_BLUE, '2', KEY_PURPLE }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.PURPLE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_PURPLE, '2', KEY_PURPLE }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.PINK.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_PINK, '2', KEY_RED }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.HAZARD.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_YELLOW, '2', KEY_BLACK }); addRecipeAuto(new ItemStack(ModBlocks.gneiss_tile, 4), new Object[] { "CC", "CC", 'C', ModBlocks.stone_gneiss }); addRecipeAuto(new ItemStack(ModBlocks.gneiss_brick, 4), new Object[] { "CC", "CC", 'C', ModBlocks.gneiss_tile }); @@ -961,6 +969,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.foundry_channel, 4), new Object[] { "B B", " S ", 'B', ModItems.ingot_firebrick, 'S', Blocks.stone_slab }); addRecipeAuto(new ItemStack(ModBlocks.foundry_tank), new Object[] { "B B", "I I", "BSB", 'B', ModItems.ingot_firebrick, 'I', STEEL.ingot(), 'S', Blocks.stone_slab }); addShapelessAuto(new ItemStack(ModBlocks.foundry_outlet), new Object[] { ModBlocks.foundry_channel, STEEL.plate() }); + addShapelessAuto(new ItemStack(ModBlocks.foundry_slagtap), new Object[] { ModBlocks.foundry_channel, Blocks.stonebrick }); addRecipeAuto(new ItemStack(ModItems.mold_base), new Object[] { " B ", "BIB", " B ", 'B', ModItems.ingot_firebrick, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.brick_fire), new Object[] { "BB", "BB", 'B', ModItems.ingot_firebrick }); addShapelessAuto(new ItemStack(ModItems.ingot_firebrick, 4), new Object[] { ModBlocks.brick_fire }); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 12bc57f09..c947a97be 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -129,7 +129,7 @@ public class ResourceManager { public static final IModelCustom assemfac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/assemfac.obj")); //Chemplant - public static final IModelCustom chemplant_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_body.obj")); + public static final IModelCustom chemplant_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_body.obj")); public static final IModelCustom chemplant_spinner = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_spinner.obj")); public static final IModelCustom chemplant_piston = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_piston.obj")); public static final IModelCustom chemplant_fluid = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_fluid.hmf")); @@ -1327,6 +1327,8 @@ public class ResourceManager { public static final IModelCustom pipe_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_neo.obj")); public static final IModelCustom difurnace_extension = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/difurnace_extension.obj")); public static final IModelCustom splitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/splitter.obj")); + public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); + public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); public static final IModelCustom charge_c4 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_c4.obj")); diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index d479b8790..d296c9ab3 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -41,7 +41,8 @@ public class ServerProxy { public void registerMissileItems() { } - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { return null; } + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { return null; } + public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { return null; } public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { return null; } public void playSound(String sound, Object data) { } diff --git a/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java b/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java index 743ba6306..1e5b52354 100644 --- a/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java +++ b/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java @@ -10,6 +10,7 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { @@ -82,7 +83,8 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { FoundryOutlet outlet = (FoundryOutlet) block; int meta = world.getBlockMetadata(x, y, z); - TileEntityFoundryOutlet tile = (TileEntityFoundryOutlet) world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(x, y, z); + TileEntityFoundryOutlet tileOutlet = tile instanceof TileEntityFoundryOutlet ? (TileEntityFoundryOutlet) tile : null; int brightness = block.getMixedBrightnessForBlock(world, x, y, z); tessellator.setBrightness(brightness); @@ -105,13 +107,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceXPos(block, x, y, z, outlet.iconFront); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.96875D, 0.0625, 0.375D, 0.96875D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.9375D, 0.0625, 0.375D, 0.9375D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconLock); renderer.renderFaceXNeg(block, x, y, z, outlet.iconLock); @@ -136,13 +138,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceXPos(block, x, y, z, outlet.iconFront); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.03125D, 0.0625, 0.375D, 0.03125D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.0625D, 0.0625, 0.375D, 0.0625D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconLock); renderer.renderFaceXNeg(block, x, y, z, outlet.iconLock); @@ -167,13 +169,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceZPos(block, x, y, z, outlet.iconFront); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.375D, 0.0625, 0.96875D, 0.625D, top, 0.96875D); renderer.renderFaceZPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.375D, 0.0625, 0.9375D, 0.625D, top, 0.9375D); renderer.renderFaceZPos(block, x, y, z, outlet.iconLock); renderer.renderFaceZNeg(block, x, y, z, outlet.iconLock); @@ -198,13 +200,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceZPos(block, x, y, z, outlet.iconFront); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.375D, 0.0625D, 0.03125, 0.625D, top, 0.03125D); renderer.renderFaceZPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.375D, 0.0625, 0.0625D, 0.625D, top, 0.0625D); renderer.renderFaceZPos(block, x, y, z, outlet.iconLock); renderer.renderFaceZNeg(block, x, y, z, outlet.iconLock); diff --git a/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java b/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java new file mode 100644 index 000000000..0cb029690 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java @@ -0,0 +1,69 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailNarrowCurve; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderNarrowCurveRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glScaled(0.2, 0.2, 0.2); + GL11.glTranslated(2.5, -0.0625, -1.5); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 12) + rotation = 90F / 180F * (float) Math.PI; + if(meta == 14) + rotation = 180F / 180F * (float) Math.PI; + if(meta == 13) + rotation = 270F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailNarrowCurve.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java b/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java new file mode 100644 index 000000000..3f2c40c78 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java @@ -0,0 +1,62 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailNarrowStraight; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderNarrowStraightRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.0625, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + int meta = world.getBlockMetadata(x, y, z); + + float rotation = 0; + + if(meta == 2 || meta == 3 || meta == 12 || meta == 13) + rotation = 90F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailNarrowStraight.renderID; + } +} diff --git a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java index 5a0e97ee2..3c596db64 100644 --- a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java +++ b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java @@ -52,7 +52,8 @@ public class TextureAtlasSpriteMutatable extends TextureAtlasSprite { if(mutator != null) { for(int i = 0; i < frames.length; i++) { BufferedImage frame = frames[i]; - mutator.mutate(frame, i, frames.length); + + if(frame != null) mutator.mutate(frame, i, frames.length); } } diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 9e15b0a08..52222f734 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -257,7 +257,9 @@ public class ItemRenderLibrary { } public void renderCommon() { GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.chemplant_body_tex); ResourceManager.chemplant_body.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); bindTexture(ResourceManager.chemplant_piston_tex); ResourceManager.chemplant_piston.renderAll(); bindTexture(ResourceManager.chemplant_spinner_tex); GL11.glTranslated(-0.625, 0, 0.625); diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java index da86e40ec..6a1a936ac 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java +++ b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java @@ -42,7 +42,9 @@ public class RenderChemplant extends TileEntitySpecialRenderer { bindTexture(ResourceManager.chemplant_body_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.chemplant_body.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java index cfdc25b26..fbe36e6e2 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java +++ b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java @@ -10,36 +10,35 @@ import net.minecraft.tileentity.TileEntity; public class RenderMicrowave extends TileEntitySpecialRenderer { - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y - 0.75, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 0.785, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + switch(tileEntity.getBlockMetadata()) { case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; } - GL11.glTranslated(-0.5D, 0.0D, 0.5D); - - TileEntityMicrowave mic = (TileEntityMicrowave)tileEntity; + GL11.glTranslated(-0.5D, 0.0D, 0.65D); + + TileEntityMicrowave mic = (TileEntityMicrowave) tileEntity; bindTexture(ResourceManager.microwave_tex); - ResourceManager.microwave.renderPart("mainbody_Cube.001"); - ResourceManager.microwave.renderPart("window_Cube.002"); + ResourceManager.microwave.renderPart("mainbody_Cube.001"); + ResourceManager.microwave.renderPart("window_Cube.002"); - double rot = (System.currentTimeMillis() * mic.speed / 10D) % 360; - - if(mic.time > 0) { - GL11.glTranslated(0.575D, 0.0D, -0.45D); + double rot = (System.currentTimeMillis() * mic.speed / 10D) % 360; + + if(mic.time > 0) { + GL11.glTranslated(0.575D, 0.0D, -0.45D); GL11.glRotated(rot, 0F, 1F, 0F); - GL11.glTranslated(-0.575D, 0.0D, 0.45D); - } - ResourceManager.microwave.renderPart("plate_Cylinder"); + GL11.glTranslated(-0.575D, 0.0D, 0.45D); + } + ResourceManager.microwave.renderPart("plate_Cylinder"); - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } } diff --git a/src/main/java/com/hbm/sound/AudioDynamic.java b/src/main/java/com/hbm/sound/AudioDynamic.java index 8bc976d0d..3799b7d05 100644 --- a/src/main/java/com/hbm/sound/AudioDynamic.java +++ b/src/main/java/com/hbm/sound/AudioDynamic.java @@ -10,14 +10,18 @@ import net.minecraft.util.ResourceLocation; @SideOnly(Side.CLIENT) public class AudioDynamic extends MovingSound { - - public float intendedVolume; + + public float maxVolume = 1; + public float range; + public int keepAlive; + public int timeSinceKA;; + public boolean shouldExpire = false;; protected AudioDynamic(ResourceLocation loc) { super(loc); this.repeat = true; - this.field_147666_i = ISound.AttenuationType.LINEAR; - this.intendedVolume = 10; + this.field_147666_i = ISound.AttenuationType.NONE; + this.range = 10; } public void setPosition(float x, float y, float z) { @@ -34,9 +38,18 @@ public class AudioDynamic extends MovingSound { if(player != null) { f = (float)Math.sqrt(Math.pow(xPosF - player.posX, 2) + Math.pow(yPosF - player.posY, 2) + Math.pow(zPosF - player.posZ, 2)); - volume = func(f, intendedVolume); + volume = func(f); } else { - volume = intendedVolume; + volume = maxVolume; + } + + if(this.shouldExpire) { + + if(this.timeSinceKA > this.keepAlive) { + this.stop(); + } + + this.timeSinceKA++; } } @@ -49,15 +62,28 @@ public class AudioDynamic extends MovingSound { } public void setVolume(float volume) { - this.intendedVolume = volume; + this.volume = volume; + } + + public void setRange(float range) { + this.range = range; + } + + public void setKeepAlive(int keepAlive) { + this.keepAlive = keepAlive; + this.shouldExpire = true; + } + + public void keepAlive() { + this.timeSinceKA = 0; } public void setPitch(float pitch) { this.field_147663_c = pitch; } - public float func(float f, float v) { - return (f / v) * -2 + 2; + public float func(float dist) { + return (dist / range) * -maxVolume + maxVolume; } public boolean isPlaying() { diff --git a/src/main/java/com/hbm/sound/AudioWrapper.java b/src/main/java/com/hbm/sound/AudioWrapper.java index 9c99bf096..e3830d5d8 100644 --- a/src/main/java/com/hbm/sound/AudioWrapper.java +++ b/src/main/java/com/hbm/sound/AudioWrapper.java @@ -1,14 +1,19 @@ package com.hbm.sound; public class AudioWrapper { + + public void setKeepAlive(int keepAlive) { } + public void keepAlive() { } public void updatePosition(float x, float y, float z) { } - + public void updateVolume(float volume) { } + public void updateRange(float range) { } public void updatePitch(float pitch) { } - + public float getVolume() { return 0F; } + public float getRange() { return 0F; } public float getPitch() { return 0F; } diff --git a/src/main/java/com/hbm/sound/AudioWrapperClient.java b/src/main/java/com/hbm/sound/AudioWrapperClient.java index 34a72dc06..bc259c1dd 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClient.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClient.java @@ -14,6 +14,18 @@ public class AudioWrapperClient extends AudioWrapper { sound = new AudioDynamic(source); } + @Override + public void setKeepAlive(int keepAlive) { + if(sound != null) + sound.setKeepAlive(keepAlive); + } + + @Override + public void keepAlive() { + if(sound != null) + sound.keepAlive(); + } + @Override public void updatePosition(float x, float y, float z) { if(sound != null) @@ -26,6 +38,12 @@ public class AudioWrapperClient extends AudioWrapper { sound.setVolume(volume); } + @Override + public void updateRange(float range) { + if(sound != null) + sound.setRange(range); + } + @Override public void updatePitch(float pitch) { if(sound != null) diff --git a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java b/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java index 663981b9e..6df22c652 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java @@ -3,6 +3,7 @@ package com.hbm.sound; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +/** Only used for doors */ public class AudioWrapperClientStartStop extends AudioWrapperClient { public String start; diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java index baec2d8d4..f2ab912aa 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -1,5 +1,7 @@ package com.hbm.tileentity; +import com.hbm.sound.AudioWrapper; + import api.hbm.energy.ILoadedTile; import net.minecraft.tileentity.TileEntity; @@ -17,4 +19,13 @@ public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { super.onChunkUnload(); this.isLoaded = false; } + + public AudioWrapper createAudioLoop() { return null; } + + public AudioWrapper rebootAudio(AudioWrapper wrapper) { + wrapper.stopSound(); + AudioWrapper audio = createAudioLoop(); + audio.startSound(); + return audio; + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index 5c5c26d5d..d71c1ab66 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -4,7 +4,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.sound.AudioWrapper; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; @@ -222,13 +221,4 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme return Math.max(volume, 0); } - - public AudioWrapper createAudioLoop() { return null; } - - public AudioWrapper rebootAudio(AudioWrapper wrapper) { - wrapper.stopSound(); - AudioWrapper audio = createAudioLoop(); - audio.startSound(); - return audio; - } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 96cdeb446..824ecb205 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -7,6 +7,7 @@ import java.util.List; import com.hbm.blocks.bomb.BlockVolcano.TileEntityVolcanoCore; import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.blocks.generic.BlockDynamicSlag.TileEntitySlag; import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; @@ -268,6 +269,8 @@ public class TileMappings { put(TileEntityFoundryChannel.class, "tileentity_foundry_channel"); put(TileEntityFoundryTank.class, "tileentity_foundry_tank"); put(TileEntityFoundryOutlet.class, "tileentity_foundry_outlet"); + put(TileEntityFoundrySlagtap.class, "tileentity_foundry_slagtap"); + put(TileEntitySlag.class, "tileentity_foundry_slag"); put(TileEntityMachineAutocrafter.class, "tileentity_autocrafter"); put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java new file mode 100644 index 000000000..ef09f7257 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java @@ -0,0 +1,115 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockDynamicSlag.TileEntitySlag; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; + +import api.hbm.block.ICrucibleAcceptor; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityFoundrySlagtap extends TileEntity implements ICrucibleAcceptor { + + @Override + public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { + + Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); + Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 15, z + 0.5); + + MovingObjectPosition mop = world.func_147447_a(start, end, true, true, true); + + if(mop == null || mop.typeOfHit != mop.typeOfHit.BLOCK) { + return false; + } + + return true; + } + + @Override + public MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { + + if(stack == null || stack.material == null || stack.amount <= 0) { + return null; + } + + Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); + Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 15, z + 0.5); + + MovingObjectPosition mop = world.func_147447_a(start, end, true, true, true); + + if(mop == null || mop.typeOfHit != mop.typeOfHit.BLOCK) { + return null; + } + + Block hit = world.getBlock(mop.blockX, mop.blockY, mop.blockZ); + Block above = world.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ); + + boolean didFlow = false; + + if(hit == ModBlocks.slag) { + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY, mop.blockZ); + if(tile.mat == stack.material) { + int transfer = Math.min(tile.maxAmount - tile.amount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + world.markBlockForUpdate(mop.blockX, mop.blockY, mop.blockZ); + world.scheduleBlockUpdate(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag, 1); + } + } else if(hit.isReplaceable(world, mop.blockX, mop.blockY, mop.blockZ)) { + world.setBlock(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY, mop.blockZ); + tile.mat = stack.material; + int transfer = Math.min(tile.maxAmount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + world.markBlockForUpdate(mop.blockX, mop.blockY, mop.blockZ); + world.scheduleBlockUpdate(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag, 1); + } + + if(stack.amount > 0 && above.isReplaceable(world, mop.blockX, mop.blockY + 1, mop.blockZ)) { + world.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY + 1, mop.blockZ); + tile.mat = stack.material; + int transfer = Math.min(tile.maxAmount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + world.markBlockForUpdate(mop.blockX, mop.blockY + 1, mop.blockZ); + world.scheduleBlockUpdate(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.slag, 1); + } + + if(didFlow) { + ForgeDirection dir = side.getOpposite(); + double hitY = mop.blockY; + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "foundry"); + data.setInteger("color", stack.material.moltenColor); + data.setByte("dir", (byte) dir.ordinal()); + data.setFloat("off", 0.375F); + data.setFloat("base", 0F); + data.setFloat("len", Math.max(1F, yCoord - (float) (Math.ceil(hitY)))); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5D - dir.offsetX * 0.125, yCoord + 0.125, zCoord + 0.5D - dir.offsetZ * 0.125), new TargetPoint(worldObj.provider.dimensionId, xCoord + 0.5, yCoord, zCoord + 0.5, 50)); + } + + if(stack.amount <= 0) { + stack = null; + } + + return stack; + } + + @Override public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { return false; } + @Override public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { return stack; } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index c7c98008d..bcda9f18b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -20,7 +20,9 @@ import com.hbm.inventory.fluid.trait.FT_Heatable; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; @@ -41,8 +43,12 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid public int heat; public FluidTank[] tanks; public List list = new ArrayList(); + public boolean isOn; public boolean hasExploded = false; + private AudioWrapper audio; + private int audioTime; + /* CONFIGURABLE */ public static int maxHeat = 12_800_000; //the heat required to turn 64k of water into steam public static double diffusion = 0.1D; @@ -76,6 +82,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid data.setInteger("heat", lastHeat); tanks[0].writeToNBT(data, "0"); + this.isOn = false; this.tryConvert(); tanks[1].writeToNBT(data, "1"); @@ -84,9 +91,59 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid fillFluidInit(tanks[1].getTankType()); } } - + data.setBoolean("exploded", this.hasExploded); + data.setBoolean("isOn", this.isOn); INBTPacketReceiver.networkPack(this, data, 25); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.125F, 10F, 1.0F, 20); + } + + @Override + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; } } @@ -96,6 +153,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid this.heat = nbt.getInteger("heat"); this.tanks[0].readFromNBT(nbt, "0"); this.tanks[1].readFromNBT(nbt, "1"); + this.isOn = nbt.getBoolean("isOn"); } protected void tryPullHeat() { @@ -159,6 +217,10 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid worldObj.playSoundEffect(xCoord + 0.5, yCoord + 2, zCoord + 0.5, "hbm:block.boilerGroan", 0.5F, 1.0F); } + if(ops > 0) { + this.isOn = true; + } + if(outputOps == 0 && canExplode) { this.hasExploded = true; BlockDummyable.safeRem = true; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java index 7a3dacf54..35569da50 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java @@ -1,6 +1,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; @@ -17,7 +19,10 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public long power; public int heatEnergy; + public boolean isOn; protected int setting = 0; + + private AudioWrapper audio; @Override public void updateEntity() { @@ -32,16 +37,64 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH this.heatEnergy *= 0.999; this.tryPullHeat(); - + + this.isOn = false; if(setting > 0 && this.power >= this.getConsumption()) { this.power -= this.getConsumption(); this.heatEnergy += getHeatGen(); + this.isOn = true; } NBTTagCompound data = new NBTTagCompound(); data.setByte("s", (byte) this.setting); data.setInteger("h", this.heatEnergy); + data.setBoolean("o", isOn); INBTPacketReceiver.networkPack(this, data, 25); + } else { + + if(isOn) { + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.electricHum", xCoord, yCoord, zCoord, 0.25F, 7.5F, 1.0F, 20); + } + + @Override + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; } } @@ -49,6 +102,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public void networkUnpack(NBTTagCompound nbt) { this.setting = nbt.getByte("s"); this.heatEnergy = nbt.getInteger("h"); + this.isOn = nbt.getBoolean("o"); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 826bf7ffd..33c973b89 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -256,7 +256,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.assemblerOperate", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.assemblerOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } private void updateConnections() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index b35ad6c76..8add21027 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -223,15 +223,17 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } } } - + + @Override public void networkUnpack(NBTTagCompound data) { this.power = data.getLong("power"); this.progress = data.getInteger("progress"); this.isProgressing = data.getBoolean("isProgressing"); } - + + @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 2.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index b40be0fdc..9aea57727 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -93,8 +93,8 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); - if(!tanks[0].loadTank(17, 19, slots)) tanks[0].unloadTank(17, 19, slots); - if(!tanks[1].loadTank(18, 20, slots)) tanks[1].unloadTank(18, 20, slots); + if(!tanks[0].loadTank(17, 19, slots) && (slots[17] == null || slots[17].getItem() != ModItems.fluid_barrel_infinite)) tanks[0].unloadTank(17, 19, slots); + if(!tanks[1].loadTank(18, 20, slots) && (slots[18] == null || slots[18].getItem() != ModItems.fluid_barrel_infinite)) tanks[1].unloadTank(18, 20, slots); tanks[2].unloadTank(9, 11, slots); tanks[3].unloadTank(10, 12, slots); @@ -162,7 +162,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); } - float volume = this.getVolume(2); + float volume = 1;//this.getVolume(2); if(isProgressing && volume > 0) { @@ -187,7 +187,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 592854660..18d48904a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -157,7 +157,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 2.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index d6e7d9e1a..12bdd43ec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -196,7 +196,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } private void updateConnections() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index e2b64dde5..419664383 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -170,12 +170,12 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement if(audio == null) { //if there is no sound playing, start it - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); audio.startSound(); } else if(!audio.isPlaying()) { audio.stopSound(); - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); audio.startSound(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index bd87b519c..942732fa1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -382,7 +382,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.turbofanOperate", xCoord, yCoord, zCoord, 5.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.turbofanOperate", xCoord, yCoord, zCoord, 1.0F, 50F, 1.0F, 20); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 20204ca0d..6f85b34fd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -171,7 +171,7 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 2.0F, 100F, 1.0F); } public void onChunkUnload() { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 8cac21820..ee2d7b79a 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -24,6 +24,8 @@ import com.hbm.inventory.gui.GUIMachineRefinery; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.items.ModItems; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IOverpressurable; import com.hbm.tileentity.IPersistentNBT; @@ -65,6 +67,10 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements public boolean hasExploded = false; public boolean onFire = false; public Explosion lastExplosion = null; + + private AudioWrapper audio; + private int audioTime; + public boolean isOn; private static final int[] slot_access = new int[] {11}; @@ -138,6 +144,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements if(!worldObj.isRemote) { + this.isOn = false; + if(this.getBlockMetadata() < 12) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getRotation(ForgeDirection.DOWN); worldObj.removeTileEntity(xCoord, yCoord, zCoord); @@ -201,7 +209,57 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i); data.setBoolean("exploded", hasExploded); data.setBoolean("onFire", onFire); + data.setBoolean("isOn", this.isOn); this.networkPack(data, 150); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.25F, 15F, 1.0F, 20); + } + + @Override + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; } } @@ -211,6 +269,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); this.hasExploded = nbt.getBoolean("exploded"); this.onFire = nbt.getBoolean("onFire"); + this.isOn = nbt.getBoolean("isOn"); } private void refine() { @@ -233,6 +292,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } } + this.isOn = true; tanks[0].setFill(tanks[0].getFill() - 100); for(int i = 0; i < stacks.length; i++) diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java index 81ef2baa8..bc2ba6469 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -7,6 +7,8 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineVacuumDistill; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -30,6 +32,10 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem public static final long maxPower = 1_000_000; public FluidTank[] tanks; + + private AudioWrapper audio; + private int audioTime; + public boolean isOn; public TileEntityMachineVacuumDistill() { super(11); @@ -52,6 +58,8 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem if(!worldObj.isRemote) { + this.isOn = false; + this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); tanks[0].loadTank(1, 2, slots); @@ -73,14 +81,65 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem NBTTagCompound data = new NBTTagCompound(); data.setLong("power", this.power); + data.setBoolean("isOn", this.isOn); for(int i = 0; i < 5; i++) tanks[i].writeToNBT(data, "" + i); this.networkPack(data, 150); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.25F, 15F, 1.0F, 20); + } + + @Override + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; } } @Override public void networkUnpack(NBTTagCompound nbt) { this.power = nbt.getLong("power"); + this.isOn = nbt.getBoolean("isOn"); for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); } @@ -92,7 +151,8 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem if(tanks[2].getFill() + RefineryRecipes.vac_frac_reform > tanks[2].getMaxFill()) return; if(tanks[3].getFill() + RefineryRecipes.vac_frac_light > tanks[3].getMaxFill()) return; if(tanks[4].getFill() + RefineryRecipes.vac_frac_sour > tanks[4].getMaxFill()) return; - + + this.isOn = true; power -= 10_000; tanks[0].setFill(tanks[0].getFill() - 100); tanks[1].setFill(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy); diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index ff7da1c9d..3a8a4a9a6 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -100,24 +100,25 @@ public class Compat { public static List scrapeItemFromME(ItemStack meDrive) { List stacks = new ArrayList(); - if(meDrive != null && meDrive.hasTagCompound()) { - NBTTagCompound nbt = meDrive.getTagCompound(); - int types = nbt.getShort("it"); //ITEM_TYPE_TAG - - for(int i = 0; i < types; i++) { - NBTBase stackTag = nbt.getTag("#" + i); + try { + if(meDrive != null && meDrive.hasTagCompound()) { + NBTTagCompound nbt = meDrive.getTagCompound(); + int types = nbt.getShort("it"); //ITEM_TYPE_TAG - if(stackTag instanceof NBTTagCompound) { - NBTTagCompound compound = (NBTTagCompound) stackTag; - ItemStack stack = ItemStack.loadItemStackFromNBT(compound); + for(int i = 0; i < types; i++) { + NBTBase stackTag = nbt.getTag("#" + i); - int count = nbt.getInteger("@" + i); - stack.stackSize = count; - - stacks.add(stack); + if(stackTag instanceof NBTTagCompound) { + NBTTagCompound compound = (NBTTagCompound) stackTag; + ItemStack stack = ItemStack.loadItemStackFromNBT(compound); + + int count = nbt.getInteger("@" + i); + stack.stackSize = count; + stacks.add(stack); + } } } - } + } catch(Exception ex) { } return stacks; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1bc1639b7..4a9c5faf2 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3590,22 +3590,28 @@ tile.concrete_brick_slab.brick_concrete_broken.name=Rissige Betonziegelstufe tile.concrete_brick_slab.brick_concrete_cracked.name=Gebrochene Betonziegelstufe tile.concrete_brick_slab.brick_concrete_mossy.name=Bemooste Betonziegelstufe tile.concrete_brick_slab.brick_ducrete.name=Ducreteziegelstufe -tile.concrete_colored.black.name=Schwarzer Beton -tile.concrete_colored.blue.name=Blauer Beton -tile.concrete_colored.brown.name=Brauner Beton -tile.concrete_colored.cyan.name=Türkiser Beton -tile.concrete_colored.gray.name=Grauer Beton -tile.concrete_colored.green.name=Grüner Beton -tile.concrete_colored.lightBlue.name=Hellblauer Beton -tile.concrete_colored.lime.name=Hellgrüner Beton -tile.concrete_colored.magenta.name=Magenta Beton -tile.concrete_colored.orange.name=Oranger Beton -tile.concrete_colored.pink.name=Rosa Beton -tile.concrete_colored.purple.name=Lila Beton -tile.concrete_colored.red.name=Roter Beton +tile.concrete_colored.black.name=Schwarzer Beton +tile.concrete_colored.blue.name=Blauer Beton +tile.concrete_colored.brown.name=Brauner Beton +tile.concrete_colored.cyan.name=Türkiser Beton +tile.concrete_colored.gray.name=Grauer Beton +tile.concrete_colored.green.name=Grüner Beton +tile.concrete_colored.lightBlue.name=Hellblauer Beton +tile.concrete_colored.lime.name=Hellgrüner Beton +tile.concrete_colored.magenta.name=Magenta Beton +tile.concrete_colored.orange.name=Oranger Beton +tile.concrete_colored.pink.name=Rosa Beton +tile.concrete_colored.purple.name=Lila Beton +tile.concrete_colored.red.name=Roter Beton tile.concrete_colored.silver.name=Hellgrauer Beton -tile.concrete_colored.white.name=Weißer Beton -tile.concrete_colored.yellow.name=Gelber Beton +tile.concrete_colored.white.name=Weißer Beton +tile.concrete_colored.yellow.name=Gelber Beton +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Gefahrenstreifen +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Tiefes Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrieller Ton +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrieller Streifen +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Männliches Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysteriöses Lila tile.concrete_pillar.name=Stahlbetonsäule tile.concrete_slab.concrete.name=Betonfliesenstufe tile.concrete_slab.concrete_asbestos.name=Asbestbetonstufe @@ -3745,6 +3751,7 @@ tile.foundry_channel.name=Gusskanal tile.foundry_tank.name=Gießerei-Lagerbecken tile.foundry_mold.name=Seichtes Gussbecken tile.foundry_outlet.name=Ausguss +tile.foundry_slagtap.name=Schlackeausguss tile.fraction_spacer.name=Fraktionierungsturm-Teiler tile.frozen_dirt.name=Gefrorene Erde tile.frozen_grass.name=Gefrorenes Gras diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 994b22798..b179aee53 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4418,6 +4418,12 @@ tile.concrete_colored.red.name=Red Concrete tile.concrete_colored.silver.name=Light Gray Concrete tile.concrete_colored.white.name=White Concrete tile.concrete_colored.yellow.name=Yellow Concrete +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Hazard Stripe +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Deep Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrial Tinge +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrial Stripe +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Manly Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysterious Purple tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar tile.concrete_slab.concrete.name=Concrete Tile Slab tile.concrete_slab.concrete_asbestos.name=Asbestos Concrete Slab @@ -4562,6 +4568,7 @@ tile.foundry_channel.name=Foundry Channel tile.foundry_tank.name=Foundry Storage Basin tile.foundry_mold.name=Shallow Foundry Basin tile.foundry_outlet.name=Foundry Outlet +tile.foundry_slagtap.name=Foundry Slag Outlet tile.fraction_spacer.name=Fractioning Tower Separator tile.frozen_dirt.name=Frozen Dirt tile.frozen_grass.name=Frozen Grass diff --git a/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj b/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj new file mode 100644 index 000000000..ae0ae0946 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj @@ -0,0 +1,314 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_narrow.blend' +# www.blender.org +o Plane +v 0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.125000 -0.375000 +v 0.500000 0.125000 -0.375000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.000000 0.375000 +v -0.500000 0.000000 -0.437500 +v 0.500000 0.000000 -0.437500 +v -0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v -0.500000 0.000000 -0.375000 +v 0.500000 0.000000 -0.375000 +v -0.500000 0.125000 0.437500 +v 0.500000 0.125000 0.437500 +v 0.500000 0.125000 -0.437500 +v -0.500000 0.125000 -0.437500 +v 0.187500 0.000000 0.375000 +v 0.312500 0.000000 0.375000 +v 0.187500 0.000000 -0.375000 +v 0.312500 0.000000 -0.375000 +v 0.187500 0.062500 -0.375000 +v 0.187500 0.062500 0.375000 +v 0.312500 0.062500 0.375000 +v 0.312500 0.062500 -0.375000 +v 0.187500 0.000000 -0.437500 +v 0.312500 0.000000 -0.437500 +v 0.187500 0.062500 -0.437500 +v 0.312500 0.062500 -0.437500 +v 0.187500 0.000000 -0.500000 +v 0.312500 0.000000 -0.500000 +v 0.187500 0.062500 -0.500000 +v 0.312500 0.062500 -0.500000 +v 0.187500 0.000000 0.437500 +v 0.312500 0.000000 0.437500 +v 0.187500 0.062500 0.437500 +v 0.312500 0.062500 0.437500 +v 0.187500 0.000000 0.500000 +v 0.312500 0.000000 0.500000 +v 0.187500 0.062500 0.500000 +v 0.312500 0.062500 0.500000 +v -0.312500 0.000000 0.375000 +v -0.187500 0.000000 0.375000 +v -0.312500 0.000000 -0.375000 +v -0.187500 0.000000 -0.375000 +v -0.312500 0.062500 -0.375000 +v -0.312500 0.062500 0.375000 +v -0.187500 0.062500 0.375000 +v -0.187500 0.062500 -0.375000 +v -0.312500 0.000000 -0.437500 +v -0.187500 0.000000 -0.437500 +v -0.312500 0.062500 -0.437500 +v -0.187500 0.062500 -0.437500 +v -0.312500 0.000000 -0.500000 +v -0.187500 0.000000 -0.500000 +v -0.312500 0.062500 -0.500000 +v -0.187500 0.062500 -0.500000 +v -0.312500 0.000000 0.437500 +v -0.187500 0.000000 0.437500 +v -0.312500 0.062500 0.437500 +v -0.187500 0.062500 0.437500 +v -0.312500 0.000000 0.500000 +v -0.187500 0.000000 0.500000 +v -0.312500 0.062500 0.500000 +v -0.187500 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.062500 1.000000 +vt 0.062500 0.000000 +vt 0.937500 1.000000 +vt 0.875000 0.000000 +vt 0.937500 0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.000000 +vt 0.125000 1.000000 +vt 0.875000 0.000000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 0.125000 -0.000000 +vt 0.062500 0.125000 +vt 0.062500 -0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.125000 +vt -0.000000 0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.125000 +vt -0.000000 0.000000 +vt 0.937500 -0.000000 +vt 0.875000 0.125000 +vt 0.875000 -0.000000 +vt 0.937500 0.000000 +vt 0.875000 0.125000 +vt 0.875000 0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.125000 +vt -0.000000 -0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.125000 +vt -0.000000 -0.000000 +vt 0.125000 0.000000 +vt 0.062500 0.125000 +vt 0.062500 0.000000 +vt 0.875000 0.687500 +vt 0.125000 0.812500 +vt 0.125000 0.687500 +vt 0.875000 0.812500 +vt 0.125000 0.687500 +vt 0.875000 0.687500 +vt 0.875000 0.000000 +vt 0.125000 0.062500 +vt 0.125000 0.000000 +vt 0.875000 -0.000000 +vt 0.125000 0.062500 +vt 0.125000 -0.000000 +vt 0.062500 0.812500 +vt 0.000000 0.687500 +vt 0.062500 0.687500 +vt 0.062500 0.062500 +vt -0.000000 -0.000000 +vt 0.062500 -0.000000 +vt 0.937500 0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.687500 +vt 0.937500 0.812500 +vt 0.937500 0.687500 +vt 0.312500 0.062500 +vt 0.187500 -0.000000 +vt 0.312500 -0.000000 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.000000 0.812500 +vt 0.062500 0.687500 +vt 0.062500 0.812500 +vt 0.937500 -0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.937500 0.687500 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.812500 0.062500 +vt 0.687500 0.000000 +vt 0.812500 0.000000 +vt 0.875000 0.187500 +vt 0.125000 0.312500 +vt 0.125000 0.187500 +vt 0.875000 0.312500 +vt 0.125000 0.187500 +vt 0.875000 0.187500 +vt 0.875000 0.000000 +vt 0.125000 0.062500 +vt 0.125000 0.000000 +vt 0.875000 -0.000000 +vt 0.125000 0.062500 +vt 0.125000 -0.000000 +vt 0.062500 0.312500 +vt 0.000000 0.187500 +vt 0.062500 0.187500 +vt 0.062500 0.062500 +vt -0.000000 -0.000000 +vt 0.062500 -0.000000 +vt 0.937500 0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.187500 +vt 0.937500 0.312500 +vt 0.937500 0.187500 +vt 0.812500 0.062500 +vt 0.687500 -0.000000 +vt 0.812500 -0.000000 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.000000 0.312500 +vt 0.062500 0.187500 +vt 0.062500 0.312500 +vt 0.937500 -0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.937500 0.187500 +vt 1.000000 0.312500 +vt 0.937500 0.312500 +vt 0.312500 0.062500 +vt 0.187500 0.000000 +vt 0.312500 0.000000 +vt 0.125000 1.000000 +vt 0.875000 1.000000 +vt 0.062500 0.000000 +vt 0.937500 0.000000 +vt 0.125000 0.125000 +vt 1.000000 0.125000 +vt 1.000000 0.125000 +vt 0.937500 0.125000 +vt 0.937500 0.125000 +vt 1.000000 0.125000 +vt 1.000000 0.125000 +vt 0.125000 0.125000 +vt 0.875000 0.812500 +vt 0.125000 0.812500 +vt 0.875000 0.062500 +vt 0.875000 0.062500 +vt 0.000000 0.812500 +vt -0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.812500 +vt 0.187500 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.687500 +vt 1.000000 -0.000000 +vt 1.000000 0.687500 +vt 0.687500 0.062500 +vt 0.875000 0.312500 +vt 0.125000 0.312500 +vt 0.875000 0.062500 +vt 0.875000 0.062500 +vt 0.000000 0.312500 +vt -0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.312500 +vt 0.687500 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.187500 +vt 1.000000 -0.000000 +vt 1.000000 0.187500 +vt 0.187500 0.062500 +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.0000 -1.0000 +s off +f 3/1/1 15/2/1 16/3/1 +f 8/4/2 11/5/2 7/6/2 +f 10/7/2 5/8/2 6/9/2 +f 2/10/1 14/11/1 1/12/1 +f 11/13/3 16/14/3 7/15/3 +f 10/16/4 13/17/4 9/18/4 +f 12/19/4 3/20/4 11/21/4 +f 9/22/3 2/23/3 5/24/3 +f 8/25/5 4/26/5 12/27/5 +f 7/28/6 15/29/6 8/30/6 +f 5/31/6 1/32/6 6/33/6 +f 6/34/5 14/35/5 10/36/5 +f 19/37/2 18/38/2 17/39/2 +f 23/40/1 21/41/1 22/42/1 +f 20/43/5 23/44/5 18/45/5 +f 17/46/3 21/47/3 19/48/3 +f 28/49/1 31/50/1 27/51/1 +f 27/52/3 29/53/3 25/54/3 +f 26/55/5 32/56/5 28/57/5 +f 29/58/2 26/59/2 25/60/2 +f 31/61/6 30/62/6 29/63/6 +f 36/64/5 38/65/5 34/66/5 +f 38/67/2 33/68/2 34/69/2 +f 33/70/3 39/71/3 35/72/3 +f 35/73/1 40/74/1 36/75/1 +f 40/76/4 37/77/4 38/78/4 +f 43/79/2 42/80/2 41/81/2 +f 47/82/1 45/83/1 46/84/1 +f 44/85/5 47/86/5 42/87/5 +f 41/88/3 45/89/3 43/90/3 +f 52/91/1 55/92/1 51/93/1 +f 51/94/3 53/95/3 49/96/3 +f 50/97/5 56/98/5 52/99/5 +f 53/100/2 50/101/2 49/102/2 +f 55/103/6 54/104/6 53/105/6 +f 60/106/5 62/107/5 58/108/5 +f 62/109/2 57/110/2 58/111/2 +f 57/112/3 63/113/3 59/114/3 +f 59/115/1 64/116/1 60/117/1 +f 64/118/4 61/119/4 62/120/4 +f 3/1/1 4/121/1 15/2/1 +f 8/4/2 12/122/2 11/5/2 +f 10/7/2 9/123/2 5/8/2 +f 2/10/1 13/124/1 14/11/1 +f 11/13/3 3/125/3 16/14/3 +f 10/16/4 14/126/4 13/17/4 +f 12/19/4 4/127/4 3/20/4 +f 9/22/3 13/128/3 2/23/3 +f 8/25/5 15/129/5 4/26/5 +f 7/28/6 16/130/6 15/29/6 +f 5/31/6 2/131/6 1/32/6 +f 6/34/5 1/132/5 14/35/5 +f 19/37/2 20/133/2 18/38/2 +f 23/40/1 24/134/1 21/41/1 +f 20/43/5 24/135/5 23/44/5 +f 17/46/3 22/136/3 21/47/3 +f 28/49/1 32/137/1 31/50/1 +f 27/52/3 31/138/3 29/53/3 +f 26/55/5 30/139/5 32/56/5 +f 29/58/2 30/140/2 26/59/2 +f 31/61/6 32/141/6 30/62/6 +f 36/64/5 40/142/5 38/65/5 +f 38/67/2 37/143/2 33/68/2 +f 33/70/3 37/144/3 39/71/3 +f 35/73/1 39/145/1 40/74/1 +f 40/76/4 39/146/4 37/77/4 +f 43/79/2 44/147/2 42/80/2 +f 47/82/1 48/148/1 45/83/1 +f 44/85/5 48/149/5 47/86/5 +f 41/88/3 46/150/3 45/89/3 +f 52/91/1 56/151/1 55/92/1 +f 51/94/3 55/152/3 53/95/3 +f 50/97/5 54/153/5 56/98/5 +f 53/100/2 54/154/2 50/101/2 +f 55/103/6 56/155/6 54/104/6 +f 60/106/5 64/156/5 62/107/5 +f 62/109/2 61/157/2 57/110/2 +f 57/112/3 61/158/3 63/113/3 +f 59/115/1 63/159/1 64/116/1 +f 64/118/4 63/160/4 61/119/4 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj b/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj new file mode 100644 index 000000000..426e32d48 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj @@ -0,0 +1,681 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_narrow_bend.blend' +# www.blender.org +o Plane +v 0.500000 0.125000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.000000 0.375000 +v 0.500000 0.000000 -0.437500 +v -0.463258 0.125000 -0.342627 +v 0.500000 0.000000 0.437500 +v -0.292554 0.125000 0.515560 +v 0.500000 0.000000 -0.375000 +v -0.451065 0.000000 -0.281328 +v 0.500000 0.125000 0.437500 +v 0.500000 0.125000 -0.437500 +v -0.292554 0.000000 0.515560 +v -3.325402 0.062500 1.279721 +v -3.404702 0.062500 1.376347 +v -3.325402 0.000000 1.279721 +v -3.404702 0.000000 1.376347 +v -3.057147 0.000000 2.669533 +v -2.998222 0.000000 2.559293 +v -3.057147 0.062500 2.669533 +v -2.998222 0.062500 2.559293 +v -0.601330 0.062500 0.654096 +v -0.720948 0.062500 0.690382 +v -0.601330 0.000000 0.654096 +v -0.720948 0.000000 0.690382 +v -0.052285 0.000000 -0.469798 +v 0.072113 0.000000 -0.482049 +v -0.052285 0.062500 -0.469798 +v 0.072113 0.062500 -0.482049 +v -0.891615 0.062500 -0.302844 +v -1.011232 0.062500 -0.266559 +v -0.891615 0.000000 -0.302844 +v -1.011232 0.000000 -0.266559 +v 0.045732 0.000000 0.525387 +v 0.170130 0.000000 0.513135 +v 0.045732 0.062500 0.525387 +v 0.170130 0.062500 0.513135 +v -0.463258 0.000000 -0.342627 +v -0.304748 0.000000 0.454261 +v -0.451065 0.125000 -0.281328 +v -0.304748 0.125000 0.454261 +v -3.605381 0.125000 1.756872 +v -2.877845 0.125000 2.242996 +v -3.553414 0.000000 1.791595 +v -2.877845 0.000000 2.242996 +v -3.605381 0.000000 1.756872 +v -2.929812 0.000000 2.208273 +v -3.553414 0.125000 1.791595 +v -2.929812 0.125000 2.208273 +v -2.243128 0.125000 0.394619 +v -1.757004 0.125000 1.122155 +v -2.208405 0.000000 0.446586 +v -1.757004 0.000000 1.122155 +v -2.243128 0.000000 0.394619 +v -1.791727 0.000000 1.070188 +v -2.208405 0.125000 0.446586 +v -1.791727 0.125000 1.070188 +v -4.342627 0.125000 3.536741 +v -3.484440 0.125000 3.707446 +v -4.281328 0.000000 3.548935 +v -3.484440 0.000000 3.707446 +v -4.342627 0.000000 3.536741 +v -3.545739 0.000000 3.695252 +v -4.281328 0.125000 3.548935 +v -3.545739 0.125000 3.695252 +v 0.500000 0.000000 4.500000 +v -3.625000 0.125000 4.500000 +v -4.375000 0.125000 4.500000 +v -3.625000 0.000000 4.500000 +v -4.437500 0.000000 4.500000 +v -3.562500 0.000000 4.500000 +v -4.375000 0.000000 4.500000 +v -3.562500 0.125000 4.500000 +v -4.437500 0.125000 4.500000 +v -2.416816 0.125000 1.583184 +v -2.947145 0.125000 1.052855 +v -2.416816 0.000000 1.583184 +v -2.991340 0.000000 1.008660 +v -2.372621 0.000000 1.627379 +v -2.947145 0.000000 1.052855 +v -2.372621 0.125000 1.627379 +v -2.991340 0.125000 1.008660 +v -3.311003 0.125000 2.921431 +v -4.003912 0.125000 2.634418 +v -3.311003 0.000000 2.921431 +v -4.061655 0.000000 2.610501 +v -3.253261 0.000000 2.945349 +v -4.003912 0.000000 2.634418 +v -3.253261 0.125000 2.945349 +v -4.061655 0.125000 2.610501 +v -1.078569 0.125000 0.688997 +v -1.365582 0.125000 -0.003912 +v -1.078569 0.000000 0.688997 +v -1.389499 0.000000 -0.061655 +v -1.054651 0.000000 0.746740 +v -1.365582 0.000000 -0.003912 +v -1.054651 0.125000 0.746740 +v -1.389499 0.125000 -0.061655 +v -3.880144 0.062500 2.087896 +v -3.939068 0.062500 2.198136 +v -3.880144 0.000000 2.087896 +v -3.939068 0.000000 2.198136 +v -2.631691 0.000000 2.010740 +v -2.552392 0.000000 1.914114 +v -2.631691 0.062500 2.010740 +v -2.552392 0.062500 1.914114 +v -4.266559 0.062500 2.988768 +v -4.302845 0.062500 3.108386 +v -4.266559 0.000000 2.988768 +v -4.302845 0.000000 3.108386 +v -3.486865 0.000000 4.170131 +v -3.474612 0.000000 4.045732 +v -3.486865 0.062500 4.170131 +v -3.474612 0.062500 4.045732 +v -1.989260 0.062500 1.368309 +v -2.085886 0.062500 1.447608 +v -1.989260 0.000000 1.368309 +v -2.085886 0.000000 1.447608 +v -1.912104 0.000000 0.119856 +v -1.801864 0.000000 0.060932 +v -1.912104 0.062500 0.119856 +v -1.801864 0.062500 0.060932 +v -2.623653 0.062500 0.595299 +v -2.720279 0.062500 0.674598 +v -2.623653 0.000000 0.595299 +v -2.720279 0.000000 0.674598 +v -1.440707 0.000000 1.001778 +v -1.330467 0.000000 0.942852 +v -1.440707 0.062500 1.001778 +v -1.330467 0.062500 0.942852 +v -4.469797 0.062500 3.947715 +v -4.482049 0.062500 4.072114 +v -4.469797 0.000000 3.947715 +v -4.482049 0.000000 4.072114 +v -3.345904 0.000000 3.398670 +v -3.309618 0.000000 3.279053 +v -3.345904 0.062500 3.398670 +v -3.309618 0.062500 3.279053 +vt 0.615249 0.562500 +vt 0.726069 0.437500 +vt 0.615249 0.437500 +vt 0.678003 0.453027 +vt 0.764947 0.316851 +vt 0.688434 0.459997 +vt 0.613503 0.437500 +vt 0.722644 0.562500 +vt 0.613503 0.562500 +vt 0.828202 0.562500 +vt 0.828202 0.437500 +vt 0.812063 0.161529 +vt 0.753357 0.312051 +vt 0.799759 0.159082 +vt 0.823229 0.437500 +vt 0.823229 0.562500 +vt 0.812063 0.161529 +vt 0.753357 0.312051 +vt 0.764947 0.316851 +vt 0.678003 0.453027 +vt 0.688434 0.459997 +vt 1.000000 0.437500 +vt 0.993671 0.562500 +vt 0.993671 0.437500 +vt 0.576594 0.576594 +vt 0.585465 0.585465 +vt 0.459997 0.688434 +vt 0.917722 0.437500 +vt 0.911392 0.562500 +vt 0.911392 0.437500 +vt 0.777932 0.500000 +vt 0.762144 0.437500 +vt 0.777932 0.437500 +vt 0.283574 0.500000 +vt 0.325146 0.437500 +vt 0.325146 0.500000 +vt 0.342277 0.500000 +vt 0.342277 0.437500 +vt 0.626982 0.783754 +vt 0.519041 0.612678 +vt 0.499646 0.628595 +vt 0.829653 0.500000 +vt 0.762144 0.500000 +vt 0.797787 0.091181 +vt 1.000000 0.085886 +vt 0.800246 0.066212 +vt 0.845441 0.437500 +vt 0.829653 0.437500 +vt 0.964030 0.279326 +vt 0.764669 0.245069 +vt 0.771952 0.221060 +vt 0.947343 0.500000 +vt 0.961181 0.437500 +vt 0.947343 0.437500 +vt 0.856491 0.437500 +vt 0.856491 0.500000 +vt 1.000000 0.085886 +vt 0.797787 0.091181 +vt 0.800246 0.066212 +vt 0.956746 0.303335 +vt 0.771952 0.221060 +vt 0.764669 0.245069 +vt 0.870329 0.500000 +vt 0.870329 0.437500 +vt 0.312050 0.753357 +vt 0.316851 0.764947 +vt 0.159082 0.799759 +vt 0.161529 0.812063 +vt 0.171798 0.437501 +vt 0.273931 0.562500 +vt 0.273931 0.437500 +vt 0.161529 0.812063 +vt 0.312050 0.753357 +vt 0.316851 0.764947 +vt 0.176771 0.562500 +vt 0.277356 0.437500 +vt 0.277356 0.562500 +vt 0.107153 0.562500 +vt 0.000000 0.437501 +vt 0.000000 0.562500 +vt 0.000000 0.991058 +vt 0.190898 0.959711 +vt 0.193346 0.972015 +vt 0.006329 0.437501 +vt 0.112125 0.562500 +vt 0.006329 0.562500 +vt 0.000000 0.991058 +vt 0.190898 0.959711 +vt 0.000000 0.978513 +vt 0.171798 0.562500 +vt 0.082278 0.437501 +vt 0.082278 0.562500 +vt 0.000000 0.815428 +vt 0.000000 0.827972 +vt 0.088607 0.437501 +vt 0.088607 0.562500 +vt 0.000000 0.827972 +vt 0.000000 0.815428 +vt 0.892847 0.562499 +vt 1.000000 0.562499 +vt 0.991058 0.000000 +vt 0.959711 0.190898 +vt 0.978513 0.000000 +vt 0.887875 0.562499 +vt 0.959711 0.190898 +vt 0.991058 0.000000 +vt 0.978513 0.000000 +vt 0.917722 0.562500 +vt 0.827972 0.000000 +vt 0.815427 0.000000 +vt 0.827972 0.000000 +vt 0.799759 0.159082 +vt 0.500000 0.562500 +vt 0.585465 0.585465 +vt 0.500000 0.437500 +vt 0.386497 0.437500 +vt 0.500000 0.437500 +vt 0.453027 0.678003 +vt 0.459997 0.688434 +vt 0.384751 0.437500 +vt 0.500000 0.562500 +vt 0.193346 0.972015 +vt 0.374461 0.904028 +vt 0.550602 0.824035 +vt 0.543633 0.813604 +vt 0.691913 0.691913 +vt 0.824035 0.550602 +vt 0.813604 0.543633 +vt 0.915618 0.379261 +vt 0.904028 0.374461 +vt 0.972015 0.193346 +vt 0.767173 0.562499 +vt 0.887875 0.437500 +vt 0.915618 0.379261 +vt 0.904028 0.374461 +vt 0.892847 0.437500 +vt 0.770598 0.562499 +vt 0.636203 0.437500 +vt 0.636203 0.562500 +vt 0.813604 0.543633 +vt 0.824035 0.550602 +vt 0.637950 0.437500 +vt 0.637950 0.562499 +vt 0.500000 0.562500 +vt 0.691913 0.691913 +vt 0.500000 0.562500 +vt 0.363797 0.437500 +vt 0.363797 0.562500 +vt 0.550602 0.824035 +vt 0.543633 0.813604 +vt 0.362050 0.437500 +vt 0.362050 0.562500 +vt 0.232827 0.562500 +vt 0.374461 0.904028 +vt 0.229402 0.562500 +vt 0.112125 0.437501 +vt 0.107153 0.437501 +vt 0.300705 0.437500 +vt 0.283574 0.437500 +vt 0.484159 0.879185 +vt 0.367412 0.713993 +vt 0.389540 0.702165 +vt 0.420906 0.500000 +vt 0.438722 0.437500 +vt 0.420906 0.437500 +vt 0.434944 0.437500 +vt 0.434944 0.500000 +vt 0.646376 0.767837 +vt 0.499646 0.628595 +vt 0.519041 0.612678 +vt 0.367412 0.713993 +vt 0.484159 0.879185 +vt 0.389540 0.702165 +vt 0.452759 0.500000 +vt 0.452759 0.437500 +vt 0.565056 0.500000 +vt 0.547241 0.437500 +vt 0.565056 0.437500 +vt 0.038819 0.500001 +vt 0.129671 0.437501 +vt 0.129671 0.500001 +vt 0.143509 0.500001 +vt 0.143509 0.437501 +vt 0.221060 0.771952 +vt 0.303335 0.956746 +vt 0.245069 0.764669 +vt 0.561278 0.500000 +vt 0.547241 0.500000 +vt 0.879185 0.484159 +vt 0.713993 0.367412 +vt 0.702165 0.389540 +vt 0.579094 0.437500 +vt 0.561278 0.437500 +vt 0.628595 0.499646 +vt 0.767837 0.646376 +vt 0.612678 0.519041 +vt 0.699295 0.500000 +vt 0.716426 0.437500 +vt 0.699295 0.437500 +vt 0.657723 0.437500 +vt 0.657723 0.500000 +vt 0.713993 0.367412 +vt 0.879185 0.484159 +vt 0.702165 0.389540 +vt 0.767837 0.646376 +vt 0.628595 0.499646 +vt 0.612678 0.519041 +vt 0.674854 0.500000 +vt 0.674854 0.437500 +vt 0.052657 0.437501 +vt 0.038819 0.437501 +vt 0.110855 0.997541 +vt 0.066211 0.800246 +vt 0.091181 0.797787 +vt 0.154559 0.500000 +vt 0.170347 0.437500 +vt 0.154559 0.437500 +vt 0.222068 0.437501 +vt 0.222068 0.500000 +vt 0.303335 0.956746 +vt 0.221060 0.771952 +vt 0.245069 0.764669 +vt 0.085886 1.000000 +vt 0.091181 0.797787 +vt 0.066211 0.800246 +vt 0.237856 0.500000 +vt 0.237856 0.437501 +vt 0.726069 0.562500 +vt 0.722644 0.437500 +vt 0.453027 0.678003 +vt 0.646376 0.767837 +vt 0.997541 0.110855 +vt 0.845441 0.500000 +vt 0.956746 0.303335 +vt 0.961181 0.500000 +vt 0.997541 0.110855 +vt 0.964030 0.279326 +vt 0.159082 0.799759 +vt 0.176771 0.437501 +vt 0.000000 0.978513 +vt 0.972015 0.193346 +vt 0.815427 0.000000 +vt 0.576594 0.576594 +vt 0.386497 0.562500 +vt 0.384751 0.562500 +vt 0.379261 0.915618 +vt 0.700784 0.700784 +vt 0.767173 0.437500 +vt 0.770598 0.437500 +vt 0.500000 0.437500 +vt 0.700784 0.700784 +vt 0.500000 0.437500 +vt 0.232827 0.437500 +vt 0.379261 0.915618 +vt 0.229402 0.437500 +vt 0.300705 0.500000 +vt 0.462031 0.891012 +vt 0.438722 0.500000 +vt 0.626982 0.783754 +vt 0.462031 0.891012 +vt 0.279326 0.964030 +vt 0.891012 0.462031 +vt 0.579094 0.500000 +vt 0.783754 0.626981 +vt 0.716426 0.500000 +vt 0.891012 0.462031 +vt 0.783754 0.626981 +vt 0.052657 0.500000 +vt 0.085886 1.000000 +vt 0.170347 0.500000 +vt 0.279326 0.964030 +vt 0.110855 0.997541 +vn -0.4714 0.0000 -0.8819 +vn 0.0000 1.0000 0.0000 +vn 0.4714 0.0000 0.8819 +vn -0.2903 0.0000 -0.9569 +vn 0.2903 0.0000 0.9569 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.4714 0.0000 0.8819 +vn 0.8819 0.0000 0.4714 +vn -0.9569 0.0000 0.2903 +vn -0.0980 0.0000 -0.9952 +vn -0.9952 0.0000 0.0980 +vn 0.9952 0.0000 -0.0980 +vn 0.0980 0.0000 0.9952 +vn -0.9569 0.0000 -0.2903 +vn 0.9569 0.0000 0.2903 +vn -0.9952 0.0000 -0.0980 +vn 0.9952 0.0000 0.0980 +vn 0.0000 0.0000 1.0000 +vn 0.6344 0.0000 0.7730 +vn -0.6344 0.0000 -0.7730 +vn 0.7730 0.0000 0.6344 +vn -0.7730 0.0000 -0.6344 +vn -0.8819 0.0000 -0.4714 +vn 0.9569 0.0000 -0.2903 +vn -0.6344 0.0000 0.7730 +vn 0.6344 0.0000 -0.7730 +vn 0.4714 0.0000 -0.8819 +vn -0.0980 0.0000 0.9952 +vn -0.7730 0.0000 0.6344 +vn -0.8819 0.0000 0.4714 +vn 0.8819 0.0000 -0.4714 +vn 0.7730 0.0000 -0.6344 +vn -0.2903 0.0000 0.9569 +vn 0.2903 0.0000 -0.9569 +vn 0.0980 0.0000 -0.9952 +s off +f 56/1/1 92/2/1 54/3/1 +f 50/4/2 90/5/2 56/6/2 +f 52/7/3 96/8/3 50/9/3 +f 92/2/4 40/10/4 38/11/4 +f 40/12/2 96/13/2 7/14/2 +f 96/8/5 12/15/5 7/16/5 +f 38/17/6 94/18/6 92/19/6 +f 92/19/6 52/20/6 54/21/6 +f 4/22/7 2/23/7 8/24/7 +f 54/21/6 78/25/6 76/26/6 +f 78/25/6 46/27/6 76/26/6 +f 3/28/7 10/29/7 6/30/7 +f 21/31/5 24/32/5 23/33/5 +f 99/34/8 17/35/8 19/36/8 +f 20/37/9 17/35/9 18/38/9 +f 16/39/6 103/40/6 102/41/6 +f 30/42/10 24/32/10 22/43/10 +f 33/44/6 26/45/6 34/46/6 +f 30/42/4 31/47/4 32/48/4 +f 29/49/2 22/50/2 21/51/2 +f 27/52/11 26/53/11 25/54/11 +f 27/52/12 33/55/12 35/56/12 +f 28/57/2 35/58/2 36/59/2 +f 32/60/6 23/61/6 24/62/6 +f 26/53/13 36/63/13 34/64/13 +f 36/63/14 33/55/14 34/64/14 +f 46/27/6 86/65/6 84/66/6 +f 84/66/6 60/67/6 62/68/6 +f 62/69/15 82/70/15 84/71/15 +f 64/72/2 88/73/2 82/74/2 +f 58/75/16 86/76/16 88/77/16 +f 57/78/17 69/79/17 73/80/17 +f 73/81/2 63/82/2 57/83/2 +f 71/84/18 63/85/18 67/86/18 +f 69/87/6 59/88/6 71/89/6 +f 64/90/17 68/91/17 66/92/17 +f 72/93/2 64/72/2 66/94/2 +f 70/95/18 58/75/18 72/96/18 +f 68/97/6 60/67/6 70/98/6 +f 4/22/11 5/99/11 11/100/11 +f 11/101/2 39/102/2 2/103/2 +f 67/86/19 69/79/19 71/84/19 +f 72/96/19 68/91/19 70/95/19 +f 39/104/14 8/24/14 2/23/14 +f 9/105/6 4/106/6 8/107/6 +f 38/11/11 1/108/11 3/28/11 +f 1/109/2 7/14/2 10/110/2 +f 7/16/14 6/30/14 10/29/14 +f 3/111/6 12/112/6 38/17/6 +f 80/113/20 52/7/20 50/9/20 +f 74/114/2 50/4/2 56/6/2 +f 76/115/21 56/1/21 54/3/21 +f 80/113/22 44/116/22 78/117/22 +f 42/118/2 74/114/2 48/119/2 +f 46/120/23 74/121/23 76/115/23 +f 44/116/9 88/77/9 86/76/9 +f 82/74/2 42/118/2 48/119/2 +f 82/70/24 46/120/24 84/71/24 +f 61/122/6 87/123/6 59/88/6 +f 87/123/6 45/124/6 43/125/6 +f 45/124/6 79/126/6 43/125/6 +f 79/126/6 53/127/6 51/128/6 +f 51/128/6 93/129/6 95/130/6 +f 95/130/6 37/131/6 9/105/6 +f 91/132/5 9/133/5 39/104/5 +f 39/102/2 97/134/2 91/135/2 +f 37/136/4 97/137/4 5/99/4 +f 51/138/3 91/132/3 55/139/3 +f 55/140/2 97/134/2 49/141/2 +f 97/137/1 53/142/1 49/143/1 +f 75/144/20 51/138/20 55/139/20 +f 49/141/2 75/145/2 55/140/2 +f 53/142/21 81/146/21 49/143/21 +f 43/147/22 75/144/22 47/148/22 +f 75/145/2 41/149/2 47/150/2 +f 81/146/23 45/151/23 41/152/23 +f 83/153/9 43/147/9 47/148/9 +f 41/149/2 83/154/2 47/150/2 +f 45/151/24 89/155/24 41/152/24 +f 59/156/16 83/153/16 63/85/16 +f 83/154/2 57/83/2 63/82/2 +f 89/155/15 61/157/15 57/78/15 +f 31/47/25 21/31/25 23/33/25 +f 99/34/24 100/158/24 101/159/24 +f 98/160/2 19/161/2 20/162/2 +f 14/163/23 15/164/23 16/165/23 +f 14/163/26 102/166/26 104/167/26 +f 13/168/2 104/169/2 105/170/2 +f 17/171/6 100/172/6 18/173/6 +f 15/164/27 105/174/27 103/175/27 +f 105/174/22 102/166/22 103/175/22 +f 100/158/28 20/37/28 18/38/28 +f 114/176/20 117/177/20 116/178/20 +f 131/179/29 110/180/29 112/181/29 +f 113/182/18 110/180/18 111/183/18 +f 134/184/6 108/185/6 135/186/6 +f 123/187/30 117/177/30 115/188/30 +f 118/189/6 127/190/6 126/191/6 +f 123/187/21 124/192/21 125/193/21 +f 114/194/2 123/195/2 115/196/2 +f 120/197/1 119/198/1 118/199/1 +f 120/197/31 126/200/31 128/201/31 +f 129/202/2 120/203/2 128/204/2 +f 125/205/6 116/206/6 117/207/6 +f 119/198/32 129/208/32 127/209/32 +f 129/208/3 126/200/3 127/209/3 +f 124/192/33 114/176/33 116/178/33 +f 131/179/17 132/210/17 133/211/17 +f 130/212/2 112/213/2 113/214/2 +f 107/215/15 108/216/15 109/217/15 +f 107/215/34 134/218/34 136/219/34 +f 106/220/2 136/221/2 137/222/2 +f 133/223/6 111/224/6 110/225/6 +f 108/216/35 137/226/35 135/227/35 +f 137/226/16 134/218/16 135/227/16 +f 132/210/36 113/182/36 111/183/36 +f 56/1/1 90/228/1 92/2/1 +f 50/4/2 96/13/2 90/5/2 +f 52/7/3 94/229/3 96/8/3 +f 92/2/4 90/228/4 40/10/4 +f 40/12/2 90/5/2 96/13/2 +f 96/8/5 94/229/5 12/15/5 +f 38/17/6 12/112/6 94/18/6 +f 92/19/6 94/18/6 52/20/6 +f 4/22/7 11/100/7 2/23/7 +f 54/21/6 52/20/6 78/25/6 +f 78/25/6 44/230/6 46/27/6 +f 3/28/7 1/108/7 10/29/7 +f 21/31/5 22/43/5 24/32/5 +f 99/34/8 101/159/8 17/35/8 +f 20/37/9 19/36/9 17/35/9 +f 16/39/6 15/231/6 103/40/6 +f 30/42/10 32/48/10 24/32/10 +f 33/44/6 25/232/6 26/45/6 +f 30/42/4 29/233/4 31/47/4 +f 29/49/2 30/234/2 22/50/2 +f 27/52/11 28/235/11 26/53/11 +f 27/52/12 25/54/12 33/55/12 +f 28/57/2 27/236/2 35/58/2 +f 32/60/6 31/237/6 23/61/6 +f 26/53/13 28/235/13 36/63/13 +f 36/63/14 35/56/14 33/55/14 +f 46/27/6 44/230/6 86/65/6 +f 84/66/6 86/65/6 60/67/6 +f 62/69/15 64/90/15 82/70/15 +f 64/72/2 58/238/2 88/73/2 +f 58/75/16 60/239/16 86/76/16 +f 57/78/17 61/157/17 69/79/17 +f 73/81/2 67/240/2 63/82/2 +f 71/84/18 59/156/18 63/85/18 +f 69/87/6 61/122/6 59/88/6 +f 64/90/17 62/69/17 68/91/17 +f 72/93/2 58/238/2 64/72/2 +f 70/95/18 60/239/18 58/75/18 +f 68/97/6 62/68/6 60/67/6 +f 4/22/11 37/136/11 5/99/11 +f 11/101/2 5/241/2 39/102/2 +f 67/86/19 73/80/19 69/79/19 +f 72/96/19 66/92/19 68/91/19 +f 39/104/14 9/133/14 8/24/14 +f 9/105/6 37/131/6 4/106/6 +f 38/11/11 40/10/11 1/108/11 +f 1/109/2 40/12/2 7/14/2 +f 7/16/14 12/15/14 6/30/14 +f 3/111/6 6/242/6 12/112/6 +f 80/113/20 78/117/20 52/7/20 +f 74/114/2 80/243/2 50/4/2 +f 76/115/21 74/121/21 56/1/21 +f 80/113/22 42/244/22 44/116/22 +f 42/118/2 80/243/2 74/114/2 +f 46/120/23 48/245/23 74/121/23 +f 44/116/9 42/244/9 88/77/9 +f 82/74/2 88/73/2 42/118/2 +f 82/70/24 48/245/24 46/120/24 +f 61/122/6 85/246/6 87/123/6 +f 87/123/6 85/246/6 45/124/6 +f 45/124/6 77/247/6 79/126/6 +f 79/126/6 77/247/6 53/127/6 +f 51/128/6 53/127/6 93/129/6 +f 95/130/6 93/129/6 37/131/6 +f 91/132/5 95/248/5 9/133/5 +f 39/102/2 5/241/2 97/134/2 +f 37/136/4 93/249/4 97/137/4 +f 51/138/3 95/248/3 91/132/3 +f 55/140/2 91/135/2 97/134/2 +f 97/137/1 93/249/1 53/142/1 +f 75/144/20 79/250/20 51/138/20 +f 49/141/2 81/251/2 75/145/2 +f 53/142/21 77/252/21 81/146/21 +f 43/147/22 79/250/22 75/144/22 +f 75/145/2 81/251/2 41/149/2 +f 81/146/23 77/252/23 45/151/23 +f 83/153/9 87/253/9 43/147/9 +f 41/149/2 89/254/2 83/154/2 +f 45/151/24 85/255/24 89/155/24 +f 59/156/16 87/253/16 83/153/16 +f 83/154/2 89/254/2 57/83/2 +f 89/155/15 85/255/15 61/157/15 +f 31/47/25 29/233/25 21/31/25 +f 99/34/24 98/256/24 100/158/24 +f 98/160/2 99/257/2 19/161/2 +f 14/163/23 13/258/23 15/164/23 +f 14/163/26 16/165/26 102/166/26 +f 13/168/2 14/259/2 104/169/2 +f 17/171/6 101/260/6 100/172/6 +f 15/164/27 13/258/27 105/174/27 +f 105/174/22 104/167/22 102/166/22 +f 100/158/28 98/256/28 20/37/28 +f 114/176/20 115/188/20 117/177/20 +f 131/179/29 133/211/29 110/180/29 +f 113/182/18 112/181/18 110/180/18 +f 134/184/6 109/261/6 108/185/6 +f 123/187/30 125/193/30 117/177/30 +f 118/189/6 119/262/6 127/190/6 +f 123/187/21 122/263/21 124/192/21 +f 114/194/2 122/264/2 123/195/2 +f 120/197/1 121/265/1 119/198/1 +f 120/197/31 118/199/31 126/200/31 +f 129/202/2 121/266/2 120/203/2 +f 125/205/6 124/267/6 116/206/6 +f 119/198/32 121/265/32 129/208/32 +f 129/208/3 128/201/3 126/200/3 +f 124/192/33 122/263/33 114/176/33 +f 131/179/17 130/268/17 132/210/17 +f 130/212/2 131/269/2 112/213/2 +f 107/215/15 106/270/15 108/216/15 +f 107/215/34 109/217/34 134/218/34 +f 106/220/2 107/271/2 136/221/2 +f 133/223/6 132/272/6 111/224/6 +f 108/216/35 106/270/35 137/226/35 +f 137/226/16 136/219/16 134/218/16 +f 132/210/36 130/268/36 113/182/36 diff --git a/src/main/resources/assets/hbm/models/chemplant_new_body.obj b/src/main/resources/assets/hbm/models/chemplant_new_body.obj index c2342adcd..e958c24e3 100644 --- a/src/main/resources/assets/hbm/models/chemplant_new_body.obj +++ b/src/main/resources/assets/hbm/models/chemplant_new_body.obj @@ -1,4 +1,4 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant_new_body.blend' +# Blender v2.79 (sub 0) OBJ File: 'chemplant_new_body.blend' # www.blender.org o Cube_Cube.001 v -1.500000 0.000000 1.500000 @@ -282,715 +282,918 @@ v -0.500000 2.750000 -0.625000 v -0.516747 2.750000 -0.687500 v -0.562500 2.750000 -0.733253 vt 0.000000 0.317073 -vt 0.000000 0.292683 vt 0.292683 0.292683 -vt -0.000000 0.000000 +vt 0.292683 0.317073 +vt 0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt -0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt 0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt 0.000000 0.292683 vt 0.292683 -0.000000 vt 0.024390 0.353659 -vt 0.292683 0.317073 vt 0.268293 0.353659 +vt 0.268293 0.353659 +vt 0.024390 0.353659 +vt 0.268293 0.353659 +vt 0.024390 0.353659 +vt 0.024390 0.353659 vt 0.292683 0.207317 -vt 0.390244 0.207317 vt 0.390244 0.256098 +vt 0.292683 0.256098 vt 0.390244 0.109756 -vt 0.378049 0.121951 vt 0.304878 0.121951 +vt 0.292683 0.109756 vt 0.365854 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.390244 0.207317 +vt 0.292683 0.256098 +vt 0.292683 0.207317 +vt 0.390244 0.256098 vt 0.317073 0.310976 vt 0.292683 0.256098 -vt 0.323171 0.140244 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.292683 0.207317 +vt 0.390244 0.207317 +vt 0.365854 0.310976 +vt 0.317073 0.310976 vt 0.323171 0.176829 vt 0.304878 0.195122 vt 0.378049 0.195122 -vt 0.292683 0.109756 +vt 0.378049 0.121951 vt 0.359756 0.140244 vt 0.359756 0.176829 +vt 0.323171 0.140244 +vt 0.292683 0.256098 +vt 0.390244 0.207317 +vt 0.390244 0.256098 +vt 0.304878 0.195122 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.390244 0.256098 +vt 0.317073 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.292683 0.256098 +vt 0.365854 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.292683 0.207317 +vt 0.390244 0.207317 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.317073 0.310976 +vt 0.365854 0.310976 +vt 0.323171 0.140244 +vt 0.304878 0.121951 +vt 0.378049 0.121951 +vt 0.292683 0.109756 +vt 0.390244 0.109756 +vt 0.378049 0.195122 +vt 0.359756 0.176829 +vt 0.359756 0.140244 +vt 0.323171 0.176829 vt 0.902439 0.262195 -vt 0.902439 0.335366 vt 0.871951 0.335366 -vt 0.841463 0.262195 -vt 0.841463 0.335366 -vt 0.810976 0.335366 vt 0.871951 0.262195 +vt 0.841463 0.262195 +vt 0.810976 0.335366 vt 0.810976 0.262195 +vt 0.841463 0.335366 vt 0.780488 0.335366 -vt 0.780488 0.365854 vt 0.780488 0.262195 +vt 0.780488 0.365854 vt 0.810976 0.365854 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.871951 0.262195 +vt 0.841463 0.262195 +vt 0.810976 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.335366 +vt 0.780488 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.365854 +vt 0.810976 0.365854 +vt 0.841463 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.262195 +vt 0.902439 0.335366 +vt 0.871951 0.262195 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.810976 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.335366 +vt 0.810976 0.365854 +vt 0.780488 0.365854 +vt 0.841463 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.262195 +vt 0.902439 0.335366 +vt 0.871951 0.262195 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.810976 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.335366 +vt 0.810976 0.365854 +vt 0.780488 0.365854 +vt 0.365854 0.359756 +vt 0.365854 0.310976 +vt 0.341463 0.335366 vt 0.365854 0.359756 vt 0.341463 0.335366 +vt 0.365854 0.310976 vt 0.341463 0.359756 vt 0.341463 0.310976 vt 0.317073 0.335366 +vt 0.341463 0.359756 +vt 0.317073 0.335366 +vt 0.341463 0.310976 vt 0.268293 0.378049 vt 0.024390 0.378049 +vt 0.024390 0.378049 +vt 0.268293 0.378049 +vt 0.268293 0.378049 +vt 0.024390 0.378049 +vt 0.268293 0.378049 vt 0.024390 0.621951 +vt 0.268293 0.621951 vt 0.292683 0.012195 -vt 0.390244 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.292683 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 +vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 vt 0.487805 0.146341 -vt 0.585366 0.146341 vt 0.560976 0.182927 +vt 0.512195 0.182927 vt 0.487805 -0.000000 vt 0.390244 0.146341 +vt 0.390244 -0.000000 vt 0.585366 0.000000 vt 0.780488 -0.000000 -vt 0.780488 0.146341 vt 0.682927 0.146341 +vt 0.682927 0.000000 vt 0.707317 0.182927 -vt 0.756098 0.182927 vt 0.756098 0.231707 -vt 0.463415 0.182927 +vt 0.707317 0.231707 +vt 0.780488 0.146341 +vt 0.707317 0.182927 vt 0.414634 0.182927 +vt 0.585366 0.146341 vt 0.658537 0.182927 vt 0.609756 0.182927 -vt 0.682927 0.000000 +vt 0.292683 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 +vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 vt 0.847561 0.207317 -vt 0.786585 0.243902 +vt 0.786585 0.207317 vt 0.817073 0.262195 -vt 0.853659 0.164634 -vt 0.853659 0.189024 -vt 0.835366 0.189024 -vt 0.871951 0.164634 -vt 0.871951 0.189024 -vt 0.835366 0.164634 -vt 0.817073 0.189024 -vt 0.817073 0.164634 -vt 0.798781 0.189024 -vt 0.798781 0.164634 -vt 0.780488 0.189024 -vt 1.000000 0.164634 -vt 1.000000 0.189024 -vt 0.981707 0.189024 -vt 0.981707 0.164634 -vt 0.963415 0.189024 -vt 0.963415 0.164634 -vt 0.945122 0.189024 -vt 0.890244 0.164634 -vt 0.890244 0.189024 -vt 0.908537 0.164634 -vt 0.908537 0.189024 -vt 0.926829 0.164634 -vt 0.926829 0.189024 -vt 0.945122 0.164634 -vt 0.817073 0.146341 -vt 0.835366 0.146341 -vt 0.798781 0.146341 -vt 0.981707 0.146341 -vt 1.000000 0.146341 -vt 0.963415 0.146341 -vt 0.945122 0.146341 -vt 0.926829 0.146341 -vt 0.853659 0.146341 -vt 0.871951 0.146341 -vt 0.890244 0.146341 -vt 0.908537 0.146341 -vt 0.945122 -0.000000 -vt 0.908537 0.000000 -vt 0.926829 -0.000000 -vt 0.963415 0.000000 -vt 0.981707 0.000000 -vt 1.000000 0.000000 -vt 0.890244 -0.000000 -vt 0.798781 -0.000000 -vt 0.817073 0.000000 -vt 0.835366 -0.000000 -vt 0.853659 -0.000000 -vt 0.871951 -0.000000 -vt 0.908537 0.237805 -vt 0.908537 0.213415 -vt 0.914634 0.213415 vt 0.902439 0.237805 -vt 0.890244 0.237805 vt 0.890244 0.231707 -vt 0.865854 0.189024 -vt 0.865854 0.213415 -vt 0.853659 0.213415 -vt 0.975610 0.189024 -vt 0.975610 0.213415 -vt 0.963415 0.213415 -vt 0.914634 0.189024 -vt 0.902439 0.213415 -vt 0.939024 0.189024 -vt 0.939024 0.213415 -vt 0.926829 0.213415 -vt 0.878049 0.189024 -vt 0.878049 0.213415 -vt 0.987805 0.189024 -vt 0.987805 0.213415 -vt 0.951219 0.189024 -vt 0.951219 0.213415 -vt 0.890244 0.213415 -vt 1.000000 0.213415 -vt 0.902439 0.189024 +vt 0.896341 0.225610 vt 0.890244 0.256098 -vt 0.884146 0.250000 vt 0.890244 0.243902 -vt 0.878049 0.225610 +vt 0.896341 0.250000 +vt 0.878049 0.213415 vt 0.871951 0.225610 +vt 0.865854 0.219512 vt 0.853659 0.237805 -vt 0.865854 0.237805 vt 0.865854 0.243902 +vt 0.859756 0.250000 vt 0.878049 0.262195 +vt 0.884146 0.250000 +vt 0.884146 0.225610 +vt 0.878049 0.225610 +vt 0.859756 0.225610 +vt 0.865854 0.237805 +vt 0.865854 0.256098 vt 0.878049 0.250000 vt 0.890244 0.219512 -vt 0.884146 0.225610 -vt 0.859756 0.225610 +vt 0.890244 0.237805 vt 0.865854 0.231707 -vt 0.865854 0.256098 vt 0.871951 0.250000 -vt 0.896341 0.225610 -vt 0.896341 0.250000 -vt 0.865854 0.219512 -vt 0.859756 0.250000 -vt 0.939024 0.237805 -vt 0.945122 0.213415 -vt 0.926829 0.237805 -vt 0.932927 0.213415 -vt 0.957317 0.237805 -vt 0.957317 0.213415 -vt 0.920732 0.237805 -vt 0.920732 0.213415 -vt 0.951219 0.237805 -vt 0.969512 0.237805 -vt 0.969512 0.213415 -vt 0.914634 0.237805 -vt 0.945122 0.237805 -vt 0.932927 0.237805 -vt 0.963415 0.237805 -vt 0.341463 0.524390 vt 0.298781 0.548781 +vt 0.298781 0.597561 vt 0.341463 0.621951 -vt 0.463415 0.402439 -vt 0.487805 0.402439 -vt 0.487805 0.621951 -vt 0.512195 0.402439 -vt 0.512195 0.621951 -vt 0.536585 0.402439 -vt 0.536585 0.621951 -vt 0.560976 0.402439 -vt 0.585366 0.402439 -vt 0.585366 0.621951 -vt 0.609756 0.402439 -vt 0.609756 0.621951 -vt 0.634146 0.402439 -vt 0.634146 0.621951 -vt 0.414634 0.402439 -vt 0.439024 0.402439 -vt 0.439024 0.621951 -vt 0.390244 0.402439 -vt 0.414634 0.621951 -vt 0.658537 0.402439 -vt 0.682927 0.402439 -vt 0.682927 0.621951 -vt 0.658537 0.621951 -vt 0.560976 0.621951 -vt 0.463415 0.621951 -vt 0.341463 0.426829 vt 0.298781 0.451219 -vt 0.439024 0.182927 -vt 0.487805 0.182927 -vt 0.512195 0.182927 -vt 0.536585 0.182927 -vt 0.585366 0.182927 -vt 0.634146 0.182927 -vt 0.682927 0.182927 -vt 0.390244 0.182927 -vt 0.268293 0.621951 -vt 0.707317 0.231707 +vt 0.298781 0.500000 +vt 0.341463 0.524390 +vt 0.000000 0.292683 +vt -0.000000 0.292683 +vt 0.000000 0.292683 +vt -0.000000 0.000000 +vt 0.268293 0.353659 +vt 0.390244 0.207317 +vt 0.317073 0.310976 +vt 0.390244 0.256098 +vt 0.365854 0.310976 +vt 0.292683 0.207317 +vt 0.365854 0.310976 +vt 0.317073 0.310976 +vt 0.902439 0.335366 +vt 0.902439 0.335366 +vt 0.024390 0.378049 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.756098 0.182927 +vt 0.756098 0.182927 +vt 0.463415 0.182927 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 vt 0.835366 0.256098 vt 0.847561 0.243902 vt 0.853659 0.225610 vt 0.835366 0.195122 +vt 0.817073 0.189024 vt 0.798781 0.195122 -vt 0.786585 0.207317 vt 0.780488 0.225610 +vt 0.786585 0.243902 vt 0.798781 0.256098 -vt 0.780488 0.164634 -vt 0.975610 0.237805 vt 0.365854 0.615854 vt 0.384146 0.597561 vt 0.390244 0.573171 vt 0.384146 0.548781 vt 0.365854 0.530488 +vt 0.341463 0.524390 vt 0.317073 0.530488 vt 0.292683 0.573171 -vt 0.298781 0.597561 vt 0.317073 0.615854 -vt 0.390244 0.621951 vt 0.365854 0.518293 vt 0.384146 0.500000 vt 0.390244 0.475610 vt 0.384146 0.451219 vt 0.365854 0.432927 +vt 0.341463 0.426829 vt 0.317073 0.432927 vt 0.292683 0.475610 -vt 0.298781 0.500000 vt 0.317073 0.518293 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -vn 0.965900 0.000000 -0.258800 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn 0.258800 0.000000 -0.965900 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn -0.965900 0.000000 -0.258800 -vn 0.694700 -0.694700 0.186200 -vn 0.508600 -0.694700 0.508600 -vn 0.186200 -0.694700 0.694700 -vn -0.186200 -0.694700 0.694700 -vn -0.508600 -0.694700 0.508600 -vn -0.694700 -0.694700 0.186200 -vn -0.694700 -0.694700 -0.186200 -vn 0.694700 -0.694700 -0.186200 -vn 0.508600 -0.694700 -0.508600 -vn 0.186200 -0.694700 -0.694700 -vn -0.186200 -0.694700 -0.694700 -vn -0.508600 -0.694700 -0.508600 -vn -0.962800 0.080200 -0.258000 -vn -0.704800 0.080200 -0.704800 -vn -0.962800 0.080200 0.258000 -vn -0.704800 0.080200 0.704800 -vn -0.258000 0.080200 0.962800 -vn -0.258000 0.080200 -0.962800 -vn 0.258000 0.080200 -0.962800 -vn 0.258000 0.080200 0.962800 -vn 0.704800 0.080200 0.704800 -vn 0.962800 0.080200 0.258000 -vn 0.962800 0.080200 -0.258000 -vn 0.704800 0.080200 -0.704800 +vt 0.853659 0.164634 +vt 0.835366 0.189024 +vt 0.835366 0.164634 +vt 0.871951 0.164634 +vt 0.853659 0.189024 +vt 0.817073 0.189024 +vt 0.817073 0.164634 +vt 0.798781 0.189024 +vt 0.798781 0.164634 +vt 0.780488 0.189024 +vt 0.780488 0.164634 +vt 1.000000 0.164634 +vt 0.981707 0.189024 +vt 0.981707 0.164634 +vt 0.963415 0.189024 +vt 0.963415 0.164634 +vt 0.945122 0.189024 +vt 0.945122 0.164634 +vt 0.890244 0.164634 +vt 0.871951 0.189024 +vt 0.908537 0.164634 +vt 0.890244 0.189024 +vt 0.926829 0.164634 +vt 0.908537 0.189024 +vt 0.926829 0.189024 +vt 0.817073 0.146341 +vt 0.780488 0.146341 +vt 0.981707 0.146341 +vt 0.945122 0.146341 +vt 0.926829 0.146341 +vt 0.835366 0.146341 +vt 0.853659 0.146341 +vt 0.871951 0.146341 +vt 0.890244 0.146341 +vt 0.908537 0.146341 +vt 0.945122 -0.000000 +vt 0.926829 -0.000000 +vt 0.908537 0.000000 +vt 0.963415 0.000000 +vt 0.981707 0.000000 +vt 0.963415 0.146341 +vt 1.000000 0.000000 +vt 0.890244 -0.000000 +vt 0.871951 -0.000000 +vt 0.798781 -0.000000 +vt 0.780488 -0.000000 +vt 0.817073 0.000000 +vt 0.798781 0.146341 +vt 0.853659 -0.000000 +vt 0.835366 -0.000000 +vt 0.908537 0.237805 +vt 0.914634 0.213415 +vt 0.914634 0.237805 +vt 0.865854 0.189024 +vt 0.853659 0.213415 +vt 0.853659 0.189024 +vt 0.975610 0.189024 +vt 0.963415 0.213415 +vt 0.963415 0.189024 +vt 0.902439 0.189024 +vt 0.914634 0.213415 +vt 0.902439 0.213415 +vt 0.926829 0.189024 +vt 0.939024 0.213415 +vt 0.926829 0.213415 +vt 0.878049 0.189024 +vt 0.865854 0.213415 +vt 0.987805 0.189024 +vt 0.975610 0.213415 +vt 0.914634 0.189024 +vt 0.939024 0.189024 +vt 0.951219 0.213415 +vt 0.890244 0.189024 +vt 0.878049 0.213415 +vt 1.000000 0.189024 +vt 0.987805 0.213415 +vt 0.951219 0.189024 +vt 0.890244 0.213415 +vt 0.939024 0.237805 +vt 0.945122 0.213415 +vt 0.945122 0.237805 +vt 0.926829 0.237805 +vt 0.932927 0.213415 +vt 0.932927 0.237805 +vt 0.957317 0.237805 +vt 0.963415 0.213415 +vt 0.963415 0.237805 +vt 0.902439 0.237805 +vt 0.908537 0.213415 +vt 0.920732 0.237805 +vt 0.926829 0.213415 +vt 0.951219 0.237805 +vt 0.957317 0.213415 +vt 0.969512 0.237805 +vt 0.975610 0.213415 +vt 0.975610 0.237805 +vt 0.920732 0.213415 +vt 0.951219 0.213415 +vt 0.939024 0.213415 +vt 0.969512 0.213415 +vt 0.463415 0.402439 +vt 0.487805 0.621951 +vt 0.463415 0.621951 +vt 0.487805 0.402439 +vt 0.512195 0.621951 +vt 0.512195 0.402439 +vt 0.536585 0.621951 +vt 0.560976 0.402439 +vt 0.585366 0.621951 +vt 0.560976 0.621951 +vt 0.585366 0.402439 +vt 0.609756 0.621951 +vt 0.609756 0.402439 +vt 0.634146 0.621951 +vt 0.414634 0.402439 +vt 0.439024 0.621951 +vt 0.414634 0.621951 +vt 0.390244 0.402439 +vt 0.390244 0.621951 +vt 0.658537 0.402439 +vt 0.682927 0.621951 +vt 0.658537 0.621951 +vt 0.634146 0.402439 +vt 0.536585 0.402439 +vt 0.439024 0.402439 +vt 0.439024 0.182927 +vt 0.463415 0.402439 +vt 0.439024 0.402439 +vt 0.463415 0.182927 +vt 0.487805 0.402439 +vt 0.487805 0.182927 +vt 0.512195 0.402439 +vt 0.512195 0.182927 +vt 0.536585 0.402439 +vt 0.536585 0.182927 +vt 0.560976 0.402439 +vt 0.560976 0.182927 +vt 0.585366 0.402439 +vt 0.585366 0.182927 +vt 0.609756 0.402439 +vt 0.609756 0.182927 +vt 0.634146 0.402439 +vt 0.634146 0.182927 +vt 0.658537 0.402439 +vt 0.658537 0.182927 +vt 0.682927 0.402439 +vt 0.390244 0.182927 +vt 0.414634 0.402439 +vt 0.390244 0.402439 +vt 0.414634 0.182927 +vt 1.000000 0.189024 +vt 1.000000 0.146341 +vt 1.000000 0.213415 +vt 0.902439 0.213415 +vt 0.682927 0.402439 +vt 0.682927 0.182927 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn -0.4472 0.0000 0.8944 +vn -0.4472 0.8944 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.4472 0.0000 -0.8944 +vn 0.3511 0.0000 -0.9363 +vn 0.3511 0.0000 0.9363 +vn 0.3511 0.9363 0.0000 +vn 0.3511 -0.9363 0.0000 +vn 0.4472 0.0000 0.8944 +vn 0.4472 0.8944 0.0000 +vn 0.4472 0.0000 -0.8944 +vn -0.3511 0.0000 -0.9363 +vn -0.3511 0.0000 0.9363 +vn -0.3511 0.9363 0.0000 +vn -0.3511 -0.9363 0.0000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn -0.5000 0.0000 -0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.6124 -0.7071 0.3536 +vn 0.7071 -0.7071 0.0000 +vn 0.3536 -0.7071 0.6124 +vn -0.0000 -0.7071 0.7071 +vn -0.3536 -0.7071 0.6124 +vn -0.6124 -0.7071 0.3536 +vn -0.7071 -0.7071 -0.0000 +vn -0.6124 -0.7071 -0.3536 +vn 0.6124 -0.7071 -0.3536 +vn 0.3536 -0.7071 -0.6124 +vn 0.0000 -0.7071 -0.7071 +vn -0.3536 -0.7071 -0.6124 +vn -0.9965 0.0830 0.0000 +vn -0.8630 0.0830 -0.4983 +vn -0.4983 0.0830 -0.8630 +vn -0.8630 0.0830 0.4983 +vn -0.4983 0.0830 0.8630 +vn -0.0000 0.0830 0.9965 +vn 0.0000 0.0830 -0.9965 +vn 0.4983 0.0830 -0.8630 +vn 0.4983 0.0830 0.8630 +vn 0.8630 0.0830 0.4983 +vn 0.9965 0.0830 0.0000 +vn 0.8630 0.0830 -0.4983 s off -f 4/1/1 3/2/1 1/3/1 -f 8/1/2 7/2/2 3/3/2 -f 6/1/3 5/2/3 7/3/3 -f 2/1/4 1/2/4 5/3/4 -f 3/2/5 7/4/5 5/5/5 -f 12/6/6 6/1/6 8/7/6 -f 4/1/7 2/7/7 9/8/7 -f 8/1/8 4/7/8 10/8/8 -f 6/7/9 12/8/9 9/6/9 -f 20/9/2 19/10/2 22/11/2 -f 19/12/3 26/13/3 28/14/3 -f 14/15/10 13/16/10 24/17/10 -f 22/10/5 19/11/5 17/17/5 -f 21/11/11 16/15/11 14/16/11 -f 20/10/12 21/11/12 23/17/12 -f 23/11/4 24/17/4 17/9/4 -f 21/17/13 22/11/13 15/15/13 -f 28/14/14 32/18/14 31/19/14 -f 18/9/3 27/20/3 25/21/3 -f 20/10/3 25/21/3 26/13/3 -f 17/22/3 28/14/3 27/20/3 -f 31/19/3 32/18/3 30/23/3 -f 25/21/15 29/24/15 30/23/15 -f 26/13/16 30/23/16 32/18/16 -f 27/20/17 31/19/17 29/24/17 -f 42/17/2 39/9/2 40/10/2 -f 48/20/1 46/21/1 39/10/1 -f 44/11/18 33/15/18 34/16/18 -f 37/9/5 39/10/5 42/11/5 -f 34/15/19 36/16/19 41/17/19 -f 43/11/12 41/17/12 40/9/12 -f 37/10/4 44/11/4 43/17/4 -f 35/16/20 42/17/20 41/11/20 -f 51/18/21 52/19/21 48/20/21 -f 45/13/1 47/14/1 38/22/1 -f 46/21/1 45/13/1 40/12/1 -f 47/14/1 48/20/1 37/9/1 -f 50/24/1 52/19/1 51/18/1 -f 50/24/22 49/23/22 45/13/22 -f 52/19/23 50/24/23 46/21/23 -f 49/23/24 51/18/24 47/14/24 -f 59/25/3 53/26/3 54/27/3 -f 56/28/1 58/29/1 57/30/1 -f 60/31/12 54/27/12 58/29/12 -f 55/32/5 57/30/5 53/33/5 -f 54/34/2 53/33/2 57/30/2 -f 67/25/3 61/26/3 62/27/3 -f 64/28/1 66/29/1 65/30/1 -f 68/31/12 62/27/12 66/29/12 -f 63/32/5 65/30/5 61/33/5 -f 62/34/2 61/33/2 65/30/2 -f 70/29/3 69/30/3 75/32/3 -f 73/26/1 74/27/1 72/31/1 -f 74/27/12 70/29/12 76/28/12 -f 69/30/5 73/33/5 71/35/5 -f 73/33/4 69/30/4 70/36/4 -f 78/29/3 77/30/3 83/32/3 -f 81/26/1 82/27/1 80/31/1 -f 82/27/12 78/29/12 84/28/12 -f 77/30/5 81/33/5 79/35/5 -f 81/33/4 77/30/4 78/36/4 -f 86/37/2 85/15/2 87/38/2 -f 89/37/4 90/38/4 88/15/4 -f 92/39/2 91/40/2 93/41/2 -f 95/39/4 96/41/4 94/40/4 -f 10/6/1 9/8/1 98/42/1 -f 97/43/3 12/6/3 11/8/3 -f 9/6/4 12/8/4 97/42/4 -f 99/42/2 100/43/2 11/6/2 -f 98/44/12 97/43/12 100/42/12 -f 131/45/12 132/46/12 129/12/12 -f 128/47/3 132/46/3 131/45/3 -f 125/47/1 130/46/1 129/45/1 -f 127/47/2 129/46/2 132/45/2 -f 126/47/4 131/46/4 130/45/4 -f 163/45/12 164/46/12 161/12/12 -f 160/47/3 164/46/3 163/45/3 -f 157/47/1 162/46/1 161/45/1 -f 159/47/2 161/46/2 164/45/2 -f 158/47/4 163/46/4 162/45/4 -f 172/48/8 169/49/8 173/50/8 -f 168/51/3 172/48/3 171/52/3 -f 167/53/2 169/49/2 172/48/2 -f 166/54/4 171/55/4 170/56/4 -f 175/57/12 176/58/12 173/59/12 -f 171/55/9 175/58/9 174/57/9 -f 172/48/6 176/60/6 175/61/6 -f 170/56/7 174/62/7 173/63/7 -f 167/53/1 165/64/1 170/56/1 -f 207/45/12 208/46/12 205/12/12 -f 204/47/3 208/46/3 207/45/3 -f 201/47/1 206/46/1 205/45/1 -f 203/47/2 205/46/2 208/45/2 -f 202/47/4 207/46/4 206/45/4 -f 197/65/12 191/66/12 179/67/12 -f 215/68/25 194/69/25 195/70/25 -f 216/71/26 193/72/26 194/69/26 -f 214/73/27 195/70/27 196/74/27 -f 213/75/28 196/74/28 197/76/28 -f 212/77/29 197/76/29 198/78/29 -f 211/79/30 198/80/30 199/81/30 -f 210/82/31 199/81/31 200/83/31 -f 209/84/32 200/83/32 179/85/32 -f 217/86/33 192/87/33 193/72/33 -f 218/88/34 191/89/34 192/87/34 -f 219/90/35 180/91/35 191/89/35 -f 220/92/36 179/85/36 180/91/36 -f 229/93/37 230/94/37 214/73/37 -f 212/77/38 228/95/38 229/93/38 -f 227/55/39 228/95/39 212/77/39 -f 226/96/40 227/97/40 211/79/40 -f 209/84/41 225/98/41 226/96/41 -f 224/99/42 225/98/42 209/84/42 -f 223/100/43 224/99/43 220/92/43 -f 214/73/44 230/94/44 231/101/44 -f 231/101/45 232/102/45 216/71/45 -f 216/71/46 232/102/46 221/103/46 -f 221/103/47 222/104/47 218/88/47 -f 222/104/48 223/100/48 219/90/48 -f 190/105/49 224/99/49 223/100/49 -f 188/106/50 189/107/50 223/100/50 -f 190/105/51 177/108/51 225/98/51 -f 178/109/52 226/96/52 225/98/52 -f 181/110/53 227/97/53 226/96/53 -f 187/111/54 188/106/54 222/104/54 -f 187/111/55 221/103/55 232/102/55 -f 182/112/56 228/95/56 227/55/56 -f 183/113/57 229/93/57 228/95/57 -f 184/114/58 230/94/58 229/93/58 -f 185/115/59 231/101/59 230/94/59 -f 185/115/60 186/116/60 232/102/60 -f 262/117/26 274/118/26 273/119/26 -f 246/120/12 258/121/12 268/122/12 -f 240/123/29 252/124/29 251/125/29 -f 237/126/32 249/127/32 248/128/32 -f 244/129/26 256/119/26 255/130/26 -f 234/131/34 245/132/34 246/133/34 -f 241/134/28 253/135/28 252/124/28 -f 237/126/31 238/136/31 250/137/31 -f 233/91/33 246/133/33 256/119/33 -f 235/138/35 247/139/35 245/132/35 -f 242/87/27 254/140/27 253/135/27 -f 239/80/30 251/141/30 250/137/30 -f 236/83/36 248/128/36 247/139/36 -f 243/142/25 255/130/25 254/140/25 -f 247/143/12 259/144/12 257/145/12 -f 254/135/12 266/146/12 265/147/12 -f 251/148/12 263/149/12 262/150/12 -f 248/151/12 260/152/12 259/144/12 -f 254/135/12 255/153/12 267/154/12 -f 251/148/12 252/155/12 264/156/12 -f 249/157/12 261/158/12 260/152/12 -f 256/159/12 268/122/12 267/154/12 -f 245/160/12 257/145/12 258/121/12 -f 253/161/12 265/147/12 264/156/12 -f 250/162/12 262/150/12 261/158/12 -f 258/163/30 270/132/30 280/164/30 -f 259/165/28 271/133/28 269/166/28 -f 266/167/36 278/168/36 277/128/36 -f 263/120/33 275/130/33 274/118/33 -f 260/169/27 272/170/27 271/133/27 -f 267/171/32 279/139/32 278/168/32 -f 264/172/34 276/173/34 275/127/34 -f 261/174/25 273/119/25 272/170/25 -f 268/175/31 280/164/31 279/139/31 -f 257/176/29 269/166/29 270/132/29 -f 265/177/35 277/128/35 276/173/35 -f 107/178/12 109/179/12 101/180/12 -f 116/181/32 117/182/32 105/183/32 -f 117/182/31 118/184/31 106/185/31 -f 118/184/30 119/186/30 107/187/30 -f 120/188/28 121/189/28 109/190/28 -f 121/189/27 122/191/27 110/192/27 -f 122/191/25 123/193/25 111/194/25 -f 113/195/35 115/196/35 103/197/35 -f 114/198/34 113/195/34 102/199/34 -f 124/200/33 114/201/33 101/202/33 -f 123/193/26 124/200/26 112/203/26 -f 119/186/29 120/188/29 108/204/29 -f 115/196/36 116/181/36 104/205/36 -f 139/206/12 141/207/12 133/178/12 -f 147/208/36 148/60/36 136/181/36 -f 148/60/32 149/209/32 137/182/32 -f 149/209/31 150/210/31 138/184/31 -f 150/210/30 151/211/30 139/186/30 -f 151/211/29 152/50/29 140/188/29 -f 152/50/28 153/212/28 141/189/28 -f 153/212/27 154/63/27 142/191/27 -f 154/63/25 155/213/25 143/193/25 -f 155/213/26 156/62/26 144/200/26 -f 156/62/33 146/214/33 133/201/33 -f 146/215/34 145/61/34 134/195/34 -f 145/61/35 147/208/35 135/196/35 -f 2/7/1 4/1/1 1/3/1 -f 4/7/2 8/1/2 3/3/2 -f 8/7/3 6/1/3 7/3/3 -f 6/7/4 2/1/4 5/3/4 -f 1/3/5 3/2/5 5/5/5 -f 11/8/6 12/6/6 8/7/6 -f 10/6/7 4/1/7 9/8/7 -f 11/6/8 8/1/8 10/8/8 -f 2/1/9 6/7/9 9/6/9 -f 21/17/2 20/9/2 22/11/2 -f 17/22/3 19/12/3 28/14/3 -f 23/11/10 14/15/10 24/17/10 -f 24/9/5 22/10/5 17/17/5 -f 23/17/11 21/11/11 14/16/11 -f 18/9/12 20/10/12 23/17/12 -f 18/10/4 23/11/4 17/9/4 -f 16/16/13 21/17/13 15/15/13 -f 27/20/14 28/14/14 31/19/14 -f 20/10/3 18/9/3 25/21/3 -f 19/12/3 20/10/3 26/13/3 -f 18/9/3 17/22/3 27/20/3 -f 29/24/3 31/19/3 30/23/3 -f 26/13/15 25/21/15 30/23/15 -f 28/14/16 26/13/16 32/18/16 -f 25/21/17 27/20/17 29/24/17 -f 41/11/2 42/17/2 40/10/2 -f 37/9/1 48/20/1 39/10/1 -f 43/17/18 44/11/18 34/16/18 -f 44/17/5 37/9/5 42/11/5 -f 43/11/19 34/15/19 41/17/19 -f 38/10/12 43/11/12 40/9/12 -f 38/9/4 37/10/4 43/17/4 -f 36/15/20 35/16/20 41/11/20 -f 47/14/21 51/18/21 48/20/21 -f 40/12/1 45/13/1 38/22/1 -f 39/10/1 46/21/1 40/12/1 -f 38/22/1 47/14/1 37/9/1 -f 49/23/1 50/24/1 51/18/1 -f 46/21/22 50/24/22 45/13/22 -f 48/20/23 52/19/23 46/21/23 -f 45/13/24 49/23/24 47/14/24 -f 60/31/3 59/25/3 54/27/3 -f 55/32/1 56/28/1 57/30/1 -f 56/28/12 60/31/12 58/29/12 -f 59/35/5 55/32/5 53/33/5 -f 58/36/2 54/34/2 57/30/2 -f 68/31/3 67/25/3 62/27/3 -f 63/32/1 64/28/1 65/30/1 -f 64/28/12 68/31/12 66/29/12 -f 67/35/5 63/32/5 61/33/5 -f 66/36/2 62/34/2 65/30/2 -f 76/28/3 70/29/3 75/32/3 -f 71/25/1 73/26/1 72/31/1 -f 72/31/12 74/27/12 76/28/12 -f 75/32/5 69/30/5 71/35/5 -f 74/34/4 73/33/4 70/36/4 -f 84/28/3 78/29/3 83/32/3 -f 79/25/1 81/26/1 80/31/1 -f 80/31/12 82/27/12 84/28/12 -f 83/32/5 77/30/5 79/35/5 -f 82/34/4 81/33/4 78/36/4 -f 99/43/1 10/6/1 98/42/1 -f 100/42/3 97/43/3 11/8/3 -f 98/43/4 9/6/4 97/42/4 -f 10/8/2 99/42/2 11/6/2 -f 99/216/12 98/44/12 100/42/12 -f 130/22/12 131/45/12 129/12/12 -f 126/5/3 128/47/3 131/45/3 -f 127/5/1 125/47/1 129/45/1 -f 128/5/2 127/47/2 132/45/2 -f 125/5/4 126/47/4 130/45/4 -f 162/22/12 163/45/12 161/12/12 -f 158/5/3 160/47/3 163/45/3 -f 159/5/1 157/47/1 161/45/1 -f 160/5/2 159/47/2 164/45/2 -f 157/5/4 158/47/4 162/45/4 -f 176/210/8 172/48/8 173/50/8 -f 166/47/3 168/51/3 171/52/3 -f 168/51/2 167/53/2 172/48/2 -f 165/64/4 166/54/4 170/56/4 -f 174/217/12 175/57/12 173/59/12 -f 170/56/9 171/55/9 174/57/9 -f 171/52/6 172/48/6 175/61/6 -f 169/49/7 170/56/7 173/63/7 -f 169/49/1 167/53/1 170/56/1 -f 206/22/12 207/45/12 205/12/12 -f 202/5/3 204/47/3 207/45/3 -f 203/5/1 201/47/1 205/45/1 -f 204/5/2 203/47/2 208/45/2 -f 201/5/4 202/47/4 206/45/4 -f 179/67/12 200/218/12 199/219/12 -f 199/219/12 198/220/12 197/65/12 -f 197/65/12 196/221/12 195/74/12 -f 195/74/12 194/222/12 193/223/12 -f 193/223/12 192/224/12 191/66/12 -f 191/66/12 180/225/12 179/67/12 -f 179/67/12 199/219/12 197/65/12 -f 197/65/12 195/74/12 193/223/12 -f 193/223/12 191/66/12 197/65/12 -f 214/73/25 215/68/25 195/70/25 -f 215/68/26 216/71/26 194/69/26 -f 213/75/27 214/73/27 196/74/27 -f 212/77/28 213/75/28 197/76/28 -f 211/226/29 212/77/29 198/78/29 -f 210/82/30 211/79/30 199/81/30 -f 209/84/31 210/82/31 200/83/31 -f 220/92/32 209/84/32 179/85/32 -f 216/71/33 217/86/33 193/72/33 -f 217/86/34 218/88/34 192/87/34 -f 218/88/35 219/90/35 191/89/35 -f 219/90/36 220/92/36 180/91/36 -f 213/75/37 229/93/37 214/73/37 -f 213/75/38 212/77/38 229/93/38 -f 211/226/39 227/55/39 212/77/39 -f 210/82/40 226/96/40 211/79/40 -f 210/82/41 209/84/41 226/96/41 -f 220/92/42 224/99/42 209/84/42 -f 219/90/43 223/100/43 220/92/43 -f 215/68/44 214/73/44 231/101/44 -f 215/68/45 231/101/45 216/71/45 -f 217/86/46 216/71/46 221/103/46 -f 217/86/47 221/103/47 218/88/47 -f 218/88/48 222/104/48 219/90/48 -f 189/107/49 190/105/49 223/100/49 -f 222/104/50 188/106/50 223/100/50 -f 224/99/51 190/105/51 225/98/51 -f 177/108/52 178/109/52 225/98/52 -f 178/109/53 181/110/53 226/96/53 -f 221/103/54 187/111/54 222/104/54 -f 186/116/55 187/111/55 232/102/55 -f 181/54/56 182/112/56 227/55/56 -f 182/112/57 183/113/57 228/95/57 -f 183/113/58 184/114/58 229/93/58 -f 184/114/59 185/115/59 230/94/59 -f 231/101/60 185/115/60 232/102/60 -f 261/174/26 262/117/26 273/119/26 -f 256/159/12 246/120/12 268/122/12 -f 239/69/29 240/123/29 251/125/29 -f 236/83/32 237/126/32 248/128/32 -f 243/142/26 244/129/26 255/130/26 -f 233/91/34 234/131/34 246/133/34 -f 240/123/28 241/134/28 252/124/28 -f 249/127/31 237/126/31 250/137/31 -f 244/129/33 233/91/33 256/119/33 -f 234/131/35 235/138/35 245/132/35 -f 241/134/27 242/87/27 253/135/27 -f 238/136/30 239/80/30 250/137/30 -f 235/138/36 236/83/36 247/139/36 -f 242/87/25 243/142/25 254/140/25 -f 245/160/12 247/143/12 257/145/12 -f 253/161/12 254/135/12 265/147/12 -f 250/162/12 251/148/12 262/150/12 -f 247/143/12 248/151/12 259/144/12 -f 266/146/12 254/135/12 267/154/12 -f 263/149/12 251/148/12 264/156/12 -f 248/151/12 249/157/12 260/152/12 -f 255/153/12 256/159/12 267/154/12 -f 246/120/12 245/160/12 258/121/12 -f 252/155/12 253/161/12 264/156/12 -f 249/157/12 250/162/12 261/158/12 -f 268/175/30 258/163/30 280/164/30 -f 257/176/28 259/165/28 269/166/28 -f 265/177/36 266/167/36 277/128/36 -f 262/117/33 263/120/33 274/118/33 -f 259/165/27 260/169/27 271/133/27 -f 266/167/32 267/171/32 278/168/32 -f 263/227/34 264/172/34 275/127/34 -f 260/169/25 261/174/25 272/170/25 -f 267/171/31 268/175/31 279/139/31 -f 258/163/29 257/176/29 270/132/29 -f 264/172/35 265/177/35 276/173/35 -f 101/180/12 102/228/12 103/229/12 -f 103/229/12 104/230/12 105/231/12 -f 105/231/12 106/232/12 107/178/12 -f 107/178/12 108/233/12 109/179/12 -f 109/179/12 110/234/12 111/235/12 -f 111/235/12 112/236/12 101/180/12 -f 101/180/12 103/229/12 105/231/12 -f 105/231/12 107/178/12 101/180/12 -f 109/179/12 111/235/12 101/180/12 -f 104/205/32 116/181/32 105/183/32 -f 105/183/31 117/182/31 106/185/31 -f 106/185/30 118/184/30 107/187/30 -f 108/204/28 120/188/28 109/190/28 -f 109/190/27 121/189/27 110/192/27 -f 110/192/25 122/191/25 111/194/25 -f 102/199/35 113/195/35 103/197/35 -f 101/237/34 114/198/34 102/199/34 -f 112/203/33 124/200/33 101/202/33 -f 111/194/26 123/193/26 112/203/26 -f 107/187/29 119/186/29 108/204/29 -f 103/197/36 115/196/36 104/205/36 -f 133/178/12 134/238/12 135/239/12 -f 135/239/12 136/240/12 133/178/12 -f 137/241/12 138/242/12 139/206/12 -f 139/206/12 140/243/12 141/207/12 -f 141/207/12 142/244/12 143/245/12 -f 143/245/12 144/246/12 133/178/12 -f 133/178/12 136/240/12 137/241/12 -f 137/241/12 139/206/12 133/178/12 -f 141/207/12 143/245/12 133/178/12 -f 135/196/36 147/208/36 136/181/36 -f 136/181/32 148/60/32 137/182/32 -f 137/182/31 149/209/31 138/184/31 -f 138/184/30 150/210/30 139/186/30 -f 139/186/29 151/211/29 140/188/29 -f 140/188/28 152/50/28 141/189/28 -f 141/189/27 153/212/27 142/191/27 -f 142/191/25 154/63/25 143/193/25 -f 143/193/26 155/213/26 144/200/26 -f 144/200/33 156/62/33 133/201/33 -f 133/198/34 146/215/34 134/195/34 -f 134/195/35 145/61/35 135/196/35 +f 4/1/1 1/2/1 2/3/1 +f 8/4/2 3/5/2 4/6/2 +f 6/7/3 7/8/3 8/9/3 +f 2/10/4 5/11/4 6/12/4 +f 3/13/5 5/14/5 1/2/5 +f 12/15/6 8/9/6 11/16/6 +f 4/1/7 9/17/7 10/18/7 +f 8/4/8 10/19/8 11/20/8 +f 6/12/9 9/21/9 2/10/9 +f 20/22/2 22/23/2 21/24/2 +f 19/25/3 28/26/3 17/27/3 +f 14/28/10 24/29/10 23/30/10 +f 22/31/5 17/32/5 24/33/5 +f 21/34/11 14/35/11 23/36/11 +f 20/37/12 23/36/12 18/38/12 +f 23/30/4 17/39/4 18/40/4 +f 21/24/13 15/41/13 16/42/13 +f 28/26/14 31/43/14 27/44/14 +f 18/38/3 25/45/3 20/37/3 +f 20/37/3 26/46/3 19/25/3 +f 17/27/3 27/44/3 18/38/3 +f 31/43/3 30/47/3 29/48/3 +f 25/45/15 30/47/15 26/46/15 +f 26/46/16 32/49/16 28/26/16 +f 27/44/17 29/48/17 25/45/17 +f 42/50/2 40/51/2 41/52/2 +f 48/53/1 39/54/1 37/55/1 +f 44/56/18 34/57/18 43/58/18 +f 37/55/5 42/59/5 44/60/5 +f 34/61/19 41/62/19 43/63/19 +f 43/63/12 40/64/12 38/65/12 +f 37/66/4 43/58/4 38/67/4 +f 35/68/20 41/52/20 36/69/20 +f 51/70/21 48/53/21 47/71/21 +f 45/72/1 38/73/1 40/74/1 +f 46/75/1 40/74/1 39/54/1 +f 47/71/1 37/55/1 38/73/1 +f 50/76/1 51/70/1 49/77/1 +f 50/76/22 45/72/22 46/75/22 +f 52/78/23 46/75/23 48/53/23 +f 49/77/24 47/71/24 45/72/24 +f 59/79/3 54/80/3 60/81/3 +f 56/82/1 57/83/1 55/84/1 +f 60/81/12 58/85/12 56/82/12 +f 55/84/5 53/86/5 59/87/5 +f 54/88/2 57/83/2 58/89/2 +f 67/90/3 62/91/3 68/92/3 +f 64/93/1 65/94/1 63/95/1 +f 68/92/12 66/96/12 64/93/12 +f 63/95/5 61/97/5 67/98/5 +f 62/99/2 65/94/2 66/100/2 +f 70/101/3 75/102/3 76/103/3 +f 73/104/1 72/105/1 71/106/1 +f 74/107/12 76/103/12 72/105/12 +f 69/108/5 71/109/5 75/102/5 +f 73/110/4 70/111/4 74/112/4 +f 78/113/3 83/114/3 84/115/3 +f 81/116/1 80/117/1 79/118/1 +f 82/119/12 84/115/12 80/117/12 +f 77/120/5 79/121/5 83/114/5 +f 81/122/4 78/123/4 82/124/4 +f 86/125/2 85/126/2 87/127/2 +f 89/128/4 90/129/4 88/130/4 +f 92/131/2 91/132/2 93/133/2 +f 95/134/4 96/135/4 94/136/4 +f 10/18/1 98/137/1 99/138/1 +f 97/139/3 11/16/3 100/140/3 +f 9/21/4 97/141/4 98/142/4 +f 99/143/2 11/20/2 10/19/2 +f 98/144/12 100/140/12 99/145/12 +f 131/146/12 129/147/12 130/148/12 +f 128/149/3 131/146/3 126/150/3 +f 125/151/1 129/152/1 127/153/1 +f 127/154/2 132/155/2 128/156/2 +f 126/157/4 130/158/4 125/159/4 +f 163/160/12 161/161/12 162/162/12 +f 160/163/3 163/160/3 158/164/3 +f 157/165/1 161/166/1 159/167/1 +f 159/168/2 164/169/2 160/170/2 +f 158/171/4 162/172/4 157/173/4 +f 172/174/8 173/175/8 176/176/8 +f 168/177/3 171/178/3 166/179/3 +f 167/180/2 172/174/2 168/177/2 +f 166/181/4 170/182/4 165/183/4 +f 175/184/12 173/185/12 174/186/12 +f 171/187/9 174/188/9 170/182/9 +f 172/174/6 175/189/6 171/178/6 +f 169/190/7 174/191/7 173/192/7 +f 167/180/1 170/182/1 169/190/1 +f 207/193/12 205/194/12 206/195/12 +f 204/196/3 207/193/3 202/197/3 +f 201/198/1 205/199/1 203/200/1 +f 203/201/2 208/202/2 204/203/2 +f 202/204/4 206/205/4 201/206/4 +f 197/207/12 193/208/12 179/209/12 +f 246/210/12 268/211/12 256/212/12 +f 247/213/12 257/214/12 245/215/12 +f 254/216/12 265/217/12 253/218/12 +f 251/219/12 262/220/12 250/221/12 +f 248/222/12 259/223/12 247/213/12 +f 254/216/12 267/224/12 266/225/12 +f 252/226/12 263/227/12 251/219/12 +f 249/228/12 260/229/12 248/222/12 +f 256/212/12 267/224/12 255/230/12 +f 245/215/12 258/231/12 246/210/12 +f 253/218/12 264/232/12 252/226/12 +f 250/221/12 261/233/12 249/228/12 +f 109/234/12 111/235/12 101/236/12 +f 141/237/12 143/238/12 133/239/12 +f 4/1/1 3/13/1 1/2/1 +f 8/4/2 7/240/2 3/5/2 +f 6/7/3 5/241/3 7/8/3 +f 2/10/4 1/242/4 5/11/4 +f 3/13/5 7/243/5 5/14/5 +f 12/15/6 6/7/6 8/9/6 +f 4/1/7 2/3/7 9/17/7 +f 8/4/8 4/6/8 10/19/8 +f 6/12/9 12/244/9 9/21/9 +f 20/22/2 19/245/2 22/23/2 +f 19/25/3 26/46/3 28/26/3 +f 14/28/10 13/246/10 24/29/10 +f 22/31/5 19/247/5 17/32/5 +f 21/34/11 16/248/11 14/35/11 +f 20/37/12 21/34/12 23/36/12 +f 23/30/4 24/29/4 17/39/4 +f 21/24/13 22/23/13 15/41/13 +f 28/26/14 32/49/14 31/43/14 +f 18/38/3 27/44/3 25/45/3 +f 20/37/3 25/45/3 26/46/3 +f 17/27/3 28/26/3 27/44/3 +f 31/43/3 32/49/3 30/47/3 +f 25/45/15 29/48/15 30/47/15 +f 26/46/16 30/47/16 32/49/16 +f 27/44/17 31/43/17 29/48/17 +f 42/50/2 39/249/2 40/51/2 +f 48/53/1 46/75/1 39/54/1 +f 44/56/18 33/250/18 34/57/18 +f 37/55/5 39/54/5 42/59/5 +f 34/61/19 36/251/19 41/62/19 +f 43/63/12 41/62/12 40/64/12 +f 37/66/4 44/56/4 43/58/4 +f 35/68/20 42/50/20 41/52/20 +f 51/70/21 52/78/21 48/53/21 +f 45/72/1 47/71/1 38/73/1 +f 46/75/1 45/72/1 40/74/1 +f 47/71/1 48/53/1 37/55/1 +f 50/76/1 52/78/1 51/70/1 +f 50/76/22 49/77/22 45/72/22 +f 52/78/23 50/76/23 46/75/23 +f 49/77/24 51/70/24 47/71/24 +f 59/79/3 53/252/3 54/80/3 +f 56/82/1 58/85/1 57/83/1 +f 60/81/12 54/80/12 58/85/12 +f 55/84/5 57/83/5 53/86/5 +f 54/88/2 53/86/2 57/83/2 +f 67/90/3 61/253/3 62/91/3 +f 64/93/1 66/96/1 65/94/1 +f 68/92/12 62/91/12 66/96/12 +f 63/95/5 65/94/5 61/97/5 +f 62/99/2 61/97/2 65/94/2 +f 70/101/3 69/108/3 75/102/3 +f 73/104/1 74/107/1 72/105/1 +f 74/107/12 70/101/12 76/103/12 +f 69/108/5 73/110/5 71/109/5 +f 73/110/4 69/108/4 70/111/4 +f 78/113/3 77/120/3 83/114/3 +f 81/116/1 82/119/1 80/117/1 +f 82/119/12 78/113/12 84/115/12 +f 77/120/5 81/122/5 79/121/5 +f 81/122/4 77/120/4 78/123/4 +f 10/18/1 9/17/1 98/137/1 +f 97/139/3 12/15/3 11/16/3 +f 9/21/4 12/244/4 97/141/4 +f 99/143/2 100/254/2 11/20/2 +f 98/144/12 97/139/12 100/140/12 +f 131/146/12 132/255/12 129/147/12 +f 128/149/3 132/255/3 131/146/3 +f 125/151/1 130/256/1 129/152/1 +f 127/154/2 129/257/2 132/155/2 +f 126/157/4 131/258/4 130/158/4 +f 163/160/12 164/259/12 161/161/12 +f 160/163/3 164/259/3 163/160/3 +f 157/165/1 162/260/1 161/166/1 +f 159/168/2 161/261/2 164/169/2 +f 158/171/4 163/262/4 162/172/4 +f 172/174/8 169/190/8 173/175/8 +f 168/177/3 172/174/3 171/178/3 +f 167/180/2 169/190/2 172/174/2 +f 166/181/4 171/187/4 170/182/4 +f 175/184/12 176/263/12 173/185/12 +f 171/187/9 175/264/9 174/188/9 +f 172/174/6 176/265/6 175/189/6 +f 169/190/7 170/182/7 174/191/7 +f 167/180/1 165/183/1 170/182/1 +f 207/193/12 208/266/12 205/194/12 +f 204/196/3 208/266/3 207/193/3 +f 201/198/1 206/267/1 205/199/1 +f 203/201/2 205/268/2 208/202/2 +f 202/204/4 207/269/4 206/205/4 +f 179/209/12 200/270/12 199/271/12 +f 199/271/12 198/272/12 197/207/12 +f 197/207/12 196/273/12 195/274/12 +f 195/274/12 194/275/12 193/208/12 +f 193/208/12 192/276/12 191/277/12 +f 191/277/12 180/278/12 193/208/12 +f 180/278/12 179/209/12 193/208/12 +f 179/209/12 199/271/12 197/207/12 +f 197/207/12 195/274/12 193/208/12 +f 246/210/12 258/231/12 268/211/12 +f 247/213/12 259/223/12 257/214/12 +f 254/216/12 266/225/12 265/217/12 +f 251/219/12 263/227/12 262/220/12 +f 248/222/12 260/229/12 259/223/12 +f 254/216/12 255/230/12 267/224/12 +f 252/226/12 264/232/12 263/227/12 +f 249/228/12 261/233/12 260/229/12 +f 256/212/12 268/211/12 267/224/12 +f 245/215/12 257/214/12 258/231/12 +f 253/218/12 265/217/12 264/232/12 +f 250/221/12 262/220/12 261/233/12 +f 101/236/12 102/279/12 103/280/12 +f 103/280/12 104/281/12 105/282/12 +f 105/282/12 106/283/12 107/284/12 +f 107/284/12 108/285/12 109/234/12 +f 109/234/12 110/286/12 111/235/12 +f 111/235/12 112/287/12 101/236/12 +f 101/236/12 103/280/12 105/282/12 +f 105/282/12 107/284/12 101/236/12 +f 107/284/12 109/234/12 101/236/12 +f 133/239/12 134/288/12 135/289/12 +f 135/289/12 136/290/12 133/239/12 +f 136/290/12 137/291/12 133/239/12 +f 137/291/12 138/292/12 139/293/12 +f 139/293/12 140/294/12 141/237/12 +f 141/237/12 142/295/12 143/238/12 +f 143/238/12 144/296/12 133/239/12 +f 137/291/12 139/293/12 133/239/12 +f 139/293/12 141/237/12 133/239/12 +s 1 +f 215/297/25 195/298/3 214/299/3 +f 216/300/26 194/301/25 215/297/25 +f 214/299/3 196/302/27 213/303/27 +f 213/303/27 197/304/28 212/305/28 +f 212/305/28 198/306/4 211/307/4 +f 211/308/4 199/309/29 210/310/29 +f 210/310/29 200/311/30 209/312/30 +f 209/312/30 179/313/1 220/314/1 +f 217/315/2 193/316/26 216/300/26 +f 218/317/31 192/318/2 217/315/2 +f 219/319/32 191/320/31 218/317/31 +f 220/314/1 180/321/32 219/319/32 +f 229/322/33 214/299/34 213/303/33 +f 212/305/35 229/322/33 213/303/33 +f 227/323/36 212/305/35 211/307/36 +f 226/324/37 211/308/36 210/310/37 +f 209/312/38 226/324/37 210/310/37 +f 224/325/39 209/312/38 220/314/39 +f 223/326/40 220/314/39 219/319/40 +f 230/327/34 215/297/41 214/299/34 +f 231/328/41 216/300/42 215/297/41 +f 232/329/42 217/315/43 216/300/42 +f 221/330/43 218/317/44 217/315/43 +f 222/331/44 219/319/40 218/317/44 +f 190/332/45 223/326/46 189/333/46 +f 189/333/46 222/331/47 188/334/47 +f 177/335/48 224/325/45 190/332/45 +f 178/336/49 225/337/48 177/335/48 +f 181/338/50 226/324/49 178/336/49 +f 188/334/47 221/330/51 187/339/51 +f 187/339/51 232/329/52 186/340/52 +f 182/341/53 227/323/50 181/342/50 +f 183/343/54 228/344/53 182/341/53 +f 183/343/54 230/327/55 229/322/54 +f 185/345/56 230/327/55 184/346/55 +f 186/340/52 231/328/56 185/345/56 +f 262/347/26 273/348/25 261/349/25 +f 240/350/28 251/351/4 239/352/4 +f 237/353/30 248/354/1 236/355/1 +f 243/356/25 256/357/26 255/358/25 +f 233/359/2 245/360/31 246/361/2 +f 241/362/27 252/363/28 240/350/28 +f 238/364/29 249/365/30 237/353/30 +f 244/366/26 246/361/2 256/357/26 +f 234/367/31 247/368/32 245/360/31 +f 242/369/3 253/370/27 241/362/27 +f 239/371/4 250/372/29 238/364/29 +f 236/355/1 247/368/32 235/373/32 +f 243/356/25 254/374/3 242/369/3 +f 258/375/4 280/376/29 268/377/29 +f 259/378/27 269/379/28 257/380/28 +f 266/381/1 277/382/32 265/383/32 +f 263/384/2 274/385/26 262/347/26 +f 260/386/3 271/387/27 259/378/27 +f 267/388/30 278/389/1 266/381/1 +f 264/390/31 275/391/2 263/392/2 +f 261/349/25 272/393/3 260/386/3 +f 268/377/29 279/394/30 267/388/30 +f 257/380/28 270/395/4 258/375/4 +f 265/383/32 276/396/31 264/390/31 +f 116/397/1 105/398/30 104/399/1 +f 117/400/30 106/401/29 105/398/30 +f 118/402/29 107/403/4 106/401/29 +f 120/404/28 109/405/27 108/406/28 +f 121/407/27 110/408/3 109/405/27 +f 122/409/3 111/410/25 110/408/3 +f 113/411/31 103/412/32 102/413/31 +f 114/414/2 102/413/31 101/415/2 +f 124/416/26 101/417/2 112/418/26 +f 123/419/25 112/418/26 111/410/25 +f 119/420/4 108/406/28 107/403/4 +f 115/421/32 104/399/1 103/412/32 +f 147/422/32 136/423/1 135/424/32 +f 148/425/1 137/426/30 136/423/1 +f 149/427/30 138/428/29 137/426/30 +f 150/429/29 139/430/4 138/428/29 +f 151/431/4 140/432/28 139/430/4 +f 152/433/28 141/434/27 140/432/28 +f 153/435/27 142/436/3 141/434/27 +f 154/437/3 143/438/25 142/436/3 +f 155/439/25 144/440/26 143/438/25 +f 156/441/26 133/442/2 144/440/26 +f 146/443/2 134/444/31 133/445/2 +f 145/446/31 135/424/32 134/444/31 +f 215/297/25 194/301/25 195/298/3 +f 216/300/26 193/316/26 194/301/25 +f 214/299/3 195/298/3 196/302/27 +f 213/303/27 196/302/27 197/304/28 +f 212/305/28 197/304/28 198/306/4 +f 211/308/4 198/447/4 199/309/29 +f 210/310/29 199/309/29 200/311/30 +f 209/312/30 200/311/30 179/313/1 +f 217/315/2 192/318/2 193/316/26 +f 218/317/31 191/320/31 192/318/2 +f 219/319/32 180/321/32 191/320/31 +f 220/314/1 179/313/1 180/321/32 +f 229/322/33 230/327/34 214/299/34 +f 212/305/35 228/344/35 229/322/33 +f 227/323/36 228/344/35 212/305/35 +f 226/324/37 227/448/36 211/308/36 +f 209/312/38 225/337/38 226/324/37 +f 224/325/39 225/337/38 209/312/38 +f 223/326/40 224/325/39 220/314/39 +f 230/327/34 231/328/41 215/297/41 +f 231/328/41 232/329/42 216/300/42 +f 232/329/42 221/330/43 217/315/43 +f 221/330/43 222/331/44 218/317/44 +f 222/331/44 223/326/40 219/319/40 +f 190/332/45 224/325/45 223/326/46 +f 189/333/46 223/326/46 222/331/47 +f 177/335/48 225/337/48 224/325/45 +f 178/336/49 226/324/49 225/337/48 +f 181/338/50 227/448/50 226/324/49 +f 188/334/47 222/331/47 221/330/51 +f 187/339/51 221/330/51 232/329/52 +f 182/341/53 228/344/53 227/323/50 +f 183/343/54 229/322/54 228/344/53 +f 183/343/54 184/346/55 230/327/55 +f 185/345/56 231/328/56 230/327/55 +f 186/340/52 232/329/52 231/328/56 +f 262/347/26 274/385/26 273/348/25 +f 240/350/28 252/363/28 251/351/4 +f 237/353/30 249/365/30 248/354/1 +f 243/356/25 244/366/26 256/357/26 +f 233/359/2 234/367/31 245/360/31 +f 241/362/27 253/370/27 252/363/28 +f 238/364/29 250/372/29 249/365/30 +f 244/366/26 233/359/2 246/361/2 +f 234/367/31 235/373/32 247/368/32 +f 242/369/3 254/374/3 253/370/27 +f 239/371/4 251/449/4 250/372/29 +f 236/355/1 248/354/1 247/368/32 +f 243/356/25 255/358/25 254/374/3 +f 258/375/4 270/395/4 280/376/29 +f 259/378/27 271/387/27 269/379/28 +f 266/381/1 278/389/1 277/382/32 +f 263/384/2 275/450/2 274/385/26 +f 260/386/3 272/393/3 271/387/27 +f 267/388/30 279/394/30 278/389/1 +f 264/390/31 276/396/31 275/391/2 +f 261/349/25 273/348/25 272/393/3 +f 268/377/29 280/376/29 279/394/30 +f 257/380/28 269/379/28 270/395/4 +f 265/383/32 277/382/32 276/396/31 +f 116/397/1 117/400/30 105/398/30 +f 117/400/30 118/402/29 106/401/29 +f 118/402/29 119/420/4 107/403/4 +f 120/404/28 121/407/27 109/405/27 +f 121/407/27 122/409/3 110/408/3 +f 122/409/3 123/419/25 111/410/25 +f 113/411/31 115/421/32 103/412/32 +f 114/414/2 113/411/31 102/413/31 +f 124/416/26 114/451/2 101/417/2 +f 123/419/25 124/416/26 112/418/26 +f 119/420/4 120/404/28 108/406/28 +f 115/421/32 116/397/1 104/399/1 +f 147/422/32 148/425/1 136/423/1 +f 148/425/1 149/427/30 137/426/30 +f 149/427/30 150/429/29 138/428/29 +f 150/429/29 151/431/4 139/430/4 +f 151/431/4 152/433/28 140/432/28 +f 152/433/28 153/435/27 141/434/27 +f 153/435/27 154/437/3 142/436/3 +f 154/437/3 155/439/25 143/438/25 +f 155/439/25 156/441/26 144/440/26 +f 156/441/26 146/452/2 133/442/2 +f 146/443/2 145/446/31 134/444/31 +f 145/446/31 147/422/32 135/424/32 diff --git a/src/main/resources/assets/hbm/models/machines/microwave.obj b/src/main/resources/assets/hbm/models/machines/microwave.obj index 2f258c742..b13288dd5 100644 --- a/src/main/resources/assets/hbm/models/machines/microwave.obj +++ b/src/main/resources/assets/hbm/models/machines/microwave.obj @@ -1,963 +1,9 @@ -# Blender v2.82 (sub 7) OBJ File: 'microwave.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org -mtllib microwave.mtl -o mainbody_Cube.001 -v 0.238197 1.183358 -0.728996 -v 0.234821 1.183358 -0.728996 -v 0.238197 1.183358 -0.735637 -v 0.234821 1.183358 -0.735637 -v 0.238197 0.787154 -0.728996 -v 0.234821 0.787154 -0.728996 -v 0.234338 0.840926 -0.735637 -v 0.234821 1.127133 -0.735637 -v 0.238197 1.127133 -0.735637 -v 0.238197 0.840926 -0.735637 -v 0.155271 1.127133 -0.735637 -v 0.149897 1.125951 -0.735637 -v 0.838582 1.118357 -0.735637 -v 0.836356 1.121211 -0.735637 -v 0.827432 1.125951 -0.735637 -v 0.822058 1.127133 -0.735637 -v 0.826572 0.842109 -0.735637 -v 0.821198 0.840926 -0.735637 -v 0.837722 0.849703 -0.735637 -v 0.835496 0.846848 -0.735637 -v 0.140113 0.846848 -0.735637 -v 0.137887 0.849703 -0.735637 -v 0.154411 0.840926 -0.735637 -v 0.149037 0.842109 -0.735637 -v 0.138747 1.118357 -0.735637 -v 0.140973 1.121211 -0.735637 -v 0.234338 0.840926 -0.731795 -v 0.234821 1.127133 -0.731795 -v 0.140973 1.121211 -0.731795 -v 0.138747 1.118357 -0.731795 -v 0.149897 1.125951 -0.731795 -v 0.155271 1.127133 -0.731795 -v 0.137887 0.849703 -0.731795 -v 0.140113 0.846848 -0.731795 -v 0.149037 0.842109 -0.731795 -v 0.154411 0.840926 -0.731795 -v 0.303131 1.127133 -0.732176 -v 0.303131 0.840926 -0.732176 -v 0.820933 1.127133 -0.732176 -v 0.826308 1.125951 -0.732176 -v 0.835231 1.121211 -0.732176 -v 0.837458 1.118357 -0.732176 -v 0.836597 0.849703 -0.732176 -v 0.834371 0.846848 -0.732176 -v 0.825447 0.842109 -0.732176 -v 0.820073 0.840926 -0.732176 -v 0.234821 0.787154 -0.735637 -v 0.238197 0.787154 -0.735637 -v 0.114423 1.183358 -0.161513 -v 0.117047 1.181387 -0.156304 -v 0.127829 1.183358 -0.151007 -v 0.121182 1.181387 -0.153063 -v 0.127829 1.183358 -0.735637 -v 0.121182 1.181387 -0.733581 -v 0.117047 1.181387 -0.730340 -v 0.114423 1.183358 -0.725132 -v 0.862732 0.787154 -0.159690 -v 0.857794 0.789125 -0.156304 -v 0.849338 0.787154 -0.151007 -v 0.853658 0.789125 -0.153063 -v 0.847012 1.183358 -0.151007 -v 0.853658 1.181387 -0.153063 -v 0.857794 1.181387 -0.156304 -v 0.860417 1.183358 -0.161513 -v 0.853658 0.789125 -0.733581 -v 0.857794 0.789125 -0.730340 -v 0.860417 0.787154 -0.726955 -v 0.848027 0.787154 -0.735637 -v 0.860417 1.183358 -0.725132 -v 0.857794 1.181387 -0.730340 -v 0.853658 1.181387 -0.733581 -v 0.847012 1.183358 -0.735637 -v 0.112109 0.787154 -0.726955 -v 0.115750 0.789125 -0.732973 -v 0.120534 0.789125 -0.735475 -v 0.126814 0.787154 -0.735637 -v 0.125502 0.787154 -0.149193 -v 0.121182 0.789125 -0.153063 -v 0.117047 0.789125 -0.156304 -v 0.114423 0.787154 -0.159690 -v 0.246749 0.852258 -0.727568 -v 0.246749 1.118254 -0.727568 -v 0.246749 0.852258 -0.734150 -v 0.246749 1.118254 -0.734150 -v 0.282202 0.852258 -0.727568 -v 0.282202 1.118254 -0.727568 -v 0.282202 0.852258 -0.734150 -v 0.282202 1.118254 -0.734150 -v 0.246749 0.985256 -0.755632 -v 0.246749 0.985256 -0.762214 -v 0.264475 0.852258 -0.734150 -v 0.264475 1.118254 -0.734150 -v 0.282202 0.985256 -0.762214 -v 0.282202 0.985256 -0.755632 -v 0.264475 0.852258 -0.727568 -v 0.264475 1.118254 -0.727568 -v 0.264475 0.985256 -0.755632 -v 0.264475 0.985256 -0.762214 -v 0.246749 0.852258 -0.730859 -v 0.246749 1.051755 -0.751094 -v 0.246749 1.118254 -0.730859 -v 0.246749 0.918757 -0.754385 -v 0.255612 0.852258 -0.734150 -v 0.273339 1.118254 -0.734150 -v 0.282202 0.918757 -0.754385 -v 0.282202 0.852258 -0.730859 -v 0.282202 1.118254 -0.730859 -v 0.282202 0.918757 -0.747802 -v 0.273339 0.852258 -0.727568 -v 0.255612 1.118254 -0.727568 -v 0.246749 0.918757 -0.747802 -v 0.246749 1.051755 -0.757676 -v 0.273339 0.852258 -0.734150 -v 0.255612 1.118254 -0.734150 -v 0.282202 1.051755 -0.757676 -v 0.282202 1.051755 -0.751094 -v 0.255612 0.852258 -0.727568 -v 0.273339 1.118254 -0.727568 -v 0.264475 1.118254 -0.730849 -v 0.264475 0.852258 -0.730849 -v 0.255612 0.985256 -0.755632 -v 0.273339 0.985256 -0.755632 -v 0.264475 0.918757 -0.747802 -v 0.264475 1.051755 -0.751094 -v 0.282202 0.985256 -0.758923 -v 0.273339 0.985256 -0.762214 -v 0.255612 0.985256 -0.762214 -v 0.264475 0.918757 -0.754385 -v 0.264475 1.051755 -0.757676 -v 0.246749 0.985256 -0.758923 -v 0.246749 0.918757 -0.751094 -v 0.255612 1.051755 -0.757676 -v 0.255612 0.918757 -0.754385 -v 0.273339 0.918757 -0.754385 -v 0.282202 0.918757 -0.751094 -v 0.273339 1.051755 -0.751094 -v 0.273339 0.918757 -0.747802 -v 0.255612 0.918757 -0.747802 -v 0.255612 0.852258 -0.730849 -v 0.273339 1.118254 -0.730849 -v 0.255612 1.118254 -0.730849 -v 0.273339 0.852258 -0.730849 -v 0.255612 1.051755 -0.751094 -v 0.282202 1.051755 -0.754385 -v 0.273339 1.051755 -0.757676 -v 0.246749 1.051755 -0.754385 -v 0.303131 1.127133 -0.208209 -v 0.303131 0.840926 -0.208209 -v 0.820933 1.127133 -0.208209 -v 0.826308 1.125951 -0.208209 -v 0.835231 1.121211 -0.208209 -v 0.837458 1.118357 -0.208209 -v 0.836597 0.849703 -0.208209 -v 0.834371 0.846848 -0.208209 -v 0.825447 0.842109 -0.208209 -v 0.820073 0.840926 -0.208209 -v 0.339101 1.091541 -0.732176 -v 0.339101 0.874846 -0.732176 -v 0.796813 1.091541 -0.732176 -v 0.800847 1.090653 -0.732176 -v 0.807544 1.087096 -0.732176 -v 0.809215 1.084954 -0.732176 -v 0.808569 0.881432 -0.732176 -v 0.806898 0.879290 -0.732176 -v 0.800201 0.875733 -0.732176 -v 0.796168 0.874846 -0.732176 -v 0.238197 0.840926 -0.731795 -v 0.238197 1.127133 -0.731795 -v 0.415576 0.913412 -0.000812 -v 0.415576 1.057100 -0.000812 -v 0.415576 0.913412 -0.157633 -v 0.415576 1.057100 -0.157633 -v 0.559264 0.913412 -0.000812 -v 0.559264 1.057100 -0.000812 -v 0.559264 0.913412 -0.157633 -v 0.559264 1.057100 -0.157633 -vt 0.187756 0.185116 -vt 0.190250 0.359586 -vt 0.187359 0.359553 -vt 0.184816 0.183014 -vt 0.011904 0.361665 -vt 0.011410 0.182951 -vt 0.434160 0.035160 -vt 0.437617 0.233175 -vt 0.433848 0.233203 -vt 0.421314 0.234632 -vt 0.421314 0.024505 -vt 0.424461 0.141338 -vt 0.180342 0.556180 -vt 0.006258 0.555192 -vt 0.180341 0.553216 -vt 0.619010 0.294600 -vt 0.615336 0.293939 -vt 0.618997 0.293255 -vt 0.560911 0.771909 -vt 0.499383 0.771947 -vt 0.573681 0.763070 -vt 0.551781 0.278506 -vt 0.554882 0.277399 -vt 0.554849 0.278591 -vt 0.477598 0.276038 -vt 0.480699 0.274931 -vt 0.480666 0.276123 -vt 0.456844 0.275464 -vt 0.476217 0.274807 -vt 0.476184 0.275999 -vt 0.556296 0.277438 -vt 0.556263 0.278630 -vt 0.477631 0.274846 -vt 0.575727 0.277976 -vt 0.575694 0.279168 -vt 0.550366 0.278467 -vt 0.551814 0.277314 -vt 0.482080 0.276163 -vt 0.550399 0.277275 -vt 0.482113 0.274971 -vt 0.529499 0.294540 -vt 0.531162 0.293570 -vt 0.531174 0.294916 -vt 0.615349 0.295285 -vt 0.613628 0.294117 -vt 0.536559 0.295677 -vt 0.613641 0.295463 -vt 0.534848 0.295531 -vt 0.536546 0.294332 -vt 0.620678 0.294193 -vt 0.620665 0.292848 -vt 0.534835 0.294186 -vt 0.390231 0.176341 -vt 0.365296 0.176585 -vt 0.365277 0.174628 -vt 0.008379 0.053132 -vt 0.010531 0.175541 -vt 0.008501 0.175525 -vt 0.678815 0.051868 -vt 0.681765 0.009865 -vt 0.681766 0.212069 -vt 0.191651 0.177060 -vt 0.014270 0.002844 -vt 0.192984 0.003659 -vt 0.661827 0.216665 -vt 0.508504 0.216408 -vt 0.472754 0.213047 -vt 0.182461 0.549659 -vt 0.002549 0.378060 -vt 0.181254 0.376258 -vt 0.008747 0.359552 -vt 0.004975 0.185105 -vt 0.008120 0.184943 -vt 0.006284 0.051542 -vt 0.010601 0.053093 -vt 0.004000 0.561180 -vt 0.003756 0.551834 -vt 0.006284 0.177060 -vt 0.012743 0.177034 -vt 0.012878 0.051518 -vt 0.184195 0.361727 -vt 0.193393 0.361723 -vt 0.190903 0.184977 -vt 0.194207 0.183009 -vt 0.182571 0.559338 -vt 0.182461 0.550031 -vt 0.006443 0.558120 -vt 0.002020 0.183025 -vt 0.004195 0.360497 -vt 0.005856 0.359540 -vt 0.363575 0.189539 -vt 0.388348 0.187899 -vt 0.391408 0.191039 -vt 0.913862 0.374962 -vt 0.932207 0.411652 -vt 0.913862 0.411652 -vt 0.947121 0.484382 -vt 0.928948 0.502555 -vt 0.928948 0.484382 -vt 0.922832 0.558833 -vt 0.904487 0.595522 -vt 0.904487 0.558833 -vt 0.904487 0.650556 -vt 0.922832 0.668901 -vt 0.904487 0.668901 -vt 0.831108 0.558833 -vt 0.849453 0.595522 -vt 0.831108 0.595522 -vt 0.977866 0.558833 -vt 0.996210 0.595522 -vt 0.977866 0.595522 -vt 0.959521 0.558833 -vt 0.941176 0.595522 -vt 0.941176 0.558833 -vt 0.812764 0.558833 -vt 0.794419 0.595522 -vt 0.794419 0.558833 -vt 0.886142 0.650556 -vt 0.867798 0.668901 -vt 0.867798 0.650556 -vt 0.867798 0.613867 -vt 0.886142 0.632212 -vt 0.867798 0.632212 -vt 0.922832 0.613867 -vt 0.904487 0.632212 -vt 0.904487 0.613867 -vt 0.867798 0.558833 -vt 0.886142 0.595522 -vt 0.867798 0.595522 -vt 0.899580 0.488095 -vt 0.881478 0.506196 -vt 0.881478 0.488095 -vt 0.899580 0.451892 -vt 0.881478 0.469993 -vt 0.881478 0.451892 -vt 0.947121 0.448035 -vt 0.928948 0.466208 -vt 0.928948 0.448035 -vt 0.895517 0.374962 -vt 0.877173 0.411652 -vt 0.877173 0.374962 -vt 0.858828 0.411652 -vt 0.858828 0.374962 -vt 0.877173 0.338273 -vt 0.858828 0.338273 -vt 0.895517 0.338273 -vt 0.917681 0.451892 -vt 0.899580 0.469993 -vt 0.917681 0.433790 -vt 0.899580 0.433790 -vt 0.947121 0.429861 -vt 0.928948 0.429861 -vt 0.867173 0.448727 -vt 0.848828 0.467071 -vt 0.848828 0.448727 -vt 0.867173 0.430382 -vt 0.848828 0.430382 -vt 0.881478 0.433790 -vt 0.867173 0.485416 -vt 0.848828 0.503761 -vt 0.848828 0.485416 -vt 0.867173 0.467071 -vt 0.849453 0.558833 -vt 0.849453 0.522144 -vt 0.867798 0.522144 -vt 0.886142 0.558833 -vt 0.886142 0.613867 -vt 0.922832 0.595522 -vt 0.849453 0.632212 -vt 0.849453 0.613867 -vt 0.849453 0.668901 -vt 0.849453 0.650556 -vt 0.776074 0.595522 -vt 0.776074 0.558833 -vt 0.794419 0.522144 -vt 0.776074 0.522144 -vt 0.812764 0.522144 -vt 0.941176 0.522144 -vt 0.922832 0.522144 -vt 0.959521 0.522144 -vt 0.959521 0.595522 -vt 0.977866 0.522144 -vt 0.996210 0.558833 -vt 0.812764 0.595522 -vt 0.831108 0.522144 -vt 0.886142 0.668901 -vt 0.922832 0.632212 -vt 0.904487 0.522144 -vt 0.886142 0.522144 -vt 0.917681 0.488095 -vt 0.899580 0.506196 -vt 0.917681 0.469993 -vt 0.947121 0.466208 -vt 0.895517 0.411652 -vt 0.913862 0.338273 -vt 0.932207 0.374962 -vt 0.002361 0.690819 -vt 0.139582 0.797050 -vt 0.002382 0.797077 -vt 0.002401 0.574653 -vt 0.139602 0.577216 -vt 0.002401 0.577243 -vt 0.002381 0.685835 -vt 0.139582 0.688398 -vt 0.002381 0.688425 -vt 0.002381 0.579638 -vt 0.139602 0.683414 -vt 0.002401 0.683441 -vt 0.142087 0.686223 -vt 0.139686 0.823759 -vt 0.139686 0.686202 -vt 0.139581 0.685808 -vt 0.139686 0.574626 -vt 0.278011 0.686118 -vt 0.139686 0.686118 -vt 0.248444 0.686223 -vt 0.142087 0.823780 -vt 0.139581 0.579611 -vt 0.139561 0.690792 -vt 0.250041 0.742196 -vt 0.249216 0.741377 -vt 0.249011 0.740883 -vt 0.774121 0.040412 -vt 0.741243 0.024151 -vt 0.740050 0.027021 -vt 0.969467 0.033059 -vt 0.943495 0.044419 -vt 0.971709 0.034142 -vt 0.946381 0.253662 -vt 0.739889 0.270791 -vt 0.975938 0.269283 -vt 0.769234 0.254505 -vt 0.778655 0.034951 -vt 0.748853 0.018299 -vt 0.746005 0.019438 -vt 0.975297 0.038147 -vt 0.946804 0.049219 -vt 0.976119 0.040486 -vt 0.775156 0.037976 -vt 0.946189 0.047450 -vt 0.941812 0.043603 -vt 0.456798 0.276753 -vt 0.529486 0.293195 -vt 0.696767 0.284505 -vt 0.696612 0.283178 -vt 0.740071 0.299235 -vt 0.431207 0.203196 -vt 0.430221 0.118309 -vt 0.434139 0.035214 -vt 0.688985 0.442006 -vt 0.730728 0.480254 -vt 0.688985 0.480254 -vt 0.730728 0.556749 -vt 0.688985 0.518501 -vt 0.730728 0.518501 -vt 0.754269 0.654412 -vt 0.666048 0.576401 -vt 0.754269 0.576401 -vt 0.730728 0.442006 -vt 0.688985 0.403759 -vt 0.730728 0.403759 -vt 0.437617 0.035132 -vt 0.428782 0.141338 -vt 0.428782 0.234632 -vt 0.422863 0.024375 -vt 0.423529 0.042958 -vt 0.424425 0.042882 -vt 0.499383 0.483956 -vt 0.561202 0.483917 -vt 0.573995 0.492741 -vt 0.572269 0.489869 -vt 0.565361 0.485105 -vt 0.571963 0.765944 -vt 0.565067 0.770717 -vt 0.456877 0.274272 -vt 0.362261 0.174619 -vt 0.362252 0.177081 -vt 0.221168 0.176128 -vt 0.218310 0.173556 -vt 0.218310 0.006092 -vt 0.221417 0.003539 -vt 0.388881 0.003540 -vt 0.391433 0.006646 -vt 0.393601 0.173750 -vt 0.525055 0.212989 -vt 0.674718 0.186092 -vt 0.524902 0.186971 -vt 0.472754 0.045915 -vt 0.472804 0.009580 -vt 0.673151 0.046188 -vt 0.676096 0.185512 -vt 0.678376 0.183205 -vt 0.674995 0.046955 -vt 0.678054 0.050022 -vt 0.678940 0.181820 -vt 0.012947 0.175130 -vt 0.698934 0.213354 -vt 0.698934 0.245794 -vt 0.666837 0.221675 -vt 0.666837 0.245794 -vt 0.503488 0.245686 -vt 0.472755 0.245833 -vt 0.503488 0.221424 -vt 0.666162 0.220045 -vt 0.663456 0.217340 -vt 0.504163 0.219793 -vt 0.506872 0.217084 -vt 0.004989 0.551834 -vt 0.390747 0.356145 -vt 0.386158 0.360486 -vt 0.360628 0.189572 -vt 0.219798 0.360486 -vt 0.216697 0.357385 -vt 0.216697 0.191025 -vt 0.219798 0.187924 -vt 0.360628 0.187426 -vt 0.363600 0.187579 -vt 0.947121 0.502555 -vt 0.922832 0.650556 -vt 0.867173 0.503761 -vt 0.996210 0.522144 -vt 0.917681 0.506196 -vt 0.932207 0.338273 -vt 0.139601 0.574626 -vt 0.278011 0.574626 -vt 0.248444 0.823780 -vt 0.249011 0.687906 -vt 0.294366 0.687906 -vt 0.294366 0.740616 -vt 0.294160 0.741111 -vt 0.292839 0.742143 -vt 0.250538 0.742399 -vt 0.293336 0.741935 -vt 0.781306 0.033891 -vt 0.457098 0.275488 -vt 0.976119 0.297728 -vt 0.433827 0.231012 -vt 0.431907 0.231171 -vt 0.429916 0.203288 -vt 0.426195 0.118261 -vt 0.427181 0.035132 -vt 0.688985 0.556749 -vt 0.666048 0.654412 -vn 0.6168 0.0000 0.7871 -vn 0.0025 0.0046 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -0.6168 0.0073 -0.7871 -vn -0.4637 -0.8731 -0.1506 -vn 0.4691 0.8832 0.0000 -vn 0.4691 -0.8832 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.2148 0.9766 0.0000 -vn 0.2148 -0.9766 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.7885 0.6150 0.0000 -vn 1.0000 -0.0032 0.0000 -vn 0.7885 -0.6150 0.0000 -vn -0.2143 0.9743 -0.0697 -vn -0.7638 -0.5958 -0.2482 -vn -0.9511 0.0030 -0.3090 -vn -0.7639 0.5958 -0.2482 -vn -0.2143 -0.9743 -0.0696 -vn -0.4637 0.8731 -0.1507 -vn 0.6168 0.0000 -0.7871 -vn 1.0000 0.0058 -0.0041 -vn -1.0000 0.0058 0.0041 -vn -0.6168 0.0000 0.7871 -vn 0.5448 -0.4689 -0.6952 -vn -0.2589 -0.8607 -0.4385 -vn 0.3836 0.7831 -0.4895 -vn 0.8931 0.0000 -0.4499 -vn 0.3427 0.0009 -0.9394 -vn 0.3836 0.7831 0.4895 -vn 0.2955 0.0000 0.9553 -vn 0.5448 -0.4690 0.6952 -vn 0.5674 0.0071 0.8234 -vn -0.3836 0.7831 -0.4895 -vn -0.2969 0.0051 -0.9549 -vn -0.8565 0.0063 -0.5161 -vn -0.5448 -0.4689 0.6952 -vn -0.6654 0.0073 0.7465 -vn -0.3836 0.7831 0.4895 -vn -0.8931 0.0000 0.4499 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.3335 -0.9427 -vn 0.0000 -0.3335 0.9427 -vn 0.0000 0.1169 0.9931 -vn 0.0000 -0.1169 -0.9931 -vn 0.0000 0.0681 -0.9977 -vn 0.0000 -0.2911 -0.9567 -vn 0.0000 -0.0681 0.9977 -vn 0.0000 0.2911 0.9567 -vn -0.4691 0.8832 0.0000 -vn -0.4691 -0.8832 0.0000 -vn -1.0000 0.0032 0.0000 -vn -0.2149 0.9766 0.0000 -vn -0.7885 -0.6150 0.0000 -vn -0.7886 0.6150 0.0000 -vn -0.2148 -0.9766 0.0000 -vn -0.0059 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0090 0.0000 -vn 0.9796 -0.0017 -0.2012 -vn -0.4635 0.0050 -0.8861 -vn -0.4637 -0.8731 -0.1507 -vn -0.2143 0.9743 -0.0696 -vn -0.7639 -0.5957 -0.2482 -vn -0.7639 0.5957 -0.2482 -vn 0.4513 -0.6177 -0.6440 -vn -0.2689 -0.8145 -0.5141 -vn 0.7912 0.0028 -0.6115 -vn 0.2956 0.0000 -0.9553 -vn 0.3836 0.7831 0.4894 -vn 0.4288 0.0025 0.9034 -vn 0.5423 -0.0782 0.8365 -vn 0.8931 0.0000 0.4499 -vn -0.3836 0.7831 -0.4894 -vn -0.0258 0.0001 -0.9997 -vn -0.8920 0.0073 -0.4520 -vn -0.6855 -0.0817 0.7235 -vn -0.2955 0.0000 0.9553 -vn -0.7912 0.0028 0.6115 -vn -0.7885 0.6150 0.0000 -usemtl Material.002 -s off -f 60/1/1 63/2/1 62/3/1 -f 59/4/2 51/5/2 77/6/2 -f 5/7/3 2/8/3 1/9/3 -f 2/10/4 6/11/4 28/12/4 -f 54/13/5 74/14/5 55/15/5 -f 15/16/6 41/17/6 40/18/6 -f 32/19/3 28/20/3 30/21/3 -f 21/22/7 35/23/7 24/24/7 -f 12/25/8 29/26/8 26/27/8 -f 8/28/9 32/29/9 11/30/9 -f 24/24/10 36/31/10 23/32/10 -f 11/30/11 31/33/11 12/25/11 -f 23/32/12 27/34/12 7/35/12 -f 22/36/13 34/37/13 21/22/13 -f 25/38/14 33/39/14 22/36/14 -f 26/27/15 30/40/15 25/38/15 -f 18/41/16 45/42/16 17/43/16 -f 14/44/17 42/45/17 41/17/17 -f 19/46/18 42/45/18 13/47/18 -f 20/48/19 43/49/19 19/46/19 -f 16/50/20 40/18/20 39/51/20 -f 17/43/21 44/52/21 20/48/21 -f 76/53/9 47/54/9 6/55/9 -f 66/56/22 71/57/22 70/58/22 -f 13/59/3 72/60/3 68/61/3 -f 67/62/23 64/63/23 57/64/23 -f 25/65/3 22/66/3 76/67/3 -f 80/68/24 56/69/24 73/70/24 -f 52/71/25 79/72/25 78/73/25 -f 67/74/26 65/75/26 66/56/26 -f 74/14/27 76/76/27 73/77/27 -f 69/78/28 71/57/28 72/79/28 -f 69/78/29 66/56/29 70/58/29 -f 72/79/30 65/75/30 68/80/30 -f 61/81/31 63/2/31 64/82/31 -f 61/81/32 60/1/32 62/3/32 -f 59/4/33 58/83/33 60/1/33 -f 64/82/34 58/83/34 57/84/34 -f 53/85/35 55/15/35 56/86/35 -f 53/85/36 75/87/36 54/13/36 -f 73/77/37 55/15/37 74/14/37 -f 80/88/38 78/73/38 79/72/38 -f 51/5/39 78/73/39 77/6/39 -f 49/89/40 52/71/40 51/5/40 -f 49/89/41 79/72/41 50/90/41 -f 2/91/12 53/92/12 56/93/12 -f 146/94/42 84/95/42 112/96/42 -f 104/97/43 115/98/43 145/99/43 -f 107/100/4 116/101/4 144/102/4 -f 143/103/44 82/104/44 100/105/44 -f 142/106/9 85/107/9 109/108/9 -f 141/109/12 82/110/12 110/111/12 -f 119/112/12 118/113/12 140/114/12 -f 120/115/9 117/116/9 139/117/9 -f 121/118/45 111/119/45 138/120/45 -f 137/121/45 97/122/45 123/123/45 -f 118/124/44 124/125/44 136/126/44 -f 135/127/4 94/128/4 108/129/4 -f 126/130/46 105/131/46 134/132/46 -f 127/133/46 128/134/46 133/135/46 -f 114/136/43 129/137/43 132/138/43 -f 130/139/42 102/140/42 131/141/42 -f 131/141/42 83/142/42 99/143/42 -f 111/144/42 99/143/42 81/145/42 -f 89/146/42 131/141/42 111/144/42 -f 132/147/47 98/148/47 127/133/47 -f 112/149/47 127/133/47 90/150/47 -f 84/151/43 132/138/43 112/152/43 -f 133/153/48 91/154/48 103/155/48 -f 102/156/48 103/155/48 83/157/48 -f 90/150/46 133/135/46 102/158/46 -f 134/159/48 87/160/48 113/161/48 -f 128/162/48 113/161/48 91/154/48 -f 98/148/46 134/132/46 128/134/46 -f 106/163/4 108/129/4 85/107/4 -f 87/164/4 135/127/4 106/163/4 -f 105/165/4 125/166/4 135/127/4 -f 136/126/49 97/122/49 122/167/49 -f 116/101/49 122/167/49 94/128/49 -f 86/168/44 136/126/44 116/101/44 -f 137/121/50 95/169/50 109/170/50 -f 108/129/50 109/170/50 85/107/50 -f 94/128/45 137/121/45 108/129/45 -f 138/120/50 81/171/50 117/172/50 -f 123/123/50 117/172/50 95/169/50 -f 97/122/45 138/120/45 123/123/45 -f 139/117/9 81/173/9 99/174/9 -f 103/175/9 99/174/9 83/176/9 -f 91/177/9 139/117/9 103/175/9 -f 140/114/12 86/168/12 107/100/12 -f 104/178/12 107/100/12 88/179/12 -f 92/180/12 140/114/12 104/178/12 -f 141/109/12 96/181/12 119/112/12 -f 114/182/12 119/112/12 92/180/12 -f 114/182/12 101/183/12 141/109/12 -f 142/106/9 95/184/9 120/115/9 -f 113/185/9 120/115/9 91/177/9 -f 113/185/9 106/163/9 142/106/9 -f 143/103/49 89/186/49 121/118/49 -f 124/125/49 121/118/49 97/122/49 -f 96/187/44 143/103/44 124/125/44 -f 144/102/4 94/128/4 125/166/4 -f 115/188/4 125/166/4 93/189/4 -f 88/179/4 144/102/4 115/188/4 -f 145/190/47 93/191/47 126/130/47 -f 129/192/47 126/130/47 98/148/47 -f 92/193/43 145/99/43 129/137/43 -f 130/139/42 112/96/42 90/194/42 -f 89/146/42 146/94/42 130/139/42 -f 100/195/42 101/196/42 146/94/42 -f 39/197/9 147/198/9 37/199/9 -f 45/200/51 154/201/51 44/202/51 -f 41/203/52 150/204/52 40/205/52 -f 43/206/53 152/207/53 42/208/53 -f 46/209/54 155/210/54 45/211/54 -f 42/208/55 151/212/55 41/203/55 -f 37/213/4 148/214/4 38/215/4 -f 38/216/12 156/217/12 46/209/12 -f 44/202/56 153/218/56 43/206/56 -f 40/205/57 149/219/57 39/197/57 -f 154/220/3 155/221/3 156/222/3 -f 166/223/3 45/224/3 46/225/3 -f 42/226/3 161/227/3 41/228/3 -f 157/229/3 38/230/3 37/231/3 -f 158/232/3 46/225/3 38/230/3 -f 164/233/3 43/234/3 44/235/3 -f 40/236/3 159/237/3 39/238/3 -f 39/238/3 157/229/3 37/231/3 -f 165/239/3 44/235/3 45/224/3 -f 41/228/3 160/240/3 40/236/3 -f 43/234/3 162/241/3 42/226/3 -f 10/242/12 46/243/12 18/41/12 -f 9/244/9 39/51/9 168/245/9 -f 167/246/58 37/231/58 38/230/58 -f 168/247/42 167/248/42 5/249/42 -f 170/250/42 171/251/42 169/252/42 -f 176/253/4 173/254/4 175/255/4 -f 174/256/59 169/257/59 173/258/59 -f 175/255/9 169/252/9 171/251/9 -f 172/259/12 174/260/12 176/261/12 -f 60/1/1 58/83/1 63/2/1 -f 59/4/59 61/81/59 51/5/59 -f 5/7/3 6/262/3 2/8/3 -f 8/263/4 4/264/4 28/12/4 -f 4/264/4 2/10/4 28/12/4 -f 6/11/60 47/265/60 27/266/60 -f 47/265/60 7/267/60 27/266/60 -f 6/11/61 27/266/61 28/12/61 -f 54/13/62 75/87/62 74/14/62 -f 15/16/63 14/44/63 41/17/63 -f 28/20/3 27/268/3 30/21/3 -f 27/268/3 36/269/3 33/270/3 -f 33/270/3 36/269/3 34/271/3 -f 36/269/3 35/272/3 34/271/3 -f 33/270/3 30/21/3 27/268/3 -f 30/21/3 29/273/3 31/274/3 -f 31/274/3 32/19/3 30/21/3 -f 21/22/7 34/37/7 35/23/7 -f 12/25/8 31/33/8 29/26/8 -f 8/28/9 28/275/9 32/29/9 -f 24/24/10 35/23/10 36/31/10 -f 11/30/11 32/29/11 31/33/11 -f 23/32/12 36/31/12 27/34/12 -f 22/36/13 33/39/13 34/37/13 -f 25/38/14 30/40/14 33/39/14 -f 26/27/15 29/26/15 30/40/15 -f 18/41/64 46/243/64 45/42/64 -f 14/44/65 13/47/65 42/45/65 -f 19/46/18 43/49/18 42/45/18 -f 20/48/66 44/52/66 43/49/66 -f 16/50/20 15/16/20 40/18/20 -f 17/43/21 45/42/21 44/52/21 -f 5/276/9 48/277/9 68/278/9 -f 68/278/9 67/279/9 5/276/9 -f 67/279/9 57/280/9 59/281/9 -f 5/276/9 67/279/9 59/281/9 -f 59/281/9 77/282/9 80/283/9 -f 5/276/9 59/281/9 80/283/9 -f 80/283/9 73/284/9 6/55/9 -f 5/276/9 80/283/9 6/55/9 -f 73/284/9 76/53/9 6/55/9 -f 66/56/22 65/75/22 71/57/22 -f 68/61/3 48/285/3 18/286/3 -f 48/285/3 10/287/3 18/286/3 -f 9/288/3 3/289/3 16/290/3 -f 3/289/3 72/60/3 16/290/3 -f 68/61/3 18/286/3 17/291/3 -f 68/61/3 17/291/3 20/292/3 -f 15/293/3 16/290/3 72/60/3 -f 14/294/3 15/293/3 72/60/3 -f 68/61/3 20/292/3 19/295/3 -f 13/59/3 14/294/3 72/60/3 -f 68/61/3 19/295/3 13/59/3 -f 67/62/4 69/296/4 64/63/4 -f 53/297/3 4/298/3 11/299/3 -f 4/298/3 8/300/3 11/299/3 -f 7/301/3 47/302/3 23/303/3 -f 47/302/3 76/67/3 23/303/3 -f 53/297/3 11/299/3 12/304/3 -f 53/297/3 12/304/3 26/305/3 -f 24/306/3 23/303/3 76/67/3 -f 21/307/3 24/306/3 76/67/3 -f 53/297/3 26/305/3 25/65/3 -f 22/66/3 21/307/3 76/67/3 -f 53/297/3 25/65/3 76/67/3 -f 80/68/42 49/308/42 56/69/42 -f 52/71/25 50/90/25 79/72/25 -f 67/74/67 68/80/67 65/75/67 -f 74/14/68 75/87/68 76/76/68 -f 69/78/28 70/58/28 71/57/28 -f 69/78/69 67/74/69 66/56/69 -f 72/79/70 71/57/70 65/75/70 -f 61/81/71 62/3/71 63/2/71 -f 61/81/72 59/4/72 60/1/72 -f 59/4/73 57/84/73 58/83/73 -f 64/82/74 63/2/74 58/83/74 -f 53/85/75 54/13/75 55/15/75 -f 53/85/76 76/76/76 75/87/76 -f 73/77/77 56/86/77 55/15/77 -f 80/88/78 77/6/78 78/73/78 -f 51/5/79 52/71/79 78/73/79 -f 49/89/40 50/90/40 52/71/40 -f 49/89/80 80/88/80 79/72/80 -f 56/93/12 49/309/12 2/91/12 -f 49/309/12 51/310/12 1/311/12 -f 2/91/12 49/309/12 1/311/12 -f 51/310/12 61/312/12 1/311/12 -f 61/312/12 64/313/12 1/311/12 -f 64/313/12 69/314/12 1/311/12 -f 69/314/12 72/315/12 1/311/12 -f 72/315/12 3/316/12 1/311/12 -f 2/91/12 4/317/12 53/92/12 -f 146/94/42 101/196/42 84/95/42 -f 104/97/43 88/318/43 115/98/43 -f 107/100/4 86/168/4 116/101/4 -f 143/103/44 110/319/44 82/104/44 -f 142/106/9 106/163/9 85/107/9 -f 141/109/12 101/183/12 82/110/12 -f 119/112/12 96/181/12 118/113/12 -f 120/115/9 95/184/9 117/116/9 -f 121/118/45 89/186/45 111/119/45 -f 137/121/45 122/167/45 97/122/45 -f 118/124/44 96/187/44 124/125/44 -f 135/127/4 125/166/4 94/128/4 -f 126/130/46 93/191/46 105/131/46 -f 127/133/46 98/148/46 128/134/46 -f 114/136/43 92/193/43 129/137/43 -f 130/139/42 90/194/42 102/140/42 -f 131/141/42 102/140/42 83/142/42 -f 111/144/42 131/141/42 99/143/42 -f 89/146/42 130/139/42 131/141/42 -f 132/147/47 129/192/47 98/148/47 -f 112/149/47 132/147/47 127/133/47 -f 84/151/43 114/136/43 132/138/43 -f 133/153/48 128/162/48 91/154/48 -f 102/156/48 133/153/48 103/155/48 -f 90/150/46 127/133/46 133/135/46 -f 134/159/48 105/320/48 87/160/48 -f 128/162/48 134/159/48 113/161/48 -f 98/148/46 126/130/46 134/132/46 -f 106/163/4 135/127/4 108/129/4 -f 87/164/4 105/165/4 135/127/4 -f 105/165/4 93/189/4 125/166/4 -f 136/126/49 124/125/49 97/122/49 -f 116/101/49 136/126/49 122/167/49 -f 86/168/44 118/124/44 136/126/44 -f 137/121/50 123/123/50 95/169/50 -f 108/129/50 137/121/50 109/170/50 -f 94/128/45 122/167/45 137/121/45 -f 138/120/50 111/119/50 81/171/50 -f 123/123/50 138/120/50 117/172/50 -f 97/122/45 121/118/45 138/120/45 -f 139/117/9 117/116/9 81/173/9 -f 103/175/9 139/117/9 99/174/9 -f 91/177/9 120/115/9 139/117/9 -f 140/114/12 118/113/12 86/168/12 -f 104/178/12 140/114/12 107/100/12 -f 92/180/12 119/112/12 140/114/12 -f 141/109/12 110/111/12 96/181/12 -f 114/182/12 141/109/12 119/112/12 -f 114/182/12 84/321/12 101/183/12 -f 142/106/9 109/108/9 95/184/9 -f 113/185/9 142/106/9 120/115/9 -f 113/185/9 87/164/9 106/163/9 -f 143/103/49 100/105/49 89/186/49 -f 124/125/49 143/103/49 121/118/49 -f 96/187/44 110/319/44 143/103/44 -f 144/102/4 116/101/4 94/128/4 -f 115/188/4 144/102/4 125/166/4 -f 88/179/4 107/100/4 144/102/4 -f 145/190/47 115/322/47 93/191/47 -f 129/192/47 145/190/47 126/130/47 -f 92/193/43 104/97/43 145/99/43 -f 130/139/42 146/94/42 112/96/42 -f 89/146/42 100/195/42 146/94/42 -f 100/195/42 82/323/42 101/196/42 -f 39/197/9 149/219/9 147/198/9 -f 45/200/51 155/324/51 154/201/51 -f 41/203/52 151/212/52 150/204/52 -f 43/206/53 153/218/53 152/207/53 -f 46/209/54 156/217/54 155/210/54 -f 42/208/55 152/207/55 151/212/55 -f 37/213/4 147/325/4 148/214/4 -f 38/216/12 148/326/12 156/217/12 -f 44/202/81 154/201/81 153/218/81 -f 40/205/57 150/204/57 149/219/57 -f 156/222/3 148/327/3 147/328/3 -f 147/328/3 149/329/3 156/222/3 -f 149/329/3 150/330/3 152/331/3 -f 156/222/3 149/329/3 153/332/3 -f 150/330/3 151/333/3 152/331/3 -f 152/331/3 153/332/3 149/329/3 -f 153/332/3 154/220/3 156/222/3 -f 166/223/3 165/239/3 45/224/3 -f 42/226/3 162/241/3 161/227/3 -f 157/229/3 158/232/3 38/230/3 -f 158/232/3 166/223/3 46/225/3 -f 164/233/3 163/334/3 43/234/3 -f 40/236/3 160/240/3 159/237/3 -f 39/238/3 159/237/3 157/229/3 -f 165/239/3 164/233/3 44/235/3 -f 41/228/3 161/227/3 160/240/3 -f 43/234/3 163/334/3 162/241/3 -f 10/242/12 167/335/12 46/243/12 -f 9/244/9 16/50/9 39/51/9 -f 167/246/58 168/336/58 37/231/58 -f 1/337/42 3/338/42 168/247/42 -f 3/338/42 9/339/42 168/247/42 -f 10/340/42 48/341/42 167/248/42 -f 48/341/42 5/249/42 167/248/42 -f 1/337/42 168/247/42 5/249/42 -f 170/250/42 172/259/42 171/251/42 -f 176/253/4 174/342/4 173/254/4 -f 174/256/59 170/343/59 169/257/59 -f 175/255/9 173/254/9 169/252/9 -f 172/259/12 170/250/12 174/260/12 -o window_Cube.002 -v 0.809482 1.091828 -0.732264 -v 0.338840 1.091828 -0.732264 -v 0.338840 0.874469 -0.732264 -v 0.809482 0.874469 -0.732264 -vt 0.978282 0.984581 -vt 0.711622 0.781054 -vt 0.978133 0.780594 -vt 0.713513 0.984128 -vn 0.0000 0.0000 -1.0000 -usemtl Material.002 -s off -f 178/344/82 180/345/82 179/346/82 -f 178/344/82 177/347/82 180/345/82 o plate_Cylinder -v 0.573046 0.817783 -0.643769 v 0.573046 0.868036 -0.643769 v 0.729762 0.817783 -0.568299 +v 0.573046 0.817783 -0.643769 v 0.729762 0.868036 -0.568299 v 0.768467 0.817783 -0.398719 v 0.768467 0.868036 -0.398719 @@ -969,132 +15,132 @@ v 0.377625 0.817783 -0.398719 v 0.377625 0.868036 -0.398719 v 0.416330 0.817783 -0.568299 v 0.416330 0.868036 -0.568299 -v 0.572966 0.867427 -0.529802 -v 0.572966 0.983075 -0.566974 -v 0.647860 0.867427 -0.486562 -v 0.680052 0.983075 -0.505148 -v 0.647860 0.867427 -0.400082 -v 0.680052 0.983075 -0.381496 -v 0.572966 0.867427 -0.356843 -v 0.572966 0.983075 -0.319670 -v 0.498072 0.867427 -0.400082 -v 0.465880 0.983075 -0.381496 -v 0.498072 0.867427 -0.486562 -v 0.465880 0.983075 -0.505148 -v 0.610413 0.867427 -0.508182 v 0.626509 0.983075 -0.536061 -v 0.572966 0.941312 -0.556665 v 0.671124 0.941312 -0.499994 -v 0.647860 0.867427 -0.443322 +v 0.622045 0.941312 -0.528329 v 0.680052 0.983075 -0.443322 v 0.671124 0.941312 -0.386651 -v 0.610413 0.867427 -0.378463 +v 0.671124 0.941312 -0.443322 v 0.626509 0.983075 -0.350583 v 0.572966 0.941312 -0.329980 -v 0.535519 0.867427 -0.378463 +v 0.622045 0.941312 -0.358315 v 0.519423 0.983075 -0.350583 v 0.474808 0.941312 -0.386651 -v 0.498072 0.867427 -0.443322 +v 0.523887 0.941312 -0.358315 +v 0.572966 0.983075 -0.347524 +v 0.531484 0.983075 -0.371474 v 0.465880 0.983075 -0.443322 v 0.474808 0.941312 -0.499994 -v 0.535519 0.867427 -0.508182 -v 0.519423 0.983075 -0.536061 -v 0.523887 0.941312 -0.528329 v 0.474808 0.941312 -0.443322 -v 0.523887 0.941312 -0.358315 -v 0.622045 0.941312 -0.358315 -v 0.671124 0.941312 -0.443322 -v 0.622045 0.941312 -0.528329 -v 0.572966 0.983075 -0.539121 -v 0.655930 0.983075 -0.491222 -v 0.655930 0.983075 -0.395423 -v 0.572966 0.983075 -0.347524 -v 0.490002 0.983075 -0.395423 -v 0.490002 0.983075 -0.491222 -v 0.614448 0.983075 -0.515171 -v 0.655930 0.983075 -0.443322 +v 0.519423 0.983075 -0.536061 +v 0.572966 0.941312 -0.556665 +v 0.523887 0.941312 -0.528329 +v 0.572966 0.867427 -0.529802 +v 0.535519 0.867427 -0.508182 +v 0.498072 0.867427 -0.486562 +v 0.498072 0.867427 -0.443322 +v 0.498072 0.867427 -0.400082 +v 0.535519 0.867427 -0.378463 +v 0.572966 0.867427 -0.356843 +v 0.610413 0.867427 -0.378463 +v 0.647860 0.867427 -0.400082 +v 0.647860 0.867427 -0.443322 +v 0.647860 0.867427 -0.486562 +v 0.610413 0.867427 -0.508182 v 0.614448 0.983075 -0.371474 -v 0.531484 0.983075 -0.371474 -v 0.490002 0.983075 -0.443322 -v 0.531484 0.983075 -0.515171 -v 0.572966 0.962908 -0.514054 -v 0.634221 0.962908 -0.478688 v 0.634221 0.962908 -0.407956 -v 0.572966 0.962908 -0.372591 -v 0.511710 0.962908 -0.407956 -v 0.511710 0.962908 -0.478688 -v 0.603594 0.962908 -0.496371 -v 0.634221 0.962908 -0.443322 v 0.603594 0.962908 -0.390274 +v 0.572966 0.983075 -0.539121 +v 0.572966 0.983075 -0.566974 +v 0.614448 0.983075 -0.515171 +v 0.655930 0.983075 -0.395423 +v 0.490002 0.983075 -0.491222 +v 0.465880 0.983075 -0.505148 +v 0.655930 0.983075 -0.491222 +v 0.655930 0.983075 -0.443322 +v 0.490002 0.983075 -0.395423 +v 0.465880 0.983075 -0.381496 +v 0.680052 0.983075 -0.505148 +v 0.572966 0.983075 -0.319670 +v 0.680052 0.983075 -0.381496 +v 0.531484 0.983075 -0.515171 +v 0.490002 0.983075 -0.443322 v 0.542338 0.962908 -0.390274 +v 0.634221 0.962908 -0.443322 +v 0.511710 0.962908 -0.407956 +v 0.634221 0.962908 -0.478688 +v 0.572966 0.962908 -0.372591 +v 0.511710 0.962908 -0.478688 +v 0.572966 0.962908 -0.514054 +v 0.603594 0.962908 -0.496371 v 0.511710 0.962908 -0.443322 v 0.542338 0.962908 -0.496371 -v 0.595406 0.982933 -0.519550 -v 0.702492 0.982933 -0.457724 -v 0.702492 0.982933 -0.334072 -v 0.595406 0.982933 -0.272246 -v 0.488321 0.982933 -0.334072 -v 0.488321 0.982933 -0.457724 -v 0.648949 0.982933 -0.488637 -v 0.702492 0.982933 -0.395898 -v 0.648949 0.982933 -0.303159 v 0.541863 0.982933 -0.303159 -v 0.488321 0.982933 -0.395898 -v 0.541863 0.982933 -0.488637 -v 0.678370 0.982933 -0.347999 -v 0.512442 0.982933 -0.347999 -v 0.553924 0.982933 -0.324049 -v 0.553924 0.982933 -0.467747 -v 0.648949 0.999716 -0.488637 -v 0.595406 0.999716 -0.519550 -v 0.702492 0.999716 -0.395898 -v 0.702492 0.999716 -0.457724 -v 0.648949 0.999716 -0.303159 -v 0.702492 0.999716 -0.334072 -v 0.541863 0.999716 -0.303159 -v 0.595406 0.999716 -0.272246 -v 0.488321 0.999716 -0.395898 -v 0.488321 0.999716 -0.334072 -v 0.541863 0.999716 -0.488637 -v 0.488321 0.999716 -0.457724 -v 0.595406 0.999716 -0.491697 -v 0.636888 0.999716 -0.324049 -v 0.553924 0.999716 -0.324049 -v 0.512442 0.999716 -0.395898 -v 0.553924 0.999716 -0.467747 -v 0.595406 0.982933 -0.491697 -v 0.678370 0.982933 -0.443797 v 0.595406 0.982933 -0.300100 +v 0.595406 0.982933 -0.272246 +v 0.595406 0.982933 -0.491697 +v 0.541863 0.982933 -0.488637 +v 0.595406 0.982933 -0.519550 +v 0.648949 0.982933 -0.488637 +v 0.648949 0.982933 -0.303159 +v 0.678370 0.982933 -0.347999 +v 0.702492 0.982933 -0.334072 v 0.512442 0.982933 -0.443797 -v 0.636888 0.982933 -0.467747 -v 0.678370 0.982933 -0.395898 -v 0.636888 0.982933 -0.324049 -v 0.512442 0.982933 -0.395898 -v 0.636888 0.999716 -0.467747 -v 0.678370 0.999716 -0.395898 -v 0.678370 0.999716 -0.443797 -v 0.678370 0.999716 -0.347999 +v 0.488321 0.982933 -0.395898 +v 0.488321 0.982933 -0.457724 +v 0.702492 0.982933 -0.395898 +v 0.678370 0.982933 -0.443797 +v 0.702492 0.982933 -0.457724 +v 0.512442 0.982933 -0.347999 +v 0.488321 0.982933 -0.334072 +v 0.541863 0.999716 -0.303159 v 0.595406 0.999716 -0.300100 -v 0.512442 0.999716 -0.347999 +v 0.553924 0.999716 -0.324049 +v 0.541863 0.999716 -0.488637 +v 0.595406 0.999716 -0.491697 +v 0.595406 0.999716 -0.519550 +v 0.648949 0.999716 -0.488637 +v 0.636888 0.999716 -0.467747 +v 0.648949 0.999716 -0.303159 +v 0.678370 0.999716 -0.347999 +v 0.636888 0.999716 -0.324049 +v 0.488321 0.999716 -0.395898 v 0.512442 0.999716 -0.443797 -v 0.556395 0.998139 -0.385001 -v 0.526238 0.998974 -0.385001 -v 0.556395 0.998139 -0.406796 -v 0.526238 0.998974 -0.406796 -v 0.634417 0.998139 -0.385001 -v 0.667116 0.998562 -0.385001 -v 0.634417 0.998139 -0.406796 -v 0.667116 0.998562 -0.406796 -v 0.556395 0.998139 -0.395898 -v 0.526238 0.998974 -0.395898 +v 0.488321 0.999716 -0.457724 +v 0.702492 0.999716 -0.395898 +v 0.678370 0.999716 -0.443797 +v 0.678370 0.999716 -0.395898 +v 0.512442 0.999716 -0.347999 +v 0.488321 0.999716 -0.334072 +v 0.702492 0.999716 -0.457724 +v 0.595406 0.999716 -0.272246 +v 0.702492 0.999716 -0.334072 +v 0.553924 0.999716 -0.467747 +v 0.512442 0.999716 -0.395898 v 0.595406 1.026090 -0.406796 -v 0.595406 1.052068 -0.406796 -v 0.634417 0.998139 -0.395898 -v 0.667116 0.998562 -0.395898 +v 0.667116 0.998562 -0.406796 +v 0.634417 0.998139 -0.406796 v 0.595406 1.026090 -0.385001 +v 0.526238 0.998974 -0.385001 +v 0.556395 0.998139 -0.385001 +v 0.634417 0.998139 -0.395898 +v 0.595406 1.026090 -0.395898 +v 0.526238 0.998974 -0.395898 v 0.595406 1.052068 -0.385001 v 0.595406 1.052068 -0.395898 -v 0.595406 1.026090 -0.395898 +v 0.667116 0.998562 -0.385001 +v 0.667116 0.998562 -0.395898 +v 0.595406 1.052068 -0.406796 +v 0.526238 0.998974 -0.406796 +v 0.556395 0.998139 -0.395898 +v 0.556395 0.998139 -0.406796 +v 0.634417 0.998139 -0.385001 +v 0.553924 0.982933 -0.324049 +v 0.636888 0.982933 -0.324049 +v 0.678370 0.982933 -0.395898 +v 0.553924 0.982933 -0.467747 +v 0.636888 0.982933 -0.467747 +v 0.512442 0.982933 -0.395898 vt 0.516568 0.925663 vt 0.501815 0.874025 vt 0.516568 0.874025 @@ -1345,26 +391,32 @@ vn 0.0000 1.0000 0.0000 vn -0.9749 0.0000 -0.2225 vn -0.4339 0.0000 -0.9010 vn 0.4890 -0.2091 -0.8469 +vn 0.4889 -0.2090 -0.8469 +vn 0.4889 -0.2091 -0.8469 vn 0.9779 -0.2091 0.0000 -vn 0.4890 -0.2091 0.8469 +vn 0.4889 -0.2091 0.8469 +vn -0.4889 -0.2091 0.8469 vn -0.4890 -0.2091 0.8469 vn -0.9779 -0.2091 0.0000 +vn -0.4890 -0.2091 -0.8469 vn -0.4889 -0.2091 -0.8469 vn -0.4769 -0.3003 -0.8260 -vn -0.4890 -0.2091 -0.8469 +vn -0.4889 -0.2090 -0.8469 vn -0.9538 -0.3003 0.0000 vn -0.4769 -0.3003 0.8260 vn 0.4769 -0.3003 0.8260 +vn 0.4769 -0.3003 0.8261 +vn 0.4890 -0.2091 0.8469 vn 0.9538 -0.3003 0.0000 vn 0.4769 -0.3003 -0.8260 -vn 0.4889 -0.2091 -0.8469 vn -0.3403 0.7326 -0.5894 vn 0.3403 0.7326 -0.5894 vn -0.3403 0.7326 0.5894 +vn -0.3403 0.7327 0.5894 vn 0.6806 0.7326 0.0000 vn -0.6806 0.7326 0.0000 vn 0.3403 0.7326 0.5894 -vn 0.0000 -1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 vn -0.5000 0.0000 -0.8660 vn 0.5000 0.0000 -0.8660 vn 1.0000 0.0000 0.0000 @@ -1373,251 +425,1187 @@ vn -0.5000 0.0000 0.8660 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.5824 -0.8129 0.0000 -vn -0.6089 0.7933 0.0000 +vn -0.6089 0.7932 0.0000 vn 0.5980 0.8015 0.0000 vn 0.5824 -0.8129 0.0000 -vn -0.6089 0.7932 0.0000 -usemtl Material.002 -s off -f 182/348/83 183/349/83 181/350/83 -f 184/351/84 185/352/84 183/349/84 -f 186/353/85 187/354/85 185/352/85 -f 188/355/86 189/356/86 187/354/86 -f 190/357/87 191/358/87 189/356/87 -f 190/359/88 188/360/88 182/361/88 -f 192/362/89 193/363/89 191/358/89 -f 194/364/90 181/365/90 193/363/90 -f 208/366/91 210/367/91 230/368/91 -f 212/369/92 213/370/92 229/371/92 -f 215/372/93 216/373/93 228/374/93 -f 218/375/94 219/376/94 227/377/94 -f 218/375/88 234/378/88 240/379/88 -f 221/380/95 222/381/95 226/382/95 -f 224/383/96 209/384/96 225/385/96 -f 225/385/97 195/386/97 223/387/97 -f 205/388/97 225/385/97 223/387/97 -f 222/381/98 224/383/98 225/385/98 -f 226/382/99 205/388/99 220/389/99 -f 203/390/99 226/382/99 220/389/99 -f 219/376/95 221/380/95 226/382/95 -f 227/377/100 203/390/100 217/391/100 -f 201/392/100 227/377/100 217/391/100 -f 216/373/94 218/375/94 227/377/94 -f 228/374/101 201/392/101 214/393/101 -f 199/394/101 228/374/101 214/393/101 -f 213/370/93 215/372/93 228/374/93 -f 229/371/102 199/394/102 211/395/102 -f 197/396/102 229/371/102 211/395/102 -f 210/367/92 212/369/92 229/371/92 -f 230/368/103 197/396/103 207/397/103 -f 195/398/103 230/368/103 207/397/103 -f 209/399/104 208/366/104 230/368/104 -f 239/400/105 245/401/105 251/402/105 -f 224/383/88 231/403/88 196/404/88 -f 208/366/88 231/405/88 237/406/88 -f 215/372/88 233/407/88 239/408/88 -f 221/380/88 236/409/88 206/410/88 -f 212/369/88 232/411/88 238/412/88 -f 218/375/88 235/413/88 204/414/88 -f 208/366/88 232/411/88 198/415/88 -f 215/372/88 234/378/88 202/416/88 -f 212/369/88 233/407/88 200/417/88 -f 224/383/88 236/409/88 242/418/88 -f 221/380/88 235/413/88 241/419/88 -f 252/420/88 251/421/88 250/422/88 -f 240/423/106 247/424/106 235/425/106 -f 237/426/107 244/427/107 232/428/107 -f 240/423/106 246/429/106 252/430/106 -f 241/431/108 248/432/108 236/433/108 -f 237/426/107 243/434/107 249/435/107 -f 238/436/109 245/401/109 233/437/109 -f 241/431/108 247/424/108 253/438/108 -f 242/439/110 243/434/110 231/440/110 -f 238/436/109 244/427/109 250/441/109 -f 239/400/105 246/429/105 234/442/105 -f 242/439/110 248/432/110 254/443/110 -f 264/444/111 290/445/111 258/446/111 -f 288/447/111 266/448/111 255/449/111 -f 261/450/111 288/447/111 255/449/111 -f 263/451/111 267/452/111 257/453/111 -f 291/454/111 265/455/111 260/456/111 -f 262/457/111 289/458/111 256/459/111 -f 268/460/111 264/444/111 259/461/111 -f 289/458/111 261/450/111 256/459/111 -f 290/445/111 263/451/111 258/446/111 -f 267/452/111 262/457/111 257/453/111 -f 266/448/111 291/454/111 260/456/111 -f 265/455/111 268/460/111 259/461/111 -f 277/462/88 300/463/88 285/464/88 -f 281/465/88 283/466/88 272/467/88 -f 271/468/88 283/466/88 296/469/88 -f 275/470/88 299/471/88 284/472/88 -f 279/473/88 302/474/88 282/475/88 -f 273/476/88 298/477/88 297/478/88 -f 277/462/88 301/479/88 280/480/88 -f 271/468/88 298/477/88 274/481/88 -f 275/470/88 300/463/88 278/482/88 -f 273/476/88 299/471/88 276/483/88 -f 281/465/88 302/474/88 287/484/88 -f 279/473/88 301/479/88 286/485/88 -f 260/486/112 281/487/112 266/488/112 -f 261/489/113 274/490/113 256/491/113 -f 262/492/114 276/493/114 257/494/114 -f 255/495/113 271/496/113 261/489/113 -f 263/497/115 278/498/115 258/499/115 -f 256/500/114 273/501/114 262/492/114 -f 264/502/116 280/503/116 259/504/116 -f 257/494/115 275/505/115 263/497/115 -f 265/506/117 282/507/117 260/486/117 -f 258/499/116 277/508/116 264/502/116 -f 266/488/112 272/509/112 255/495/112 -f 259/504/117 279/510/117 265/506/117 -f 285/511/88 284/512/88 297/513/88 -f 313/514/118 310/515/118 309/516/118 -f 317/517/86 304/518/86 303/519/86 -f 315/520/119 317/521/119 320/522/119 -f 312/523/120 318/524/120 319/525/120 -f 319/526/121 308/527/121 316/528/121 -f 314/529/121 316/530/121 310/515/121 -f 306/531/120 319/532/120 314/533/120 -f 320/534/122 303/519/122 311/535/122 -f 313/536/122 311/537/122 305/538/122 -f 309/516/119 320/539/119 313/514/119 -f 308/527/86 317/521/86 307/540/86 -f 306/531/118 313/536/118 305/538/118 -f 269/541/88 294/542/88 293/543/88 -f 182/348/83 184/351/83 183/349/83 -f 184/351/84 186/353/84 185/352/84 -f 186/353/85 188/355/85 187/354/85 -f 188/355/86 190/357/86 189/356/86 -f 190/357/87 192/362/87 191/358/87 -f 186/544/88 184/545/88 188/360/88 -f 184/545/88 182/361/88 188/360/88 -f 182/361/88 194/546/88 192/547/88 -f 192/547/88 190/359/88 182/361/88 -f 192/362/89 194/364/89 193/363/89 -f 194/364/90 182/548/90 181/365/90 -f 208/366/91 198/415/91 210/367/91 -f 212/369/92 200/417/92 213/370/92 -f 215/372/93 202/416/93 216/373/93 -f 218/375/94 204/414/94 219/376/94 -f 218/375/88 202/416/88 234/378/88 -f 221/380/95 206/410/95 222/381/95 -f 224/383/98 196/404/98 209/384/98 -f 225/385/97 209/384/97 195/386/97 -f 205/388/97 222/381/97 225/385/97 -f 222/381/98 206/410/98 224/383/98 -f 226/382/99 222/381/99 205/388/99 -f 203/390/99 219/376/99 226/382/99 -f 219/376/95 204/414/95 221/380/95 -f 227/377/100 219/376/100 203/390/100 -f 201/392/100 216/373/100 227/377/100 -f 216/373/94 202/416/94 218/375/94 -f 228/374/101 216/373/101 201/392/101 -f 199/394/101 213/370/101 228/374/101 -f 213/370/93 200/417/93 215/372/93 -f 229/371/102 213/370/102 199/394/102 -f 197/396/102 210/367/102 229/371/102 -f 210/367/92 198/415/92 212/369/92 -f 230/368/103 210/367/103 197/396/103 -f 195/398/103 209/399/103 230/368/103 -f 209/399/91 196/549/91 208/366/91 -f 239/400/105 233/437/105 245/401/105 -f 224/383/88 242/418/88 231/403/88 -f 208/366/88 196/549/88 231/405/88 -f 215/372/88 200/417/88 233/407/88 -f 221/380/88 241/419/88 236/409/88 -f 212/369/88 198/415/88 232/411/88 -f 218/375/88 240/379/88 235/413/88 -f 208/366/88 237/406/88 232/411/88 -f 215/372/88 239/408/88 234/378/88 -f 212/369/88 238/412/88 233/407/88 -f 224/383/88 206/410/88 236/409/88 -f 221/380/88 204/414/88 235/413/88 -f 250/422/88 244/550/88 249/551/88 -f 249/551/88 243/552/88 254/553/88 -f 254/553/88 248/554/88 253/555/88 -f 253/555/88 247/556/88 252/420/88 -f 252/420/88 246/557/88 251/421/88 -f 251/421/88 245/558/88 250/422/88 -f 250/422/88 249/551/88 252/420/88 -f 249/551/88 254/553/88 252/420/88 -f 254/553/88 253/555/88 252/420/88 -f 240/423/106 252/430/106 247/424/106 -f 237/426/107 249/435/107 244/427/107 -f 240/423/106 234/442/106 246/429/106 -f 241/431/108 253/438/108 248/432/108 -f 237/426/107 231/440/107 243/434/107 -f 238/436/109 250/441/109 245/401/109 -f 241/431/108 235/425/108 247/424/108 -f 242/439/110 254/443/110 243/434/110 -f 238/436/109 232/428/109 244/427/109 -f 239/400/105 251/402/105 246/429/105 -f 242/439/110 236/433/110 248/432/110 -f 264/444/111 269/559/111 290/445/111 -f 288/447/111 270/560/111 266/448/111 -f 261/450/111 292/561/111 288/447/111 -f 263/451/111 294/562/111 267/452/111 -f 291/454/111 295/563/111 265/455/111 -f 262/457/111 293/564/111 289/458/111 -f 268/460/111 269/559/111 264/444/111 -f 289/458/111 292/561/111 261/450/111 -f 290/445/111 294/562/111 263/451/111 -f 267/452/111 293/564/111 262/457/111 -f 266/448/111 270/560/111 291/454/111 -f 265/455/111 295/563/111 268/460/111 -f 277/462/88 278/482/88 300/463/88 -f 281/465/88 287/484/88 283/466/88 -f 271/468/88 272/467/88 283/466/88 -f 275/470/88 276/483/88 299/471/88 -f 279/473/88 286/485/88 302/474/88 -f 273/476/88 274/481/88 298/477/88 -f 277/462/88 285/464/88 301/479/88 -f 271/468/88 296/469/88 298/477/88 -f 275/470/88 284/472/88 300/463/88 -f 273/476/88 297/478/88 299/471/88 -f 281/465/88 282/475/88 302/474/88 -f 279/473/88 280/480/88 301/479/88 -f 260/486/112 282/507/112 281/487/112 -f 261/489/113 271/496/113 274/490/113 -f 262/492/114 273/501/114 276/493/114 -f 255/495/113 272/509/113 271/496/113 -f 263/497/115 275/505/115 278/498/115 -f 256/500/114 274/565/114 273/501/114 -f 264/502/116 277/508/116 280/503/116 -f 257/494/115 276/493/115 275/505/115 -f 265/506/117 279/510/117 282/507/117 -f 258/499/116 278/498/116 277/508/116 -f 266/488/112 281/487/112 272/509/112 -f 259/504/117 280/503/117 279/510/117 -f 297/513/88 298/566/88 296/567/88 -f 296/567/88 283/568/88 287/569/88 -f 287/569/88 302/570/88 286/571/88 -f 286/571/88 301/572/88 285/511/88 -f 285/511/88 300/573/88 284/512/88 -f 284/512/88 299/574/88 297/513/88 -f 297/513/88 296/567/88 285/511/88 -f 296/567/88 287/569/88 285/511/88 -f 287/569/88 286/571/88 285/511/88 -f 313/514/118 314/529/118 310/515/118 -f 317/517/86 318/524/86 304/518/86 -f 315/520/119 307/540/119 317/521/119 -f 312/523/123 304/518/123 318/524/123 -f 319/526/121 318/575/121 308/527/121 -f 314/529/121 319/576/121 316/530/121 -f 306/531/123 312/577/123 319/532/123 -f 320/534/122 317/517/122 303/519/122 -f 313/536/122 320/578/122 311/537/122 -f 309/516/119 315/579/119 320/539/119 -f 308/527/86 318/575/86 317/521/86 -f 306/531/118 314/533/118 313/536/118 -f 293/543/88 289/580/88 292/581/88 -f 292/581/88 288/582/88 270/583/88 -f 270/583/88 291/584/88 295/585/88 -f 295/585/88 268/586/88 269/541/88 -f 269/541/88 290/587/88 294/542/88 -f 294/542/88 267/588/88 293/543/88 -f 293/543/88 292/581/88 269/541/88 -f 292/581/88 270/583/88 269/541/88 -f 270/583/88 295/585/88 269/541/88 -l 289 298 +vn 0.4890 -0.2090 -0.8469 +vn -0.4769 -0.3003 -0.8261 +vn -0.4890 -0.2090 -0.8469 +vn -0.4769 -0.3003 0.8261 +vn 0.4769 -0.3003 -0.8261 +s 1 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 2/2/2 +f 6/6/3 7/7/3 5/5/3 +f 8/8/4 9/9/4 7/7/4 +f 10/10/5 11/11/5 9/9/5 +f 10/12/6 8/13/6 1/14/6 +f 12/15/7 13/16/7 11/11/7 +f 14/17/8 3/18/8 13/16/8 +f 15/19/9 16/20/10 17/21/11 +f 18/22/12 19/23/12 20/24/12 +f 21/25/13 22/26/13 23/27/13 +f 24/28/14 25/29/15 26/30/14 +f 24/28/6 27/31/6 28/32/6 +f 29/33/16 30/34/16 31/35/16 +f 32/36/17 33/37/17 34/38/18 +f 34/38/19 35/39/19 36/40/19 +f 37/41/19 34/38/19 36/40/19 +f 30/34/20 32/36/17 34/38/18 +f 31/35/21 37/41/21 38/42/21 +f 39/43/21 31/35/21 38/42/21 +f 25/29/16 29/33/16 31/35/16 +f 26/30/22 39/43/22 40/44/22 +f 41/45/22 26/30/22 40/44/22 +f 22/26/14 24/28/14 26/30/14 +f 23/27/23 41/45/23 42/46/23 +f 43/47/24 23/27/23 42/46/23 +f 19/23/25 21/25/13 23/27/13 +f 20/24/26 43/47/26 44/48/26 +f 45/49/26 20/24/26 44/48/26 +f 16/20/12 18/22/12 20/24/12 +f 17/21/27 45/49/27 46/50/27 +f 35/51/27 17/21/27 46/50/27 +f 33/52/9 15/19/9 17/21/11 +f 47/53/28 48/54/28 49/55/28 +f 32/36/6 50/56/6 51/57/6 +f 15/19/6 50/58/6 52/59/6 +f 21/25/6 53/60/6 47/61/6 +f 29/33/6 54/62/6 55/63/6 +f 18/22/6 56/64/6 57/65/6 +f 24/28/6 58/66/6 59/67/6 +f 15/19/6 56/64/6 60/68/6 +f 21/25/6 27/31/6 61/69/6 +f 18/22/6 53/60/6 62/70/6 +f 32/36/6 54/62/6 63/71/6 +f 29/33/6 58/66/6 64/72/6 +f 65/73/6 49/74/6 66/75/6 +f 28/76/29 67/77/29 58/78/29 +f 52/79/30 68/80/30 56/81/31 +f 28/76/29 69/82/29 65/83/29 +f 64/84/32 70/85/32 54/86/32 +f 52/79/30 71/87/30 72/88/30 +f 57/89/33 48/54/33 53/90/33 +f 64/84/32 67/77/32 73/91/32 +f 63/92/34 71/87/34 50/93/34 +f 57/89/33 68/80/33 66/94/33 +f 47/53/28 69/82/28 27/95/28 +f 63/92/34 70/85/34 74/96/34 +f 75/97/35 76/98/35 77/99/35 +f 78/100/35 79/101/35 80/102/35 +f 81/103/35 78/100/35 80/102/35 +f 82/104/35 83/105/35 84/106/35 +f 85/107/35 86/108/35 87/109/35 +f 88/110/35 89/111/35 90/112/35 +f 91/113/35 75/97/35 92/114/35 +f 89/111/35 81/103/35 90/112/35 +f 76/98/35 82/104/35 77/99/35 +f 83/105/35 88/110/35 84/106/35 +f 79/101/35 85/107/35 87/109/35 +f 86/108/35 91/113/35 92/114/35 +f 93/115/6 94/116/6 95/117/6 +f 96/118/6 97/119/6 98/120/6 +f 99/121/6 97/119/6 100/122/6 +f 101/123/6 102/124/6 103/125/6 +f 104/126/6 105/127/6 106/128/6 +f 107/129/6 108/130/6 109/131/6 +f 93/115/6 110/132/6 111/133/6 +f 99/121/6 108/130/6 112/134/6 +f 101/123/6 94/116/6 113/135/6 +f 107/129/6 102/124/6 114/136/6 +f 96/118/6 105/127/6 115/137/6 +f 104/126/6 110/132/6 116/138/6 +f 87/139/36 96/140/36 79/141/36 +f 81/142/37 112/143/37 90/144/37 +f 88/145/38 114/146/38 84/147/38 +f 80/148/37 99/149/37 81/142/37 +f 82/150/39 113/151/39 77/152/39 +f 90/153/38 107/154/38 88/145/38 +f 75/155/40 111/156/40 92/157/40 +f 84/147/39 101/158/39 82/150/39 +f 86/159/41 106/160/41 87/139/41 +f 77/152/40 93/161/40 75/155/40 +f 79/141/36 98/162/36 80/148/36 +f 92/157/41 104/163/41 86/159/41 +f 95/164/6 103/165/6 109/166/6 +f 117/167/42 118/168/42 119/169/42 +f 120/170/4 121/171/4 122/172/4 +f 123/173/43 120/174/43 124/175/43 +f 125/176/44 126/177/44 127/178/44 +f 127/179/45 128/180/45 129/181/45 +f 130/182/45 129/183/45 118/168/45 +f 131/184/44 127/185/44 130/186/44 +f 124/187/46 122/172/46 132/188/46 +f 117/189/46 132/190/46 133/191/46 +f 119/169/43 124/192/43 117/167/43 +f 128/180/4 120/174/4 134/193/4 +f 131/184/42 117/189/42 133/191/42 +f 135/194/6 136/195/6 137/196/6 +f 1/1/1 4/4/1 2/2/1 +f 4/4/2 6/6/2 5/5/2 +f 6/6/3 8/8/3 7/7/3 +f 8/8/4 10/10/4 9/9/4 +f 10/10/5 12/15/5 11/11/5 +f 6/197/6 4/198/6 8/13/6 +f 4/198/6 1/14/6 8/13/6 +f 1/14/6 14/199/6 12/200/6 +f 12/200/6 10/12/6 1/14/6 +f 12/15/7 14/17/7 13/16/7 +f 14/17/8 1/201/8 3/18/8 +f 15/19/9 60/68/47 16/20/10 +f 18/22/12 62/70/12 19/23/12 +f 21/25/13 61/69/13 22/26/13 +f 24/28/14 59/67/15 25/29/15 +f 24/28/6 61/69/6 27/31/6 +f 29/33/16 55/63/16 30/34/16 +f 32/36/17 51/57/17 33/37/17 +f 34/38/19 33/37/19 35/39/19 +f 37/41/48 30/34/48 34/38/48 +f 30/34/20 55/63/49 32/36/17 +f 31/35/21 30/34/21 37/41/21 +f 39/43/21 25/29/21 31/35/21 +f 25/29/16 59/67/16 29/33/16 +f 26/30/22 25/29/22 39/43/22 +f 41/45/50 22/26/50 26/30/50 +f 22/26/14 61/69/14 24/28/14 +f 23/27/23 22/26/24 41/45/23 +f 43/47/23 19/23/23 23/27/23 +f 19/23/25 62/70/25 21/25/13 +f 20/24/26 19/23/26 43/47/26 +f 45/49/26 16/20/26 20/24/26 +f 16/20/12 60/68/12 18/22/12 +f 17/21/27 16/20/51 45/49/27 +f 35/51/27 33/52/27 17/21/27 +f 33/52/9 51/202/9 15/19/9 +f 47/53/28 53/90/28 48/54/28 +f 32/36/6 63/71/6 50/56/6 +f 15/19/6 51/202/6 50/58/6 +f 21/25/6 62/70/6 53/60/6 +f 29/33/6 64/72/6 54/62/6 +f 18/22/6 60/68/6 56/64/6 +f 24/28/6 28/32/6 58/66/6 +f 15/19/6 52/59/6 56/64/6 +f 21/25/6 47/61/6 27/31/6 +f 18/22/6 57/65/6 53/60/6 +f 32/36/6 55/63/6 54/62/6 +f 29/33/6 59/67/6 58/66/6 +f 66/75/6 68/203/6 72/204/6 +f 72/204/6 71/205/6 74/206/6 +f 74/206/6 70/207/6 73/208/6 +f 73/208/6 67/209/6 65/73/6 +f 65/73/6 69/210/6 49/74/6 +f 49/74/6 48/211/6 66/75/6 +f 66/75/6 72/204/6 65/73/6 +f 72/204/6 74/206/6 65/73/6 +f 74/206/6 73/208/6 65/73/6 +f 28/76/29 65/83/29 67/77/29 +f 52/79/30 72/88/30 68/80/30 +f 28/76/29 27/95/29 69/82/29 +f 64/84/32 73/91/32 70/85/32 +f 52/79/30 50/93/30 71/87/30 +f 57/89/33 66/94/33 48/54/33 +f 64/84/32 58/78/32 67/77/32 +f 63/92/34 74/96/34 71/87/34 +f 57/89/33 56/81/33 68/80/33 +f 47/53/28 49/55/28 69/82/28 +f 63/92/34 54/86/34 70/85/34 +f 75/97/35 135/212/35 76/98/35 +f 78/100/35 138/213/35 79/101/35 +f 81/103/35 139/214/35 78/100/35 +f 82/104/35 136/215/35 83/105/35 +f 85/107/35 140/216/35 86/108/35 +f 88/110/35 137/217/35 89/111/35 +f 91/113/35 135/212/35 75/97/35 +f 89/111/35 139/214/35 81/103/35 +f 76/98/35 136/215/35 82/104/35 +f 83/105/35 137/217/35 88/110/35 +f 79/101/35 138/213/35 85/107/35 +f 86/108/35 140/216/35 91/113/35 +f 93/115/6 113/135/6 94/116/6 +f 96/118/6 115/137/6 97/119/6 +f 99/121/6 98/120/6 97/119/6 +f 101/123/6 114/136/6 102/124/6 +f 104/126/6 116/138/6 105/127/6 +f 107/129/6 112/134/6 108/130/6 +f 93/115/6 95/117/6 110/132/6 +f 99/121/6 100/122/6 108/130/6 +f 101/123/6 103/125/6 94/116/6 +f 107/129/6 109/131/6 102/124/6 +f 96/118/6 106/128/6 105/127/6 +f 104/126/6 111/133/6 110/132/6 +f 87/139/36 106/160/36 96/140/36 +f 81/142/37 99/149/37 112/143/37 +f 88/145/38 107/154/38 114/146/38 +f 80/148/37 98/162/37 99/149/37 +f 82/150/39 101/158/39 113/151/39 +f 90/153/38 112/218/38 107/154/38 +f 75/155/40 93/161/40 111/156/40 +f 84/147/39 114/146/39 101/158/39 +f 86/159/41 104/163/41 106/160/41 +f 77/152/40 113/151/40 93/161/40 +f 79/141/36 96/140/36 98/162/36 +f 92/157/41 111/156/41 104/163/41 +f 109/166/6 108/219/6 100/220/6 +f 100/220/6 97/221/6 115/222/6 +f 115/222/6 105/223/6 116/224/6 +f 116/224/6 110/225/6 95/164/6 +f 95/164/6 94/226/6 103/165/6 +f 103/165/6 102/227/6 109/166/6 +f 109/166/6 100/220/6 95/164/6 +f 100/220/6 115/222/6 95/164/6 +f 115/222/6 116/224/6 95/164/6 +f 117/167/42 130/182/42 118/168/42 +f 120/170/4 126/177/4 121/171/4 +f 123/173/43 134/193/43 120/174/43 +f 125/176/44 121/171/44 126/177/44 +f 127/179/45 126/228/45 128/180/45 +f 130/182/45 127/229/45 129/183/45 +f 131/184/44 125/230/44 127/185/44 +f 124/187/46 120/170/46 122/172/46 +f 117/189/46 124/231/46 132/190/46 +f 119/169/43 123/232/43 124/192/43 +f 128/180/4 126/228/4 120/174/4 +f 131/184/42 130/186/42 117/189/42 +f 137/196/6 89/233/6 139/234/6 +f 139/234/6 78/235/6 138/236/6 +f 138/236/6 85/237/6 140/238/6 +f 140/238/6 91/239/6 135/194/6 +f 135/194/6 76/240/6 136/195/6 +f 136/195/6 83/241/6 137/196/6 +f 137/196/6 139/234/6 135/194/6 +f 139/234/6 138/236/6 135/194/6 +f 138/236/6 140/238/6 135/194/6 +l 89 108 +o window_Cube.002 +v 0.338840 1.091828 -0.732264 +v 0.809482 0.874469 -0.732264 +v 0.338840 0.874469 -0.732264 +v 0.809482 1.091828 -0.732264 +vt 0.978282 0.984581 +vt 0.711622 0.781054 +vt 0.978133 0.780594 +vt 0.713513 0.984128 +vn 0.0000 0.0000 -1.0000 +s 1 +f 141/242/52 142/243/52 143/244/52 +f 141/242/52 144/245/52 142/243/52 +o mainbody_Cube.001 +v 0.853658 0.789125 -0.153063 +v 0.857794 1.181387 -0.156304 +v 0.853658 1.181387 -0.153063 +v 0.849338 0.787154 -0.151007 +v 0.127829 1.183358 -0.151007 +v 0.125502 0.787154 -0.149193 +v 0.238197 0.787154 -0.728996 +v 0.234821 1.183358 -0.728996 +v 0.238197 1.183358 -0.728996 +v 0.234821 0.787154 -0.728996 +v 0.234821 1.127133 -0.731795 +v 0.121182 1.181387 -0.733581 +v 0.115750 0.789125 -0.732973 +v 0.117047 1.181387 -0.730340 +v 0.827432 1.125951 -0.735637 +v 0.835231 1.121211 -0.732176 +v 0.826308 1.125951 -0.732176 +v 0.155271 1.127133 -0.731795 +v 0.138747 1.118357 -0.731795 +v 0.140113 0.846848 -0.735637 +v 0.149037 0.842109 -0.731795 +v 0.149037 0.842109 -0.735637 +v 0.149897 1.125951 -0.735637 +v 0.140973 1.121211 -0.731795 +v 0.140973 1.121211 -0.735637 +v 0.234821 1.127133 -0.735637 +v 0.155271 1.127133 -0.735637 +v 0.154411 0.840926 -0.731795 +v 0.154411 0.840926 -0.735637 +v 0.149897 1.125951 -0.731795 +v 0.234338 0.840926 -0.731795 +v 0.234338 0.840926 -0.735637 +v 0.137887 0.849703 -0.735637 +v 0.140113 0.846848 -0.731795 +v 0.138747 1.118357 -0.735637 +v 0.137887 0.849703 -0.731795 +v 0.821198 0.840926 -0.735637 +v 0.825447 0.842109 -0.732176 +v 0.826572 0.842109 -0.735637 +v 0.836356 1.121211 -0.735637 +v 0.837458 1.118357 -0.732176 +v 0.837722 0.849703 -0.735637 +v 0.838582 1.118357 -0.735637 +v 0.835496 0.846848 -0.735637 +v 0.836597 0.849703 -0.732176 +v 0.822058 1.127133 -0.735637 +v 0.820933 1.127133 -0.732176 +v 0.834371 0.846848 -0.732176 +v 0.126814 0.787154 -0.735637 +v 0.234821 0.787154 -0.735637 +v 0.857794 0.789125 -0.730340 +v 0.853658 1.181387 -0.733581 +v 0.857794 1.181387 -0.730340 +v 0.847012 1.183358 -0.735637 +v 0.848027 0.787154 -0.735637 +v 0.860417 0.787154 -0.726955 +v 0.860417 1.183358 -0.161513 +v 0.862732 0.787154 -0.159690 +v 0.114423 0.787154 -0.159690 +v 0.114423 1.183358 -0.725132 +v 0.112109 0.787154 -0.726955 +v 0.121182 1.181387 -0.153063 +v 0.117047 0.789125 -0.156304 +v 0.121182 0.789125 -0.153063 +v 0.853658 0.789125 -0.733581 +v 0.860417 1.183358 -0.725132 +v 0.847012 1.183358 -0.151007 +v 0.857794 0.789125 -0.156304 +v 0.127829 1.183358 -0.735637 +v 0.120534 0.789125 -0.735475 +v 0.114423 1.183358 -0.161513 +v 0.117047 1.181387 -0.156304 +v 0.246749 1.051755 -0.754385 +v 0.246749 1.118254 -0.734150 +v 0.246749 1.051755 -0.757676 +v 0.273339 1.118254 -0.734150 +v 0.282202 1.051755 -0.757676 +v 0.273339 1.051755 -0.757676 +v 0.282202 1.118254 -0.730859 +v 0.282202 1.051755 -0.751094 +v 0.282202 1.051755 -0.754385 +v 0.255612 1.051755 -0.751094 +v 0.246749 1.118254 -0.727568 +v 0.246749 1.051755 -0.751094 +v 0.273339 0.852258 -0.730849 +v 0.282202 0.852258 -0.727568 +v 0.273339 0.852258 -0.727568 +v 0.255612 1.118254 -0.730849 +v 0.255612 1.118254 -0.727568 +v 0.264475 1.118254 -0.730849 +v 0.273339 1.118254 -0.727568 +v 0.273339 1.118254 -0.730849 +v 0.264475 0.852258 -0.730849 +v 0.255612 0.852258 -0.727568 +v 0.255612 0.852258 -0.730849 +v 0.255612 0.985256 -0.755632 +v 0.246749 0.918757 -0.747802 +v 0.255612 0.918757 -0.747802 +v 0.273339 0.918757 -0.747802 +v 0.264475 0.985256 -0.755632 +v 0.264475 0.918757 -0.747802 +v 0.264475 1.051755 -0.751094 +v 0.273339 1.051755 -0.751094 +v 0.282202 0.918757 -0.751094 +v 0.282202 0.985256 -0.755632 +v 0.282202 0.918757 -0.747802 +v 0.273339 0.985256 -0.762214 +v 0.282202 0.918757 -0.754385 +v 0.273339 0.918757 -0.754385 +v 0.255612 0.985256 -0.762214 +v 0.264475 0.918757 -0.754385 +v 0.255612 0.918757 -0.754385 +v 0.255612 1.118254 -0.734150 +v 0.264475 1.051755 -0.757676 +v 0.255612 1.051755 -0.757676 +v 0.246749 0.985256 -0.758923 +v 0.246749 0.918757 -0.754385 +v 0.246749 0.918757 -0.751094 +v 0.246749 0.852258 -0.734150 +v 0.246749 0.852258 -0.730859 +v 0.246749 0.852258 -0.727568 +v 0.246749 0.985256 -0.755632 +v 0.264475 0.985256 -0.762214 +v 0.246749 0.985256 -0.762214 +v 0.264475 0.852258 -0.734150 +v 0.255612 0.852258 -0.734150 +v 0.282202 0.852258 -0.734150 +v 0.273339 0.852258 -0.734150 +v 0.282202 0.852258 -0.730859 +v 0.282202 0.985256 -0.758923 +v 0.273339 0.985256 -0.755632 +v 0.282202 1.118254 -0.727568 +v 0.264475 0.852258 -0.727568 +v 0.282202 1.118254 -0.734150 +v 0.264475 1.118254 -0.734150 +v 0.264475 1.118254 -0.727568 +v 0.246749 1.118254 -0.730859 +v 0.282202 0.985256 -0.762214 +v 0.303131 1.127133 -0.208209 +v 0.303131 1.127133 -0.732176 +v 0.834371 0.846848 -0.208209 +v 0.826308 1.125951 -0.208209 +v 0.837458 1.118357 -0.208209 +v 0.820073 0.840926 -0.732176 +v 0.825447 0.842109 -0.208209 +v 0.835231 1.121211 -0.208209 +v 0.303131 0.840926 -0.208209 +v 0.303131 0.840926 -0.732176 +v 0.820073 0.840926 -0.208209 +v 0.836597 0.849703 -0.208209 +v 0.820933 1.127133 -0.208209 +v 0.796168 0.874846 -0.732176 +v 0.807544 1.087096 -0.732176 +v 0.339101 1.091541 -0.732176 +v 0.339101 0.874846 -0.732176 +v 0.806898 0.879290 -0.732176 +v 0.796813 1.091541 -0.732176 +v 0.800201 0.875733 -0.732176 +v 0.800847 1.090653 -0.732176 +v 0.809215 1.084954 -0.732176 +v 0.238197 0.840926 -0.735637 +v 0.238197 1.127133 -0.735637 +v 0.238197 1.127133 -0.731795 +v 0.238197 0.840926 -0.731795 +v 0.234821 1.183358 -0.735637 +v 0.238197 0.787154 -0.735637 +v 0.238197 1.183358 -0.735637 +v 0.808569 0.881432 -0.732176 +vt 0.187756 0.185116 +vt 0.190250 0.359586 +vt 0.187359 0.359553 +vt 0.184816 0.183014 +vt 0.011904 0.361665 +vt 0.011410 0.182951 +vt 0.434160 0.035160 +vt 0.437617 0.233175 +vt 0.433848 0.233203 +vt 0.421314 0.234632 +vt 0.421314 0.024505 +vt 0.424461 0.141338 +vt 0.180342 0.556180 +vt 0.006258 0.555192 +vt 0.180341 0.553216 +vt 0.619010 0.294600 +vt 0.615336 0.293939 +vt 0.618997 0.293255 +vt 0.560911 0.771909 +vt 0.499383 0.771947 +vt 0.573681 0.763070 +vt 0.551781 0.278506 +vt 0.554882 0.277399 +vt 0.554849 0.278591 +vt 0.477598 0.276038 +vt 0.480699 0.274931 +vt 0.480666 0.276123 +vt 0.456844 0.275464 +vt 0.476217 0.274807 +vt 0.476184 0.275999 +vt 0.556296 0.277438 +vt 0.556263 0.278630 +vt 0.477631 0.274846 +vt 0.575727 0.277976 +vt 0.575694 0.279168 +vt 0.550366 0.278467 +vt 0.551814 0.277314 +vt 0.482080 0.276163 +vt 0.550399 0.277275 +vt 0.482113 0.274971 +vt 0.529499 0.294540 +vt 0.531162 0.293570 +vt 0.531174 0.294916 +vt 0.615349 0.295285 +vt 0.613628 0.294117 +vt 0.536559 0.295677 +vt 0.613641 0.295463 +vt 0.534848 0.295531 +vt 0.536546 0.294332 +vt 0.620678 0.294193 +vt 0.620665 0.292848 +vt 0.534835 0.294186 +vt 0.390231 0.176341 +vt 0.365296 0.176585 +vt 0.365277 0.174628 +vt 0.008379 0.053132 +vt 0.010531 0.175541 +vt 0.008501 0.175525 +vt 0.678815 0.051868 +vt 0.681765 0.009865 +vt 0.681766 0.212069 +vt 0.191651 0.177060 +vt 0.014270 0.002844 +vt 0.192984 0.003659 +vt 0.661827 0.216665 +vt 0.508504 0.216408 +vt 0.472754 0.213047 +vt 0.182461 0.549659 +vt 0.002549 0.378060 +vt 0.181254 0.376258 +vt 0.008747 0.359552 +vt 0.004975 0.185105 +vt 0.008120 0.184943 +vt 0.006284 0.051542 +vt 0.010601 0.053093 +vt 0.004000 0.561180 +vt 0.003756 0.551834 +vt 0.006284 0.177060 +vt 0.012743 0.177034 +vt 0.012878 0.051518 +vt 0.184195 0.361727 +vt 0.193393 0.361723 +vt 0.190903 0.184977 +vt 0.194207 0.183009 +vt 0.182571 0.559338 +vt 0.182461 0.550031 +vt 0.006443 0.558120 +vt 0.002020 0.183025 +vt 0.004195 0.360497 +vt 0.005856 0.359540 +vt 0.363575 0.189539 +vt 0.388348 0.187899 +vt 0.391408 0.191039 +vt 0.913862 0.374962 +vt 0.932207 0.411652 +vt 0.913862 0.411652 +vt 0.947121 0.484382 +vt 0.928948 0.502555 +vt 0.928948 0.484382 +vt 0.922832 0.558833 +vt 0.904487 0.595522 +vt 0.904487 0.558833 +vt 0.904487 0.650556 +vt 0.922832 0.668901 +vt 0.904487 0.668901 +vt 0.831108 0.558833 +vt 0.849453 0.595522 +vt 0.831108 0.595522 +vt 0.977866 0.558833 +vt 0.996210 0.595522 +vt 0.977866 0.595522 +vt 0.959521 0.558833 +vt 0.941176 0.595522 +vt 0.941176 0.558833 +vt 0.812764 0.558833 +vt 0.794419 0.595522 +vt 0.794419 0.558833 +vt 0.886142 0.650556 +vt 0.867798 0.668901 +vt 0.867798 0.650556 +vt 0.867798 0.613867 +vt 0.886142 0.632212 +vt 0.867798 0.632212 +vt 0.922832 0.613867 +vt 0.904487 0.632212 +vt 0.904487 0.613867 +vt 0.867798 0.558833 +vt 0.886142 0.595522 +vt 0.867798 0.595522 +vt 0.899580 0.488095 +vt 0.881478 0.506196 +vt 0.881478 0.488095 +vt 0.899580 0.451892 +vt 0.881478 0.469993 +vt 0.881478 0.451892 +vt 0.947121 0.448035 +vt 0.928948 0.466208 +vt 0.928948 0.448035 +vt 0.895517 0.374962 +vt 0.877173 0.411652 +vt 0.877173 0.374962 +vt 0.858828 0.411652 +vt 0.858828 0.374962 +vt 0.877173 0.338273 +vt 0.858828 0.338273 +vt 0.895517 0.338273 +vt 0.917681 0.451892 +vt 0.899580 0.469993 +vt 0.917681 0.433790 +vt 0.899580 0.433790 +vt 0.947121 0.429861 +vt 0.928948 0.429861 +vt 0.867173 0.448727 +vt 0.848828 0.467071 +vt 0.848828 0.448727 +vt 0.867173 0.430382 +vt 0.848828 0.430382 +vt 0.881478 0.433790 +vt 0.867173 0.485416 +vt 0.848828 0.503761 +vt 0.848828 0.485416 +vt 0.867173 0.467071 +vt 0.849453 0.558833 +vt 0.849453 0.522144 +vt 0.867798 0.522144 +vt 0.886142 0.558833 +vt 0.886142 0.613867 +vt 0.922832 0.595522 +vt 0.849453 0.632212 +vt 0.849453 0.613867 +vt 0.849453 0.668901 +vt 0.849453 0.650556 +vt 0.776074 0.595522 +vt 0.776074 0.558833 +vt 0.794419 0.522144 +vt 0.776074 0.522144 +vt 0.812764 0.522144 +vt 0.941176 0.522144 +vt 0.922832 0.522144 +vt 0.959521 0.522144 +vt 0.959521 0.595522 +vt 0.977866 0.522144 +vt 0.996210 0.558833 +vt 0.812764 0.595522 +vt 0.831108 0.522144 +vt 0.886142 0.668901 +vt 0.922832 0.632212 +vt 0.904487 0.522144 +vt 0.886142 0.522144 +vt 0.917681 0.488095 +vt 0.899580 0.506196 +vt 0.917681 0.469993 +vt 0.947121 0.466208 +vt 0.895517 0.411652 +vt 0.913862 0.338273 +vt 0.932207 0.374962 +vt 0.002361 0.690819 +vt 0.139582 0.797050 +vt 0.002382 0.797077 +vt 0.002401 0.574653 +vt 0.139602 0.577216 +vt 0.002401 0.577243 +vt 0.002381 0.685835 +vt 0.139582 0.688398 +vt 0.002381 0.688425 +vt 0.002381 0.579638 +vt 0.139602 0.683414 +vt 0.002401 0.683441 +vt 0.142087 0.686223 +vt 0.139686 0.823759 +vt 0.139686 0.686202 +vt 0.139581 0.685808 +vt 0.139686 0.574626 +vt 0.278011 0.686118 +vt 0.139686 0.686118 +vt 0.248444 0.686223 +vt 0.142087 0.823780 +vt 0.139581 0.579611 +vt 0.139561 0.690792 +vt 0.250041 0.742196 +vt 0.249216 0.741377 +vt 0.249011 0.740883 +vt 0.774121 0.040412 +vt 0.741243 0.024151 +vt 0.740050 0.027021 +vt 0.969467 0.033059 +vt 0.943495 0.044419 +vt 0.971709 0.034142 +vt 0.946381 0.253662 +vt 0.739889 0.270791 +vt 0.975938 0.269283 +vt 0.769234 0.254505 +vt 0.778655 0.034951 +vt 0.748853 0.018299 +vt 0.746005 0.019438 +vt 0.975297 0.038147 +vt 0.946804 0.049219 +vt 0.976119 0.040486 +vt 0.775156 0.037976 +vt 0.946189 0.047450 +vt 0.941812 0.043603 +vt 0.456798 0.276753 +vt 0.529486 0.293195 +vt 0.696767 0.284505 +vt 0.696612 0.283178 +vt 0.740071 0.299235 +vt 0.431207 0.203196 +vt 0.430221 0.118309 +vt 0.434139 0.035214 +vt 0.437617 0.035132 +vt 0.428782 0.141338 +vt 0.428782 0.234632 +vt 0.422863 0.024375 +vt 0.423529 0.042958 +vt 0.424425 0.042882 +vt 0.499383 0.483956 +vt 0.561202 0.483917 +vt 0.573995 0.492741 +vt 0.572269 0.489869 +vt 0.565361 0.485105 +vt 0.571963 0.765944 +vt 0.565067 0.770717 +vt 0.456877 0.274272 +vt 0.362261 0.174619 +vt 0.362252 0.177081 +vt 0.221168 0.176128 +vt 0.218310 0.173556 +vt 0.218310 0.006092 +vt 0.221417 0.003539 +vt 0.388881 0.003540 +vt 0.391433 0.006646 +vt 0.393601 0.173750 +vt 0.525055 0.212989 +vt 0.674718 0.186092 +vt 0.524902 0.186971 +vt 0.472754 0.045915 +vt 0.472804 0.009580 +vt 0.673151 0.046188 +vt 0.676096 0.185512 +vt 0.678376 0.183205 +vt 0.674995 0.046955 +vt 0.678054 0.050022 +vt 0.678940 0.181820 +vt 0.012947 0.175130 +vt 0.698934 0.213354 +vt 0.698934 0.245794 +vt 0.666837 0.221675 +vt 0.666837 0.245794 +vt 0.503488 0.245686 +vt 0.472755 0.245833 +vt 0.503488 0.221424 +vt 0.666162 0.220045 +vt 0.663456 0.217340 +vt 0.504163 0.219793 +vt 0.506872 0.217084 +vt 0.004989 0.551834 +vt 0.390747 0.356145 +vt 0.386158 0.360486 +vt 0.360628 0.189572 +vt 0.219798 0.360486 +vt 0.216697 0.357385 +vt 0.216697 0.191025 +vt 0.219798 0.187924 +vt 0.360628 0.187426 +vt 0.363600 0.187579 +vt 0.947121 0.502555 +vt 0.922832 0.650556 +vt 0.867173 0.503761 +vt 0.996210 0.522144 +vt 0.917681 0.506196 +vt 0.932207 0.338273 +vt 0.139601 0.574626 +vt 0.278011 0.574626 +vt 0.248444 0.823780 +vt 0.249011 0.687906 +vt 0.294366 0.687906 +vt 0.294366 0.740616 +vt 0.294160 0.741111 +vt 0.292839 0.742143 +vt 0.250538 0.742399 +vt 0.293336 0.741935 +vt 0.781306 0.033891 +vt 0.457098 0.275488 +vt 0.976119 0.297728 +vt 0.433827 0.231012 +vt 0.431907 0.231171 +vt 0.429916 0.203288 +vt 0.426195 0.118261 +vt 0.427181 0.035132 +vn 0.6168 0.0000 0.7871 +vn 0.0021 0.0039 1.0000 +vn 0.0003 0.0007 1.0000 +vn 0.0025 0.0046 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -0.6169 0.0073 -0.7870 +vn -0.4638 -0.8731 -0.1507 +vn -0.4637 -0.8731 -0.1507 +vn 0.4690 0.8832 0.0000 +vn 0.4691 -0.8832 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.2150 0.9766 0.0000 +vn 0.2148 -0.9767 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7883 0.6153 0.0000 +vn 0.7884 0.6151 0.0000 +vn 1.0000 -0.0032 0.0000 +vn 0.7885 -0.6150 0.0000 +vn -0.2141 0.9743 -0.0697 +vn -0.7638 -0.5958 -0.2482 +vn -0.7637 -0.5959 -0.2482 +vn -0.9511 0.0030 -0.3089 +vn -0.7639 0.5956 -0.2483 +vn -0.2143 -0.9743 -0.0696 +vn -0.4636 0.8731 -0.1507 +vn 0.6168 0.0000 -0.7871 +vn 1.0000 0.0052 -0.0037 +vn 1.0000 0.0005 -0.0005 +vn 1.0000 0.0058 -0.0041 +vn -1.0000 0.0052 0.0037 +vn -1.0000 0.0005 0.0005 +vn -1.0000 0.0058 0.0041 +vn -0.6169 -0.0000 0.7871 +vn 0.5448 -0.4689 -0.6952 +vn -0.2589 -0.8606 -0.4385 +vn 0.3836 0.7830 -0.4896 +vn 0.3837 0.7830 -0.4896 +vn 0.8931 0.0000 -0.4498 +vn 0.3427 0.0009 -0.9394 +vn 0.3836 0.7832 0.4893 +vn 0.3836 0.7831 0.4895 +vn 0.2955 -0.0000 0.9553 +vn 0.5448 -0.4689 0.6952 +vn 0.5674 0.0071 0.8234 +vn -0.3835 0.7833 -0.4892 +vn -0.3835 0.7833 -0.4893 +vn -0.2969 0.0051 -0.9549 +vn -0.8565 0.0063 -0.5161 +vn -0.5449 -0.4688 0.6952 +vn -0.6654 0.0073 0.7465 +vn -0.3837 0.7830 0.4895 +vn -0.3836 0.7831 0.4895 +vn -0.8931 -0.0000 0.4499 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.3335 -0.9427 +vn 0.0000 -0.3335 0.9427 +vn 0.0000 0.1169 0.9931 +vn 0.0000 -0.1169 -0.9931 +vn 0.0000 0.0681 -0.9977 +vn 0.0000 -0.2911 -0.9567 +vn 0.0000 -0.0681 0.9977 +vn 0.0000 0.2911 0.9567 +vn -0.4690 0.8832 0.0000 +vn -0.4691 -0.8831 0.0000 +vn -1.0000 0.0032 0.0000 +vn -0.2150 0.9766 0.0000 +vn -0.7886 -0.6149 -0.0000 +vn -0.7886 0.6149 0.0000 +vn -0.2148 -0.9767 0.0000 +vn 0.0000 -1.0000 0.0001 +vn -0.0059 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0090 0.0000 +vn 0.9796 -0.0017 -0.2008 +vn -0.4634 0.0050 -0.8861 +vn 0.7886 0.6149 0.0000 +vn -0.2142 0.9743 -0.0695 +vn -0.7639 -0.5958 -0.2481 +vn -0.9511 0.0029 -0.3088 +vn 0.4513 -0.6178 -0.6439 +vn -0.2689 -0.8145 -0.5141 +vn 0.7912 0.0028 -0.6115 +vn 0.2955 0.0000 -0.9553 +vn 0.3837 0.7830 0.4897 +vn 0.4288 0.0025 0.9034 +vn 0.5423 -0.0784 0.8365 +vn 0.8932 -0.0000 0.4498 +vn -0.3836 0.7831 -0.4895 +vn -0.0258 0.0001 -0.9997 +vn -0.8919 0.0073 -0.4521 +vn -0.6855 -0.0819 0.7235 +vn -0.2955 -0.0000 0.9553 +vn -0.7912 0.0028 0.6115 +vn -0.7887 -0.6148 -0.0000 +s 1 +f 145/246/53 146/247/53 147/248/53 +f 148/249/54 149/250/55 150/251/56 +f 151/252/57 152/253/57 153/254/57 +f 152/255/58 154/256/58 155/257/58 +f 156/258/59 157/259/59 158/260/59 +f 159/261/60 160/262/61 161/263/60 +f 162/264/57 155/265/57 163/266/57 +f 164/267/62 165/268/62 166/269/62 +f 167/270/63 168/271/63 169/272/63 +f 170/273/64 162/274/64 171/275/64 +f 166/269/65 172/276/65 173/277/65 +f 171/275/66 174/278/66 167/270/66 +f 173/277/67 175/279/67 176/280/67 +f 177/281/68 178/282/69 164/267/69 +f 179/283/70 180/284/70 177/281/70 +f 169/272/71 163/285/71 179/283/71 +f 181/286/72 182/287/72 183/288/72 +f 184/289/73 185/290/73 160/262/74 +f 186/291/75 185/290/75 187/292/75 +f 188/293/76 189/294/76 186/291/76 +f 190/295/77 161/263/77 191/296/77 +f 183/288/78 192/297/78 188/293/78 +f 193/298/64 194/299/64 154/300/64 +f 195/301/79 196/302/79 197/303/79 +f 187/304/57 198/305/57 199/306/57 +f 200/307/80 201/308/81 202/309/82 +f 179/310/57 177/311/57 193/312/57 +f 203/313/83 204/314/84 205/315/85 +f 206/316/86 207/317/86 208/318/86 +f 200/319/87 209/320/87 195/301/87 +f 157/259/88 193/321/88 205/322/88 +f 210/323/89 196/302/90 198/324/90 +f 210/323/91 195/301/91 197/303/91 +f 198/324/92 209/320/92 199/325/92 +f 211/326/93 146/247/94 201/327/94 +f 211/326/95 145/246/95 147/248/95 +f 148/249/96 212/328/96 145/246/96 +f 201/327/97 212/328/97 202/329/97 +f 213/330/98 158/260/99 204/331/99 +f 213/330/100 214/332/100 156/258/100 +f 205/322/101 158/260/101 157/259/101 +f 203/333/102 208/318/102 207/317/102 +f 149/250/103 208/318/103 150/251/103 +f 215/334/104 206/316/105 149/250/105 +f 215/334/106 207/317/106 216/335/106 +f 152/336/67 213/337/67 204/338/67 +f 217/339/107 218/340/107 219/341/107 +f 220/342/108 221/343/108 222/344/108 +f 223/345/58 224/346/58 225/347/58 +f 226/348/109 227/349/109 228/350/109 +f 229/351/64 230/352/64 231/353/64 +f 232/354/67 227/355/67 233/356/67 +f 234/357/67 235/358/67 236/359/67 +f 237/360/64 238/361/64 239/362/64 +f 240/363/110 241/364/110 242/365/110 +f 243/366/110 244/367/110 245/368/110 +f 235/369/109 246/370/109 247/371/109 +f 248/372/58 249/373/58 250/374/58 +f 251/375/111 252/376/111 253/377/111 +f 254/378/111 255/379/111 256/380/111 +f 257/381/108 258/382/108 259/383/108 +f 260/384/107 261/385/107 262/386/107 +f 262/386/107 263/387/107 264/388/107 +f 241/389/107 264/388/107 265/390/107 +f 266/391/107 262/386/107 241/389/107 +f 259/392/112 267/393/112 254/378/112 +f 219/394/112 254/378/112 268/395/112 +f 218/396/108 259/383/108 219/397/108 +f 256/398/113 269/399/113 270/400/113 +f 261/401/113 270/400/113 263/402/113 +f 268/395/111 256/380/111 261/403/111 +f 253/404/113 271/405/113 272/406/113 +f 255/407/113 272/406/113 269/399/113 +f 267/393/111 253/377/111 255/379/111 +f 273/408/58 250/374/58 230/352/58 +f 271/409/58 248/372/58 273/408/58 +f 252/410/58 274/411/58 248/372/58 +f 247/371/114 244/367/114 275/412/114 +f 224/346/114 275/412/114 249/373/114 +f 276/413/109 247/371/109 224/346/109 +f 243/366/115 277/414/115 231/415/115 +f 250/374/115 231/415/115 230/352/115 +f 249/373/110 243/366/110 250/374/110 +f 242/365/115 265/416/115 238/417/115 +f 245/368/115 238/417/115 277/414/115 +f 244/367/110 242/365/110 245/368/110 +f 239/362/64 265/418/64 264/419/64 +f 270/420/64 264/419/64 263/421/64 +f 269/422/64 239/362/64 270/420/64 +f 236/359/67 276/413/67 223/345/67 +f 220/423/67 223/345/67 278/424/67 +f 279/425/67 236/359/67 220/423/67 +f 232/354/67 280/426/67 234/357/67 +f 257/427/67 234/357/67 279/425/67 +f 257/427/67 281/428/67 232/354/67 +f 229/351/64 277/429/64 237/360/64 +f 272/430/64 237/360/64 269/422/64 +f 272/430/64 273/408/64 229/351/64 +f 226/348/114 266/431/114 240/363/114 +f 246/370/114 240/363/114 244/367/114 +f 280/432/109 226/348/109 246/370/109 +f 225/347/58 249/373/58 274/411/58 +f 221/433/58 274/411/58 282/434/58 +f 278/424/58 225/347/58 221/433/58 +f 222/435/112 282/436/112 251/375/112 +f 258/437/112 251/375/112 267/393/112 +f 279/438/108 222/344/108 258/382/108 +f 260/384/107 219/341/107 268/439/107 +f 266/391/107 217/339/107 260/384/107 +f 228/440/107 281/441/107 217/339/107 +f 191/442/64 283/443/64 284/444/64 +f 182/445/116 285/446/116 192/447/116 +f 160/448/117 286/449/117 161/450/117 +f 189/451/118 287/452/118 185/453/118 +f 288/454/119 289/455/119 182/456/119 +f 185/453/120 290/457/120 160/448/120 +f 284/458/58 291/459/58 292/460/58 +f 292/461/67 293/462/67 288/454/67 +f 192/447/121 294/463/121 189/451/121 +f 161/450/122 295/464/122 191/442/122 +f 285/465/57 289/466/57 293/467/57 +f 296/468/57 182/469/57 288/470/57 +f 185/471/57 297/472/57 160/473/57 +f 298/474/57 292/475/57 284/476/57 +f 299/477/57 288/470/57 292/475/57 +f 300/478/57 189/479/57 192/480/57 +f 161/481/57 301/482/57 191/483/57 +f 191/483/57 298/474/57 284/476/57 +f 302/484/57 192/480/57 182/469/57 +f 160/473/57 303/485/57 161/481/57 +f 189/479/57 304/486/57 185/471/57 +f 305/487/67 288/488/67 181/286/67 +f 306/489/64 191/296/123 307/490/64 +f 308/491/124 284/476/124 292/475/124 +f 307/492/107 308/493/107 151/494/107 +f 145/246/53 212/328/53 146/247/53 +f 148/249/54 211/326/125 149/250/55 +f 151/252/57 154/495/57 152/253/57 +f 170/496/58 309/497/58 155/257/58 +f 309/497/58 152/255/58 155/257/58 +f 154/256/126 194/498/126 175/499/126 +f 194/498/126 176/500/126 175/499/126 +f 154/256/127 175/499/127 155/257/127 +f 156/258/128 214/332/128 157/259/128 +f 159/261/60 184/289/61 160/262/61 +f 155/265/57 175/501/57 163/266/57 +f 175/501/57 172/502/57 180/503/57 +f 180/503/57 172/502/57 178/504/57 +f 172/502/57 165/505/57 178/504/57 +f 180/503/57 163/266/57 175/501/57 +f 163/266/57 168/506/57 174/507/57 +f 174/507/57 162/264/57 163/266/57 +f 164/267/62 178/282/62 165/268/62 +f 167/270/63 174/278/63 168/271/63 +f 170/273/64 155/508/64 162/274/64 +f 166/269/65 165/268/65 172/276/65 +f 171/275/66 162/274/66 174/278/66 +f 173/277/67 172/276/67 175/279/67 +f 177/281/68 180/284/129 178/282/69 +f 179/283/70 163/285/70 180/284/70 +f 169/272/71 168/271/71 163/285/71 +f 181/286/130 288/488/130 182/287/130 +f 184/289/73 187/292/131 185/290/73 +f 186/291/132 189/294/132 185/290/132 +f 188/293/76 192/297/76 189/294/76 +f 190/295/77 159/261/77 161/263/77 +f 183/288/78 182/287/78 192/297/78 +f 151/509/64 310/510/64 199/511/64 +f 199/511/64 200/512/64 151/509/64 +f 200/512/64 202/513/64 148/514/64 +f 151/509/64 200/512/64 148/514/64 +f 148/514/64 150/515/64 203/516/64 +f 151/509/64 148/514/64 203/516/64 +f 203/516/64 205/517/64 154/300/64 +f 151/509/64 203/516/64 154/300/64 +f 205/517/64 193/298/64 154/300/64 +f 195/301/79 209/320/79 196/302/79 +f 199/306/57 310/518/57 181/519/57 +f 310/518/57 305/520/57 181/519/57 +f 306/521/57 311/522/57 190/523/57 +f 311/522/57 198/305/57 190/523/57 +f 199/306/57 181/519/57 183/524/57 +f 199/306/57 183/524/57 188/525/57 +f 159/526/57 190/523/57 198/305/57 +f 184/527/57 159/526/57 198/305/57 +f 199/306/57 188/525/57 186/528/57 +f 187/304/57 184/527/57 198/305/57 +f 199/306/57 186/528/57 187/304/57 +f 200/307/80 210/529/58 201/308/81 +f 213/530/57 309/531/57 171/532/57 +f 309/531/57 170/533/57 171/532/57 +f 176/534/57 194/535/57 173/536/57 +f 194/535/57 193/312/57 173/536/57 +f 213/530/57 171/532/57 167/537/57 +f 213/530/57 167/537/57 169/538/57 +f 166/539/57 173/536/57 193/312/57 +f 164/540/57 166/539/57 193/312/57 +f 213/530/57 169/538/57 179/310/57 +f 177/311/57 164/540/57 193/312/57 +f 213/530/57 179/310/57 193/312/57 +f 203/313/83 215/541/107 204/314/84 +f 206/316/86 216/335/86 207/317/86 +f 200/319/133 199/325/133 209/320/133 +f 157/259/134 214/332/134 193/321/134 +f 210/323/89 197/303/89 196/302/90 +f 210/323/135 200/319/135 195/301/135 +f 198/324/136 196/302/136 209/320/136 +f 211/326/93 147/248/137 146/247/94 +f 211/326/138 148/249/138 145/246/138 +f 148/249/139 202/329/139 212/328/139 +f 201/327/140 146/247/140 212/328/140 +f 213/330/98 156/258/141 158/260/99 +f 213/330/142 193/321/142 214/332/142 +f 205/322/143 204/331/143 158/260/143 +f 203/333/144 150/251/144 208/318/144 +f 149/250/145 206/316/145 208/318/145 +f 215/334/104 216/335/104 206/316/105 +f 215/334/146 203/333/146 207/317/146 +f 204/338/67 215/542/67 152/336/67 +f 215/542/67 149/543/67 153/544/67 +f 152/336/67 215/542/67 153/544/67 +f 149/543/67 211/545/67 153/544/67 +f 211/545/67 201/546/67 153/544/67 +f 201/546/67 210/547/67 153/544/67 +f 210/547/67 198/548/67 153/544/67 +f 198/548/67 311/549/67 153/544/67 +f 152/336/67 309/550/67 213/337/67 +f 217/339/107 281/441/107 218/340/107 +f 220/342/108 278/551/108 221/343/108 +f 223/345/58 276/413/58 224/346/58 +f 226/348/109 233/552/109 227/349/109 +f 229/351/64 273/408/64 230/352/64 +f 232/354/67 281/428/67 227/355/67 +f 234/357/67 280/426/67 235/358/67 +f 237/360/64 277/429/64 238/361/64 +f 240/363/110 266/431/110 241/364/110 +f 243/366/110 275/412/110 244/367/110 +f 235/369/109 280/432/109 246/370/109 +f 248/372/58 274/411/58 249/373/58 +f 251/375/111 282/436/111 252/376/111 +f 254/378/111 267/393/111 255/379/111 +f 257/381/108 279/438/108 258/382/108 +f 260/384/107 268/439/107 261/385/107 +f 262/386/107 261/385/107 263/387/107 +f 241/389/107 262/386/107 264/388/107 +f 266/391/107 260/384/107 262/386/107 +f 259/392/112 258/437/112 267/393/112 +f 219/394/112 259/392/112 254/378/112 +f 218/396/108 257/381/108 259/383/108 +f 256/398/113 255/407/113 269/399/113 +f 261/401/113 256/398/113 270/400/113 +f 268/395/111 254/378/111 256/380/111 +f 253/404/113 252/553/113 271/405/113 +f 255/407/113 253/404/113 272/406/113 +f 267/393/111 251/375/111 253/377/111 +f 273/408/58 248/372/58 250/374/58 +f 271/409/58 252/410/58 248/372/58 +f 252/410/58 282/434/58 274/411/58 +f 247/371/114 246/370/114 244/367/114 +f 224/346/114 247/371/114 275/412/114 +f 276/413/109 235/369/109 247/371/109 +f 243/366/115 245/368/115 277/414/115 +f 250/374/115 243/366/115 231/415/115 +f 249/373/110 275/412/110 243/366/110 +f 242/365/115 241/364/115 265/416/115 +f 245/368/115 242/365/115 238/417/115 +f 244/367/110 240/363/110 242/365/110 +f 239/362/64 238/361/64 265/418/64 +f 270/420/64 239/362/64 264/419/64 +f 269/422/64 237/360/64 239/362/64 +f 236/359/67 235/358/67 276/413/67 +f 220/423/67 236/359/67 223/345/67 +f 279/425/67 234/357/67 236/359/67 +f 232/354/67 233/356/67 280/426/67 +f 257/427/67 232/354/67 234/357/67 +f 257/427/67 218/554/67 281/428/67 +f 229/351/64 231/353/64 277/429/64 +f 272/430/64 229/351/64 237/360/64 +f 272/430/64 271/409/64 273/408/64 +f 226/348/114 228/350/114 266/431/114 +f 246/370/114 226/348/114 240/363/114 +f 280/432/109 233/552/109 226/348/109 +f 225/347/58 224/346/58 249/373/58 +f 221/433/58 225/347/58 274/411/58 +f 278/424/58 223/345/58 225/347/58 +f 222/435/112 221/555/112 282/436/112 +f 258/437/112 222/435/112 251/375/112 +f 279/438/108 220/342/108 222/344/108 +f 260/384/107 217/339/107 219/341/107 +f 266/391/107 228/440/107 217/339/107 +f 228/440/107 227/556/107 281/441/107 +f 191/442/64 295/464/64 283/443/64 +f 182/445/116 289/557/116 285/446/116 +f 160/448/117 290/457/117 286/449/117 +f 189/451/118 294/463/118 287/452/118 +f 288/454/119 293/462/119 289/455/119 +f 185/453/147 287/452/147 290/457/147 +f 284/458/58 283/558/58 291/459/58 +f 292/461/67 291/559/67 293/462/67 +f 192/447/121 285/446/121 294/463/121 +f 161/450/122 286/449/122 295/464/122 +f 293/467/57 291/560/57 283/561/57 +f 283/561/57 295/562/57 293/467/57 +f 295/562/57 286/563/57 287/564/57 +f 293/467/57 295/562/57 294/565/57 +f 286/563/57 290/566/57 287/564/57 +f 287/564/57 294/565/57 295/562/57 +f 294/565/57 285/465/57 293/467/57 +f 296/468/57 302/484/57 182/469/57 +f 185/471/57 304/486/57 297/472/57 +f 298/474/57 299/477/57 292/475/57 +f 299/477/57 296/468/57 288/470/57 +f 300/478/57 312/567/57 189/479/57 +f 161/481/57 303/485/57 301/482/57 +f 191/483/57 301/482/57 298/474/57 +f 302/484/57 300/478/57 192/480/57 +f 160/473/57 297/472/57 303/485/57 +f 189/479/57 312/567/57 304/486/57 +f 305/487/67 308/568/67 288/488/67 +f 306/489/64 190/295/123 191/296/123 +f 308/491/124 307/569/124 284/476/124 +f 153/570/107 311/571/107 307/492/107 +f 311/571/107 306/572/107 307/492/107 +f 305/573/107 310/574/107 308/493/107 +f 310/574/107 151/494/107 308/493/107 +f 153/570/107 307/492/107 151/494/107 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index ab2066140..4a0266d81 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -52,6 +52,8 @@ "block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]}, "block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]}, "block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]}, + "block.electricHum": {"category": "block", "sounds": [{"name": "block/electricHum", "stream": false}]}, + "block.boiler": {"category": "block", "sounds": [{"name": "block/boiler", "stream": false}]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, "door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/boiler.ogg b/src/main/resources/assets/hbm/sounds/block/boiler.ogg new file mode 100644 index 000000000..c35d584f3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/boiler.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/electricHum.ogg b/src/main/resources/assets/hbm/sounds/block/electricHum.ogg new file mode 100644 index 000000000..2d6a77653 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/electricHum.ogg differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.hazard.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.hazard.png new file mode 100644 index 000000000..50ce195a5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.hazard.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.indigo.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.indigo.png new file mode 100644 index 000000000..25df4b96d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.indigo.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png new file mode 100644 index 000000000..53406350f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png new file mode 100644 index 000000000..e60525931 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png new file mode 100644 index 000000000..bf6c79fab Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png new file mode 100644 index 000000000..10101f3fb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png new file mode 100644 index 000000000..07af75aca Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_front.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_front.png new file mode 100644 index 000000000..230a6894f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_front.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_inner.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_inner.png new file mode 100644 index 000000000..a474e0f5f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_inner.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png new file mode 100644 index 000000000..ce3162bec Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png new file mode 100644 index 000000000..945bb0bbd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rail_narrow_neo.png b/src/main/resources/assets/hbm/textures/blocks/rail_narrow_neo.png new file mode 100644 index 000000000..b00f01978 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rail_narrow_neo.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/slag.png b/src/main/resources/assets/hbm/textures/blocks/slag.png new file mode 100644 index 000000000..6b39d33d5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/slag.png differ