Получение списка игроков на клиенте.

mayakplay

SpringFlomaster
217
3
160
Недавно об этом узнал, поэтому хочу рассказать остальным, вдруг понадобится кому :)


В классе NetHandler майна есть такой лист playerInfoList, который содержит объекты типа GuiPlayerInfo,т.е. список игроков на текущем сервере.
Код:
List<GuiPlayerInfo> playerInfoList = Minecraft.getMinecraft().getNetHandler().playerInfoList;

Из объекта можем достать имя игрока и его пинг
Код:
String username = playerInfoList.get(i).name;
int ping = playerInfoList.get(i).responseTime;


Это помогло мне сделать удобную панель модерации ;)
q5vNs7kBgMQ.jpg
 
1,137
5
3
Можно рендерер запилить, чтоб игроков других показывало по их позициям. И в прятки играть.
 

mayakplay

SpringFlomaster
217
3
160
wilah написал(а):
Можно рендерер запилить, чтоб игроков других показывало по их позициям. И в прятки играть.
Какие позиции) О чем ты?
 
1,137
5
3
Играл в прятки или bed wars? Достаточно рисовать точку на позиции игрока, дабы видеть сквозь блоки. Чит =)
 

mayakplay

SpringFlomaster
217
3
160
wilah написал(а):
Играл в прятки или bed wars? Достаточно рисовать точку на позиции игрока, дабы видеть сквозь блоки. Чит =)
В этом объекте нет данных о позиции игрока.
Хотя, на клиент идут данные о позиции игроков, но до определенного радиуса, поэтому этот способ слабо подходит)

Идея, конечно, интересна. Можно сделать обводочку модели игрока глайнами. ХАЦКИНГ)
 
212
0
Если ты таким образом получаешь имена игроком, то в классе World есть что то вроде getPlayerEntityByName(). По названию ясно что он возвращает энтити - отсюда и координаты. А чит можно соорудить просто отключив тест глубины в эвенте рендера игрока.
 
1,137
5
3
Там есть список игроков. Итерацией обойти его и нарисовать точки
 

mayakplay

SpringFlomaster
217
3
160
Tuborg написал(а):
Если ты таким образом получаешь имена игроком, то в классе World есть что то вроде getPlayerEntityByName(). По названию ясно что он возвращает энтити - отсюда и координаты. А чит можно соорудить просто отключив тест глубины в эвенте рендера игрока.

т.е. любого игрока в мире можно получить?
 
Сверху