Помогите Скрыть неймтэг игрока

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

OmEga31

Ньюби
Баллы
1
Имя в Minecraft
Chebyrek
Код:
    public Map<ArrayList<UUID>, EntityArmorStand> hiddenmap = new HashMap<ArrayList<UUID>, EntityArmorStand>();

    public void hide(Player player, Player hideFrom) {
        if (player == hideFrom)
            return;
        // Add Players to the List
        ArrayList<UUID> list = new ArrayList<UUID>();
        list.add(player.getUniqueId());
        list.add(hideFrom.getUniqueId());
        if (hiddenmap.containsKey(list)) {
            return;
        }
        // spawning the Armorstand & setting it up
        Location pos = player.getLocation();
        EntityArmorStand stand = new EntityArmorStand(((CraftWorld) pos.getWorld()).getHandle(), pos.getX(), pos.getY(),pos.getZ());
        stand.setInvisible(true);
        stand.setInvulnerable(true);
        stand.setMarker(true);
        stand.setCustomNameVisible(false);
        CraftPlayer p = (CraftPlayer) player;
        p.getHandle().passengers.add(stand);
        // Packet packing
        PacketPlayOutSpawnEntityLiving packet = new PacketPlayOutSpawnEntityLiving(stand);
        // "Registering" the Stand and the Players
        hiddenmap.put(list, stand);
        // Packet sending
        CraftPlayer ply = (CraftPlayer) hideFrom;
        ply.getHandle().playerConnection.sendPacket(packet);

    }

    public void unhide(Player player, Player hiddenFrom) {
        if (player == hiddenFrom)
            return;
        ArrayList<UUID> list = new ArrayList<UUID>();
        list.add(player.getUniqueId());
        list.add(hiddenFrom.getUniqueId());
        if (!(hiddenmap.containsKey(list))) {
            return;
        }
        EntityArmorStand stand = hiddenmap.get(list);
        PacketPlayOutEntityDestroy packet = new PacketPlayOutEntityDestroy(stand.getId());
        CraftPlayer ply = (CraftPlayer) hiddenFrom;
        ply.getHandle().playerConnection.sendPacket(packet);
        hiddenmap.remove(list);
    }
Есть вот такой код, но он скрывает игрока полностью, как скрывать только неймтег?
 
Последнее редактирование:
Низя его скрыть, если тока цветовые коды в имени проюзать, если еще игра такое позволяет.
 
Низя его скрыть, если тока цветовые коды в имени проюзать, если еще игра такое позволяет.
Вообще можно, но костылями.
Можно либо добавить всех игроков в одну команду скорбордов и поставить опцию на скрытие неймтегов.
Либо посадить игроку в качестве пассажира какого-нибудь моба (желательно делать это пакетами, чтобы самому игроку не мешать) (причём посдаить можно и невидимую энтитю, например арморстенд с невидимостью, или летучую мышь с зельем невидимости (правда партиклы будут видны, но что поедалешь)).
 
Последнее редактирование:
Назад
Верх