ServerListPingEvent
を通じて選手の数を設定するための直接的な方法はありません。私は確信していませんなぜ彼らはそれをそのように実装することを選択しました。
DOCから
:
表示される選手は、このイベントを反復処理によって確認し、除去することができます。
だから、仮に、あなたは(と、それは数を更新します)そのリストを編集することである選手を変更することができます。そうしたいと思えば、カウントを減らすことができます(数字を減らすことしかできないので、それが役に立つかどうかは分かりません)。
int wantedCount = 5;
Iterator<Player> itr = event.iterator();
while (event.getNumPlayers() > wantedCount) {
itr.next();
itr.remove();
}
しかし、最良の選択はProtocolLibを使用して、それを使用してではなく、イベントを使用しようとserver list ping packetを編集することです。
そして、私はプラグインで、クエリを経由してプレーヤーを取得しようとする場合にも動作しますか?
私はあなたが何を意味全くわからないんだけど、あなたは、イベントへの変更は、それに影響を与えないようにServerListPingEvent
を使用していないBukkit.getPlayers()
を、使用することを意味場合。
ありがとうございます。オンラインプレーヤーより多くのプレーヤーを表示したい場合、どうすれば解決できますか?私はTeleportSignsがクエリを使用してプレイヤーカウントを取得し、それをサインに表示すると考えています。 – Nightfighter001
@ Nightfighter001私はProtocolLibを書きます。私はそのサーバーでBungeeCordを使用していると仮定していますか?その場合、プラグインはおそらくサーバーリストpingを使用します。だから、TeleportSignsはおそらくそれで使えるだろう。ただし、[TeleportSignsはオープンソース](https://github.com/zh32/TeleportSigns)ですので、必要な作業に応じてプラグインを編集したい場合があります。 – Pokechu22
はい私はBungeeCordを使用:)と私は私の質問に答えていると思うありがとう:) – Nightfighter001