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

Помогите Что такое CraftPlayer и пакеты? Как ими пользоваться?

JonBoss

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Jon
Что такое CraftPlayer? Что он позволяет сделать?
А методы в нем какие-то на глаз противные.. Ну вот что это:
XoyzgHjjJMo.jpg


Я английский плохо знаю, разобраться не могу. Скиньте русский туториал, если таков имеется вообще.

Еще вычитал, что можно отравлять всякие пакеты. Где можно найти список пакетов? И как их правильно отправлять? И что вообще?

Спасибо заранее :)
 
CraftPlayer это пример реализации BukkitAPI, тот самый CraftBukkit(org.bukkit.craftbukkit. версия). К нему(как и к nms) обращаются если нет соответствующих средств в BukkitAPI. getHandle возвращает класс EntityPlayer, что есть NMS. Это сам вагинальный сервер и там все обфусцировано.
Пакеты это то, что получает клиент от сервера и делает в соответствии с ним действия(телепорт, авторизация, ломание блоков и всё-всё). К их отправке прибегают если сервер в принципе не может отправить те данные, которые нужно отправить. Или для отправки разным игрокам разных состояний какого то объекта. Для отправки пакетов лучше использовать ProtocolLib(ибо рефлексии и нмс для быдла).
Спецификация пакетов доступна на wiki.vg
На русском информации по чему то действительно важному вы не найдете. Так что без английского много кода не напишете.
 
Кстати на скрине переменные, а не методы
 
CraftPlayer это пример реализации BukkitAPI, тот самый CraftBukkit(org.bukkit.craftbukkit. версия). К нему(как и к nms) обращаются если нет соответствующих средств в BukkitAPI. getHandle возвращает класс EntityPlayer, что есть NMS. Это сам вагинальный сервер и там все обфусцировано.
Пакеты это то, что получает клиент от сервера и делает в соответствии с ним действия(телепорт, авторизация, ломание блоков и всё-всё). К их отправке прибегают если сервер в принципе не может отправить те данные, которые нужно отправить. Или для отправки разным игрокам разных состояний какого то объекта. Для отправки пакетов лучше использовать ProtocolLib(ибо рефлексии и нмс для быдла).
Спецификация пакетов доступна на wiki.vg
На русском информации по чему то действительно важному вы не найдете. Так что без английского много кода не напишете.
Вроде понятно, а вроде и нет. Тоесть у меня есть возможность для разных игроков отправить разные данные, например, блока. У одних он будет землей, а у других камнем.
Можешь кодом помочь?
Вот сюда в качестве аргумента я могу отослать любой пакет?
Код:
((CraftPlayer)p).getHandle().netServerHandler.sendPacket(packet);

Кстати на скрине переменные, а не методы
Ну там и методы были, если помотать
 
Вроде понятно, а вроде и нет. Тоесть у меня есть возможность для разных игроков отправить разные данные, например, блока. У одних он будет землей, а у других камнем.
Можешь кодом помочь?
Вот сюда в качестве аргумента я могу отослать любой пакет?
Код:
((CraftPlayer)p).getHandle().netServerHandler.sendPacket(packet);


Ну там и методы были, если помотать
Если уж и хочется возиться в грязи отправлять пакеты без посредников, то все классы пакетов называются Packet*****(декомпилятор в помощь)
 
Последнее редактирование:
без знания английского ты никуда не поступишь
Спасибо за заботу, но это уже мои проблемы. И прошу отвечать по теме
Если уж и хочется возиться в грязи отправлять пакеты без посредников, то все классы пакетов называются Packet*****(декомпилятор в помощь)
Я хочу разобраться, как оно работает, мне это нужно знать.
Ладно, спасибо за ответы!
 
Если уж и хочется возиться в грязи отправлять пакеты без посредников, то все классы пакетов называются Packet*****(декомпилятор в помощь)

Заодно это очень сильно способствует пониманию. Я всегда прежде чем что-то новое делать через протоллиб делать, сначала смотрю что пакет из себя представляет. Либо через декомпилятор, либо тут http://wiki.vg/Protocol
 
Заодно это очень сильно способствует пониманию. Я всегда прежде чем что-то новое делать через протоллиб делать, сначала смотрю что пакет из себя представляет. Либо через декомпилятор, либо тут http://wiki.vg/Protocol
Пока не юзал пакетвраппер, всегда смотрел в декомпиляторе, что и как в каждом пакете.
 
Последнее редактирование:

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

Назад
Верх