Skip to content

Latest commit

 

History

History
143 lines (97 loc) · 6.14 KB

README.md

File metadata and controls

143 lines (97 loc) · 6.14 KB

Документация к ANFT

Плагин для отображения NFT как картину в рамках в Minecraft

Команды

В плагине присутствуют 4 команды: verify, nft, anft, nftclean.

verify

verify - отвечает за верификацию аккаунта игрока. Состоит из одного параметра signature.

Отправляет POST запрос на сервер ip:port/verify (ip:port настраиваются в конфиге), где в BODY помещается signature.

Пример использования

Игрок TRXILBLXXD выполняет команду /verify 0xe86ac3566919c...

После которого плагин формирует json:

{
  "username": "TRXILBLXXD",
  "signature": "0xe86ac3566919c..."
}

и отправит запрос серверу выше асинхронно.

Если будет получен ответ без ошибок, то плагин верифицирует аккаунт, иначе будет получена ошибка (errors.yml) по коду из запроса и отправит причину в чат игроку.

nft

nft - команда для получения NFT игрока с ника. Не включает в себя дополнительные параметры.

Отправляет GET запрос на сервер ip:port/nft/<player> (ip:port настраиваются в конфиге).

Пример ответа
{
  "isError": false,
  "errorId": 0,
  "nfts": [
    {
        "title": "Pacemaker #1062",
        "description": "Pacemaker is a membership club for fine digital street art, bringing together collectors and artists. Founded by street culture legend TILL JAGLA & fueled by global fashion & tech platform ABOUT YOU. PFP art by LOOPINGLOVERS.",
        "tokenId": "1062",
        "imageURL": "https://meta.pacemakernft.xyz/qoDHoN/1062.jpg",
        "address": "0xf9adb39ae220b187cbe4943fc9af2c86196dd186"
    }
    ]
}

Поле nfts содержит массив обьектов со следующими параметрами: "title" - название NFT, "description" - его описание, "tokenId" - tokenId, "imageURL" - ссылка на изображение, "address" - адресс.

Пример использования

Игрок TRXILBLXXD выполняет команду /nft.

Плагин отправляет запрос серверу выше и получает ответ. Если ответ будет ошибкой, то отправляет игроку подробности об ошибке (errors.yml) полученной по коду.

Если у игрока не будет NFT, то плагин отправит игроку сообщение из конфига в чат.

Если у игрока будет NFT, то плагин построит на их базе настраиваемый в конфиге GUI, где отобразятся все NFT. После которого игрок сможет нажать на них, выбрать его размер и получить как картину.

После запроса данные об количестве и сами NFT кэшируются как HashedNFT и BufferedNFT, которые сбрасываются через время из конфига.

anft

anft - точно такая же команда как nft, но вместо никнейма игрока используется адресс. Включает в себя параметр address.

Отправляет POST запрос на сервер ip:port/nft/<adress> (ip:port настраиваются в конфиге).

nftclean

nftclean - удаляет все NFT из сервера, включая:

  • Карты, оставшиеся в инвентарях (очищает метаданные).
  • Карты, поставленные как картины.

После выполнения команды начинает процесс удаления всех NFT в режиме очереди.

Права

verify - nft.verify

nft - nft.nft

anft - nft.anft

nftclean - nft.rma

Группы groups.yml

Нужны они для ограничения NFT на одного игрока. По шаблону плагин генерирует 3 группы: Обычный, Премиум, Админ.

groups:
  default:
    id: 1
    name: "Обычный"
    limit: 2
    default: true
  premium:
    id: 2
    name: "Премиум"
    limit: 3
    default: false

Если у группы Обычный будет ограничение NFT на игрока 3, то игрок не сможет взять больше 3 NFT.

Если вы хотите выдать группу Обычный определённой группе из LuckPerms (для примера, работает в любом плагине), то это можно сделать с помощью выдачи прав nft.group.Обычный.

Примечание: в названии группы должны соблюдаться все кейсы. Если в плагине название группы ИгРоК, то в правах тоже должен быть ИгРоК

Ошибки errors.yml

Используются в основном при возникании ошибок в запросах.

Включают в себя id - идентификатор ошибки и description - описание ошибки

errors:
  success:
    id: 0
    description: "Всё чётко"
  unknown-address:
    id: 1
    description: "Неверная подпись"

Компиляция

Открыть папку с проектом и прописать команду mvn clean package