anchor.diff:  								"Misc"
   								)
   
  -/obj/machinery/mecha_part_fabricator/Initialize()
  -    var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
  -     list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0,
  -        TRUE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
  -    materials.precise_insertion = TRUE
  -    stored_research = new
  -    return ..()
  +/obj/machinery/mecha_part_fabricator/Initialize(mapload)
  +	var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
  +	 list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0,
  +		TRUE, /obj/item/stack, CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
  +	materials.precise_insertion = TRUE
  +	stored_research = new
  +	rmat = AddComponent(/datum/component/remote_materials, "mechfab", mapload)
  +	return ..()
   
   /obj/machinery/mecha_part_fabricator/RefreshParts()
   	var/T = 0
  
positive.code: 
  /obj/machinery/mecha_part_fabricator/proc/output_available_resources()
  	var/output
  	var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
  	for(var/mat_id in materials.materials)
  		var/datum/material/M = materials.materials[mat_id]
  		output += "<span class=\"res_name\">[M.name]: </span>[M.amount] cm&sup3;"
  		if(M.amount >= MINERAL_MATERIAL_AMOUNT)
  			output += "<span style='font-size:80%;'>- Remove \[<a href='?src=[REF(src)];remove_mat=1;material=[mat_id]'>1</a>\]"
  			if(M.amount >= (MINERAL_MATERIAL_AMOUNT * 10))
  				output += " | \[<a href='?src=[REF(src)];remove_mat=10;material=[mat_id]'>10</a>\]"
  			output += " | \[<a href='?src=[REF(src)];remove_mat=50;material=[mat_id]'>All</a>\]</span>"
  		output += "<br/>"
  	return output
  
  /obj/machinery/mecha_part_fabricator/proc/get_resources_w_coeff(datum/design/D)
  
negative.code: 					break
  
  	if(href_list["remove_mat"] && href_list["material"])
  		eject_sheets(href_list["material"], href_list["remove_mat"])
  
  	updateUsrDialog()
  	return
  
  /obj/machinery/mecha_part_fabricator/proc/eject_sheets(eject_sheet, eject_amt)
  	var/datum/component/material_container/mat_container = rmat.mat_container
  	if (!mat_container)
  		say("No access to material storage, please contact the quartermaster.")
  		return 0
  	if (rmat.on_hold())
  		say("Mineral access is on hold, please contact the quartermaster.")
  		return 0
  	var/count = mat_container.retrieve_sheets(text2num(eject_amt), eject_sheet, drop_location())
  	var/list/matlist = list()
  	matlist[eject_sheet] = text2num(eject_amt)
  	rmat.silo_log(src, "ejected", -count, "sheets", matlist)
  	return count
  
  /obj/machinery/mecha_part_fabricator/proc/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted)
  	var/stack_name = material2name(id_inserted)
  