45 lines
1.2 KiB
Java
45 lines
1.2 KiB
Java
package tc.oc.commons.bukkit.nick;
|
|
|
|
import javax.annotation.Nullable;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import tc.oc.api.docs.PlayerId;
|
|
import tc.oc.api.docs.Session;
|
|
import tc.oc.api.docs.UserId;
|
|
import tc.oc.api.users.UserSearchResponse;
|
|
|
|
public interface IdentityProvider {
|
|
|
|
Identity createIdentity(PlayerId playerId, @Nullable String nickname);
|
|
|
|
default Identity createIdentity(PlayerId playerId) {
|
|
return createIdentity(playerId, null);
|
|
}
|
|
|
|
Identity createIdentity(Player player, @Nullable String nickname);
|
|
|
|
Identity createIdentity(CommandSender player);
|
|
|
|
Identity createIdentity(Session session);
|
|
|
|
Identity createIdentity(UserSearchResponse response);
|
|
|
|
Identity currentIdentity(CommandSender player);
|
|
|
|
Identity currentIdentity(PlayerId playerId);
|
|
|
|
default Identity currentOrConsoleIdentity(@Nullable PlayerId playerId) {
|
|
return playerId == null ? consoleIdentity() : currentIdentity(playerId);
|
|
}
|
|
|
|
Identity consoleIdentity();
|
|
|
|
@Nullable Identity onlineIdentity(String name);
|
|
|
|
void changeIdentity(Player player, @Nullable String nickname);
|
|
|
|
boolean revealAll(CommandSender viewer);
|
|
|
|
boolean reveal(CommandSender viewer, UserId userId);
|
|
}
|