![westandwith](https://share.nikgob.com/westand-withisrael) # SPMega SPMega - клиентский Fabric-мод с банковым UI для работы с картами и переводами через API `spworlds.ru`. ## Возможности - Открытие главного меню мода по клавише `P` и кнопкой `SPMega` в меню `Esc` - Экран `Карты`: - список карт из локальной базы - добавление новой карты (ввод `cardId` + `cardToken`) - удаление карты - обновление карты через API - Экран `Оплата`: - перевод по номеру карты - ввод ника получателя с автопоиском карт игрока - Быстрая оплата по табличкам или рамкам: - Shift + клик по табличке - если найден отдельный 5-значный номер, открывается окно оплаты с подставленным получателем - Считывание QR кодов с помощью камеры ## Конфиг Файл: `config/spmega.properties` - `sign.quickPay.enabled=true|false` - включить/выключить Shift-клик по табличке При добавлении карты выполняется проверка через `GET /api/public/accounts/me`: - карта должна присутствовать в списке ваших карт - если айди владельца не совпадает с UUID игрока, показывается предупреждение: `Вы не владелец карты. Часть функций может быть ограничена.` ###### позже это станет ограничением для синхронизации карт/истории с облаком ## Поддерживаемые версии - Minecraft 1.21.1 (Java 21) - Minecraft 1.21.11 (Java 21) - Minecraft 26.1.x (сборка на 26.1.2, Java 25) - Minecraft 26.2.x (сборка на 26.2, Java 25) Версии собираются из общего дерева исходников через Stonecutter. Зависимости для каждой версии находятся в `stonecutter.properties.toml`, а условные участки исходников помечены директивами `/*? ... */`. ## Сборка Все поддерживаемые версии: ```bash ./gradlew buildAndCollect ``` Готовые JAR-файлы появятся в `build/libs/<версия-мода>/`. Одна версия: ```bash ./gradlew :1.21.1:build ./gradlew :26.2.x:build ``` PowerShell: ```powershell .\gradlew.bat buildAndCollect ``` ## Публикация на Modrinth Один универсальный JAR для этих версий использовать нельзя: сборки 1.21.x и 26.x имеют несовместимые Minecraft/Fabric API. Вместо ручной загрузки четырёх файлов Gradle создаёт отдельную запись Modrinth для каждой версии: ```bash export MODRINTH_TOKEN="ваш-токен" export MODRINTH_PROJECT_ID="id-или-slug-проекта" ./gradlew modrinth ``` В PowerShell: ```powershell $env:MODRINTH_TOKEN="ваш-токен" $env:MODRINTH_PROJECT_ID="id-или-slug-проекта" .\gradlew.bat modrinth ``` Тип релиза задаётся свойством `modrinth_version_type` в `gradle.properties`: `release`, `beta` или `alpha`. ## Дорожная карта - [ ] Синхронизация карт/истории с облаком - [ ] Получение уведомлений о переводах прямо в Minecraft, опять-таки, через облако. - [ ] Отображение важных игроков в табе(банкиры, фсбшники и прочее) с возможностью редактирования