问题描述
import java.util.UUID;
import net.md_5.bungee.api.ServerPing;
import net.md_5.bungee.api.event.ProxyPingEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
public class MOTD implements Listener {
@EventHandler
public void onPing(ProxyPingEvent e) {
ServerPing ping = e.getResponse();
ServerPing.Players player = ping.getPlayers();
ServerPing.Protocol vers = ping.getVersion();
vers.setName("§4 Test");
e.getResponse().setVersion(new ServerPing.Protocol( "some random text",2));
player.setSample(new ServerPing.PlayerInfo[] {new ServerPing.PlayerInfo("here is some text aswell.",UUID.randomUUID()) });
ping.setDescription("and a whole ton of randomt text here");
e.setResponse(ping);
到目前为止,这就是我的代码。在屏幕截图中,您将得到结果。 但我不希望红色的“ x”与客户过期消息。 我想用自己的文本在网上做些事。有任何想法吗? #(如果我将鼠标悬停在“文本”上,则会看到自己的文本,但是如果我将鼠标悬停在“ ping”上,则会收到OutofDate消息。)
解决方法
这是带注释的固定代码:
@EventHandler
public void onPing(ProxyPingEvent e) {
ServerPing ping = e.getResponse();
ServerPing.Players player = ping.getPlayers();
ServerPing.Protocol vers = ping.getVersion();
// change version text,but dont change version protocol id
// because that causes the RED X in server browser
vers.setName("Some version text");
player.setSample(new ServerPing.PlayerInfo[] {
new ServerPing.PlayerInfo("here is some text aswell.",UUID.randomUUID())
});
ping.setDescription("and a whole ton of randomt text here");
e.setResponse(ping);
}