@Override
public void saveState(HumanNPC npc) {
int UID = npc.getUID();
NPCData npcdata = npc.getNPCData();
saveBalance(npc.getUID(), npc.getBalance());
saveName(npc.getUID(), npcdata.getName());
saveLocation(npcdata.getLocation(), UID);
saveColour(UID, npcdata.getColour());
saveItems(UID, npcdata.getItems());
saveInventory(UID, npc.getPlayer().getInventory());
saveText(UID, npcdata.getTexts());
saveLookWhenClose(UID, npcdata.isLookClose());
saveTalkWhenClose(UID, npcdata.isTalkClose());
saveTalk(UID, npcdata.isTalk());
saveWaypoints(UID, npc.getWaypoints().getWaypoints());
saveOwner(UID, npcdata.getOwner());
profiles.setBoolean(UID + ".basic.wander", npc.getHandle().isAutoPathfinder());
}