Marx generator. It forms and breaks
Models for mirrored marx generators are broken The IC2 cables drop as items due to missing IC2 API methods
This commit is contained in:
parent
8e845ab100
commit
5a80b2626b
|
@ -67,8 +67,8 @@ repositories {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
deobfCompile "net.industrial-craft:industrialcraft-2:2.7.+:api"
|
||||
deobfCompile "blusunrize:ImmersiveEngineering:0.11-+:deobf"
|
||||
// deobfCompile "net.industrial-craft:industrialcraft-2:2.7.+:api"
|
||||
// deobfCompile "blusunrize:ImmersiveEngineering:0.11-+:deobf"
|
||||
}
|
||||
|
||||
jar {
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
*/
|
||||
package malte0811.industrialWires;
|
||||
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityRSPanelConn;
|
||||
import malte0811.industrialWires.blocks.hv.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.containers.ContainerPanelComponent;
|
||||
import malte0811.industrialWires.containers.ContainerPanelCreator;
|
||||
import malte0811.industrialWires.containers.ContainerRSPanelConn;
|
||||
|
|
|
@ -17,8 +17,7 @@
|
|||
*/
|
||||
package malte0811.industrialWires;
|
||||
|
||||
import malte0811.industrialWires.blocks.BlockJacobsLadder;
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder;
|
||||
import blusunrize.immersiveengineering.api.MultiblockHandler;
|
||||
import malte0811.industrialWires.blocks.controlpanel.BlockPanel;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanel;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator;
|
||||
|
@ -27,6 +26,7 @@ import malte0811.industrialWires.blocks.converter.BlockMechanicalConverter;
|
|||
import malte0811.industrialWires.blocks.converter.TileEntityIEMotor;
|
||||
import malte0811.industrialWires.blocks.converter.TileEntityMechICtoIE;
|
||||
import malte0811.industrialWires.blocks.converter.TileEntityMechIEtoIC;
|
||||
import malte0811.industrialWires.blocks.hv.*;
|
||||
import malte0811.industrialWires.blocks.wire.*;
|
||||
import malte0811.industrialWires.items.ItemIC2Coil;
|
||||
import malte0811.industrialWires.items.ItemKey;
|
||||
|
@ -58,7 +58,9 @@ public class IndustrialWires {
|
|||
public static BlockIC2Connector ic2conn;
|
||||
public static BlockMechanicalConverter mechConv;
|
||||
public static BlockJacobsLadder jacobsLadder;
|
||||
public static BlockHVMultiblocks hvMultiblocks;
|
||||
public static BlockPanel panel;
|
||||
|
||||
public static ItemIC2Coil coil;
|
||||
public static ItemPanelComponent panelComponent;
|
||||
public static ItemKey key;
|
||||
|
@ -82,6 +84,7 @@ public class IndustrialWires {
|
|||
if (IWConfig.enableConversion)
|
||||
mechConv = new BlockMechanicalConverter();
|
||||
jacobsLadder = new BlockJacobsLadder();
|
||||
hvMultiblocks = new BlockHVMultiblocks();
|
||||
panel = new BlockPanel();
|
||||
|
||||
coil = new ItemIC2Coil();
|
||||
|
@ -94,6 +97,7 @@ public class IndustrialWires {
|
|||
GameRegistry.registerTileEntity(TileEntityIC2ConnectorHV.class, MODID + "ic2ConnectorHV");
|
||||
GameRegistry.registerTileEntity(TileEntityIC2ConnectorGlass.class, MODID + "ic2ConnectorGlass");
|
||||
GameRegistry.registerTileEntity(TileEntityJacobsLadder.class, MODID + ":jacobsLadder");
|
||||
GameRegistry.registerTileEntity(TileEntityMarx.class, MODID + ":marx_generator");
|
||||
GameRegistry.registerTileEntity(TileEntityPanel.class, MODID + ":control_panel");
|
||||
GameRegistry.registerTileEntity(TileEntityRSPanelConn.class, MODID + ":control_panel_rs");
|
||||
GameRegistry.registerTileEntity(TileEntityPanelCreator.class, MODID + ":panel_creator");
|
||||
|
@ -105,6 +109,7 @@ public class IndustrialWires {
|
|||
if (IC2Wiretype.IC2_TYPES == null) {
|
||||
throw new IllegalStateException("No IC2 wires registered");
|
||||
}
|
||||
MultiblockHandler.registerMultiblock(new MultiblockMarx());
|
||||
proxy.preInit();
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public abstract class BlockIWMultiblock extends BlockIWBase {
|
||||
public BlockIWMultiblock(Material mat, String name) {
|
||||
super(mat, name);
|
||||
}
|
||||
@Override
|
||||
public void breakBlock(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull IBlockState state) {
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(te instanceof TileEntityIWMultiblock)
|
||||
((TileEntityIWMultiblock)te).disassemble();
|
||||
super.breakBlock(world, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullyOpaque(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullBlock(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFullCube(IBlockState state) {
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks;
|
||||
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public final class IWProperties {
|
||||
private IWProperties() {}
|
||||
public static PropertyEnum<MarxType> MARX_TYPE = PropertyEnum.create("marx_type", MarxType.class);
|
||||
public enum MarxType implements IStringSerializable {
|
||||
NO_MODEL,
|
||||
BOTTOM,
|
||||
STAGE,
|
||||
TOP;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name().toLowerCase();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks;
|
||||
|
||||
import malte0811.industrialWires.util.MiscUtils;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3i;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
public abstract class TileEntityIWMultiblock extends TileEntityIWBase {
|
||||
protected final static String OFFSET = "offset";
|
||||
protected final static String FORMED = "formed";
|
||||
protected final static String MIRRORED = "mirrored";
|
||||
protected final static String FACING = "facing";
|
||||
//HFR
|
||||
protected Vec3i size;
|
||||
public Vec3i offset = new Vec3i(0, 0, 0);
|
||||
public boolean formed;
|
||||
public boolean mirrored;
|
||||
public long onlyLocalDissassembly;
|
||||
public EnumFacing facing = EnumFacing.NORTH;
|
||||
@Nonnull
|
||||
protected abstract BlockPos getOrigin();
|
||||
public abstract IBlockState getOriginalBlock();
|
||||
public BiConsumer<World, BlockPos> getOriginalBlockPlacer() {
|
||||
return (w, p)->w.setBlockState(p, getOriginalBlock());
|
||||
}
|
||||
@Nullable
|
||||
public TileEntity master() {
|
||||
if (offset.getX()==0&&offset.getY()==0&&offset.getZ()==0) {
|
||||
return this;
|
||||
}
|
||||
TileEntity m = world.getTileEntity(pos.subtract(offset));
|
||||
if (m!=null&&m.getClass().equals(this.getClass())) {
|
||||
return m;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public void disassemble()
|
||||
{
|
||||
if(formed && !world.isRemote)
|
||||
{
|
||||
BlockPos startPos = getOrigin();
|
||||
BlockPos masterPos = getPos().subtract(offset);
|
||||
long time = world.getTotalWorldTime();
|
||||
Vec3i size = getSize();
|
||||
for(int up=0;up<size.getX();up++)
|
||||
for(int forward=0;forward<size.getY();forward++)
|
||||
for(int right=0;right<size.getZ();right++)
|
||||
{
|
||||
BlockPos pos = MiscUtils.offset(startPos, facing, mirrored, right, forward, up);
|
||||
TileEntity te = world.getTileEntity(pos);
|
||||
if(te instanceof TileEntityIWMultiblock)
|
||||
{
|
||||
TileEntityIWMultiblock part = (TileEntityIWMultiblock) te;
|
||||
Vec3i diff = pos.subtract(masterPos);
|
||||
if (part.offset.equals(diff)&&time!=part.onlyLocalDissassembly)
|
||||
{
|
||||
part.formed = false;
|
||||
part.getOriginalBlockPlacer().accept(world, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeNBT(NBTTagCompound out, boolean updatePacket) {
|
||||
out.setInteger(FACING, facing.getHorizontalIndex());
|
||||
out.setIntArray(OFFSET, new int[]{offset.getX(), offset.getY(), offset.getZ()});
|
||||
out.setBoolean(MIRRORED, mirrored);
|
||||
out.setBoolean(FORMED, formed);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readNBT(NBTTagCompound in, boolean updatePacket) {
|
||||
formed = in.getBoolean(FORMED);
|
||||
mirrored = in.getBoolean(MIRRORED);
|
||||
int[] offset = in.getIntArray(OFFSET);
|
||||
this.offset = new Vec3i(offset[0], offset[1], offset[2]);
|
||||
facing = EnumFacing.getHorizontal(in.getInteger(FACING));
|
||||
}
|
||||
|
||||
public Vec3i getSize() {
|
||||
return size;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.api.IEProperties;
|
||||
import malte0811.industrialWires.blocks.BlockIWMultiblock;
|
||||
import malte0811.industrialWires.blocks.IWProperties;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class BlockHVMultiblocks extends BlockIWMultiblock {
|
||||
public static final PropertyEnum<BlockTypes_HVMultiblocks> type = PropertyEnum.create("type", BlockTypes_HVMultiblocks.class);
|
||||
public BlockHVMultiblocks() {
|
||||
super(Material.IRON, "hv_multiblock");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list) {
|
||||
// No MB's in the creative inventory!
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IProperty[] getProperties() {
|
||||
return new IProperty[]{type, IWProperties.MARX_TYPE, IEProperties.FACING_HORIZONTAL, IEProperties.BOOLEANS[0]};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(IBlockState state) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public TileEntity createTileEntity(@Nonnull World world, @Nonnull IBlockState state) {
|
||||
switch (state.getValue(type)) {
|
||||
case MARX:
|
||||
return new TileEntityMarx(state.getValue(IEProperties.FACING_HORIZONTAL), state.getValue(IWProperties.MARX_TYPE), state.getValue(IEProperties.BOOLEANS[0]));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state) {
|
||||
return state.getValue(type).getMeta();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public IBlockState getActualState(@Nonnull IBlockState state, IBlockAccess worldIn, BlockPos pos) {
|
||||
IBlockState ret = super.getActualState(state, worldIn, pos);
|
||||
TileEntity te = worldIn.getTileEntity(pos);
|
||||
if (te instanceof TileEntityMarx) {
|
||||
ret = ret.withProperty(IWProperties.MARX_TYPE, ((TileEntityMarx) te).type);
|
||||
ret = ret.withProperty(IEProperties.FACING_HORIZONTAL, ((TileEntityMarx)te).facing);
|
||||
ret = ret.withProperty(IEProperties.BOOLEANS[0], ((TileEntityMarx)te).mirrored);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
}
|
|
@ -16,10 +16,12 @@
|
|||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks;
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.api.IEProperties;
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder.LadderSize;
|
||||
import malte0811.industrialWires.blocks.BlockIWBase;
|
||||
import malte0811.industrialWires.blocks.IMetaEnum;
|
||||
import malte0811.industrialWires.blocks.IPlacementCheck;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
|
@ -43,7 +45,7 @@ import net.minecraft.world.World;
|
|||
import javax.annotation.Nonnull;
|
||||
|
||||
public class BlockJacobsLadder extends BlockIWBase implements IMetaEnum, IPlacementCheck {
|
||||
private static PropertyEnum<LadderSize> size_property = PropertyEnum.create("size", LadderSize.class);
|
||||
private static PropertyEnum<TileEntityJacobsLadder.LadderSize> size_property = PropertyEnum.create("size", TileEntityJacobsLadder.LadderSize.class);
|
||||
|
||||
public BlockJacobsLadder() {
|
||||
super(Material.IRON, "jacobs_ladder");
|
||||
|
@ -75,19 +77,19 @@ public class BlockJacobsLadder extends BlockIWBase implements IMetaEnum, IPlacem
|
|||
@Nonnull
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta) {
|
||||
return super.getStateFromMeta(meta).withProperty(size_property, LadderSize.values()[meta]);
|
||||
return super.getStateFromMeta(meta).withProperty(size_property, TileEntityJacobsLadder.LadderSize.values()[meta]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list) {
|
||||
for (int i = 0; i < LadderSize.values().length; i++) {
|
||||
for (int i = 0; i < TileEntityJacobsLadder.LadderSize.values().length; i++) {
|
||||
list.add(new ItemStack(this, 1, i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getValues() {
|
||||
return LadderSize.values();
|
||||
return TileEntityJacobsLadder.LadderSize.values();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -163,7 +165,7 @@ public class BlockJacobsLadder extends BlockIWBase implements IMetaEnum, IPlacem
|
|||
|
||||
@Override
|
||||
public boolean canPlaceBlockAt(World w, BlockPos pos, ItemStack stack) {
|
||||
int dummyCount = LadderSize.values()[stack.getMetadata()].dummyCount;
|
||||
int dummyCount = TileEntityJacobsLadder.LadderSize.values()[stack.getMetadata()].dummyCount;
|
||||
for (int i = 1; i <= dummyCount; i++) {
|
||||
if (!w.isAirBlock(pos.up(i))) {
|
||||
return false;
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.common.blocks.BlockIEBase;
|
||||
|
||||
public enum BlockTypes_HVMultiblocks implements BlockIEBase.IBlockEnum {
|
||||
MARX;
|
||||
|
||||
@Override
|
||||
public int getMeta() {
|
||||
return ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean listForCreative() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name().toLowerCase();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,291 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.api.ApiUtils;
|
||||
import blusunrize.immersiveengineering.api.IEProperties;
|
||||
import blusunrize.immersiveengineering.api.MultiblockHandler.IMultiblock;
|
||||
import blusunrize.immersiveengineering.api.crafting.IngredientStack;
|
||||
import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler;
|
||||
import blusunrize.immersiveengineering.api.energy.wires.ImmersiveNetHandler.Connection;
|
||||
import blusunrize.immersiveengineering.common.IEContent;
|
||||
import blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_Connector;
|
||||
import blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0;
|
||||
import blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDevice0;
|
||||
import ic2.api.item.IC2Items;
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.IWProperties;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_Connector.CONNECTOR_HV;
|
||||
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_Connector.CONNECTOR_REDSTONE;
|
||||
import static malte0811.industrialWires.blocks.IWProperties.MarxType.*;
|
||||
import static malte0811.industrialWires.blocks.hv.BlockTypes_HVMultiblocks.MARX;
|
||||
import static malte0811.industrialWires.util.MiscUtils.offset;
|
||||
|
||||
public class MultiblockMarx implements IMultiblock {
|
||||
public static final IBlockState[][][] structure = new IBlockState[2][5][5];
|
||||
|
||||
@Override
|
||||
public String getUniqueName() {
|
||||
return "iw:marx_generator";
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public boolean isBlockTrigger(IBlockState state) {
|
||||
return state.getBlock() == IEContent.blockMetalDevice0 && state.getValue(IEContent.blockMetalDevice0.property) == BlockTypes_MetalDevice0.CAPACITOR_HV;
|
||||
}
|
||||
private EnumFacing facing;
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public boolean createStructure(World world, BlockPos pos, EnumFacing side, EntityPlayer player) {
|
||||
facing = side.rotateY();
|
||||
ItemStack hvCableStack = IC2Items.getItem("cable", "type:iron,insulation:0");
|
||||
boolean mirrored = false;
|
||||
Predicate<BlockPos> hvCap = (local) -> {
|
||||
IBlockState b = world.getBlockState(local);
|
||||
return b.getBlock() == IEContent.blockMetalDevice0 && b.getValue(IEContent.blockMetalDevice0.property) == BlockTypes_MetalDevice0.CAPACITOR_HV;
|
||||
};
|
||||
Predicate<BlockPos> heavyEng = (local) -> {
|
||||
IBlockState b = world.getBlockState(local);
|
||||
IBlockState state = world.getBlockState(local);
|
||||
return b.getBlock() == IEContent.blockMetalDecoration0 && b.getValue(IEContent.blockMetalDecoration0.property) == BlockTypes_MetalDecoration0.HEAVY_ENGINEERING;
|
||||
};
|
||||
Predicate<BlockPos> steelBlock = (local) -> {
|
||||
IBlockState b = world.getBlockState(local);
|
||||
b = b.getBlock().getActualState(b, world, local);
|
||||
ItemStack stack = new ItemStack(b.getBlock(), 1, b.getBlock().getMetaFromState(b));
|
||||
return ApiUtils.compareToOreName(stack, "blockSteel");
|
||||
};
|
||||
Predicate<BlockPos> uninsHCCable = (local) -> {
|
||||
IBlockState b = world.getBlockState(local);
|
||||
return ItemStack.areItemStacksEqual(b.getBlock().getPickBlock(b, null, world, local, player), hvCableStack);
|
||||
};
|
||||
Function<BlockPos, Byte> hvRelayWith = (local) -> {
|
||||
IBlockState state = world.getBlockState(local);
|
||||
state = state.getBlock().getActualState(state, world, local);
|
||||
if (state.getBlock() != IEContent.blockConnectors) {
|
||||
return (byte)-1;
|
||||
}
|
||||
if (state.getValue(IEContent.blockConnectors.property)!= BlockTypes_Connector.RELAY_HV) {
|
||||
return (byte)-1;
|
||||
}
|
||||
if (state.getValue(IEProperties.FACING_ALL)!=facing) {
|
||||
return (byte)-1;
|
||||
}
|
||||
byte ret = 0;
|
||||
Set<Connection> existingConns = ImmersiveNetHandler.INSTANCE.getConnections(world, local);
|
||||
if (existingConns==null) {
|
||||
return (byte)0;
|
||||
}
|
||||
for (Connection c:existingConns) {
|
||||
if (c.end.equals(local.up())) {
|
||||
ret |= 1;
|
||||
} else if (c.end.equals(local.down())) {
|
||||
ret |= 2;
|
||||
} else {
|
||||
return (byte) -1;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
BiPredicate<BlockPos, BlockTypes_Connector> connNoConns = (local, type) -> {
|
||||
IBlockState state = world.getBlockState(local);
|
||||
state = state.getBlock().getActualState(state, world, local);
|
||||
if (state.getBlock() != IEContent.blockConnectors) {
|
||||
return false;
|
||||
}
|
||||
if (state.getValue(IEContent.blockConnectors.property)!= type) {
|
||||
return false;
|
||||
}
|
||||
if (state.getValue(IEProperties.FACING_ALL)!=(facing)) {
|
||||
return false;
|
||||
}
|
||||
Set<Connection> existingConns = ImmersiveNetHandler.INSTANCE.getConnections(world, local);
|
||||
return existingConns==null;
|
||||
};
|
||||
|
||||
mirrorLoop:for (int fakeI = 0; fakeI < 2; fakeI++) {
|
||||
mirrored = !mirrored;
|
||||
facing = facing.getOpposite();
|
||||
// PSU
|
||||
if (!connNoConns.test(offset(pos, facing, mirrored, 0, -3, 0), CONNECTOR_REDSTONE)) {
|
||||
continue;
|
||||
}
|
||||
if (!connNoConns.test(offset(pos, facing, mirrored, 1, -3, 0), CONNECTOR_HV)) {
|
||||
continue;
|
||||
}
|
||||
for (int i = 0;i<2;i++) {
|
||||
if (!heavyEng.test(offset(pos, facing, mirrored, i, -2, 0))) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
}
|
||||
//Ground discharge electrode
|
||||
for (int i = 0;i<3;i++) {
|
||||
if (!uninsHCCable.test(offset(pos, facing, mirrored, 0, i+2, 0))) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
}
|
||||
if (!steelBlock.test(offset(pos, facing, mirrored, 1, 4, 0))) {
|
||||
continue;
|
||||
}
|
||||
// stage tower
|
||||
int stages = 0;
|
||||
while (pos.getY()+stages<=255) {
|
||||
boolean end = false;
|
||||
byte other = -1;
|
||||
for (int i = 0;i<2;i++) {
|
||||
if (!hvCap.test(offset(pos, facing, mirrored, i, 0, stages))) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
if (!uninsHCCable.test(offset(pos, facing, mirrored, i, 1, stages))) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
byte here = hvRelayWith.apply(offset(pos, facing, mirrored, i, -1, stages));
|
||||
if (i==1&&here!=other) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
if (stages!=0&&(here&2)==0) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
if (here<=0) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
if ((here&1)==0) {
|
||||
end = true;
|
||||
}
|
||||
other = here;
|
||||
}
|
||||
stages++;
|
||||
if (end) {
|
||||
if (stages>=5) {
|
||||
break;
|
||||
} else {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Top electrode
|
||||
for (int i = 0;i<3;i++) {
|
||||
if (!uninsHCCable.test(offset(pos, facing, mirrored, 1, i+2, stages-1))) {
|
||||
continue mirrorLoop;
|
||||
}
|
||||
}
|
||||
player.sendMessage(new TextComponentString(stages+" stage Marx generator found. Forming..."));
|
||||
//REPLACE STRUCTURE
|
||||
if (!world.isRemote) {
|
||||
IBlockState noModel = IndustrialWires.hvMultiblocks.getDefaultState().withProperty(BlockHVMultiblocks.type, MARX)
|
||||
.withProperty(IWProperties.MARX_TYPE, NO_MODEL).withProperty(IEProperties.BOOLEANS[0], mirrored);
|
||||
IBlockState stageModel = noModel.withProperty(IWProperties.MARX_TYPE, STAGE);
|
||||
// Main tower
|
||||
for (int s = 0; s < stages; s++) {
|
||||
for (int f = -1; f < 2; f++) {
|
||||
for (int r = 0; r < 2; r++) {
|
||||
BlockPos p = offset(pos, facing, mirrored, r, f, s);
|
||||
if (f==-1) {
|
||||
ImmersiveNetHandler.INSTANCE.clearAllConnectionsFor(p, world, false);
|
||||
}
|
||||
if (f == 0 && r == 0) {
|
||||
if (s != 0 && s != stages - 1) {
|
||||
set(world, p, stageModel, stages, pos);
|
||||
}
|
||||
} else {
|
||||
set(world, p, noModel, stages, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//bottom electrode
|
||||
for (int i = -3;i<5;i++) {
|
||||
if (i>-2&&i<2) {
|
||||
continue;
|
||||
}
|
||||
for (int j = 0;j<2;j++) {
|
||||
if (j==1&&i>1&&i<4) {
|
||||
continue;
|
||||
}
|
||||
set(world, offset(pos, facing, mirrored, j, i, 0), noModel, stages, pos);
|
||||
}
|
||||
}
|
||||
set(world, pos, noModel.withProperty(IWProperties.MARX_TYPE, BOTTOM), stages, pos);
|
||||
set(world, pos.up(stages-1), noModel.withProperty(IWProperties.MARX_TYPE, TOP), stages, pos);
|
||||
for (int i = 0;i<3;i++) {
|
||||
set(world, offset(pos, facing, mirrored, 1,2+i, stages-1), noModel, stages, pos);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
player.sendMessage(new TextComponentString("NOT FOUND"));
|
||||
return false;
|
||||
}
|
||||
private void set(World world, BlockPos p, IBlockState state, int stages, BlockPos origin) {
|
||||
world.setBlockState(p, state);
|
||||
TileEntity te = world.getTileEntity(p);
|
||||
if (te instanceof TileEntityMarx) {
|
||||
TileEntityMarx marx = (TileEntityMarx) te;
|
||||
marx.stageCount = stages;
|
||||
marx.offset = p.subtract(origin);
|
||||
marx.formed = true;
|
||||
marx.markDirty();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack[][][] getStructureManual() {
|
||||
return new ItemStack[0][][];
|
||||
}
|
||||
|
||||
@Override
|
||||
public IngredientStack[] getTotalMaterials() {
|
||||
return new IngredientStack[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean overwriteBlockRender(ItemStack stack, int iterator) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getManualScale() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canRenderFormedStructure() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderFormedStructure() {
|
||||
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,148 @@
|
|||
/*
|
||||
* This file is part of Industrial Wires.
|
||||
* Copyright (C) 2016-2017 malte0811
|
||||
*
|
||||
* Industrial Wires is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Industrial Wires is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Industrial Wires. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package malte0811.industrialWires.blocks.hv;
|
||||
|
||||
import blusunrize.immersiveengineering.api.IEProperties;
|
||||
import blusunrize.immersiveengineering.common.IEContent;
|
||||
import blusunrize.immersiveengineering.common.blocks.BlockTypes_MetalsIE;
|
||||
import blusunrize.immersiveengineering.common.blocks.metal.*;
|
||||
import ic2.api.item.IC2Items;
|
||||
import malte0811.industrialWires.blocks.IWProperties;
|
||||
import malte0811.industrialWires.blocks.TileEntityIWMultiblock;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.ITickable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Vec3i;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable {
|
||||
private static final String TYPE = "type";
|
||||
private static final String STAGES = "stages";
|
||||
|
||||
public IWProperties.MarxType type = IWProperties.MarxType.NO_MODEL;
|
||||
int stageCount = 0;
|
||||
|
||||
public TileEntityMarx(EnumFacing facing, IWProperties.MarxType type, boolean mirrored) {
|
||||
this.facing = facing;
|
||||
this.type = type;
|
||||
this.mirrored = mirrored;
|
||||
}
|
||||
public TileEntityMarx() {}
|
||||
|
||||
@Override
|
||||
public void writeNBT(NBTTagCompound out, boolean updatePacket) {
|
||||
super.writeNBT(out, updatePacket);
|
||||
out.setInteger(TYPE, type.ordinal());
|
||||
out.setInteger(STAGES, stageCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readNBT(NBTTagCompound in, boolean updatePacket) {
|
||||
super.readNBT(in, updatePacket);
|
||||
type = IWProperties.MarxType.values()[in.getInteger(TYPE)];
|
||||
stageCount = in.getInteger(STAGES);
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
protected BlockPos getOrigin() {
|
||||
return getPos().subtract(offset).offset(facing.getOpposite(), 3);
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public IBlockState getOriginalBlock() {
|
||||
int forward = dot(offset, facing.getDirectionVec());
|
||||
int right = dot(offset, facing.rotateY().getDirectionVec())*(mirrored?-1:1);
|
||||
int up = offset.getY();
|
||||
if (forward==0) {
|
||||
return IEContent.blockMetalDevice0.getDefaultState().withProperty(IEContent.blockMetalDevice0.property, BlockTypes_MetalDevice0.CAPACITOR_HV);
|
||||
} else if (forward==-1) {
|
||||
return IEContent.blockConnectors.getDefaultState().withProperty(IEContent.blockConnectors.property, BlockTypes_Connector.RELAY_HV)
|
||||
.withProperty(IEProperties.FACING_ALL, facing);
|
||||
} else if (forward==4&&up==0&&right==1) {
|
||||
return IEContent.blockStorage.getDefaultState().withProperty(IEContent.blockStorage.property, BlockTypes_MetalsIE.STEEL);
|
||||
} else if (forward>0) {
|
||||
//NOP. handled by getOriginalBlockPlacer
|
||||
} else if (forward==-2) {
|
||||
return IEContent.blockMetalDecoration0.getDefaultState().withProperty(IEContent.blockMetalDecoration0.property, BlockTypes_MetalDecoration0.HEAVY_ENGINEERING);
|
||||
} else if (right==0) {
|
||||
return IEContent.blockConnectors.getDefaultState().withProperty(IEContent.blockConnectors.property, BlockTypes_Connector.CONNECTOR_REDSTONE)
|
||||
.withProperty(IEProperties.FACING_ALL, facing);
|
||||
} else {
|
||||
return IEContent.blockConnectors.getDefaultState().withProperty(IEContent.blockConnectors.property, BlockTypes_Connector.CONNECTOR_HV)
|
||||
.withProperty(IEProperties.FACING_ALL, facing);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiConsumer<World, BlockPos> getOriginalBlockPlacer() {
|
||||
IBlockState original = getOriginalBlock();
|
||||
if (original!=null) {
|
||||
if (original.getBlock()==IEContent.blockConnectors) {
|
||||
return (w, p)->{
|
||||
w.setBlockState(p, original);
|
||||
TileEntity te = w.getTileEntity(p);
|
||||
if (te instanceof TileEntityConnectorLV) {
|
||||
((TileEntityConnectorLV) te).facing = original.getValue(IEProperties.FACING_ALL);
|
||||
te.markDirty();
|
||||
} else if (te instanceof TileEntityConnectorRedstone) {
|
||||
((TileEntityConnectorRedstone) te).facing = original.getValue(IEProperties.FACING_ALL);
|
||||
te.markDirty();
|
||||
}
|
||||
};
|
||||
} else {
|
||||
return (w, p)->w.setBlockState(p, original);
|
||||
}
|
||||
} else {
|
||||
ItemStack hv = IC2Items.getItem("cable", "type:iron,insulation:0");
|
||||
return (w, p)->{
|
||||
w.setBlockToAir(p);
|
||||
EntityItem item = new EntityItem(w, p.getX(), p.getY(), p.getZ(), hv.copy());
|
||||
w.spawnEntity(item);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private int dot(Vec3i a, Vec3i b) {
|
||||
return a.getX()*b.getX()+a.getY()*b.getY()+a.getZ()*b.getZ();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
if (!world.isRemote&&type== IWProperties.MarxType.BOTTOM) {
|
||||
//TODO do stuff and things
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vec3i getSize() {
|
||||
return new Vec3i(stageCount, 8, 2);
|
||||
}
|
||||
}
|
|
@ -30,10 +30,10 @@ import malte0811.industrialWires.CommonProxy;
|
|||
import malte0811.industrialWires.IWConfig;
|
||||
import malte0811.industrialWires.IndustrialWires;
|
||||
import malte0811.industrialWires.blocks.IMetaEnum;
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.blocks.controlpanel.BlockTypes_Panel;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator;
|
||||
import malte0811.industrialWires.blocks.controlpanel.TileEntityRSPanelConn;
|
||||
import malte0811.industrialWires.blocks.hv.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.client.gui.GuiPanelComponent;
|
||||
import malte0811.industrialWires.client.gui.GuiPanelCreator;
|
||||
import malte0811.industrialWires.client.gui.GuiRSPanelConn;
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
package malte0811.industrialWires.client.render;
|
||||
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.blocks.TileEntityJacobsLadder.LadderSize;
|
||||
import malte0811.industrialWires.blocks.hv.TileEntityJacobsLadder;
|
||||
import malte0811.industrialWires.blocks.hv.TileEntityJacobsLadder.LadderSize;
|
||||
import malte0811.industrialWires.util.Beziers;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.OpenGlHelper;
|
||||
|
|
|
@ -84,4 +84,14 @@ public final class MiscUtils {
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mirror inverts right
|
||||
*/
|
||||
public static BlockPos offset(BlockPos p, EnumFacing f, boolean mirror, int right, int forward, int up) {
|
||||
if (mirror) {
|
||||
right *= -1;
|
||||
}
|
||||
return p.offset(f, forward).offset(f.rotateY(), right).add(0, up, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"transform": "forge:default-block",
|
||||
"custom": {
|
||||
"flip-v": true
|
||||
},
|
||||
"textures": {
|
||||
"particle": "immersiveengineering:blocks/storage_steel"
|
||||
}
|
||||
},
|
||||
"variants": {
|
||||
"type": {
|
||||
"marx": {
|
||||
|
||||
}
|
||||
},
|
||||
"marx_type": {
|
||||
"bottom": {
|
||||
"model": "industrialwires:marx_bottom.obj"
|
||||
},
|
||||
"stage": {
|
||||
"model": "industrialwires:marx_stage.obj"
|
||||
},
|
||||
"top": {
|
||||
"model": "industrialwires:marx_top.obj"
|
||||
},
|
||||
"no_model": {
|
||||
"model": "builtin/generated"
|
||||
}
|
||||
},
|
||||
"facing": {
|
||||
"north": {
|
||||
"transform": {
|
||||
"rotation": {
|
||||
"y": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
"south": {
|
||||
"transform": {
|
||||
"rotation": {
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
},
|
||||
"west": {
|
||||
"transform": {
|
||||
"rotation": {
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
},
|
||||
"east": {
|
||||
"transform": {
|
||||
"rotation": {
|
||||
"y": -90
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"boolean0": //Mirror
|
||||
{
|
||||
"false": {},
|
||||
"true": {
|
||||
"transform": {
|
||||
"rotation": {
|
||||
"y": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
# Blender MTL File: 'NewMarx.blend'
|
||||
# Material Count: 2
|
||||
|
||||
newmtl Material.003
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
|
@ -0,0 +1,518 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'NewMarx.blend'
|
||||
# www.blender.org
|
||||
mtllib marx_bottom.mtl
|
||||
o Cube.000_Cube.023
|
||||
v 0.000000 0.000000 3.000000
|
||||
v 0.000000 1.000000 3.000000
|
||||
v 0.000000 0.000000 2.000000
|
||||
v 0.000000 1.000000 2.000000
|
||||
v 2.000000 0.000000 3.000000
|
||||
v 2.000000 1.000000 3.000000
|
||||
v 2.000000 0.000000 2.000000
|
||||
v 2.000000 1.000000 2.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 1//1 2//1 4//1 3//1
|
||||
f 3//2 4//2 8//2 7//2
|
||||
f 7//3 8//3 6//3 5//3
|
||||
f 5//4 6//4 2//4 1//4
|
||||
f 3//5 7//5 5//5 1//5
|
||||
f 8//6 4//6 2//6 6//6
|
||||
o Cube.010_Cube.034
|
||||
v 0.437500 0.187500 2.000000
|
||||
v 0.437500 0.312500 2.000000
|
||||
v 0.437500 0.187500 1.000000
|
||||
v 0.437500 0.312500 1.000000
|
||||
v 0.562500 0.187500 2.000000
|
||||
v 0.562500 0.312500 2.000000
|
||||
v 0.562500 0.187500 1.000000
|
||||
v 0.562500 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 9//7 10//7 12//7 11//7
|
||||
f 11//8 12//8 16//8 15//8
|
||||
f 15//9 16//9 14//9 13//9
|
||||
f 13//10 14//10 10//10 9//10
|
||||
f 11//11 15//11 13//11 9//11
|
||||
f 16//12 12//12 10//12 14//12
|
||||
o Cube.028_Cube.039
|
||||
v 1.437500 0.187500 2.000000
|
||||
v 1.437500 0.312500 2.000000
|
||||
v 1.437500 0.187500 1.000000
|
||||
v 1.437500 0.312500 1.000000
|
||||
v 1.562500 0.187500 2.000000
|
||||
v 1.562500 0.312500 2.000000
|
||||
v 1.562500 0.187500 1.000000
|
||||
v 1.562500 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 17//13 18//13 20//13 19//13
|
||||
f 19//14 20//14 24//14 23//14
|
||||
f 23//15 24//15 22//15 21//15
|
||||
f 21//16 22//16 18//16 17//16
|
||||
f 19//17 23//17 21//17 17//17
|
||||
f 24//18 20//18 18//18 22//18
|
||||
o Cube.029_Cube.040
|
||||
v 1.000000 0.000000 -3.000000
|
||||
v 1.000000 0.750000 -3.000000
|
||||
v 1.000000 0.000000 -4.000000
|
||||
v 1.000000 0.750000 -4.000000
|
||||
v 2.000000 0.000000 -3.000000
|
||||
v 2.000000 0.750000 -3.000000
|
||||
v 2.000000 0.000000 -4.000000
|
||||
v 2.000000 0.750000 -4.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 25//19 26//19 28//19 27//19
|
||||
f 27//20 28//20 32//20 31//20
|
||||
f 31//21 32//21 30//21 29//21
|
||||
f 29//22 30//22 26//22 25//22
|
||||
f 27//23 31//23 29//23 25//23
|
||||
f 32//24 28//24 26//24 30//24
|
||||
o Cube.030_Cube.041
|
||||
v 1.375000 0.750000 -3.375000
|
||||
v 1.375000 1.000000 -3.375000
|
||||
v 1.375000 0.750000 -3.625000
|
||||
v 1.375000 1.000000 -3.625000
|
||||
v 1.625000 0.750000 -3.375000
|
||||
v 1.625000 1.000000 -3.375000
|
||||
v 1.625000 0.750000 -3.625000
|
||||
v 1.625000 1.000000 -3.625000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 33//25 34//25 36//25 35//25
|
||||
f 35//26 36//26 40//26 39//26
|
||||
f 39//27 40//27 38//27 37//27
|
||||
f 37//28 38//28 34//28 33//28
|
||||
f 35//29 39//29 37//29 33//29
|
||||
f 40//30 36//30 34//30 38//30
|
||||
o Cube.031_Cube.042
|
||||
v 0.437500 0.000000 -0.375000
|
||||
v 0.437500 0.187500 -0.375000
|
||||
v 0.437500 0.000000 -0.625000
|
||||
v 0.437500 0.187500 -0.625000
|
||||
v 0.562500 0.000000 -0.375000
|
||||
v 0.562500 0.187500 -0.375000
|
||||
v 0.562500 0.000000 -0.625000
|
||||
v 0.562500 0.187500 -0.625000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 41//31 42//31 44//31 43//31
|
||||
f 43//32 44//32 48//32 47//32
|
||||
f 47//33 48//33 46//33 45//33
|
||||
f 45//34 46//34 42//34 41//34
|
||||
f 43//35 47//35 45//35 41//35
|
||||
f 48//36 44//36 42//36 46//36
|
||||
o Cube.032_Cube.043
|
||||
v 0.437500 0.000000 -1.375000
|
||||
v 0.437500 0.187500 -1.375000
|
||||
v 0.437500 0.000000 -1.625000
|
||||
v 0.437500 0.187500 -1.625000
|
||||
v 0.562500 0.000000 -1.375000
|
||||
v 0.562500 0.187500 -1.375000
|
||||
v 0.562500 0.000000 -1.625000
|
||||
v 0.562500 0.187500 -1.625000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 49//37 50//37 52//37 51//37
|
||||
f 51//38 52//38 56//38 55//38
|
||||
f 55//39 56//39 54//39 53//39
|
||||
f 53//40 54//40 50//40 49//40
|
||||
f 51//41 55//41 53//41 49//41
|
||||
f 56//42 52//42 50//42 54//42
|
||||
o Cube.033_Cube.044
|
||||
v 0.437500 0.000000 -2.375000
|
||||
v 0.437500 0.187500 -2.375000
|
||||
v 0.437500 0.000000 -2.625000
|
||||
v 0.437500 0.187500 -2.625000
|
||||
v 0.562500 0.000000 -2.375000
|
||||
v 0.562500 0.187500 -2.375000
|
||||
v 0.562500 0.000000 -2.625000
|
||||
v 0.562500 0.187500 -2.625000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 57//43 58//43 60//43 59//43
|
||||
f 59//44 60//44 64//44 63//44
|
||||
f 63//45 64//45 62//45 61//45
|
||||
f 61//46 62//46 58//46 57//46
|
||||
f 59//47 63//47 61//47 57//47
|
||||
f 64//48 60//48 58//48 62//48
|
||||
o Cube.035_Cube.045
|
||||
v 0.437500 0.000000 1.625000
|
||||
v 0.437500 0.187500 1.625000
|
||||
v 0.437500 0.000000 1.375000
|
||||
v 0.437500 0.187500 1.375000
|
||||
v 0.562500 0.000000 1.625000
|
||||
v 0.562500 0.187500 1.625000
|
||||
v 0.562500 0.000000 1.375000
|
||||
v 0.562500 0.187500 1.375000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 65//49 66//49 68//49 67//49
|
||||
f 67//50 68//50 72//50 71//50
|
||||
f 71//51 72//51 70//51 69//51
|
||||
f 69//52 70//52 66//52 65//52
|
||||
f 67//53 71//53 69//53 65//53
|
||||
f 72//54 68//54 66//54 70//54
|
||||
o Cube.036_Cube.046
|
||||
v 0.562500 0.187500 -3.437500
|
||||
v 0.562500 0.312500 -3.437500
|
||||
v 0.562500 0.187500 -3.562500
|
||||
v 0.562500 0.312500 -3.562500
|
||||
v 1.000000 0.187500 -3.437500
|
||||
v 1.000000 0.312500 -3.437500
|
||||
v 1.000000 0.187500 -3.562500
|
||||
v 1.000000 0.312500 -3.562500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 73//55 74//55 76//55 75//55
|
||||
f 75//56 76//56 80//56 79//56
|
||||
f 79//57 80//57 78//57 77//57
|
||||
f 77//58 78//58 74//58 73//58
|
||||
f 75//59 79//59 77//59 73//59
|
||||
f 80//60 76//60 74//60 78//60
|
||||
o Cube.067_Cube.047
|
||||
v 0.437500 0.187500 0.000000
|
||||
v 0.437500 0.312500 0.000000
|
||||
v 0.437500 0.187500 -3.562500
|
||||
v 0.437500 0.312500 -3.562500
|
||||
v 0.562500 0.187500 0.000000
|
||||
v 0.562500 0.312500 0.000000
|
||||
v 0.562500 0.187500 -3.562500
|
||||
v 0.562500 0.312500 -3.562500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 81//61 82//61 84//61 83//61
|
||||
f 83//62 84//62 88//62 87//62
|
||||
f 87//63 88//63 86//63 85//63
|
||||
f 85//64 86//64 82//64 81//64
|
||||
f 83//65 87//65 85//65 81//65
|
||||
f 88//66 84//66 82//66 86//66
|
||||
o Cube.001_Cube.048
|
||||
v 1.999999 -0.000001 0.000001
|
||||
v 1.999999 -0.000001 1.000000
|
||||
v 0.000000 0.000000 1.000000
|
||||
v 0.000000 0.000000 0.000000
|
||||
v 2.000000 0.499999 0.000001
|
||||
v 1.999999 0.499999 1.000000
|
||||
v -0.000000 0.500000 1.000000
|
||||
v 0.000000 0.500000 0.000001
|
||||
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
|
||||
usemtl Material.003
|
||||
s off
|
||||
f 89//67 90//67 91//67 92//67
|
||||
f 93//68 96//68 95//68 94//68
|
||||
f 89//69 93//69 94//69 90//69
|
||||
f 90//70 94//70 95//70 91//70
|
||||
f 91//71 95//71 96//71 92//71
|
||||
f 93//72 89//72 92//72 96//72
|
||||
o Cube.002_Cube.049
|
||||
v 0.374998 0.500000 0.625000
|
||||
v 0.374998 1.000000 0.625000
|
||||
v 0.374998 0.500000 0.375000
|
||||
v 0.374998 1.000000 0.375000
|
||||
v 0.624998 0.500000 0.625000
|
||||
v 0.624998 1.000000 0.625000
|
||||
v 0.624998 0.500000 0.375000
|
||||
v 0.624998 1.000000 0.375000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 97//73 98//73 100//73 99//73
|
||||
f 99//74 100//74 104//74 103//74
|
||||
f 103//75 104//75 102//75 101//75
|
||||
f 101//76 102//76 98//76 97//76
|
||||
f 99//77 103//77 101//77 97//77
|
||||
f 104//78 100//78 98//78 102//78
|
||||
o Cube.004_Cube.050
|
||||
v 1.374998 0.500000 0.625000
|
||||
v 1.374998 1.000000 0.625000
|
||||
v 1.374998 0.500000 0.375000
|
||||
v 1.374998 1.000000 0.375000
|
||||
v 1.624998 0.500000 0.625000
|
||||
v 1.624998 1.000000 0.625000
|
||||
v 1.624998 0.500000 0.375000
|
||||
v 1.624998 1.000000 0.375000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 105//79 106//79 108//79 107//79
|
||||
f 107//80 108//80 112//80 111//80
|
||||
f 111//81 112//81 110//81 109//81
|
||||
f 109//82 110//82 106//82 105//82
|
||||
f 107//83 111//83 109//83 105//83
|
||||
f 112//84 108//84 106//84 110//84
|
||||
o Cube.005_Cube.051
|
||||
v 0.250000 0.687500 0.750000
|
||||
v 0.250000 0.812500 0.750000
|
||||
v 0.250000 0.687500 0.250000
|
||||
v 0.250000 0.812500 0.250000
|
||||
v 0.750000 0.687500 0.750000
|
||||
v 0.750000 0.812500 0.750000
|
||||
v 0.750000 0.687500 0.250000
|
||||
v 0.750000 0.812500 0.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 113//85 114//85 116//85 115//85
|
||||
f 115//86 116//86 120//86 119//86
|
||||
f 119//87 120//87 118//87 117//87
|
||||
f 117//88 118//88 114//88 113//88
|
||||
f 115//89 119//89 117//89 113//89
|
||||
f 120//90 116//90 114//90 118//90
|
||||
o Cube.006_Cube.052
|
||||
v 1.250000 0.687500 0.750000
|
||||
v 1.250000 0.812500 0.750000
|
||||
v 1.250000 0.687500 0.250000
|
||||
v 1.250000 0.812500 0.250000
|
||||
v 1.750000 0.687500 0.750000
|
||||
v 1.750000 0.812500 0.750000
|
||||
v 1.750000 0.687500 0.250000
|
||||
v 1.750000 0.812500 0.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 121//91 122//91 124//91 123//91
|
||||
f 123//92 124//92 128//92 127//92
|
||||
f 127//93 128//93 126//93 125//93
|
||||
f 125//94 126//94 122//94 121//94
|
||||
f 123//95 127//95 125//95 121//95
|
||||
f 128//96 124//96 122//96 126//96
|
||||
o Cube.007_Cube.053
|
||||
v 1.437498 0.312500 1.375000
|
||||
v 1.437498 1.187500 1.375000
|
||||
v 1.437498 0.312500 1.250000
|
||||
v 1.437498 1.187500 1.250000
|
||||
v 1.562498 0.312500 1.375000
|
||||
v 1.562498 1.187500 1.375000
|
||||
v 1.562498 0.312500 1.250000
|
||||
v 1.562498 1.187500 1.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 129//97 130//97 132//97 131//97
|
||||
f 131//98 132//98 136//98 135//98
|
||||
f 135//99 136//99 134//99 133//99
|
||||
f 133//100 134//100 130//100 129//100
|
||||
f 131//101 135//101 133//101 129//101
|
||||
f 136//102 132//102 130//102 134//102
|
||||
o Cube.008_Cube.054
|
||||
v 1.374998 0.375000 1.437500
|
||||
v 1.374998 1.125000 1.437500
|
||||
v 1.374998 0.375000 1.187500
|
||||
v 1.374998 1.125000 1.187500
|
||||
v 1.624998 0.375000 1.437500
|
||||
v 1.624998 1.125000 1.437500
|
||||
v 1.624998 0.375000 1.187500
|
||||
v 1.624998 1.125000 1.187500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 137//103 138//103 140//103 139//103
|
||||
f 139//104 140//104 144//104 143//104
|
||||
f 143//105 144//105 142//105 141//105
|
||||
f 141//106 142//106 138//106 137//106
|
||||
f 139//107 143//107 141//107 137//107
|
||||
f 144//108 140//108 138//108 142//108
|
||||
o Cube.009_Cube.055
|
||||
v 1.187498 0.385723 -0.187500
|
||||
v 1.010721 0.562500 -0.187500
|
||||
v 1.187498 0.385723 -0.437500
|
||||
v 1.010721 0.562500 -0.437500
|
||||
v 1.364275 0.562500 -0.187500
|
||||
v 1.187498 0.739277 -0.187500
|
||||
v 1.364275 0.562500 -0.437500
|
||||
v 1.187498 0.739277 -0.437500
|
||||
v 1.455804 0.205806 -0.250000
|
||||
v 1.102251 0.559359 -0.250000
|
||||
v 1.455804 0.205806 -0.375000
|
||||
v 1.102250 0.559359 -0.375000
|
||||
v 1.544192 0.294194 -0.250000
|
||||
v 1.190639 0.647748 -0.250000
|
||||
v 1.544192 0.294194 -0.375000
|
||||
v 1.190639 0.647748 -0.375000
|
||||
v 1.562498 0.312500 -0.375000
|
||||
v 1.437498 0.312500 -0.375000
|
||||
v 1.562498 0.312500 -0.000000
|
||||
v 1.437498 0.312500 0.000000
|
||||
v 1.562498 0.187500 -0.375000
|
||||
v 1.437498 0.187500 -0.375000
|
||||
v 1.562498 0.187500 -0.000000
|
||||
v 1.437498 0.187500 0.000000
|
||||
vn -0.7071 -0.7071 0.0000
|
||||
vn -0.0000 0.0000 -1.0000
|
||||
vn 0.7071 0.7071 -0.0000
|
||||
vn 0.0000 -0.0000 1.0000
|
||||
vn 0.7071 -0.7071 -0.0000
|
||||
vn -0.7071 0.7071 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 145//109 146//109 148//109 147//109
|
||||
f 147//110 148//110 152//110 151//110
|
||||
f 151//111 152//111 150//111 149//111
|
||||
f 149//112 150//112 146//112 145//112
|
||||
f 147//113 151//113 149//113 145//113
|
||||
f 152//114 148//114 146//114 150//114
|
||||
f 153//109 154//109 156//109 155//109
|
||||
f 155//110 156//110 160//110 159//110
|
||||
f 159//111 160//111 158//111 157//111
|
||||
f 157//112 158//112 154//112 153//112
|
||||
f 155//113 159//113 157//113 153//113
|
||||
f 160//114 156//114 154//114 158//114
|
||||
f 161//115 162//115 164//115 163//115
|
||||
f 163//112 164//112 168//112 167//112
|
||||
f 167//116 168//116 166//116 165//116
|
||||
f 165//110 166//110 162//110 161//110
|
||||
f 163//117 167//117 165//117 161//117
|
||||
f 168//118 164//118 162//118 166//118
|
||||
o Cube.011_Cube.056
|
||||
v 0.437498 0.312500 1.375000
|
||||
v 0.437499 1.187500 1.375000
|
||||
v 0.437498 0.312500 1.250000
|
||||
v 0.437499 1.187500 1.250000
|
||||
v 0.562498 0.312500 1.375000
|
||||
v 0.562499 1.187500 1.375000
|
||||
v 0.562498 0.312500 1.250000
|
||||
v 0.562499 1.187500 1.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 169//119 170//119 172//119 171//119
|
||||
f 171//120 172//120 176//120 175//120
|
||||
f 175//121 176//121 174//121 173//121
|
||||
f 173//122 174//122 170//122 169//122
|
||||
f 171//123 175//123 173//123 169//123
|
||||
f 176//124 172//124 170//124 174//124
|
||||
o Cube.012_Cube.057
|
||||
v 0.374998 0.375000 1.437500
|
||||
v 0.374998 1.125000 1.437500
|
||||
v 0.374998 0.375000 1.187500
|
||||
v 0.374998 1.125000 1.187500
|
||||
v 0.624998 0.375000 1.437500
|
||||
v 0.624998 1.125000 1.437500
|
||||
v 0.624998 0.375000 1.187500
|
||||
v 0.624998 1.125000 1.187500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 177//125 178//125 180//125 179//125
|
||||
f 179//126 180//126 184//126 183//126
|
||||
f 183//127 184//127 182//127 181//127
|
||||
f 181//128 182//128 178//128 177//128
|
||||
f 179//129 183//129 181//129 177//129
|
||||
f 184//130 180//130 178//130 182//130
|
|
@ -0,0 +1,20 @@
|
|||
# Blender MTL File: 'NewMarx.blend'
|
||||
# Material Count: 2
|
||||
|
||||
newmtl Material.007
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
|
@ -0,0 +1,366 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'NewMarx.blend'
|
||||
# www.blender.org
|
||||
mtllib marx_stage.mtl
|
||||
o Cube.003_Cube.085
|
||||
v 1.999999 -0.000001 0.000001
|
||||
v 1.999999 -0.000001 1.000000
|
||||
v 0.000000 0.000000 1.000000
|
||||
v 0.000000 0.000000 0.000000
|
||||
v 2.000000 0.499999 0.000001
|
||||
v 1.999999 0.499999 1.000000
|
||||
v -0.000000 0.500000 1.000000
|
||||
v 0.000000 0.500000 0.000001
|
||||
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
|
||||
usemtl Material.007
|
||||
s off
|
||||
f 1//1 2//1 3//1 4//1
|
||||
f 5//2 8//2 7//2 6//2
|
||||
f 1//3 5//3 6//3 2//3
|
||||
f 2//4 6//4 7//4 3//4
|
||||
f 3//5 7//5 8//5 4//5
|
||||
f 5//6 1//6 4//6 8//6
|
||||
o Cube.013_Cube.086
|
||||
v 0.374998 0.500000 0.625000
|
||||
v 0.374998 1.000000 0.625000
|
||||
v 0.374998 0.500000 0.375000
|
||||
v 0.374998 1.000000 0.375000
|
||||
v 0.624998 0.500000 0.625000
|
||||
v 0.624998 1.000000 0.625000
|
||||
v 0.624998 0.500000 0.375000
|
||||
v 0.624998 1.000000 0.375000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 9//7 10//7 12//7 11//7
|
||||
f 11//8 12//8 16//8 15//8
|
||||
f 15//9 16//9 14//9 13//9
|
||||
f 13//10 14//10 10//10 9//10
|
||||
f 11//11 15//11 13//11 9//11
|
||||
f 16//12 12//12 10//12 14//12
|
||||
o Cube.014_Cube.087
|
||||
v 1.374998 0.500000 0.625000
|
||||
v 1.374998 1.000000 0.625000
|
||||
v 1.374998 0.500000 0.375000
|
||||
v 1.374998 1.000000 0.375000
|
||||
v 1.624998 0.500000 0.625000
|
||||
v 1.624998 1.000000 0.625000
|
||||
v 1.624998 0.500000 0.375000
|
||||
v 1.624998 1.000000 0.375000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 17//13 18//13 20//13 19//13
|
||||
f 19//14 20//14 24//14 23//14
|
||||
f 23//15 24//15 22//15 21//15
|
||||
f 21//16 22//16 18//16 17//16
|
||||
f 19//17 23//17 21//17 17//17
|
||||
f 24//18 20//18 18//18 22//18
|
||||
o Cube.016_Cube.088
|
||||
v 0.250000 0.687500 0.750000
|
||||
v 0.250000 0.812500 0.750000
|
||||
v 0.250000 0.687500 0.250000
|
||||
v 0.250000 0.812500 0.250000
|
||||
v 0.750000 0.687500 0.750000
|
||||
v 0.750000 0.812500 0.750000
|
||||
v 0.750000 0.687500 0.250000
|
||||
v 0.750000 0.812500 0.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 25//19 26//19 28//19 27//19
|
||||
f 27//20 28//20 32//20 31//20
|
||||
f 31//21 32//21 30//21 29//21
|
||||
f 29//22 30//22 26//22 25//22
|
||||
f 27//23 31//23 29//23 25//23
|
||||
f 32//24 28//24 26//24 30//24
|
||||
o Cube.017_Cube.089
|
||||
v 1.250000 0.687500 0.750000
|
||||
v 1.250000 0.812500 0.750000
|
||||
v 1.250000 0.687500 0.250000
|
||||
v 1.250000 0.812500 0.250000
|
||||
v 1.750000 0.687500 0.750000
|
||||
v 1.750000 0.812500 0.750000
|
||||
v 1.750000 0.687500 0.250000
|
||||
v 1.750000 0.812500 0.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 33//25 34//25 36//25 35//25
|
||||
f 35//26 36//26 40//26 39//26
|
||||
f 39//27 40//27 38//27 37//27
|
||||
f 37//28 38//28 34//28 33//28
|
||||
f 35//29 39//29 37//29 33//29
|
||||
f 40//30 36//30 34//30 38//30
|
||||
o Cube.018_Cube.090
|
||||
v 1.437498 0.312500 1.375000
|
||||
v 1.437498 1.187500 1.375000
|
||||
v 1.437498 0.312500 1.250000
|
||||
v 1.437498 1.187500 1.250000
|
||||
v 1.562498 0.312500 1.375000
|
||||
v 1.562498 1.187500 1.375000
|
||||
v 1.562498 0.312500 1.250000
|
||||
v 1.562498 1.187500 1.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 41//31 42//31 44//31 43//31
|
||||
f 43//32 44//32 48//32 47//32
|
||||
f 47//33 48//33 46//33 45//33
|
||||
f 45//34 46//34 42//34 41//34
|
||||
f 43//35 47//35 45//35 41//35
|
||||
f 48//36 44//36 42//36 46//36
|
||||
o Cube.019_Cube.091
|
||||
v 1.437498 0.187500 1.375000
|
||||
v 1.437498 0.312500 1.375000
|
||||
v 1.437498 0.187500 1.000000
|
||||
v 1.437498 0.312500 1.000000
|
||||
v 1.562498 0.187500 1.375000
|
||||
v 1.562498 0.312500 1.375000
|
||||
v 1.562498 0.187500 1.000000
|
||||
v 1.562498 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 49//37 50//37 52//37 51//37
|
||||
f 51//38 52//38 56//38 55//38
|
||||
f 55//39 56//39 54//39 53//39
|
||||
f 53//40 54//40 50//40 49//40
|
||||
f 51//41 55//41 53//41 49//41
|
||||
f 56//42 52//42 50//42 54//42
|
||||
o Cube.020_Cube.092
|
||||
v 1.374998 0.375000 1.437500
|
||||
v 1.374998 1.125000 1.437500
|
||||
v 1.374998 0.375000 1.187500
|
||||
v 1.374998 1.125000 1.187500
|
||||
v 1.624998 0.375000 1.437500
|
||||
v 1.624998 1.125000 1.437500
|
||||
v 1.624998 0.375000 1.187500
|
||||
v 1.624998 1.125000 1.187500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 57//43 58//43 60//43 59//43
|
||||
f 59//44 60//44 64//44 63//44
|
||||
f 63//45 64//45 62//45 61//45
|
||||
f 61//46 62//46 58//46 57//46
|
||||
f 59//47 63//47 61//47 57//47
|
||||
f 64//48 60//48 58//48 62//48
|
||||
o Cube.021_Cube.093
|
||||
v 1.187498 0.385723 -0.187500
|
||||
v 1.010721 0.562500 -0.187500
|
||||
v 1.187498 0.385723 -0.437500
|
||||
v 1.010721 0.562500 -0.437500
|
||||
v 1.364275 0.562500 -0.187500
|
||||
v 1.187498 0.739277 -0.187500
|
||||
v 1.364275 0.562500 -0.437500
|
||||
v 1.187498 0.739277 -0.437500
|
||||
v 1.455804 0.205806 -0.250000
|
||||
v 1.102251 0.559359 -0.250000
|
||||
v 1.455804 0.205806 -0.375000
|
||||
v 1.102250 0.559359 -0.375000
|
||||
v 1.544192 0.294194 -0.250000
|
||||
v 1.190639 0.647748 -0.250000
|
||||
v 1.544192 0.294194 -0.375000
|
||||
v 1.190639 0.647748 -0.375000
|
||||
v 1.562498 0.312500 -0.375000
|
||||
v 1.437498 0.312500 -0.375000
|
||||
v 1.562498 0.312500 -0.000000
|
||||
v 1.437498 0.312500 0.000000
|
||||
v 1.562498 0.187500 -0.375000
|
||||
v 1.437498 0.187500 -0.375000
|
||||
v 1.562498 0.187500 -0.000000
|
||||
v 1.437498 0.187500 0.000000
|
||||
vn -0.7071 -0.7071 0.0000
|
||||
vn -0.0000 0.0000 -1.0000
|
||||
vn 0.7071 0.7071 -0.0000
|
||||
vn 0.0000 -0.0000 1.0000
|
||||
vn 0.7071 -0.7071 -0.0000
|
||||
vn -0.7071 0.7071 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 1.0000 0.0000 -0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 65//49 66//49 68//49 67//49
|
||||
f 67//50 68//50 72//50 71//50
|
||||
f 71//51 72//51 70//51 69//51
|
||||
f 69//52 70//52 66//52 65//52
|
||||
f 67//53 71//53 69//53 65//53
|
||||
f 72//54 68//54 66//54 70//54
|
||||
f 73//49 74//49 76//49 75//49
|
||||
f 75//50 76//50 80//50 79//50
|
||||
f 79//51 80//51 78//51 77//51
|
||||
f 77//52 78//52 74//52 73//52
|
||||
f 75//53 79//53 77//53 73//53
|
||||
f 80//54 76//54 74//54 78//54
|
||||
f 81//55 82//55 84//55 83//55
|
||||
f 83//52 84//52 88//52 87//52
|
||||
f 87//56 88//56 86//56 85//56
|
||||
f 85//50 86//50 82//50 81//50
|
||||
f 83//57 87//57 85//57 81//57
|
||||
f 88//58 84//58 82//58 86//58
|
||||
o Cube.022_Cube.094
|
||||
v 0.437498 0.312500 1.375000
|
||||
v 0.437499 1.187500 1.375000
|
||||
v 0.437498 0.312500 1.250000
|
||||
v 0.437499 1.187500 1.250000
|
||||
v 0.562498 0.312500 1.375000
|
||||
v 0.562499 1.187500 1.375000
|
||||
v 0.562498 0.312500 1.250000
|
||||
v 0.562499 1.187500 1.250000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 89//59 90//59 92//59 91//59
|
||||
f 91//60 92//60 96//60 95//60
|
||||
f 95//61 96//61 94//61 93//61
|
||||
f 93//62 94//62 90//62 89//62
|
||||
f 91//63 95//63 93//63 89//63
|
||||
f 96//64 92//64 90//64 94//64
|
||||
o Cube.023_Cube.095
|
||||
v 0.437498 0.187500 1.375000
|
||||
v 0.437498 0.312500 1.375000
|
||||
v 0.437498 0.187500 1.000000
|
||||
v 0.437498 0.312500 1.000000
|
||||
v 0.562498 0.187500 1.375000
|
||||
v 0.562498 0.312500 1.375000
|
||||
v 0.562498 0.187500 1.000000
|
||||
v 0.562498 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 97//65 98//65 100//65 99//65
|
||||
f 99//66 100//66 104//66 103//66
|
||||
f 103//67 104//67 102//67 101//67
|
||||
f 101//68 102//68 98//68 97//68
|
||||
f 99//69 103//69 101//69 97//69
|
||||
f 104//70 100//70 98//70 102//70
|
||||
o Cube.024_Cube.096
|
||||
v 0.374998 0.375000 1.437500
|
||||
v 0.374998 1.125000 1.437500
|
||||
v 0.374998 0.375000 1.187500
|
||||
v 0.374998 1.125000 1.187500
|
||||
v 0.624998 0.375000 1.437500
|
||||
v 0.624998 1.125000 1.437500
|
||||
v 0.624998 0.375000 1.187500
|
||||
v 0.624998 1.125000 1.187500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 105//71 106//71 108//71 107//71
|
||||
f 107//72 108//72 112//72 111//72
|
||||
f 111//73 112//73 110//73 109//73
|
||||
f 109//74 110//74 106//74 105//74
|
||||
f 107//75 111//75 109//75 105//75
|
||||
f 112//76 108//76 106//76 110//76
|
||||
o Cube.025_Cube.097
|
||||
v 0.812498 0.114277 -0.187500
|
||||
v 0.989275 -0.062500 -0.187500
|
||||
v 0.812498 0.114277 -0.437500
|
||||
v 0.989275 -0.062500 -0.437500
|
||||
v 0.635722 -0.062500 -0.187500
|
||||
v 0.812498 -0.239277 -0.187500
|
||||
v 0.635722 -0.062500 -0.437500
|
||||
v 0.812498 -0.239277 -0.437500
|
||||
v 0.544192 0.294194 -0.250000
|
||||
v 0.897746 -0.059359 -0.250000
|
||||
v 0.544193 0.294194 -0.375000
|
||||
v 0.897746 -0.059359 -0.375000
|
||||
v 0.455804 0.205806 -0.250000
|
||||
v 0.809358 -0.147748 -0.250000
|
||||
v 0.455804 0.205806 -0.375000
|
||||
v 0.809358 -0.147748 -0.375000
|
||||
v 0.437498 0.187500 -0.375000
|
||||
v 0.562498 0.187500 -0.375000
|
||||
v 0.437498 0.187500 -0.000000
|
||||
v 0.562498 0.187500 0.000000
|
||||
v 0.437498 0.312500 -0.375000
|
||||
v 0.562498 0.312500 -0.375000
|
||||
v 0.437498 0.312500 -0.000000
|
||||
v 0.562498 0.312500 0.000000
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn -0.7071 -0.7071 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn -0.7071 0.7071 -0.0000
|
||||
vn 0.7071 -0.7071 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 113//77 114//77 116//77 115//77
|
||||
f 115//78 116//78 120//78 119//78
|
||||
f 119//79 120//79 118//79 117//79
|
||||
f 117//80 118//80 114//80 113//80
|
||||
f 115//81 119//81 117//81 113//81
|
||||
f 120//82 116//82 114//82 118//82
|
||||
f 121//77 122//77 124//77 123//77
|
||||
f 123//78 124//78 128//78 127//78
|
||||
f 127//79 128//79 126//79 125//79
|
||||
f 125//80 126//80 122//80 121//80
|
||||
f 123//81 127//81 125//81 121//81
|
||||
f 128//82 124//82 122//82 126//82
|
||||
f 129//83 130//83 132//83 131//83
|
||||
f 131//80 132//80 136//80 135//80
|
||||
f 135//84 136//84 134//84 133//84
|
||||
f 133//78 134//78 130//78 129//78
|
||||
f 131//85 135//85 133//85 129//85
|
||||
f 136//86 132//86 130//86 134//86
|
|
@ -0,0 +1,20 @@
|
|||
# Blender MTL File: 'NewMarx.blend'
|
||||
# Material Count: 2
|
||||
|
||||
newmtl Material.004
|
||||
Ns 96.078431
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.640000 0.640000 0.640000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.000000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl None
|
||||
Ns 0
|
||||
Ka 0.000000 0.000000 0.000000
|
||||
Kd 0.8 0.8 0.8
|
||||
Ks 0.8 0.8 0.8
|
||||
d 1
|
||||
illum 2
|
|
@ -0,0 +1,173 @@
|
|||
# Blender v2.78 (sub 0) OBJ File: 'NewMarx.blend'
|
||||
# www.blender.org
|
||||
mtllib marx_top.mtl
|
||||
o Cube.037_Cube.157
|
||||
v 1.406250 0.062500 -3.406250
|
||||
v 1.406250 0.187500 -3.406250
|
||||
v 1.406250 0.062500 -3.593750
|
||||
v 1.406250 0.187500 -3.593750
|
||||
v 1.593750 0.062500 -3.406250
|
||||
v 1.593750 0.187500 -3.406250
|
||||
v 1.593750 0.062500 -3.593750
|
||||
v 1.593750 0.187500 -3.593750
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 1//1 2//1 4//1 3//1
|
||||
f 3//2 4//2 8//2 7//2
|
||||
f 7//3 8//3 6//3 5//3
|
||||
f 5//4 6//4 2//4 1//4
|
||||
f 3//5 7//5 5//5 1//5
|
||||
f 8//6 4//6 2//6 6//6
|
||||
o Cube.027_Cube.115
|
||||
v 1.437500 0.187500 0.000000
|
||||
v 1.437500 0.312500 0.000000
|
||||
v 1.437500 0.187500 -3.562500
|
||||
v 1.437500 0.312500 -3.562500
|
||||
v 1.562500 0.187500 0.000000
|
||||
v 1.562500 0.312500 0.000000
|
||||
v 1.562500 0.187500 -3.562500
|
||||
v 1.562500 0.312500 -3.562500
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 9//7 10//7 12//7 11//7
|
||||
f 11//8 12//8 16//8 15//8
|
||||
f 15//9 16//9 14//9 13//9
|
||||
f 13//10 14//10 10//10 9//10
|
||||
f 11//11 15//11 13//11 9//11
|
||||
f 16//12 12//12 10//12 14//12
|
||||
o Cube.015_Cube.058
|
||||
v 1.999999 -0.000001 0.000001
|
||||
v 1.999999 -0.000001 1.000000
|
||||
v 0.000000 0.000000 1.000000
|
||||
v 0.000000 0.000000 0.000000
|
||||
v 2.000000 0.499999 0.000001
|
||||
v 1.999999 0.499999 1.000000
|
||||
v -0.000000 0.500000 1.000000
|
||||
v 0.000000 0.500000 0.000001
|
||||
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
|
||||
usemtl Material.004
|
||||
s off
|
||||
f 17//13 18//13 19//13 20//13
|
||||
f 21//14 24//14 23//14 22//14
|
||||
f 17//15 21//15 22//15 18//15
|
||||
f 18//16 22//16 23//16 19//16
|
||||
f 19//17 23//17 24//17 20//17
|
||||
f 21//18 17//18 20//18 24//18
|
||||
o Cube.026_Cube.059
|
||||
v 1.437498 0.187500 1.375000
|
||||
v 1.437498 0.312500 1.375000
|
||||
v 1.437498 0.187500 1.000000
|
||||
v 1.437498 0.312500 1.000000
|
||||
v 1.562498 0.187500 1.375000
|
||||
v 1.562498 0.312500 1.375000
|
||||
v 1.562498 0.187500 1.000000
|
||||
v 1.562498 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 25//19 26//19 28//19 27//19
|
||||
f 27//20 28//20 32//20 31//20
|
||||
f 31//21 32//21 30//21 29//21
|
||||
f 29//22 30//22 26//22 25//22
|
||||
f 27//23 31//23 29//23 25//23
|
||||
f 32//24 28//24 26//24 30//24
|
||||
o Cube.034_Cube.060
|
||||
v 0.437498 0.187500 1.375000
|
||||
v 0.437498 0.312500 1.375000
|
||||
v 0.437498 0.187500 1.000000
|
||||
v 0.437498 0.312500 1.000000
|
||||
v 0.562498 0.187500 1.375000
|
||||
v 0.562498 0.312500 1.375000
|
||||
v 0.562498 0.187500 1.000000
|
||||
v 0.562498 0.312500 1.000000
|
||||
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.0000 1.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 33//25 34//25 36//25 35//25
|
||||
f 35//26 36//26 40//26 39//26
|
||||
f 39//27 40//27 38//27 37//27
|
||||
f 37//28 38//28 34//28 33//28
|
||||
f 35//29 39//29 37//29 33//29
|
||||
f 40//30 36//30 34//30 38//30
|
||||
o Cube.038_Cube.061
|
||||
v 0.812498 0.114277 -0.187500
|
||||
v 0.989275 -0.062500 -0.187500
|
||||
v 0.812498 0.114277 -0.437500
|
||||
v 0.989275 -0.062500 -0.437500
|
||||
v 0.635722 -0.062500 -0.187500
|
||||
v 0.812498 -0.239277 -0.187500
|
||||
v 0.635722 -0.062500 -0.437500
|
||||
v 0.812498 -0.239277 -0.437500
|
||||
v 0.544192 0.294194 -0.250000
|
||||
v 0.897746 -0.059359 -0.250000
|
||||
v 0.544193 0.294194 -0.375000
|
||||
v 0.897746 -0.059359 -0.375000
|
||||
v 0.455804 0.205806 -0.250000
|
||||
v 0.809358 -0.147748 -0.250000
|
||||
v 0.455804 0.205806 -0.375000
|
||||
v 0.809358 -0.147748 -0.375000
|
||||
v 0.437498 0.187500 -0.375000
|
||||
v 0.562498 0.187500 -0.375000
|
||||
v 0.437498 0.187500 -0.000000
|
||||
v 0.562498 0.187500 0.000000
|
||||
v 0.437498 0.312500 -0.375000
|
||||
v 0.562498 0.312500 -0.375000
|
||||
v 0.437498 0.312500 -0.000000
|
||||
v 0.562498 0.312500 0.000000
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn 0.0000 -0.0000 -1.0000
|
||||
vn -0.7071 -0.7071 -0.0000
|
||||
vn -0.0000 0.0000 1.0000
|
||||
vn -0.7071 0.7071 -0.0000
|
||||
vn 0.7071 -0.7071 0.0000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 -0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
usemtl None
|
||||
s off
|
||||
f 41//31 42//31 44//31 43//31
|
||||
f 43//32 44//32 48//32 47//32
|
||||
f 47//33 48//33 46//33 45//33
|
||||
f 45//34 46//34 42//34 41//34
|
||||
f 43//35 47//35 45//35 41//35
|
||||
f 48//36 44//36 42//36 46//36
|
||||
f 49//31 50//31 52//31 51//31
|
||||
f 51//32 52//32 56//32 55//32
|
||||
f 55//33 56//33 54//33 53//33
|
||||
f 53//34 54//34 50//34 49//34
|
||||
f 51//35 55//35 53//35 49//35
|
||||
f 56//36 52//36 50//36 54//36
|
||||
f 57//37 58//37 60//37 59//37
|
||||
f 59//34 60//34 64//34 63//34
|
||||
f 63//38 64//38 62//38 61//38
|
||||
f 61//32 62//32 58//32 57//32
|
||||
f 59//39 63//39 61//39 57//39
|
||||
f 64//40 60//40 58//40 62//40
|
Loading…
Reference in a new issue