Add support for acitvating/deactivating multiple mods at once.

This commit is contained in:
Daniel Ceregatti 2023-10-15 11:25:38 -07:00
parent b0596f5e11
commit a3f062799c

View file

@ -336,35 +336,42 @@ config(){
# Activate / Deactivate a mod # Activate / Deactivate a mod
activate(){ activate(){
# W(hich?) a or d
W=${1} W=${1}
# Pop that off so we can loop over the rest
shift shift
# Default values are when activating
WW="" WW=""
COLOR="${green}" COLOR="${green}"
if [[ ${W} = 0 ]] if [[ ${W} = 0 ]]
then then
# Deactivating instead
WW="de" WW="de"
COLOR="${red}" COLOR="${red}"
fi fi
ID=$(get_mod_id ${1} ${W}) # Loop over the rest of the argument(s)
MODNAME=$(get_mod_name ${ID}) for i in ${@}
# echo "ID: ${ID}, MODNAME: ${MODNAME}" do
# exit 0 # Get the mod id and name
# Toggle state or report nothing burger ID=$(get_mod_id ${i} ${W})
pushd "${SERVER_PROFILE}" > /dev/null MODNAME=$(get_mod_name ${ID})
if [[ ${W} = 0 ]] && [ -L "${SERVER_PROFILE}/@${MODNAME}" ] # Toggle state or report nothing burger
then pushd "${SERVER_PROFILE}" > /dev/null
echo -n "Removing mod symlink: " if [[ ${W} = 0 ]] && [ -L "${SERVER_PROFILE}/@${MODNAME}" ]
rm -vf "${SERVER_PROFILE}/@${MODNAME}" then
elif [[ ${W} = 1 ]] echo -n "Removing mod symlink: "
then rm -vf "${SERVER_PROFILE}/@${MODNAME}"
echo -n "Creating mod symlink: " elif [[ ${W} = 1 ]]
ln -sfv "${WORKSHOP_DIR}/${ID}" "${SERVER_PROFILE}/@${MODNAME}" then
else echo -n "Creating mod symlink: "
echo -e "Mod id ${ID} - ${COLOR}${MODNAME}${default} - is already ${WW}active" ln -sfv "${WORKSHOP_DIR}/${ID}" "${SERVER_PROFILE}/@${MODNAME}"
fi else
copy_keys ${W} ${ID} echo -e "Mod id ${ID} - ${COLOR}${MODNAME}${default} - is already ${WW}active"
echo -e "Mod id ${ID} - ${COLOR}${MODNAME}${default} ${WW}activated" fi
popd > /dev/null copy_keys ${W} ${ID}
echo -e "Mod id ${ID} - ${COLOR}${MODNAME}${default} ${WW}activated"
popd > /dev/null
done
status status
} }
@ -460,7 +467,7 @@ Working mod parameter: ${mod_command_line}"
} }
backup(){ backup(){
cd ${MPMISSIONS} cd ${MPMISSIONS}
DATE=$(date +'%Y-%m-%d-%H-%M-%S') DATE=$(date +'%Y-%m-%d-%H-%M-%S')
for i in $(ls) for i in $(ls)
do do
@ -469,6 +476,7 @@ backup(){
mkdir -p ${B} 1> /dev/null mkdir -p ${B} 1> /dev/null
cp -a "${i}" "${B}" cp -a "${i}" "${B}"
done done
cp -a /profiles ${B}
} }
MAP=$(get_map_name) MAP=$(get_map_name)