Телепортация пакетами без отставания от игрока. (ProtocolLib)

Абсик

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Abcik
/DEL
 
Последнее редактирование:
Я думаю, задержка в 1 тик не из-за PlayerMoveEvent, а из-за метода teleport, который по логике добавляет пакет передвижения стенда в очередь, которая отправится на следующий тик.
Поэтому для начала попробуй в мув эвенте формировать пакеты передвижения стендов. И если не поможет - уже только тогда берись за слушатель пакетов.
Для удобства работы с протоколлибом рекомендую PacketWrapper.
По поводу стендов есть два варианта - спаунить их баккитом или создавать фейковые энтити самостоятельно пакетами.
Первый вариант попроще, но будет рассинхрон позиции стедов на сервере и на клиенте, что не очень хорошо - багов словишь.
Второй вариант посложнее - придется разбираться ещё и с мета-данными энтити, но с точки зрения багов и серверных ресурсов всё будет чуток получше.
Хочу предупредить, что для перемещения стендов стоит использовать пакеты перемещения, а не пакеты телепортации.
А вот при телепортации игрока уже пакеты телепортации стендов. В ядре есть какой-то радиус, при котором вместо первого используется второй. 8 блоков, что ли...
 
Чушь. Просто нужно посадить стенд на голову игрока. Тогда для игрока это будет совершенно прозрачно.
player.getPassengers().add(stend);
 
Последнее редактирование:
Назад
Верх