milanchikisss
Пользователь
- Сообщения
- 13
как можно поменять отображаемый никнейм игрока только для определенной группы игроков
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
ProtocolLibrary.getProtocolManager().addPacketListener(
new PacketAdapter(this, ListenerPriority.NORMAL, PacketType.Play.Server.PLAYER_INFO) {
@Override
public void onPacketSending(PacketEvent event) {
Player viewer = event.getPlayer();
// Проверяем, должен ли этот игрок видеть другой ник
if (!viewer.hasPermission("special.view")) return;
PacketContainer packet = event.getPacket();
PlayerInfoData data = packet.getPlayerInfoDataLists().read(0).get(0);
GameProfile profile = data.getProfile();
// Проверяем, чей ник меняем
UUID target = Bukkit.getPlayer("TargetName").getUniqueId();
if (!profile.getUUID().equals(target)) return;
// Создаём изменённое имя
GameProfile newProfile = new GameProfile(profile.getUUID(), "§cОсобыйНик");
newProfile.getProperties().putAll(profile.getProperties());
PlayerInfoData newData = new PlayerInfoData(
newProfile,
data.getLatency(),
data.getGameMode(),
WrappedChatComponent.fromText("§cОсобыйНик")
);
packet.getPlayerInfoDataLists().write(0, Collections.singletonList(newData));
}
}
);
Java:ProtocolLibrary.getProtocolManager().addPacketListener( new PacketAdapter(this, ListenerPriority.NORMAL, PacketType.Play.Server.PLAYER_INFO) { @Override public void onPacketSending(PacketEvent event) { Player viewer = event.getPlayer(); // Проверяем, должен ли этот игрок видеть другой ник if (!viewer.hasPermission("special.view")) return; PacketContainer packet = event.getPacket(); PlayerInfoData data = packet.getPlayerInfoDataLists().read(0).get(0); GameProfile profile = data.getProfile(); // Проверяем, чей ник меняем UUID target = Bukkit.getPlayer("TargetName").getUniqueId(); if (!profile.getUUID().equals(target)) return; // Создаём изменённое имя GameProfile newProfile = new GameProfile(profile.getUUID(), "§cОсобыйНик"); newProfile.getProperties().putAll(profile.getProperties()); PlayerInfoData newData = new PlayerInfoData( newProfile, data.getLatency(), data.getGameMode(), WrappedChatComponent.fromText("§cОсобыйНик") ); packet.getPlayerInfoDataLists().write(0, Collections.singletonList(newData)); } } );
ну типочек главное решение проблемы дает!!!!! дайте ему высший статус на форуме. даже бы сеньор гугла не додумался до такого
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения