Initial commit
This commit is contained in:
33
bash/export-serverpack.sh
Executable file
33
bash/export-serverpack.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
pakku() { pakku-mc "$@"; }
|
||||
|
||||
# Определяем директории
|
||||
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)
|
||||
REPO_ROOT="${SCRIPT_DIR}/.."
|
||||
SOURCE_ZIP="${REPO_ROOT}/build/serverpack/*.zip"
|
||||
TARGET_DIR="/home/dimti/Seafile/minecraft/installers/m2110"
|
||||
|
||||
cd "${REPO_ROOT}" || exit 1
|
||||
|
||||
pakku export
|
||||
|
||||
# Проверяем, существует ли архив
|
||||
if ls ${SOURCE_ZIP} 1> /dev/null 2>&1; then
|
||||
echo "Нашел архив серверной сборки: ${SOURCE_ZIP}"
|
||||
else
|
||||
echo "Ошибка: Архив серверной сборки не найден в ${SOURCE_ZIP}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Очищаем целевые папки mods и config
|
||||
echo "Очистка папок mods и config в ${TARGET_DIR}..."
|
||||
rm -rf "${TARGET_DIR}/mods"
|
||||
rm -rf "${TARGET_DIR}/config"
|
||||
|
||||
# Распаковываем архив в целевую директорию
|
||||
echo "Распаковка архива в ${TARGET_DIR}..."
|
||||
unzip -o ${SOURCE_ZIP} -d "${TARGET_DIR}"
|
||||
|
||||
echo "Синхронизация завершена успешно."
|
||||
15
bash/fetch-with-restore-shelve.sh
Executable file
15
bash/fetch-with-restore-shelve.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Downloading mods to local folder
|
||||
# @see https://juraj-hrivnak.github.io/Pakku/pakku-fetch.html
|
||||
# Следует использовать после команды sync,
|
||||
# которая синхронизирует локальные моды с регистром pakku
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
pakku fetch --shelve && mv .pakku/shelf/* mods/
|
||||
48
bash/sync-with-shelve.sh
Executable file
48
bash/sync-with-shelve.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user