Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yeunikey/anft
NFT в майнкрафте
https://github.com/yeunikey/anft
Last synced: 19 days ago
JSON representation
NFT в майнкрафте
- Host: GitHub
- URL: https://github.com/yeunikey/anft
- Owner: yeunikey
- Created: 2023-09-03T15:58:52.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-02T16:16:17.000Z (about 1 year ago)
- Last Synced: 2024-07-24T02:12:45.750Z (6 months ago)
- Language: Java
- Size: 118 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Документация к ANFT
Плагин для отображения NFT как картину в рамках в Minecraft
Команды
В плагине присутствуют 4 команды: `verify`, `nft`, `anft`, `nftclean`.
verify
`verify` - отвечает за верификацию аккаунта игрока. Состоит из одного параметра `signature`.
Отправляет POST запрос на сервер `ip:port/verify` (`ip:port` настраиваются в конфиге), где в BODY помещается `signature`.
Пример использования
Игрок TRXILBLXXD выполняет команду `/verify 0xe86ac3566919c...`
После которого плагин формирует json:
```json
{
"username": "TRXILBLXXD",
"signature": "0xe86ac3566919c..."
}
```
и отправит запрос серверу выше асинхронно.Если будет получен ответ без ошибок, то плагин верифицирует аккаунт,
иначе будет получена ошибка (`errors.yml`) по коду из запроса и отправит причину в чат игроку.nft
`nft` - команда для получения NFT игрока с ника. Не включает в себя дополнительные параметры.
Отправляет GET запрос на сервер `ip:port/nft/` (`ip:port` настраиваются в конфиге).
Пример ответа
```json
{
"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/` (`ip:port` настраиваются в конфиге).
nftclean
`nftclean` - удаляет все NFT из сервера, включая:
- Карты, оставшиеся в инвентарях (очищает метаданные).
- Карты, поставленные как картины.После выполнения команды начинает процесс удаления всех NFT в режиме очереди.
Права
`verify` - `nft.verify`
`nft` - `nft.nft`
`anft` - `nft.anft`
`nftclean` - `nft.rma`
Группы groups.yml
Нужны они для ограничения NFT на одного игрока. По шаблону плагин генерирует 3 группы: `Обычный`, `Премиум`, `Админ`.
```yaml
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` - описание ошибки
```yaml
errors:
success:
id: 0
description: "Всё чётко"
unknown-address:
id: 1
description: "Неверная подпись"
```Компиляция
Открыть папку с проектом и прописать команду `mvn clean package`