Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.dondays.dapi.utils;
- import com.google.common.collect.Iterables;
- import com.google.common.io.ByteArrayDataInput;
- import com.google.common.io.ByteArrayDataOutput;
- import com.google.common.io.ByteStreams;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.messaging.PluginMessageListener;
- import ru.dondays.dapi.DAPI;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- public class BungeeUtil
- implements PluginMessageListener {
- private static int online = -1;
- private static List<String> lobbys = new ArrayList<>();
- private static Iterator<String> lobbyIterator;
- @Override
- public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals("BungeeCord")) {
- return;
- }
- ByteArrayDataInput in = ByteStreams.newDataInput(message);
- if((in.readUTF().equals("PlayerCount")) && (in.readUTF().equals("ALL"))) {
- online = in.readInt();
- }
- }
- public static int getBungeeOnline() {
- ByteArrayDataOutput out = ByteStreams.newDataOutput();
- out.writeUTF("PlayerList");
- out.writeUTF("ALL");
- if(Bukkit.getOnlinePlayers().size() == 0) {
- return -1;
- }
- Player player = Iterables.getFirst(Bukkit.getOnlinePlayers(), null);
- player.sendPluginMessage(DAPI.getInstance(), "BungeeCord", out.toByteArray());
- return online;
- }
- public static void setLobbys(List<String> lobbys) {
- BungeeUtil.lobbys = lobbys;
- BungeeUtil.lobbyIterator = BungeeUtil.lobbys.iterator();
- }
- public static void redirectToLobby(Player player) {
- if(BungeeUtil.lobbyIterator == null) {
- throw new IllegalArgumentException("Lobbys is not initalized!");
- }
- if (!BungeeUtil.lobbyIterator.hasNext()) {
- BungeeUtil.lobbyIterator = BungeeUtil.lobbys.iterator();
- }
- final String server = BungeeUtil.lobbyIterator.next();
- player.sendMessage(DAPI.getInstance().getPrefix() + "Телепортирую на сервер §c" + server);
- final ByteArrayDataOutput out = ByteStreams.newDataOutput();
- out.writeUTF("Connect");
- out.writeUTF(server);
- player.sendPluginMessage(DAPI.getInstance(), "BungeeCord", out.toByteArray());
- }
- public static void redirectToLobby() {
- for(Player player : Bukkit.getOnlinePlayers()) {
- BungeeUtil.redirectToLobby(player);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement