package net.buycraft.plugin.testutil;
import lombok.Getter;
import net.buycraft.plugin.IBuycraftPlatform;
import net.buycraft.plugin.client.ApiClient;
import net.buycraft.plugin.data.QueuedPlayer;
import net.buycraft.plugin.data.responses.ServerInformation;
import net.buycraft.plugin.execution.placeholder.PlaceholderManager;
import net.buycraft.plugin.execution.strategy.CommandExecutor;
import net.buycraft.plugin.platform.PlatformInformation;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
public class SimulatedPlayerBuycraftPlatform implements IBuycraftPlatform {
@Getter
private final Map<String, TestPlayer> testPlayerMap = new HashMap<>();
@Override
public ApiClient getApiClient() {
return null;
}
@Override
public PlaceholderManager getPlaceholderManager() {
return null;
}
@Override
public void dispatchCommand(String command) {
}
@Override
public void executeAsync(Runnable runnable) {
}
@Override
public void executeAsyncLater(Runnable runnable, long time, TimeUnit unit) {
}
@Override
public void executeBlocking(Runnable runnable) {
}
@Override
public void executeBlockingLater(Runnable runnable, long time, TimeUnit unit) {
}
@Override
public boolean isPlayerOnline(QueuedPlayer player) {
return testPlayerMap.containsKey(player.getName());
}
@Override
public int getFreeSlots(QueuedPlayer player) {
TestPlayer testPlayer = testPlayerMap.get(player);
if (testPlayer == null) {
return -1;
}
return testPlayer.getFreeSlots();
}
@Override
public void log(Level level, String message) {
}
@Override
public void log(Level level, String message, Throwable throwable) {
}
@Override
public CommandExecutor getExecutor() {
return null;
}
@Override
public PlatformInformation getPlatformInformation() {
return null;
}
@Override
public String getPluginVersion() {
return null;
}
@Override
public ServerInformation getServerInformation() {
return null;
}
}