Search in sources :

Example 11 with Packet

use of net.minecraft.server.v1_14_R1.Packet in project TheAPI by TheDevTec.

the class v1_14_R1 method processServerListPing.

@Override
public boolean processServerListPing(String player, Object channel, Object packet) {
    PacketStatusOutServerInfo status = (PacketStatusOutServerInfo) packet;
    ServerPing ping;
    try {
        ping = (ServerPing) field.get(status);
    } catch (Exception e) {
        return false;
    }
    List<PlayerProfile> players = new ArrayList<>();
    for (Player p : Bukkit.getOnlinePlayers()) players.add(new PlayerProfile(p.getName(), p.getUniqueId()));
    ServerListPingEvent event = new ServerListPingEvent(Bukkit.getOnlinePlayers().size(), Bukkit.getMaxPlayers(), players, Bukkit.getMotd(), ping.d(), ((InetSocketAddress) ((Channel) channel).remoteAddress()).getAddress(), ping.getServerData().a(), ping.getServerData().getProtocolVersion());
    HandlerList.callEvent(event);
    if (event.isCancelled())
        return true;
    ServerPingPlayerSample playerSample = new ServerPingPlayerSample(event.getMaxPlayers(), event.getOnlinePlayers());
    if (event.getPlayersText() != null) {
        GameProfile[] profiles = new GameProfile[event.getPlayersText().size()];
        int i = -1;
        for (PlayerProfile s : event.getPlayersText()) profiles[++i] = new GameProfile(s.getUUID(), s.getName());
        playerSample.a(profiles);
    } else
        playerSample.a(new GameProfile[0]);
    ping.setPlayerSample(playerSample);
    if (event.getMotd() != null)
        ping.setMOTD((IChatBaseComponent) toIChatBaseComponent(ComponentAPI.toComponent(event.getMotd(), true)));
    else
        ping.setMOTD((IChatBaseComponent) BukkitLoader.getNmsProvider().chatBase("{\"text\":\"\"}"));
    if (event.getVersion() != null)
        ping.setServerInfo(new ServerData(event.getVersion(), event.getProtocol()));
    if (event.getFalvicon() != null)
        ping.setFavicon(event.getFalvicon());
    return false;
}
Also used : EntityPlayer(net.minecraft.server.v1_14_R1.EntityPlayer) Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer) PlayerProfile(me.devtec.theapi.bukkit.events.ServerListPingEvent.PlayerProfile) Channel(io.netty.channel.Channel) ArrayList(java.util.ArrayList) IChatBaseComponent(net.minecraft.server.v1_14_R1.IChatBaseComponent) ServerPing(net.minecraft.server.v1_14_R1.ServerPing) ServerPingPlayerSample(net.minecraft.server.v1_14_R1.ServerPing.ServerPingPlayerSample) GameProfile(com.mojang.authlib.GameProfile) ServerData(net.minecraft.server.v1_14_R1.ServerPing.ServerData) PacketStatusOutServerInfo(net.minecraft.server.v1_14_R1.PacketStatusOutServerInfo) ServerListPingEvent(me.devtec.theapi.bukkit.events.ServerListPingEvent)

Example 12 with Packet

use of net.minecraft.server.v1_14_R1.Packet in project SimplePets by brainsynder-Dev.

the class EntityControllerPet method reloadLocation.

