Search in sources :

Example 16 with PlayerInfoData

use of com.comphenix.protocol.wrappers.PlayerInfoData in project LibsDisguises by libraryaddict.

the class PacketListenerTabList method onPacketSending.

@Override
public void onPacketSending(final PacketEvent event) {
    if (event.isCancelled()) {
        return;
    }
    Player observer = event.getPlayer();
    if (event.getPacket().getPlayerInfoAction().read(0) != PlayerInfoAction.ADD_PLAYER) {
        return;
    }
    List<PlayerInfoData> list = event.getPacket().getPlayerInfoDataLists().read(0);
    Iterator<PlayerInfoData> itel = list.iterator();
    while (itel.hasNext()) {
        PlayerInfoData data = itel.next();
        Player player = Bukkit.getPlayer(data.getProfile().getUUID());
        if (player == null) {
            continue;
        }
        Disguise disguise = DisguiseAPI.getDisguise(observer, player);
        if (disguise == null) {
            continue;
        }
        if (!disguise.isHidePlayer()) {
            continue;
        }
        itel.remove();
    }
    if (list.isEmpty()) {
        event.setCancelled(true);
    } else {
        event.getPacket().getPlayerInfoDataLists().write(0, list);
    }
}
Also used : Player(org.bukkit.entity.Player) Disguise(me.libraryaddict.disguise.disguisetypes.Disguise) PlayerInfoData(com.comphenix.protocol.wrappers.PlayerInfoData)

Example 17 with PlayerInfoData

use of com.comphenix.protocol.wrappers.PlayerInfoData in project HMCCosmetics by HibiscusMC.

the class PacketHelper_1_18_R1 method getPlayerRemovePacket.

@Override
public PacketContainer getPlayerRemovePacket(final Player player, final UUID uuid, final int entityId) {
    final PacketContainer playerPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
    final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerPacket.getPlayerInfoAction();
    final StructureModifier<List<PlayerInfoData>> infoData = playerPacket.getPlayerInfoDataLists();
    final List<PlayerInfoData> playerInfoData = new ArrayList<>();
    final GameProfile profile = this.getCopyProfile(player, uuid);
    playerInfoData.add(new PlayerInfoData(WrappedGameProfile.fromHandle(profile), 0, EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE), WrappedChatComponent.fromText("")));
    action.write(0, EnumWrappers.PlayerInfoAction.REMOVE_PLAYER);
    infoData.write(0, playerInfoData);
    return playerPacket;
}
Also used : PacketContainer(com.comphenix.protocol.events.PacketContainer) GameProfile(com.mojang.authlib.GameProfile) WrappedGameProfile(com.comphenix.protocol.wrappers.WrappedGameProfile) PlayerInfoData(com.comphenix.protocol.wrappers.PlayerInfoData) ArrayList(java.util.ArrayList) IntArrayList(it.unimi.dsi.fastutil.ints.IntArrayList) ArrayList(java.util.ArrayList) List(java.util.List) IntArrayList(it.unimi.dsi.fastutil.ints.IntArrayList)

Example 18 with PlayerInfoData

use of com.comphenix.protocol.wrappers.PlayerInfoData in project HMCCosmetics by HibiscusMC.

the class PacketHelper_1_16_R3 method getPlayerInfoPacket.

@Override
public PacketContainer getPlayerInfoPacket(final Player player, final UUID uuid) {
    final GameProfile profile = this.getCopyProfile(player, uuid);
    final PacketContainer playerInfoPacket = new PacketContainer(PacketType.Play.Server.PLAYER_INFO);
    final StructureModifier<EnumWrappers.PlayerInfoAction> action = playerInfoPacket.getPlayerInfoAction();
    final StructureModifier<List<PlayerInfoData>> infoData = playerInfoPacket.getPlayerInfoDataLists();
    final List<PlayerInfoData> playerInfoData = new ArrayList<>();
    playerInfoData.add(new PlayerInfoData(WrappedGameProfile.fromHandle(profile), 0, EnumWrappers.NativeGameMode.fromBukkit(GameMode.CREATIVE), WrappedChatComponent.fromText(profile.getName())));
    action.write(0, EnumWrappers.PlayerInfoAction.ADD_PLAYER);
    infoData.write(0, playerInfoData);
    return playerInfoPacket;
}
Also used : PacketContainer(com.comphenix.protocol.events.PacketContainer) GameProfile(com.mojang.authlib.GameProfile) WrappedGameProfile(com.comphenix.protocol.wrappers.WrappedGameProfile) PlayerInfoData(com.comphenix.protocol.wrappers.PlayerInfoData) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List)

Example 19 with PlayerInfoData

use of com.comphenix.protocol.wrappers.PlayerInfoData in project AdvancedReplay by Jumper251.

the class PacketNPCOld method getInfoAddPacket.

private WrapperPlayServerPlayerInfo getInfoAddPacket() {
    WrapperPlayServerPlayerInfo infoPacket = new WrapperPlayServerPlayerInfo();
    infoPacket.setAction(EnumWrappers.PlayerInfoAction.ADD_PLAYER);
    WrappedGameProfile profile = this.profile != null ? this.profile : new WrappedGameProfile(this.uuid, this.name);
    PlayerInfoData data = new PlayerInfoData(profile, 1, EnumWrappers.NativeGameMode.CREATIVE, WrappedChatComponent.fromText(this.name));
    List<PlayerInfoData> dataList = new ArrayList<PlayerInfoData>();
    dataList.add(data);
    infoPacket.setData(dataList);
    return infoPacket;
}
Also used : PlayerInfoData(com.comphenix.protocol.wrappers.PlayerInfoData) ArrayList(java.util.ArrayList) WrapperPlayServerPlayerInfo(com.comphenix.packetwrapper.WrapperPlayServerPlayerInfo) WrappedGameProfile(com.comphenix.protocol.wrappers.WrappedGameProfile)

Aggregations

PlayerInfoData (com.comphenix.protocol.wrappers.PlayerInfoData)19 PacketContainer (com.comphenix.protocol.events.PacketContainer)13 WrappedGameProfile (com.comphenix.protocol.wrappers.WrappedGameProfile)10 ArrayList (java.util.ArrayList)10 GameProfile (com.mojang.authlib.GameProfile)6 List (java.util.List)6 Player (org.bukkit.entity.Player)5 WrapperPlayServerPlayerInfo (com.comphenix.packetwrapper.WrapperPlayServerPlayerInfo)4 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 IntArrayList (it.unimi.dsi.fastutil.ints.IntArrayList)2 IntArrayList (org.bukkit.craftbukkit.libs.it.unimi.dsi.fastutil.ints.IntArrayList)2 EnumWrappers (com.comphenix.protocol.wrappers.EnumWrappers)1 NativeGameMode (com.comphenix.protocol.wrappers.EnumWrappers.NativeGameMode)1 WrappedChatComponent (com.comphenix.protocol.wrappers.WrappedChatComponent)1 HashSet (java.util.HashSet)1 Random (java.util.Random)1 lombok.val (lombok.val)1 Disguise (me.libraryaddict.disguise.disguisetypes.Disguise)1 DisguiseEvent (me.libraryaddict.disguise.events.DisguiseEvent)1 UndisguiseEvent (me.libraryaddict.disguise.events.UndisguiseEvent)1