Вопрос Вомзожно ли сделать npc с помощью protocollib?

manya

Пользователь
Сообщения
55
Решения
3
День добрый! Я изучаю протокол майнкрафта. И решила я сделать простенький плагин на нпс для лобби. Заспанвнить фейкового игрока у меня получилось без проблем. Вопрос такой:
Как изменить скин и слушать пакеты взаимодействия с этим игроком?
 
Решение
Это доказывает, что реализация нпс не требует nms. ProtocolLib позволяет отправить любой набор байтов игроку. Остаётся узнать, какие пакеты использовать для установки GameProfile
Насоветовали тебе тут, моё почтение, конечно.
Естественно - всё что угодно в майне можно реализовать на пакетной основе.
Чтобы обрабатывать взаимодействие с пакетным "игроком" можно пользоваться тем же ProtocolLib packet listener: (пример реализации).
Собственно, получать игрока из события взаимодействия, проверять твой ли это фейковый нпс и делать свои какие-то штуки.

Касательно скина - сложнее, лично я с таким не работал, но, начать, думаю, стоит с...
Воть неплохая штукенция как по мне:
Но это не совсем через протокол либ.
 
Воть неплохая штукенция как по мне:
Но это не совсем через протокол либ.
Это, конечно классно, и может велосипеды изобретать не рационально,
но я решила уж сделать сама. Проблема таких плагинов - они поголовно используют нмс, и из-за этого вытекают проблемы с совместимостью.
 
да
А каким собсна еще путем кроме нмс это делать?Судя по теме которую тебе выше кинули, там тоже нмс.
Ну, не знаю, там все пакетами отправляется.
You must be registered for see medias
- 21 ролик
нмс :(
 
Это, конечно классно, и может велосипеды изобретать не рационально,
но я решила уж сделать сама. Проблема таких плагинов - они поголовно используют нмс, и из-за этого вытекают проблемы с совместимостью.
Без нмс вряд ли сможешь. Если хочешь делать плагин для нескольких версий - пиши код с нмс для разных версий отдельно и потом получай классы через рефлексию.
(clickable)
 
Без нмс вряд ли сможешь. Если хочешь делать плагин для нескольких версий - пиши код с нмс для разных версий отдельно и потом получай классы через рефлексию.
(clickable)
Точно невозможно? А как тогда работают ядра, в которых нету ни строчки оригинального майновоского кода?
 
Glowstone, cuberite (этот вообще на c++ написан)
Ну значит у них своя замена нмс.
Цитирую: NMS является кодом, защищенным авторским правом, и может вызвать серьезные юридические проблемы, если какой-либо код был скопирован из декомпилированного исходного кода.
 
Ну значит у них своя замена нмс.
Цитирую: NMS является кодом, защищенным авторским правом, и может вызвать серьезные юридические проблемы, если какой-либо код был скопирован из декомпилированного исходного кода.
Это доказывает, что реализация нпс не требует nms. ProtocolLib позволяет отправить любой набор байтов игроку. Остаётся узнать, какие пакеты использовать для установки GameProfile
 
Это доказывает, что реализация нпс не требует nms. ProtocolLib позволяет отправить любой набор байтов игроку. Остаётся узнать, какие пакеты использовать для установки GameProfile
Насоветовали тебе тут, моё почтение, конечно.
Естественно - всё что угодно в майне можно реализовать на пакетной основе.
Чтобы обрабатывать взаимодействие с пакетным "игроком" можно пользоваться тем же ProtocolLib packet listener: (пример реализации).
Собственно, получать игрока из события взаимодействия, проверять твой ли это фейковый нпс и делать свои какие-то штуки.

Касательно скина - сложнее, лично я с таким не работал, но, начать, думаю, стоит с пакета Player Info. ( ).
Опять же, это всё можно легко реализовать через ProtocolLib без использования NMS.
Объединено

UPD:

Вот такую интересную штуку нашёл, можешь изучить, если интересно.
Только в лоб не копируй, там код за 2014 год.
 
Последнее редактирование:
Насоветовали тебе тут, моё почтение, конечно.
Естественно - всё что угодно в майне можно реализовать на пакетной основе.
Чтобы обрабатывать взаимодействие с пакетным "игроком" можно пользоваться тем же ProtocolLib packet listener: (пример реализации).
Собственно, получать игрока из события взаимодействия, проверять твой ли это фейковый нпс и делать свои какие-то штуки.

Касательно скина - сложнее, лично я с таким не работал, но, начать, думаю, стоит с пакета Player Info. ( ).
Опять же, это всё можно легко реализовать через ProtocolLib без использования NMS.
Объединено

UPD:

Вот такую интересную штуку нашёл, можешь изучить, если интересно.
Только в лоб не копируй, там код за 2014 год.
Спасибо! Я, правда, уже привыкла к packetwrapper'у, и на голые packetcontainer
Мне страшно смотреть.
Можно ли пока не закрывать тему? Думаю, мне ещё понадобится помощь.
 
Последнее редактирование модератором:
Назад
Сверху Снизу