@@ -38,14 +38,26 @@ public boolean isCable(ITileElement element)
{
return true;
}

@Override
public float getBlockHardness()
{
return 0.4f;
}
});
public static TileFactory MANAGER = registerFactory(new TileFactory(TileEntityManager.class, new String[]{Names.MANAGER}, TOP_SUFFIX, BOTTOM_SUFFIX)
{
@Override
public float getBlockHardness()
{
return 2f;
}

@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int subtype)
{
return super.icons[subtype][side == 0 ? 2 : side == 1 ? 1 : 0];
return super.icons[0][side == 0 ? 2 : side == 1 ? 1 : 0];
}

@Override
@@ -0,0 +1,51 @@
package advancedsystemsmanager.tileentities;

import advancedsystemsmanager.api.tileentities.ITileElement;
import advancedsystemsmanager.api.tileentities.ITileFactory;
import advancedsystemsmanager.helpers.RemapHelper;
import advancedsystemsmanager.registry.ClusterRegistry;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;

public class TileEntityRemapping extends TileEntity
{
private NBTTagCompound tagCompound;

@Override
public void updateEntity()
{
super.updateEntity();
ITileFactory factory = getFactory(tagCompound.getString("id"));
if (factory != null && factory.getBlock() != null)
{
int subtype = getBlockMetadata() & 8;
if (factory == ClusterRegistry.CAMO)
{
subtype = getBlockMetadata();
}
worldObj.setBlock(xCoord, yCoord, zCoord, factory.getBlock(), factory.getMetadata(), 3);
TileEntity te = factory.createTileEntity(worldObj, factory.getMetadata());
te.readFromNBT(tagCompound);
((ITileElement)te).setSubtype(subtype);
worldObj.removeTileEntity(xCoord, yCoord, zCoord);
worldObj.getChunkFromBlockCoords(xCoord, zCoord).addTileEntity(te);
} else
{
worldObj.setBlockToAir(xCoord, yCoord, zCoord);
worldObj.removeTileEntity(xCoord, yCoord, zCoord);
}
}

@Override
public void readFromNBT(NBTTagCompound tag)
{
super.readFromNBT(tag);
this.tagCompound = tag;
}


private ITileFactory getFactory(String name)
{
return ClusterRegistry.get(RemapHelper.getNewTile(name));
}
}
@@ -31,10 +31,10 @@ asm_cable_quantum.name=Quantum Cable
# ITEMS
# ======================================

item.system_duplicator.name=System Duplicator
item.system_labeler.name=Machine Labeler
item.system_remote_access.name=Remote Interface
item.system_remote_access_advanced.name=Advanced Remote Interface
item.asm_duplicator.name=System Duplicator
item.asm_labeler.name=Machine Labeler
item.asm_remote_access.name=Remote Interface
item.asm_remote_access_advanced.name=Advanced Remote Interface

# ======================================
# COMPONENT TYPES