← На сайт сервера

yurussNPC — жители сервера

Мод проекта · серверный · клиенту ставить нечего

yurussNPC добавляет NPC: с моделью игрока и настоящим скином любого аккаунта Minecraft либо из любой сущности реестра. Позы, анимации, реакция на подошедшего, сообщения, «пузыри» речи, диалоги с вариантами ответов и действия.

Скачивать нечего. Мод целиком серверный: NPC собираются из ванильных пакетов и рисуются обычным клиентом. В сборке лаунчера его нет и быть не должно.

Что умеет

Скин и имя — разные вещи

Две независимые настройки, и путать их — самая частая ошибка:

НастройкаЧто это
/npc skin <id> <ник>Чей скин надет на NPC. Это не его имя.
/npc name <id> <текст>Что написано над головой. Поддерживает цвета и переносы строк.

Подпись Mojang передаётся клиенту без изменений, поэтому скин отображается корректно. Ванильное имя профиля над NPC прячется отдельно, чтобы ник-донор не всплывал у всех на виду.

Позы и анимации

Анимация — это таймлайн ключевых кадров из величин, которые ванильный клиент реально видит: поворот тела и головы, смещение, взмахи рукой, метаданные позы. У каждой есть длительность, зацикливание и сглаживание.

Протокол 1.20.1 не передаёт углы отдельных частей модели игрока — клиент считает их сам. Поэтому часть поз ванильный клиент не покажет, и мод честно помечает такие в панели, а не делает вид, что они работают.

Сообщения и диалоги

NPC умеет говорить при подходе в радиусе и при клике: сообщение висит над головой заданное время, у сообщений есть кулдаун, чтобы NPC не тараторил. Диалоги — с вариантами ответов и действиями по выбору.

Веб-панель

Мод поднимает панель на localhost — она настраивает NPC мышкой и генерирует готовые команды.

У нас панель переведена с порта по умолчанию 8080 на 8099: на 8080 работает сам сайт сервера. Адрес — http://127.0.0.1:8099, только с той машины, где запущен сервер. Пароль печатается в лог при каждом старте, если он не задан в config/yurussnpc-common.toml.

Разделы панели:

Команды генерирует сервер тем же кодом, который знает синтаксис Brigadier, и юнит-тест проверяет, что каждая строка начинается с существующей подкоманды. «Панель выдала команду, которой нет в моде» здесь невозможно.

Команды

Корень — /npc, всё с автодополнением. Ниже основное; полный список показывает сама команда.

КомандаЧто делает
/npc list [мир]Список, кликабельный.
/npc info <id>Подробная карточка.
/npc movehere <id>Переставить к себе вместе с миром и поворотом.
/npc teleport <id>Телепортировать себя к NPC.
/npc skin <id> <ник>Источник скина.
/npc name <id> <текст>Имя над головой.
/npc pose <id> <поза>Поза.
/npc glow <id> <цвет|none>Свечение.
/npc idle <id> <анимация>Зацикленная анимация покоя.
/npc lookat <id> <true|false>Следить взглядом.
/npc radius <id> <блоков>Радиус срабатывания.
/npc clone <id> <новый>Дублировать.
/npc webСсылка на панель.
/npc reloadПеречитать конфиг и NPC без дублей.

Связь с гильдией

yurussGuild объявляет необязательную зависимость от yurussNPC на серверной стороне. Теперь она удовлетворена: гильдейские выдачи заказов можно вешать на живого NPC, а не только на доску.