/* * Copyright (c) 2018 univento.eu - All rights reserved * You are not allowed to use, distribute or modify this code */ package eu.univento.core.listeners.cloud; import eu.univento.commons.event.MessageEvent; import eu.univento.commons.messaging.MessageHandler; import eu.univento.commons.server.ServerType; import eu.univento.core.api.player.CustomPlayer; import lombok.Getter; import org.bukkit.Bukkit; import java.util.HashMap; import java.util.Map; import java.util.UUID; import java.util.regex.Pattern; /** * @author joethei * @version 1.0 */ public class Servers{ @Getter private static Map teleport = new HashMap<>(); public static void register() { MessageHandler.registerListener("cloud.servers", new MessageEvent() { @Override public void onMessageReceived(String queue, String message) { String[] split = message.split(Pattern.quote("|")); if (split[1].equals("INFO") && split[2].equals(Bukkit.getServerName())) { MessageHandler.sendMessage("cloud.servers", split[0] + "|" + Bukkit.getServerName() + "|" + ServerType.getServerType() + "|" + Bukkit.getOnlinePlayers().size()); } } @Override public void onMessageSend(String queue, String message) { } }); MessageHandler.registerListener("team.tools", new MessageEvent() { @Override public void onMessageReceived(String queue, String message) { String[] split = message.split(Pattern.quote("|")); if(split[0].equals("TELEPORT") && split[1].equals(Bukkit.getServerName())) { if(CustomPlayer.getPlayer(UUID.fromString(split[2])) != null && CustomPlayer.getPlayer(UUID.fromString(split[3])) != null) { CustomPlayer p = CustomPlayer.getPlayer(UUID.fromString(split[2])); CustomPlayer t = CustomPlayer.getPlayer(UUID.fromString(split[3])); assert p != null; assert t != null; p.teleport(t); } if(CustomPlayer.getPlayer(UUID.fromString(split[2])) == null && CustomPlayer.getPlayer(UUID.fromString(split[3])) != null) { teleport.put(UUID.fromString(split[2]), UUID.fromString(split[3])); } } } @Override public void onMessageSend(String queue, String message) { } }); } }