@Override
public void reloadLocation() {
    if (displayEntity.getPassenger() != null) {
        net.minecraft.server.v1_14_R1.Entity displayEntity = ((CraftEntity) this.displayEntity).getHandle();
        Location loc;
        if (this.displayRider != null) {
            if (this.displayRider.getType().equals(EntityType.SHULKER)) {
                loc = getBukkitEntity().getLocation().clone().subtract(0, 0.735, 0);
            } else {
                loc = getBukkitEntity().getLocation().clone();
            }
        } else {
            loc = getBukkitEntity().getLocation().clone();
        }
        displayEntity.setPositionRotation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
        loc.getWorld().getNearbyEntities(loc, 100, 100, 100).forEach(entity -> {
            if (entity instanceof Player) {
                Player player = (Player) entity;
                PacketPlayOutEntityTeleport packet = new PacketPlayOutEntityTeleport(displayEntity);
                ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
            }
        });
        return;
    }
    net.minecraft.server.v1_14_R1.Entity displayEntity = ((CraftEntity) this.displayEntity).getHandle();
    Location loc;
    if (this.displayRider != null) {
        if (this.displayRider.getType().equals(EntityType.SHULKER)) {
            loc = getBukkitEntity().getLocation().clone().add(0, 0.75, 0);
        } else {
            loc = getBukkitEntity().getLocation().clone();
        }
    } else {
        loc = getBukkitEntity().getLocation().clone();
    }
    displayEntity.setPositionRotation(loc.getX(), loc.getY(), loc.getZ(), loc.getYaw(), loc.getPitch());
    loc.getWorld().getNearbyEntities(loc, 100, 100, 100).forEach(entity -> {
        if (entity instanceof Player) {
            Player player = (Player) entity;
            PacketPlayOutEntityTeleport packet = new PacketPlayOutEntityTeleport(displayEntity);
            ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
        }
    });
}
Also used : Player(org.bukkit.entity.Player) CraftPlayer(org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer) net.minecraft.server.v1_14_R1(net.minecraft.server.v1_14_R1) CraftEntity(org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity) CraftPlayer(org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer) Location(org.bukkit.Location)

Example 13 with Packet

use of net.minecraft.server.v1_14_R1.Packet in project jop by jop-devel.

the class Ppp method readIp.

/**
 *	get a Packet buffer and copy from receive buffer.
 */
void readIp() {
    int i, j, k;
    // PacketPool.getFreshRcvPacket(single);
    Packet p = null;
    if (p == null) {
        Dbg.wr('!');
        // try again later
        return;
    }
    // buf blocks receive buffer :-<
    int[] pb = p.buf;
    // minus ppp header and checksum
    cnt -= 6;
    rbuf[cnt + 4] = 0;
    rbuf[cnt + 4 + 1] = 0;
    rbuf[cnt + 4 + 2] = 0;
    // copy buffer
    k = 0;
    for (i = 0; i < cnt; i += 4) {
        for (j = 0; j < 4; ++j) {
            k <<= 8;
            // after header
            k += rbuf[i + j + 4];
        }
        pb[i >>> 2] = k;
    }
    p.setLen(cnt);
    Dbg.wr('r');
    Dbg.intVal(cnt);
    /*
dbgIp(pb[3]);
dbgIp(pb[4]);
for (i=0; i<(cnt+4)>>2; ++i) Dbg.hexVal(pb[i]);
Dbg.wr('\n');
*/
    cnt = 0;
    ready = false;
    // inform upper layer
    p.setStatus(Packet.RCV);
}
Also used : Packet(ejip123.Packet)

Example 14 with Packet

use of net.minecraft.server.v1_14_R1.Packet in project jop by jop-devel.

the class Tftp method resend.

private static void resend() {
    time <<= 1;
    if (time > 64) {
        Dbg.wr("TFTP give up");
        tftpInit();
        return;
    }
    Dbg.wr("TFTP resend ");
    Dbg.intVal(block_out);
    // retransmit DATA
    timeout = Timer.getTimeoutSec(time);
    Packet p = PacketPool.getFreshPacket();
    // Packet p = PacketPool.getPacket(Packet.FREE, Packet.ALLOC, ipLink);
    if (p == null) {
        // got no free buffer!
        Dbg.wr('!');
        Dbg.wr('b');
        return;
    }
    p.buf[Udp.DATA] = (DAT << 16) + block_out;
    if (block_out == endBlock) {
        // last block is zero length
        p.setLen(Udp.DATA * 4 + 4);
    } else {
        read(p.buf, block_out);
        p.setLen(Udp.DATA * 4 + 4 + 512);
    }
    Udp.send(p, srcIp, dstIp, dstPort);
}
Also used : Packet(ejip123.Packet)

Example 15 with Packet

use of net.minecraft.server.v1_14_R1.Packet in project vespa by vespa-engine.

the class VdsStreamingSearcher method doSearch2.

