DummyPlayer.java
package dev.aura.bungeechat.util;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import net.md_5.bungee.api.Callback;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.ServerConnectRequest;
import net.md_5.bungee.api.SkinConfiguration;
import net.md_5.bungee.api.Title;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.PendingConnection;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.connection.Server;
import net.md_5.bungee.api.event.ServerConnectEvent.Reason;
import net.md_5.bungee.api.score.Scoreboard;
@RequiredArgsConstructor
public class DummyPlayer implements ProxiedPlayer {
private final UUID uuid;
@Override
@Deprecated
public InetSocketAddress getAddress() {
return null;
}
@Override
public SocketAddress getSocketAddress() {
return new InetSocketAddress("localhost", 12345);
}
@Override
@Deprecated
public void disconnect(String reason) {
// Nothing
}
@Override
public void disconnect(BaseComponent... reason) {
// Nothing
}
@Override
public void disconnect(BaseComponent reason) {
// Nothing
}
@Override
public boolean isConnected() {
return false;
}
@Override
public Unsafe unsafe() {
return null;
}
@Override
public String getName() {
return "Dummy";
}
@Override
@Deprecated
public void sendMessage(String message) {
// Nothing
}
@Override
@Deprecated
public void sendMessages(String... messages) {
// Nothing
}
@Override
public void sendMessage(BaseComponent... message) {
// Nothing
}
@Override
public void sendMessage(BaseComponent message) {
// Nothing
}
@Override
public Collection<String> getGroups() {
return new LinkedList<>();
}
@Override
public void addGroups(String... groups) {
// Nothing
}
@Override
public void removeGroups(String... groups) {
// Nothing
}
@Override
public boolean hasPermission(String permission) {
return false;
}
@Override
public void setPermission(String permission, boolean value) {
// Nothing
}
@Override
public Collection<String> getPermissions() {
return new LinkedList<>();
}
@Override
public String getDisplayName() {
return "";
}
@Override
public void setDisplayName(String name) {
// Nothing
}
@Override
public void sendMessage(ChatMessageType position, BaseComponent... message) {
// Nothing
}
@Override
public void sendMessage(ChatMessageType position, BaseComponent message) {
// Nothing
}
@Override
public void connect(ServerInfo target) {
// Nothing
}
@Override
public void connect(ServerInfo target, Reason reason) {
// Nothing
}
@Override
public void connect(ServerInfo target, Callback<Boolean> callback) {
callback.done(false, null);
}
@Override
public void connect(ServerInfo target, Callback<Boolean> callback, Reason reason) {
callback.done(false, null);
}
@Override
public Server getServer() {
return null;
}
@Override
public int getPing() {
return 0;
}
@Override
public void sendData(String channel, byte[] data) {
// Nothing
}
@Override
public PendingConnection getPendingConnection() {
return null;
}
@Override
public void chat(String message) {
// Nothing
}
@Override
public ServerInfo getReconnectServer() {
return null;
}
@Override
public void setReconnectServer(ServerInfo server) {
// Nothing
}
@Override
@Deprecated
public String getUUID() {
return getUniqueId().toString();
}
@Override
public UUID getUniqueId() {
return uuid;
}
@Override
public Locale getLocale() {
return Locale.ROOT;
}
@Override
public byte getViewDistance() {
return 0;
}
@Override
public ChatMode getChatMode() {
return ChatMode.HIDDEN;
}
@Override
public boolean hasChatColors() {
return false;
}
@Override
public SkinConfiguration getSkinParts() {
return null;
}
@Override
public MainHand getMainHand() {
return MainHand.RIGHT;
}
@Override
public void setTabHeader(BaseComponent header, BaseComponent footer) {
// Nothing
}
@Override
public void setTabHeader(BaseComponent[] header, BaseComponent[] footer) {
// Nothing
}
@Override
public void resetTabHeader() {
// Nothing
}
@Override
public void sendTitle(Title title) {
// Nothing
}
@Override
public boolean isForgeUser() {
return false;
}
@Override
public Map<String, String> getModList() {
return new HashMap<>();
}
@Override
public Scoreboard getScoreboard() {
return new Scoreboard();
}
@Override
public void connect(ServerConnectRequest request) {
// Nothing
}
}