Files
SPMega/README.md
T
Dmitrii `yawaflua` ShimanskiiandDmitri Shimanski d41cd8f079
Release CI / build-and-upload-mod (push) Canceled after 0s
Release CI / build-and-upload-mod (release) Canceled after 0s
Java CI / build (push) Successful in 4m54s
.NET+Docker CI/CD / Unit and Integration tests (push) Successful in 44s
.NET+Docker CI/CD / Push Docker image to ghcr.io (push) Successful in 1m45s
v0.6 prerelease commit with some minor fixes
Signed-off-by: Dmitri Shimanski <yawaflua@perseverance.yawaflua.tech>
2026-07-21 03:35:52 +03:00

97 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
![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, опять-таки, через облако.
- [ ] Отображение важных игроков в табе(банкиры, фсбшники и прочее) с возможностью редактирования