Помогите Отличить фейк игрока от настоящего

  • Автор темы Автор темы reZero
  • Дата начала Дата начала

reZero

Активный участник
Пользователь
Баллы
76
Делаю надписи под никнеймами игроков с помощью scoreboard api. Обратил внимание на то, что у нпс из citizens появляются эти же надписи под никами.
Созрел резонный вопрос - как отличить обычного, настоящего игрока и фейкового, чтобы рисовать надпись только под настоящим игроком?
 
Делаю надписи под никнеймами игроков с помощью scoreboard api. Обратил внимание на то, что у нпс из citizens появляются эти же надписи под никами.
Созрел резонный вопрос - как отличить обычного, настоящего игрока и фейкового, чтобы рисовать надпись только под настоящим игроком?
Citizens добавляет в своих нпс метадату, чтобы можно было их отличить.
Код:
if (player.hasMetadata("NPC")) {
    return;
}
 
У нпс по идее должен быть один айпишник, по нему и проверяй
 
Уже зависит от них. Нормальные плагины внедряют именно такую мету.
Значит, единого метода нет?
Если какой-то недальновидный дев не добавил такую метку, я пойду накуй со своими системами? Прикольно =)
 
Значит, единого метода нет?
Если какой-то недальновидный дев не добавил такую метку, я пойду накуй со своими системами? Прикольно =)
Плагины обычно в принципе не создают сущность игрока, а обходятся пакетами и дают свои события. T.к. сущности нет, для сервера игрок ни с кем и не контактирует, потому и всяких PlayerInteractEntityEvent вызываться не будет.
Создание сущности игрока требует усилий для разработчика, потому ты вероятнее все же наткнешься на эту мету.
 
Значит, единого метода нет?
Если какой-то недальновидный дев не добавил такую метку, я пойду накуй со своими системами? Прикольно =)
Да, именно так. Мета NPC это просто общая конвенция разработчиков. Ты в принципе можешь попробовать конечно посмотреть класс который реалиаует игрока, если там наследник EntityPlayer, а не он сам, то скорее всего это npc.
 
Назад
Верх