RedisBungee/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/api/RedisBungeePlugin.java

108 lines
2.4 KiB
Java
Raw Normal View History

2022-07-16 12:50:09 +00:00
package com.imaginarycode.minecraft.redisbungee.api;
import com.google.common.collect.Multimap;
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
import com.imaginarycode.minecraft.redisbungee.api.config.ConfigLoader;
import com.imaginarycode.minecraft.redisbungee.api.config.RedisBungeeConfiguration;
2022-07-16 12:50:09 +00:00
import com.imaginarycode.minecraft.redisbungee.api.summoners.Summoner;
import com.imaginarycode.minecraft.redisbungee.api.util.uuid.UUIDTranslator;
import java.net.InetAddress;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
/**
* This Class has all internal methods needed by every redis bungee plugin, and it can be used to implement another platforms than bungeecord
*
* @author Ham1255
* @since 0.7.0
*/
public interface RedisBungeePlugin<P> extends EventsPlatform, ConfigLoader {
2022-07-07 23:23:44 +00:00
default void initialize() {
2022-04-13 18:17:38 +00:00
}
default void stop() {
2022-04-13 18:17:38 +00:00
}
2022-07-16 05:18:33 +00:00
Summoner<?> getSummoner();
RedisBungeeConfiguration getConfiguration();
int getCount();
2022-04-13 18:17:38 +00:00
int getCurrentCount();
Set<String> getLocalPlayersAsUuidStrings();
2022-07-07 22:39:05 +00:00
AbstractDataManager<P, ?, ?, ?> getDataManager();
Set<UUID> getPlayers();
RedisBungeeAPI getApi();
UUIDTranslator getUuidTranslator();
Multimap<String, UUID> serversToPlayers();
Set<UUID> getPlayersOnProxy(String proxyId);
void sendProxyCommand(String serverId, String command);
List<String> getProxiesIds();
List<String> getCurrentProxiesIds(boolean nag, boolean lagged);
2022-04-13 18:17:38 +00:00
PubSubListener getPubSubListener();
void sendChannelMessage(String channel, String message);
void executeAsync(Runnable runnable);
2022-04-13 18:17:38 +00:00
void executeAsyncAfter(Runnable runnable, TimeUnit timeUnit, int time);
2022-04-13 18:17:38 +00:00
void callEvent(Object event);
boolean isOnlineMode();
void logInfo(String msg);
void logWarn(String msg);
void logFatal(String msg);
P getPlayer(UUID uuid);
P getPlayer(String name);
UUID getPlayerUUID(String player);
String getPlayerName(UUID player);
String getPlayerServerName(P player);
boolean isPlayerOnAServer(P player);
InetAddress getPlayerIp(P player);
2022-04-13 18:17:38 +00:00
void sendProxyCommand(String cmd);
2022-04-13 18:17:38 +00:00
long getRedisTime(List<String> timeRes);
2022-07-19 11:30:45 +00:00
void kickPlayer(UUID playerUniqueId, String message);
void kickPlayer(String playerName, String message);
2022-07-16 05:18:33 +00:00
RedisBungeeMode getRedisBungeeMode();
Long getRedisClusterTime();
2022-07-20 09:21:24 +00:00
void updateProxyIds();
}