@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();

		/*
		 * Don't question this code, only accept that it works
		 */
		int i, rl;
		String spacing = "      ";//Length: 8 +1 for null termination.
		for (rl = 0; rl <= 2; rl++) {
			sb.append(spacing.substring(0, rl * 3));
			for (i = 0; i <= 2; i++) {
				sb.append(bracketEncapsulator(board[rl][i]));
				sb.append(spacing.substring(0, spacing.length() - (3 * rl)));
			}
			sb.append("\n");
		}

		/* Middle area */
		for (rl = 0; rl <= 2; rl++) {
			sb.append(bracketEncapsulator(board[rl][7]));
			//	sb.append(spacing.substring(0, spacing.length()-(3*rl)));
		}
		sb.append(spacing.substring(0, 3));
		//sb.append("\t");
		for (rl = 2; rl >= 0; rl--) {
			sb.append(bracketEncapsulator(board[rl][3]));
			//sb.append(spacing.substring(0, spacing.length()-(3*rl)));
		}
		/* End middle area */
		sb.append("\n");
		for (rl = 2; rl >= 0; rl--) {
			sb.append(spacing.substring(0, rl * 3));
			for (i = 6; i >= 4; i--) {
				sb.append(bracketEncapsulator(board[rl][i]));
				sb.append(spacing.substring(0, spacing.length() - (3 * rl)));
			}
			sb.append("\n");
		}

		sb.append("\n");
		if (allowFlying()) {
			sb.append("Flying is enabled\n");
		} else {
			sb.append("Flying is disabled\n");
		}
		
		if (setupMode){
			sb.append("Currently in setupMode");
		} else {
			sb.append("SetupMode has ended\n");
		}
		
		return sb.toString();
	}