public void paintComponent(Graphics g) {
		//2d Array of terrain tiles
		Terrain[][] currentBoard = boardState.getArea();
		//2d Array of Objects
		Entities[][] currentObjects = boardState.getObjects();

		width = getWidth();
		height = getHeight();
		g.fillRect(0, 0, (int) width, (int) height); //Generic background for colour
		Direction d = boardState.getDirection(); //Player's view orientation
		Location playerDir = boardState.getPlayerCoords(); //Helps with centering the board to the player
		if (!(playerDir instanceof NullLocation)){
			//Draws the board based on the four different views you can have
			switch (d) {
			case SOUTH:
				drawSouth(currentBoard, currentObjects, g);
				break;
			case EAST:
				drawEast(currentBoard, currentObjects, g);
				break;
			case WEST:
				drawWest(currentBoard, currentObjects, g);
				break;
			default:
				drawNorth(currentBoard, currentObjects, g);
				break;
			}
		}
		int lightState = boardState.getLight();
		switch(lightState){
		case 0: g.drawImage(nightShade, 0, 0, (int) width, (int) height, null); //Night vision
		break;
		case 1: g.drawImage(duskShade, 0, 0, (int) width, (int) height, null); //Dusk vision
		break;
		case 3: g.drawImage(sunShade, 0, 0, (int) width, (int) height, null);
		break;
		default: break;
		}
	}