Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Spigot listener - Lobby
- import java.util.Map;
- import java.util.Map.Entry;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import me.devtec.theapi.TheAPI;
- import me.devtec.theapi.apis.PluginManagerAPI;
- import me.devtec.theapi.placeholderapi.ThePlaceholder;
- import me.devtec.theapi.placeholderapi.ThePlaceholderAPI;
- import me.devtec.theapi.sockets.Client;
- import me.devtec.theapi.sockets.ClientHandler;
- import me.devtec.theapi.sockets.Reader;
- import me.devtec.theapi.utils.StringUtils;
- import me.devtec.theapi.utils.datakeeper.Data;
- import me.devtec.theapi.utils.datakeeper.DataType;
- import me.devtec.theapi.utils.datakeeper.maps.UnsortedMap;
- public void onEnable() {
- Map<String, Integer> online = new UnsortedMap<>();
- Client bungee = TheAPI.getSocketClient("Bungee");
- Data data = new Data();
- data.set("online-mode", Bukkit.getOnlineMode());
- data.set("max-players", Bukkit.getMaxPlayers());
- data.set("theapi-version", PluginManagerAPI.getVersion("TheAPI"));
- data.set("super-duper-cool-info-here", "Straiker is cool");
- //Send info to Bungee
- bungee.write("some-unused-info:"+data.toString(DataType.BYTE));
- bungee.write("req-server-info:survival");
- bungee.write("req-server-info:creative");
- //Listening Bungee
- TheAPI.getSocketServer().register(new Reader() {
- public void read(ClientHandler a, String b) {
- if(a.getUser().equals("Bungee")) {
- if(b.startsWith("req-server-info:")) {
- b=b.replaceFirst("req\\-server\\-info:", "");
- String server = b.split(":")[0];
- online.put(server, StringUtils.getInt(b.replaceFirst(server+":", "")));
- }
- }
- }
- });
- //Server placeholders
- ThePlaceholderAPI.register(new ThePlaceholder("bungee-info") {
- public String onRequest(Player player, String placeholder) {
- for(Entry<String, Integer> e : online.entrySet())
- if(placeholder.equals("bungee_server_"+e.getKey()))
- return e.getValue()+"";
- return null;
- }
- });
- //Example: %theapi_{bungee_server_survival}%
- }
- //Bungee listener
- import me.devtec.bungeetheapi.TheAPI;
- import me.devtec.bungeetheapi.sockets.Client;
- import me.devtec.bungeetheapi.sockets.ClientHandler;
- import me.devtec.bungeetheapi.sockets.Reader;
- import me.devtec.bungeetheapi.utils.datakeeper.Data;
- import net.md_5.bungee.BungeeCord;
- public void onEnable() {
- Client lobby = TheAPI.getSocketClient("Lobby");
- //Listenning lobby..
- TheAPI.getSocketServer().register(new Reader() {
- public void read(ClientHandler a, String b) {
- if(a.getUser().equals("Lobby")) {
- if(b.startsWith("some-unused-info:")) {
- b=b.replaceFirst("some\\-unused\\-info:", "");
- Data data = new Data();
- data.reload(b);
- //Something with data here..
- //...
- //...
- return;
- }
- if(b.startsWith("req-server-info:")) {
- b=b.replaceFirst("req\\-server\\-info:", "");
- String server = b.split(":")[0];
- lobby.write(BungeeCord.getInstance().getServerInfo(server).getPlayers().size()+"");
- }
- }
- }
- });
- }
Add Comment
Please, Sign In to add comment