@Override
public Result doSearch2(Query query, QueryPacket queryPacket, CacheKey cacheKey, Execution execution) {
    // TODO refactor this method into smaller methods, it's hard to see the actual code
    lazyTrace(query, 7, "Routing to storage cluster ", getStorageClusterRouteSpec());
    if (route == null) {
        route = Route.parse(getStorageClusterRouteSpec());
    }
    lazyTrace(query, 8, "Route is ", route);
    lazyTrace(query, 7, "doSearch2(): query docsum class=", query.getPresentation().getSummary(), ", default docsum class=", getDefaultDocsumClass());
    if (query.getPresentation().getSummary() == null) {
        lazyTrace(query, 6, "doSearch2(): No summary class specified in query, using default: ", getDefaultDocsumClass());
        query.getPresentation().setSummary(getDefaultDocsumClass());
    } else {
        lazyTrace(query, 6, "doSearch2(): Summary class has been specified in query: ", query.getPresentation().getSummary());
    }
    lazyTrace(query, 8, "doSearch2(): rank properties=", query.getRanking());
    lazyTrace(query, 8, "doSearch2(): sort specification=", query.getRanking().getSorting() == null ? null : query.getRanking().getSorting().fieldOrders());
    int documentSelectionQueryParameterCount = 0;
    if (query.properties().getString(streamingUserid) != null)
        documentSelectionQueryParameterCount++;
    if (query.properties().getString(streamingGroupname) != null)
        documentSelectionQueryParameterCount++;
    if (query.properties().getString(streamingSelection) != null)
        documentSelectionQueryParameterCount++;
    if (documentSelectionQueryParameterCount != 1) {
        return new Result(query, ErrorMessage.createBackendCommunicationError("Streaming search needs one and " + "only one of these query parameters to be set: streaming.userid, streaming.groupname, " + "streaming.selection"));
    }
    query.trace("Routing to search cluster " + getSearchClusterConfigId(), 4);
    Visitor visitor = visitorFactory.createVisitor(query, getSearchClusterConfigId(), route);
    try {
        visitor.doSearch();
    } catch (ParseException e) {
        return new Result(query, ErrorMessage.createBackendCommunicationError("Failed to parse document selection string: " + e.getMessage() + "'."));
    } catch (TokenMgrError e) {
        return new Result(query, ErrorMessage.createBackendCommunicationError("Failed to tokenize document selection string: " + e.getMessage() + "'."));
    } catch (TimeoutException e) {
        return new Result(query, ErrorMessage.createTimeout(e.getMessage()));
    } catch (InterruptedException | IllegalArgumentException e) {
        return new Result(query, ErrorMessage.createBackendCommunicationError(e.getMessage()));
    }
    lazyTrace(query, 8, "offset=", query.getOffset(), ", hits=", query.getHits());
    Result result = new Result(query);
    // Sorted on rank
    List<SearchResult.Hit> hits = visitor.getHits();
    Map<String, DocumentSummary.Summary> summaryMap = visitor.getSummaryMap();
    lazyTrace(query, 7, "total hit count = ", visitor.getTotalHitCount(), ", returned hit count = ", hits.size(), ", summary count = ", summaryMap.size());
    result.setTotalHitCount(visitor.getTotalHitCount());
    query.trace(visitor.getStatistics().toString(), false, 2);
    query.getContext(true).setProperty(STREAMING_STATISTICS, visitor.getStatistics());
    Packet[] summaryPackets = new Packet[hits.size()];
    int index = 0;
    boolean skippedEarlierResult = false;
    for (SearchResult.Hit hit : hits) {
        if (!verifyDocId(hit.getDocId(), query, skippedEarlierResult)) {
            skippedEarlierResult = true;
            continue;
        }
        FastHit fastHit = buildSummaryHit(query, hit);
        result.hits().add(fastHit);
        DocumentSummary.Summary summary = summaryMap.get(hit.getDocId());
        if (summary != null) {
            DocsumPacket dp = new DocsumPacket(summary.getSummary());
            // log.log(LogLevel.SPAM, "DocsumPacket: " + dp);
            summaryPackets[index] = dp;
        } else {
            return new Result(query, ErrorMessage.createBackendCommunicationError("Did not find summary for hit with document id " + hit.getDocId()));
        }
        index++;
    }
    if (result.isFilled(query.getPresentation().getSummary())) {
        lazyTrace(query, 8, "Result is filled for summary class ", query.getPresentation().getSummary());
    } else {
        lazyTrace(query, 8, "Result is not filled for summary class ", query.getPresentation().getSummary());
    }
    List<Grouping> groupingList = visitor.getGroupings();
    lazyTrace(query, 8, "Grouping list=", groupingList);
    if (!groupingList.isEmpty()) {
        GroupingListHit groupHit = new GroupingListHit(groupingList, getDocsumDefinitionSet(query));
        result.hits().add(groupHit);
    }
    int skippedHits;
    try {
        FillHitsResult fillHitsResult = fillHits(result, summaryPackets, query.getPresentation().getSummary());
        skippedHits = fillHitsResult.skippedHits;
        if (fillHitsResult.error != null) {
            result.hits().addError(ErrorMessage.createTimeout(fillHitsResult.error));
            return result;
        }
    } catch (TimeoutException e) {
        result.hits().addError(ErrorMessage.createTimeout(e.getMessage()));
        return result;
    } catch (IOException e) {
        return new Result(query, ErrorMessage.createBackendCommunicationError("Error filling hits with summary fields"));
    }
    if (skippedHits == 0) {
        // TODO: cache results or result.analyzeHits(); ?
        query.trace("All hits have been filled", 4);
    } else {
        lazyTrace(query, 8, "Skipping some hits for query: ", result.getQuery());
    }
    lazyTrace(query, 8, "Returning result ", result);
    if (skippedHits > 0) {
        getLogger().info("skipping " + skippedHits + " hits for query: " + result.getQuery());
        result.hits().addError(com.yahoo.search.result.ErrorMessage.createTimeout("Missing hit summary data for " + skippedHits + " hits"));
    }
    return result;
}
Also used : IdString(com.yahoo.document.idstring.IdString) Result(com.yahoo.search.Result) SearchResult(com.yahoo.vdslib.SearchResult) TimeoutException(com.yahoo.prelude.fastsearch.TimeoutException) DocsumPacket(com.yahoo.fs4.DocsumPacket) QueryPacket(com.yahoo.fs4.QueryPacket) Packet(com.yahoo.fs4.Packet) DocsumPacket(com.yahoo.fs4.DocsumPacket) TokenMgrError(com.yahoo.document.select.parser.TokenMgrError) SearchResult(com.yahoo.vdslib.SearchResult) Grouping(com.yahoo.searchlib.aggregation.Grouping) IOException(java.io.IOException) GroupingListHit(com.yahoo.prelude.fastsearch.GroupingListHit) GroupingListHit(com.yahoo.prelude.fastsearch.GroupingListHit) FastHit(com.yahoo.prelude.fastsearch.FastHit) FastHit(com.yahoo.prelude.fastsearch.FastHit) DocumentSummary(com.yahoo.vdslib.DocumentSummary) ParseException(com.yahoo.document.select.parser.ParseException) DocumentSummary(com.yahoo.vdslib.DocumentSummary)

