add tileentity and machine class