本文整理汇总了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);
}
}
}
示例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);
}
示例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);
}
});
}
示例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)));
}
示例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);
}
}
示例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)));
}
示例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();
}
}
}
示例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)));
}
}
}
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}