当前位置: 首页>>代码示例>>Java>>正文


Java WrappedServerPing类代码示例

本文整理汇总了Java中com.comphenix.protocol.wrappers.WrappedServerPing的典型用法代码示例。如果您正苦于以下问题:Java WrappedServerPing类的具体用法?Java WrappedServerPing怎么用?Java WrappedServerPing使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


WrappedServerPing类属于com.comphenix.protocol.wrappers包,在下文中一共展示了WrappedServerPing类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onPacketSending

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@Override
public void onPacketSending(PacketEvent event) {
    String verifyCode = verifyCodeSupplier.get();
    if (verifyCode != null) {
        try {
            WrappedServerPing ping = event.getPacket().getServerPings().read(0);

            Object motd = jsonParser.parse(ping.getMotD().getJson());
            if (motd instanceof JSONObject) {
                JSONObject component = (JSONObject) motd;
                component.put("text", verifyCode + ChatColor.RESET + component.get("text"));
                ping.setMotD(WrappedChatComponent.fromJson(component.toJSONString()));
            } else {
                // Legacy String format
                ping.setMotD(verifyCode + ChatColor.RESET + motd);
            }
        } catch (ParseException e) {
            ac.getLogger().log(Level.WARNING, "Failed to parse MOTD for verify request", e);
        }
    }
}
 
开发者ID:DeadmanDungeons,项目名称:AudioConnect,代码行数:22,代码来源:VerifyRequestPacketListener.java

示例2: MOTDTask

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
public MOTDTask(Player player, WrappedServerPing ping, PingAnimation anim) {
    this.address = player.getAddress().getAddress();
    this.player = player;
    this.ip = player.getAddress().toString().split(":")[0].replace("/", "");
    this.anim = anim;
    this.ping = ping;
    packet = new PacketContainer(PacketType.Status.Server.OUT_SERVER_INFO);
}
 
开发者ID:andylizi,项目名称:AnimColorMOTD,代码行数:9,代码来源:MOTDPacketListener.java

示例3: ServerListHandler

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
public ServerListHandler() {
	ProtocolManager pManager = ProtocolLibrary.getProtocolManager();
	pManager.removePacketListeners(Util.getMain());
	pManager.addPacketListener(new PacketAdapter(Vars.main, Arrays.asList(PacketType.Status.Server.OUT_SERVER_INFO)) {
		@Override
		public void onPacketSending(PacketEvent event) {
			StructureModifier<WrappedServerPing> pings = event.getPacket().getServerPings();
			WrappedServerPing ping = pings.read(0);
			handlePing(ping);
		}
	});
}
 
开发者ID:bobmandude9889,项目名称:iZenith-PVP,代码行数:13,代码来源:ServerListHandler.java

示例4: handlePing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@SuppressWarnings("deprecation")
public void handlePing(WrappedServerPing ping) {
	ping.setVersionName("iZenith 1.7.x, 1.8.x, 1.9.x");
	List<String> playerNames = new ArrayList<String>();
	for (Player player : Bukkit.getOnlinePlayers()) {
		playerNames.add(IPlayerHandler.getPlayer(player).getColoredName(false));
	}
	String players = Util.parseColors(Util.buildString(playerNames, "&7, ", 0, 40));
	ping.setPlayers(Arrays.asList(new WrappedGameProfile("id1", Util.parseColors(Util.getConfig().getString("player_list_message"))), new WrappedGameProfile("id2", Util.parseColors("&7") + players)));
}
 
开发者ID:bobmandude9889,项目名称:iZenith-PVP,代码行数:11,代码来源:ServerListHandler.java

示例5: onPacketSending

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@Override
public void onPacketSending(PacketEvent e) {
    try {
        final FileConfiguration settings = plugin.getSettings();
        if (!settings.getBoolean("ExternalInvisibility.ServerList.AdjustAmountOfOnlinePlayers")
                && !settings.getBoolean("ExternalInvisibility.ServerList.AdjustListOfLoggedInPlayers"))
            return;
        WrappedServerPing ping = e.getPacket().getServerPings().read(0);
        Collection<UUID> onlineVanishedPlayers = plugin.getVanishStateMgr().getOnlineVanishedPlayers();
        int vanishedPlayersCount = plugin.getVanishStateMgr().getOnlineVanishedPlayers().size(),
                playerCount = Bukkit.getOnlinePlayers().size();
        if (settings.getBoolean("ExternalInvisibility.ServerList.AdjustAmountOfOnlinePlayers")) {
            ping.setPlayersOnline(playerCount - vanishedPlayersCount);
        }
        if (settings.getBoolean("ExternalInvisibility.ServerList.AdjustListOfLoggedInPlayers")) {
            List<WrappedGameProfile> wrappedGameProfiles = new ArrayList<>(ping.getPlayers());
            Iterator<WrappedGameProfile> iterator = wrappedGameProfiles.iterator();
            while (iterator.hasNext()) {
                if (onlineVanishedPlayers.contains(iterator.next().getUUID())) {
                    iterator.remove();
                }
            }
            ping.setPlayers(wrappedGameProfiles);
        }
    } catch (Exception er) {
        plugin.logException(er);
    }
}
 
开发者ID:MyzelYam,项目名称:SuperVanish,代码行数:29,代码来源:ServerListPacketListener.java

示例6: handlePing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@SuppressWarnings("deprecation")
public void handlePing(WrappedServerPing ping) {
	ping.setVersionName("iZenith Server 1.8.8");
	System.out.println("Sending player list");
	List<String> playerNames = new ArrayList<String>();
	for (Player player : Bukkit.getOnlinePlayers()) {
		playerNames.add(IPlayerHandler.getPlayer(player).getColoredName(false));
	}
	String players = Util.parseColors(Util.buildString(playerNames, "&7, ", 0, 40));
	ping.setPlayers(Arrays.asList(new WrappedGameProfile("id1", Util.parseColors(Util.getConfig().getString("player_list_message"))), new WrappedGameProfile("id2", Util.parseColors("&7") + players)));
}
 
开发者ID:iZenith,项目名称:IZenith-Main,代码行数:12,代码来源:ServerListHandler.java

示例7: onPacketSending

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@Override
public synchronized void onPacketSending(PacketEvent event) {
    if (event.getPacketType().equals(PacketType.Status.Server.OUT_SERVER_INFO)) {
        try {
            WrappedServerPing ping = null;

            try {
                ping = event.getPacket().getServerPings().getValues().get(0);
            } catch (IndexOutOfBoundsException ex) {
                return;
            }
            if (ping.getVersionProtocol() == MARK) {
                return;
            }

            final String ip = event.getPlayer().getAddress().toString().split(":")[0].replace("/", "");

            MOTD motd = randomMotd(config.motdList);
            if (motd == null) {
                motd = MOTD.ENMPTY;
            }
            Favicon icon = randomIcon(config.icon);
            ping.setVersionProtocol(MARK);

            ping.setVersionName(replace(config.online.getFirst(), ip));
            if (!config.playerList.isEmpty()) {
                List<WrappedGameProfile> profileList = new ArrayList<>();
                for (String str : config.playerList.getFirst()) {
                    str = replace(str, ip);
                    profileList.add(ReflectFactory.createGameProfile(str));
                }
                ping.setPlayers(ImmutableList.copyOf(profileList));
                ping.setPlayersVisible(true);
            } else {
                ping.setPlayersVisible(false);
            }
            ping.setMotD(replace(motd.getFirst(), ip));
            ping.setFavicon(icon.getFirst());
            event.getPacket().getServerPings().getValues().set(0, ping);
            
            if (motd.isDynamic() || icon.isDynamic() || config.playerList.isDynamic() || config.online.isDynamic()) {
                tasks.add(new MOTDTask(event.getPlayer(), ping, new PingAnimation(icon, motd)));
            }
        } catch (Throwable e) {
            logger.log(Level.SEVERE, "[{0}]在向客户端发送ping包时出现严重错误!ProtocolLib版本{1}", new Object[]{Main.getInstance().getDescription().getVersion(), protocolLibVersion});
            e.printStackTrace();
        }
    }
}
 
开发者ID:andylizi,项目名称:AnimColorMOTD,代码行数:50,代码来源:MOTDPacketListener.java

示例8: onPacketSending

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
@Override // Status ping
public void onPacketSending(PacketEvent event) {
    if (bukkit.getCore() == null) return; // Too early, we haven't finished initializing yet

    final WrappedServerPing ping = event.getPacket().getServerPings().read(0);
    // Make sure players have not been hidden when getting the player count
    boolean playersVisible = ping.isPlayersVisible();

    InetSocketAddress client = event.getPlayer().getAddress();
    StatusRequest request = bukkit.getRequest(client);
    bukkit.requestCompleted(event.getPlayer().getAddress());

    StatusResponse response = request.createResponse(bukkit.getCore().getStatus(),
                    // Return unknown player counts if it has been hidden
                    new ResponseFetcher() {
                        @Override
                        public Integer getOnlinePlayers() {
                            return ping.getPlayersOnline();
                        }

                        @Override
                        public Integer getMaxPlayers() {
                            return ping.getPlayersMaximum();
                        }

                        @Override
                        public int getProtocolVersion() {
                            return ping.getVersionProtocol();
                        }
                    });

    // Description is modified in BukkitEventHandler, but we modify it here again,
    // because the BukkitEventHandler has no access to information like virtual hosts.
    String message = response.getDescription();
    if (message != null) ping.setMotD(message);

    // Version name
    message = response.getVersion();
    if (message != null) ping.setVersionName(message);
    // Protocol version
    Integer protocol = response.getProtocolVersion();
    if (protocol != null) ping.setVersionProtocol(protocol);

    if (playersVisible) {
        if (response.hidePlayers()) {
            ping.setPlayersVisible(false);
        } else {
            // Online players
            Integer count = response.getOnlinePlayers();
            if (count != null) ping.setPlayersOnline(count);

            // Max players are modified in BukkitEventHandler
            count = response.getMaxPlayers();
            if (count != null) ping.setPlayersMaximum(count);

            // Player hover
            message = response.getPlayerHover();
            if (message != null) {
                if (response.useMultipleSamples()) {
                    count = response.getDynamicSamples();

                    ping.setPlayers(Iterables.transform(
                            count != null ? Helper.splitLines(message, count) : Helper.splitLines(message),
                            new Function<String, WrappedGameProfile>() {
                        @Override
                        public WrappedGameProfile apply(String input) {
                            return new WrappedGameProfile(StatusManager.EMPTY_UUID, input);
                        }
                    }));
                } else
                    ping.setPlayers(Collections.singleton(
                            new WrappedGameProfile(StatusManager.EMPTY_UUID, message)));
            }
        }
    }
}
 
开发者ID:Minecrell,项目名称:ServerListPlus,代码行数:77,代码来源:ProtocolLibHandler.java

示例9: getServerPing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
/**
 * Retrieve the server information to display in the multiplayer menu.
 *
 * @return The current ping information.
 */
public WrappedServerPing getServerPing()
{
    return handle.getServerPings().read(0);
}
 
开发者ID:Ms-ran,项目名称:ItemPlus,代码行数:10,代码来源:WrapperStatusServerOutServerInfo.java

示例10: setServerPing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
/**
 * Set the server information to display in the multiplayer menu.
 *
 * @param value - new information.
 */
public void setServerPing(WrappedServerPing value)
{
    handle.getServerPings().write(0, value);
}
 
开发者ID:Ms-ran,项目名称:ItemPlus,代码行数:10,代码来源:WrapperStatusServerOutServerInfo.java

示例11: getServerPing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
/**
 * Retrieve the server information to display in the multiplayer menu.
 * @return The current ping information.
*/
public WrappedServerPing getServerPing() {
    return handle.getServerPings().read(0);
}
 
开发者ID:aadnk,项目名称:PacketWrapper,代码行数:8,代码来源:WrapperStatusServerOutServerInfo.java

示例12: setServerPing

import com.comphenix.protocol.wrappers.WrappedServerPing; //导入依赖的package包/类
/**
 * Set the server information to display in the multiplayer menu.
 * @param value - new information.
*/
public void setServerPing(WrappedServerPing value) {
    handle.getServerPings().write(0, value);
}
 
开发者ID:aadnk,项目名称:PacketWrapper,代码行数:8,代码来源:WrapperStatusServerOutServerInfo.java


注:本文中的com.comphenix.protocol.wrappers.WrappedServerPing类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。