- Баллы
- 88
- Имя в Minecraft
- Alex_Wells
Здравствуйте. По заказу я написал плагин, который добавляет фейковых игроков. Все прекрасно работает на 1.7.9. Для теста я использовал 1450 билд спигота. У заказчика же 1649. Поставив его я увидел, что ProtocolLib начал ругатся на строку, в которой я записываю онлайн ли человек (3 строка):
Отличие 1450 и 1649 билдов в том, что в используется разное minecraft API. У меня это был спигот 1.7.9 с АПИ от 1.7.9. На 1649 билде это тоже спигот 1.7.9 но уже с АПИ от 1.7.10. Думаю что в 1.7.10 что-то поменяли в пакете, но на вики есть только категории 1.7/1.8, без уточнений.
Без этой строчки никак - ибо она говорит клиенту онлайн ли игрок... если ее убрать то клиент будет вечность думать что какой-то бот/игрок все еще здесь, хотя он мог выйти. Не знаю что делать :C
@fromgate сюда, я из твоего плагина этот алгоритм выковырял)
PS: нет, новый механизм из 1.8 тут не работает :C
Код:
PacketContainer fakePlayerPacket = protocolManager.createPacket(PacketType.Play.Server.PLAYER_INFO);
fakePlayerPacket.getStrings().write(0, playerName);
fakePlayerPacket.getBooleans().write(0, Boolean.valueOf(online)); // Эта строка - ошибка
fakePlayerPacket.getIntegers().write(0, Integer.valueOf(ping));
Отличие 1450 и 1649 билдов в том, что в используется разное minecraft API. У меня это был спигот 1.7.9 с АПИ от 1.7.9. На 1649 билде это тоже спигот 1.7.9 но уже с АПИ от 1.7.10. Думаю что в 1.7.10 что-то поменяли в пакете, но на вики есть только категории 1.7/1.8, без уточнений.
Без этой строчки никак - ибо она говорит клиенту онлайн ли игрок... если ее убрать то клиент будет вечность думать что какой-то бот/игрок все еще здесь, хотя он мог выйти. Не знаю что делать :C
@fromgate сюда, я из твоего плагина этот алгоритм выковырял)
PS: нет, новый механизм из 1.8 тут не работает :C

)