Search in sources :

Example 26 with ClientboundRemoveEntitiesPacket

use of net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket in project kit-api by HGLabor.

the class AnalystKit method onPlayerRightClickPlayerWithKitItem.

@KitEvent
@Override
public void onPlayerRightClickPlayerWithKitItem(PlayerInteractAtEntityEvent event, KitPlayer kitPlayer, Player rightClicked) {
    Player player = event.getPlayer();
    double boost = 0.25D;
    List<AnalystHologram> analystHolograms = new ArrayList<>();
    for (AnalystHologram.HologramType type : AnalystHologram.HologramType.values()) {
        boost += 0.25D;
        World world = rightClicked.getWorld();
        AnalystHologram analystHologram = new AnalystHologram(world, rightClicked, player, type, boost);
        analystHolograms.add(analystHologram);
        hologramIds.add(analystHologram.getId());
        ((CraftWorld) world).getHandle().addFreshEntity(analystHologram);
        for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
            if (onlinePlayer == player) {
                continue;
            }
            ((CraftPlayer) onlinePlayer).getHandle().connection.send(new ClientboundRemoveEntitiesPacket(analystHologram.getId()));
        }
    }
    Bukkit.getScheduler().runTaskLater(KitApi.getInstance().getPlugin(), () -> {
        for (AnalystHologram analystHologram : analystHolograms) {
            hologramIds.removeIf(integer -> integer == analystHologram.getId());
            analystHologram.die(DamageSource.GENERIC);
        }
    }, hologramKeepAlive * 20L);
    kitPlayer.putKitAttribute(hologramKey, analystHolograms);
    kitPlayer.activateKitCooldown(this);
}
Also used : KitPlayer(de.hglabor.plugins.kitapi.player.KitPlayer) Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer) ClientboundRemoveEntitiesPacket(net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket) ArrayList(java.util.ArrayList) CraftPlayer(org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer) World(org.bukkit.World) CraftWorld(org.bukkit.craftbukkit.v1_18_R1.CraftWorld) KitEvent(de.hglabor.plugins.kitapi.kit.events.KitEvent)

Example 27 with ClientboundRemoveEntitiesPacket

use of net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket in project kit-api by HGLabor.

the class AnalystKit method onPlayerJoin.

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    hologramIds.forEach(hologramId -> ((CraftPlayer) player).getHandle().connection.send(new ClientboundRemoveEntitiesPacket(hologramId)));
}
Also used : KitPlayer(de.hglabor.plugins.kitapi.player.KitPlayer) Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer) ClientboundRemoveEntitiesPacket(net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket) EventHandler(org.bukkit.event.EventHandler)

Aggregations

ClientboundRemoveEntitiesPacket (net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket)27 ServerPlayer (net.minecraft.server.level.ServerPlayer)16 Player (org.bukkit.entity.Player)11 ServerLevel (net.minecraft.server.level.ServerLevel)10 ClientboundAddEntityPacket (net.minecraft.network.protocol.game.ClientboundAddEntityPacket)6 ClientboundSetEntityDataPacket (net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket)6 ItemEntity (net.minecraft.world.entity.item.ItemEntity)6 Vec3 (net.minecraft.world.phys.Vec3)6 ClientboundPlayerInfoPacket (net.minecraft.network.protocol.game.ClientboundPlayerInfoPacket)5 CraftPlayer (org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer)5 ChunkMap (net.minecraft.server.level.ChunkMap)4 net.minecraft.world.entity (net.minecraft.world.entity)4 ArmorStand (net.minecraft.world.entity.decoration.ArmorStand)4 CraftPlayer (org.bukkit.craftbukkit.v1_18_R1.entity.CraftPlayer)4 CraftPlayer (org.bukkit.craftbukkit.v1_18_R2.entity.CraftPlayer)4 org.bukkit.entity (org.bukkit.entity)4 KitPlayer (de.hglabor.plugins.kitapi.player.KitPlayer)3 ArrayList (java.util.ArrayList)3 UUID (java.util.UUID)3 ClientboundAddPlayerPacket (net.minecraft.network.protocol.game.ClientboundAddPlayerPacket)3