protected void saveTile(){
		editor.emptyTile(activeTile);   //dumps everything on the tile for replacement
		for (TileObjectDisplayData todd : itemData){
			activeTile.addItem(todd.getItem());
		}
		if (characterData != null){
			Character c = characterData.getCharacter(activeTile);
			if (c instanceof Player){
				editor.setPlayerTile(activeTile);
			}
		}
		
		//sets the edges present
		for (Direction d : edgeData.keySet()){
			TileObjectDisplayData data = edgeData.get(d);
			Edge edgeToAdd = data.getEdge(activeTile, editor.getTile(activeTile, d), d);
			editor.addEdge(edgeToAdd);
		}
		
		//Invisible edges still need to be set in the other directions for connection
		for (Direction d : Direction.values()){
			if (!activeTile.hasDirection(d)){
				if (editor.getTile(activeTile, d) != null){
					Edge edgeToAdd = new Edge(activeTile, editor.getTile(activeTile, d), true, d, d.getOppositeDirection());
					editor.addEdge(edgeToAdd);
				}			
			}
		}
		
		notifyDataSynched();
	}