В общем, есть игрок1, игрок2, игрок3:
Необходимо сделать так что бы Игрок2 светился у Игрока1, а у игрока3 — не светился.
Эту проблему я решил, но необходимо сделать так что бы Игрок2, по мимо того что светился, так цвет свечение должен быть красным, а вместо ника должна быть сумма «n $»
На счёт того какой игрок светиться, не задавайтесь вопросом, просто представьте себе что на клиенте есть HashMap playersOrders. В котором содержаться игроки и сумма заказа на них.
P.S
тот код что у меня сейчас
Вложения
1.2 KB · Просмотры: 16
will0376
Токсичная личность
1,825 50 491
Сравнивать плееров по их инстансам это сильно.
player==target
Хоть бы uuid оттуда сравнивал
jopi
Попрошайка
1,373 27 246
Во первых на форуме есть специальный блок куда можно вставлять код что-бы выделить его и не прикреплять отдельным файлом
//Вот так
Во вторых насколько я понял под эффектом свечения ты имеешь ввиду Entity#setGlowing и ты хочешь его сделать красным, проверив исходники я не нашел никакой функции для назначения цвета свечению, и вероятнее всего ‘из коробки’ у тебя нет возможности менять цвет свечения. (см. RenderGlobal#renderEntities , участки кода с isOutlineActive и list1 )
Какой эффект даёт спектральная стрела в майнкрафте?
Соответственно для рендера свечения определенного цвета, скорее всего придется использовать либо ASM-трансформеры либо Миксины в случае если нет доступа к изменению ванильного кода, либо редактировать ванильный код напрямую и дописывать возможность изменения цвета свечения вручную.
Так-же на случай если ты не используешь пакеты для передачи целей-игроков которым устанавливается свечение с сервера на клиент, ты должен учитывать что свечение устанавливается в DataWatcher и передается всем окружающим включая самого игрока кому это свечение установлено, и в данном случае реализовать бы это было по хорошему передавая игрока цель пакетом игроку наёмнику, и уже на клиенте устанавливать свечение игроку цели, что-бы свечение было видно только игроку наёмнику.
В третьих для изменения нейм-тэгов игроков на стороне клиента можно использовать эвент PlayerEvent.NameFormat , либо самостоятельно рендерить нейм-тэги через RenderWorldLastEvent (Куда сложнее, пример кода скорее всего есть в EntityRenderer#drawNameplate )
Источник: forum.mcmodding.ru