Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. package ru.dondays.dapi.utils;
  2.  
  3. import com.google.common.collect.Iterables;
  4. import com.google.common.io.ByteArrayDataInput;
  5. import com.google.common.io.ByteArrayDataOutput;
  6. import com.google.common.io.ByteStreams;
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.plugin.messaging.PluginMessageListener;
  10. import ru.dondays.dapi.DAPI;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.Iterator;
  14. import java.util.List;
  15.  
  16. public class BungeeUtil
  17. implements PluginMessageListener {
  18.  
  19. private static int online = -1;
  20. private static List<String> lobbys = new ArrayList<>();
  21. private static Iterator<String> lobbyIterator;
  22.  
  23. @Override
  24. public void onPluginMessageReceived(String channel, Player player, byte[] message) {
  25. if (!channel.equals("BungeeCord")) {
  26. return;
  27. }
  28. ByteArrayDataInput in = ByteStreams.newDataInput(message);
  29. if((in.readUTF().equals("PlayerCount")) && (in.readUTF().equals("ALL"))) {
  30. online = in.readInt();
  31. }
  32. }
  33.  
  34. public static int getBungeeOnline() {
  35. ByteArrayDataOutput out = ByteStreams.newDataOutput();
  36. out.writeUTF("PlayerList");
  37. out.writeUTF("ALL");
  38. if(Bukkit.getOnlinePlayers().size() == 0) {
  39. return -1;
  40. }
  41. Player player = Iterables.getFirst(Bukkit.getOnlinePlayers(), null);
  42. player.sendPluginMessage(DAPI.getInstance(), "BungeeCord", out.toByteArray());
  43. return online;
  44. }
  45.  
  46. public static void setLobbys(List<String> lobbys) {
  47. BungeeUtil.lobbys = lobbys;
  48. BungeeUtil.lobbyIterator = BungeeUtil.lobbys.iterator();
  49. }
  50.  
  51. public static void redirectToLobby(Player player) {
  52. if(BungeeUtil.lobbyIterator == null) {
  53. throw new IllegalArgumentException("Lobbys is not initalized!");
  54. }
  55. if (!BungeeUtil.lobbyIterator.hasNext()) {
  56. BungeeUtil.lobbyIterator = BungeeUtil.lobbys.iterator();
  57. }
  58. final String server = BungeeUtil.lobbyIterator.next();
  59. player.sendMessage(DAPI.getInstance().getPrefix() + "Телепортирую на сервер §c" + server);
  60. final ByteArrayDataOutput out = ByteStreams.newDataOutput();
  61. out.writeUTF("Connect");
  62. out.writeUTF(server);
  63. player.sendPluginMessage(DAPI.getInstance(), "BungeeCord", out.toByteArray());
  64. }
  65.  
  66. public static void redirectToLobby() {
  67. for(Player player : Bukkit.getOnlinePlayers()) {
  68. BungeeUtil.redirectToLobby(player);
  69. }
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement