org.bukkit.Bukkit#getMotd ( )源码实例Demo

下面列出了org.bukkit.Bukkit#getMotd ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public ServerPingResponseEvent createResponse(Connection connection) {
	List<Player> players = new ArrayList<>(Bukkit.getOnlinePlayers());

	String motd = Bukkit.getMotd();
	int maxPlayers = Bukkit.getMaxPlayers();

	InternalServerListPingEvent bevent = new InternalServerListPingEvent(connection.getAddress().getAddress(), motd, maxPlayers, players);
	bevent.setServerIcon(Bukkit.getServerIcon());
	Bukkit.getPluginManager().callEvent(bevent);

	ServerPingResponseEvent revent = new ServerPingResponseEvent(
		connection,
		new ProtocolInfo(connection.getVersion(), createServerVersionString()),
		bevent.getIcon() != null ? ServerPlatform.get().getMiscUtils().convertBukkitIconToBase64(bevent.getIcon()) : null,
		bevent.getMotd(),
		bevent.getNumPlayers(), bevent.getMaxPlayers(),
		bevent.players.stream()
		.limit(SpigotConfig.playerSample)
		.map(Player::getName)
		.collect(Collectors.toList())
	);
	Bukkit.getPluginManager().callEvent(revent);

	return revent;
}
 
源代码2 项目: Geyser   文件: GeyserBukkitPingPassthrough.java
@Override
public GeyserPingInfo getPingInformation() {
    try {
        ServerListPingEvent event = new GeyserPingEvent(InetAddress.getLocalHost(), Bukkit.getMotd(), Bukkit.getOnlinePlayers().size(), Bukkit.getMaxPlayers());
        Bukkit.getPluginManager().callEvent(event);
        GeyserPingInfo geyserPingInfo = new GeyserPingInfo(event.getMotd(), event.getNumPlayers(), event.getMaxPlayers());
        Bukkit.getOnlinePlayers().forEach(player -> {
            geyserPingInfo.addPlayer(player.getName());
        });
        return geyserPingInfo;
    } catch (Exception e) {
        logger.debug("Error while getting Bukkit ping passthrough: " + e.toString());
        return new GeyserPingInfo(null, 0, 0);
    }
}
 
@Override
public ServerPingResponseEvent createResponse(Connection connection) {
	PaperServerListPingEvent bevent = new PaperServerListPingEvent(
		new StatusClientImpl(connection),
		Bukkit.getMotd(),
		Bukkit.getOnlinePlayers().size(), Bukkit.getMaxPlayers(),
		createServerVersionString(), connection.getVersion().getId(),
		Bukkit.getServerIcon()
	);
	List<PlayerProfile> playerSample = bevent.getPlayerSample();
	Bukkit.getOnlinePlayers().stream()
	.limit(SpigotConfig.playerSample)
	.map(player -> new NameUUIDPlayerProfile(player.getUniqueId(), player.getName()))
	.forEach(playerSample::add);
	Bukkit.getPluginManager().callEvent(bevent);

	ServerPingResponseEvent revent = new ServerPingResponseEvent(
		connection,
		new ProtocolInfo(bevent.getProtocolVersion(), bevent.getVersion()),
		bevent.getServerIcon() != null ? ServerPlatform.get().getMiscUtils().convertBukkitIconToBase64(bevent.getServerIcon()) : null,
		bevent.getMotd(),
		bevent.getNumPlayers(), bevent.getMaxPlayers(),
		bevent.getPlayerSample().stream().map(PlayerProfile::getName).collect(Collectors.toList())
	);
	Bukkit.getPluginManager().callEvent(revent);

	return revent;
}