summarylogtreecommitdiffstats
path: root/multimc5.sh
blob: 74fbad36beda0e6c24bda0fb4989880a48e1120b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
# Usage: $0 [DATA_DIR] [NAME]
set -e
set -x
function variables() {
	NAME="${2:-multimc5}"
	if [ "${1}" ]; then
		DATA_DIR="${1}"
	else
		if [ "${XDG_DATA_HOME}" ]; then
			DATA_DIR="${XDG_DATA_HOME}/${NAME}"
		elif [ -d "${HOME}/.local/share" ]; then
			DATA_DIR="${HOME}/.local/share/${NAME}"
		else
			DATA_DIR="${HOME}/.${NAME}"
		fi
	fi
	echo ${DATA_DIR}
}
function move() {
	for i in "${1}"/*; do
		mv "${i}" "${2}"
	done
}
function directories() {
	mkdir --parents "${DATA_DIR}"
	if [ -d "${HOME}/.${NAME}" ] && [ "${HOME}/.${NAME}" != "${DATA_DIR}" ]; then
		move "${HOME}/.${NAME}" "${DATA_DIR}/"
		rmdir "${HOME}/.${NAME}"
	elif [ -d "${HOME}/.local/share/${NAME}" ] && [ "${HOME}/.local/share/${NAME}" != "${DATA_DIR}" ]; then
		move "${HOME}/.local/share/${NAME}" "${DATA_DIR}"
		rmdir "${HOME}/.local/share/${NAME}"
	elif [ -d "${XDG_DATA_HOME}/${NAME}" ] && [ "${XDG_DATA_HOME}/${NAME}" != "${DATA_DIR}" ] ; then
		move "${XDG_DATA_HOME}/${NAME}" "${DATA_DIR}"
		rmdir "${XDG_DATA_HOME}/${NAME}"
	fi
}

function main() {
	variables $@
	directories
	/usr/lib/multimc5/MultiMC5 --dir "${DATA_DIR}"
}
main $@