48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
||
#
|
||
# Синххронизация локальных модов с текущей сборкой
|
||
# Можно запускать эту команды после добавления новых модов в сборку
|
||
# https://juraj-hrivnak.github.io/Pakku/pakku-sync.html
|
||
#
|
||
|
||
set -eu pipefail
|
||
pakku() { pakku-mc "$@"; }
|
||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
||
REPO_ROOT="${SCRIPT_DIR}/.."
|
||
cd "${REPO_ROOT}" || exit 1
|
||
|
||
# Массив ключевых слов для идентификации кастомных модов
|
||
CUSTOM_MOD_KEYWORDS=(
|
||
"advanced-xray"
|
||
"easy-install"
|
||
"mobility"
|
||
)
|
||
|
||
# Папка для временного хранения кастомных модов
|
||
SHELF_DIR=".pakku/shelf"
|
||
mkdir -p "${SHELF_DIR}"
|
||
|
||
# Функция для перемещения кастомных модов в карман
|
||
shelve_custom_mods() {
|
||
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
|
||
find mods -name "*${keyword}*" -type f -exec mv -v {} "${SHELF_DIR}" \;
|
||
done
|
||
}
|
||
|
||
# Функция для возврата кастомных модов обратно
|
||
restore_custom_mods() {
|
||
for keyword in "${CUSTOM_MOD_KEYWORDS[@]}"; do
|
||
find "${SHELF_DIR}" -name "*${keyword}*" -type f -exec mv -v {} mods \;
|
||
done
|
||
}
|
||
|
||
# Перемещаем кастомные моды в карман перед синхронизацией
|
||
shelve_custom_mods
|
||
|
||
pakku sync
|
||
|
||
# Возвращаем кастомные моды обратно
|
||
restore_custom_mods
|
||
|
||
# Перемещаем оставшиеся моды из кармана pakku
|
||
mv .pakku/shelf/* mods/ 2>/dev/null || true |