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

4.0 KiB
Raw Blame History

westandwith

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, опять-таки, через облако.
  • Отображение важных игроков в табе(банкиры, фсбшники и прочее) с возможностью редактирования