Signed-off-by: Dmitri Shimanski <yawaflua@perseverance.yawaflua.tech>
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, а условные участки
исходников помечены директивами /*? ... */.
Сборка
Все поддерживаемые версии:
./gradlew buildAndCollect
Готовые JAR-файлы появятся в build/libs/<версия-мода>/.
Одна версия:
./gradlew :1.21.1:build
./gradlew :26.2.x:build
PowerShell:
.\gradlew.bat buildAndCollect
Публикация на Modrinth
Один универсальный JAR для этих версий использовать нельзя: сборки 1.21.x и 26.x имеют несовместимые Minecraft/Fabric API. Вместо ручной загрузки четырёх файлов Gradle создаёт отдельную запись Modrinth для каждой версии:
export MODRINTH_TOKEN="ваш-токен"
export MODRINTH_PROJECT_ID="id-или-slug-проекта"
./gradlew modrinth
В PowerShell:
$env:MODRINTH_TOKEN="ваш-токен"
$env:MODRINTH_PROJECT_ID="id-или-slug-проекта"
.\gradlew.bat modrinth
Тип релиза задаётся свойством modrinth_version_type в gradle.properties:
release, beta или alpha.
Дорожная карта
- Синхронизация карт/истории с облаком
- Получение уведомлений о переводах прямо в Minecraft, опять-таки, через облако.
- Отображение важных игроков в табе(банкиры, фсбшники и прочее) с возможностью редактирования