Aggregations

GameProfile (com.mojang.authlib.GameProfile)19 Location (org.bukkit.Location)10 CraftPlayer (org.bukkit.craftbukkit.v1_14_R1.entity.CraftPlayer)10 SkinTexture (net.dzikoysk.funnyguilds.nms.api.playerlist.SkinTexture)9 Player (org.bukkit.entity.Player)9 Packet (com.yahoo.fs4.Packet)4 Packet (net.minecraft.server.v1_13_R2.Packet)4 IChatBaseComponent (net.minecraft.server.v1_14_R1.IChatBaseComponent)4 BasicPacket (com.yahoo.fs4.BasicPacket)3 ChannelTimeoutException (com.yahoo.fs4.ChannelTimeoutException)3 QueryPacket (com.yahoo.fs4.QueryPacket)3 Packet (ejip123.Packet)3 Packet (net.minecraft.server.v1_11_R1.Packet)3 Packet (net.minecraft.server.v1_12_R1.Packet)3 PacketPlayOutPlayerListHeaderFooter (net.minecraft.server.v1_14_R1.PacketPlayOutPlayerListHeaderFooter)3 Packet (net.minecraft.server.v1_15_R1.Packet)3 Packet (net.minecraft.server.v1_16_R3.Packet)3 Packet (net.minecraft.server.v1_8_R3.Packet)3 CraftPlayer (org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer)3 GetDocSumsPacket (com.yahoo.fs4.GetDocSumsPacket)2