Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите ProtocolLib Как заменить модель Armor Stand'а на игрока с определённым ником?

Статус
Закрыто для дальнейших ответов.

MrWaide

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
lox
Имеется: Paper и ProtocolLib.
Задача: заспавнить Армор стэнд и с помощью пакетов подменить его модель на модель игрока с определённым скином, определяющимся ником ( в общем типо NPC). Возможно ли это сделать? Если да, то как примерно это будет выглядеть? Хотелось бы код в общих чертах (именно подмена модели).
// Предоставление документации одобряется
 
Последнее редактирование:
Тебе нужно отслеживать отправку стенда игроку, отменять отправку и заменять этот пакет на пакет спауна игрока (они разные). Также перед отправкой спауна игрока (NamedEntitySpawn) необходимо отправлять ещё один пакет - PlayerInfo.
Ещё нужно будет ремаппить как минимум метаданные и, возможно, подменять пакет перемещения.
Но для начала сделай только корректный спаун, а дальше видно будет.
Но вообще ты задолбаешься это делать пакетами, оно ещё и ломаться будет на каждой новой версии.

Можешь попробовать LibsDisguises. Но не уверен, что можно заменять модель стойкам для брони. Попробуй.
И ещё такой вопрос - почему у тебя именно стойка для брони? Можешь ли ты спаунить вместо этого зомби или, например, Villager'а? В этом случае интеграция с LibsDisguises точно работала бы
 
И ещё такой вопрос - почему у тебя именно стойка для брони?
Я хотел данным методом применить к моделе игрока определенную позу, так как армор стэнд имеет такую возможность, в добавок у армор стенда и игрока совпадает скелет костей для анимации.
 
Я хотел данным методом применить к моделе игрока определенную позу, так как армор стэнд имеет такую возможность
У моделей игроков такой возможности нет, поэтому ты выбрал абсолютно неверный путь.

Если тебе нужны позы, то тебе НЕ нужно заменять стенды на модели игроков. Нужно копать в совершенно другую сторону - в шейдеры.

Позы сейчас можно сделать при помощи нескольких голов под каждую часть тела. Головы как раз надеты на стенд. У каждой головы при помощи шейдеров изменяется размер и координаты на текстуре для рендеринга.
Ванильные шейдеры работают только с версии клиента 1.16, а вот трансформации для голов, возможно, с ещё более поздней версии.
И если ты никогда не писал шейдеры, то я очень рекомендую найти и использовать готовые решения.

Можешь и сам попробовать разобраться, конечно. Но учти, что там не java, а OpenGL Shading Language (GLSL)
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх