Class GSBansApi

java.lang.Object
com.gamersafer.minecraft.bans.common.api.GSBansApi

public class GSBansApi extends Object
  • Field Details

    • CATEGORIES

      public static final List<String> CATEGORIES
      Contains all available categories for mutes, reports, bans, and kicks.
  • Constructor Details

  • Method Details

    • findUuid

      public CompletableFuture<Optional<UUID>> findUuid(String playername)
      Tries to find the UUID the playername belongs to. If a player is known by that name the Optional will contain the UUID for the player. Otherwise, the Optional will be empty.
      Parameters:
      playername - the player to look up the UUID for
      Returns:
      an CompletableFuture containing an Optional with the UUID of the player if the player is known, otherwise the Optional will be empty
    • isKnown

      public CompletableFuture<Boolean> isKnown(UUID uuid)
      Returns whether the user is authenticated
      Parameters:
      uuid - the UUID of the player
      Returns:
      whether the user is authenticated
    • isMuted

      public CompletableFuture<Boolean> isMuted(UUID uuid)
      Returns whether the user is muted
      Parameters:
      uuid - the UUID of the player
      Returns:
      whether the user is muted
    • isBanned

      public CompletableFuture<Boolean> isBanned(UUID uuid)
      Returns whether the user is banned
      Parameters:
      uuid - the UUID of the player
      Returns:
      whether the user is banned
    • isWarned

      public CompletableFuture<Boolean> isWarned(UUID uuid)
      Returns whether the user is warned
      Parameters:
      uuid - the UUID of the player
      Returns:
      whether the user is warned
    • ban

      public CompletableFuture<Boolean> ban(UUID uuid, UUID banner, @Nullable Date endTime, String category, boolean wasChildInvolved, String reason)
      Bans a player. If uuid is linked to GamerSafer account all linked accounts will be banned.
      Parameters:
      uuid - the UUID of the player to ban
      banner - the UUID of player who issued the ban; use new UUID(0, 0) for CONSOLE
      category - the category of the reason; for possible value see GSBansApi.CATEGORIES
      wasChildInvolved - whether the reason of the ban involved a child
      reason - the reason the player should be banned for; may not be null
      Returns:
      whether the ban was successful; false if the user is already banned
      Throws:
      IllegalArgumentException - when uuid is null, banner is null, category does not match any of GSBansApi.CATEGORIES, reason is null, the player is not known, the banner is not known, or does not have a GamerSafer account (checks for the banner do not apply for CONSOLE (UUID(0, 0)))
    • unban

      public CompletableFuture<Boolean> unban(UUID uuid, UUID unbanner)
      Unbans a user. If uuid is linked to GamerSafer account all linked accounts will be unbanned.
      Parameters:
      uuid - the UUID of the player to unban
      unbanner - the UUID of player who issued the unban; use new UUID(0, 0) for CONSOLE
      Returns:
      whether the unban was successful; false if the user is not banned
    • unban

      public CompletableFuture<Boolean> unban(UUID uuid, UUID unbanner, String reason)
      Unbans a user. If uuid is linked to GamerSafer account all linked accounts will be unbanned.
      Parameters:
      uuid - the UUID of the player to unban
      unbanner - the UUID of player who issued the unban; use new UUID(0, 0) for CONSOLE
      reason - the reason the player for the unban; may not be null
      Returns:
      whether the unban was successful; false if the user is not banned
    • warn

      public CompletableFuture<Void> warn(UUID uuid, UUID warner, @Nullable Date endTime, String category, boolean wasChildInvolved, String reason)
      Creates a warning for a player.
      Parameters:
      uuid - the UUID of the player to warn
      warner - the UUID of player who issued the warning; use new UUID(0, 0) for CONSOLE
      category - the category of the reason; for possible value see GSBansApi.CATEGORIES
      wasChildInvolved - whether of not the reason of the warn involved a child
      reason - the reason the player should be warned for; may not be null
      Throws:
      IllegalArgumentException - when uuid is null, warner is null, category does not match any of GSBansApi.CATEGORIES, reason is null, the player is not known, the warner is not known, or does not have a GamerSafer account (checks for the warner do not apply for CONSOLE (UUID(0, 0)))
    • kick

      public CompletableFuture<Boolean> kick(UUID uuid, UUID kicker, String category, boolean wasChildInvolved, String reason)
      Kicks a player and adds are kick record.
      Parameters:
      uuid - the UUID of the player to kick
      kicker - the UUID of player who issued the kick; use new UUID(0, 0) for CONSOLE
      category - the category of the reason; for possible value see GSBansApi.CATEGORIES
      wasChildInvolved - whether of not the reason of the kick involved a child
      reason - the reason the player should be kicked for; may not be null
      Returns:
      whether the kick was successful; false if the user is not online
      Throws:
      IllegalArgumentException - when uuid is null, banner is null, category does not match any of GSBansApi.CATEGORIES, reason is null, the player is not known, the kicker is not known, or does not have a GamerSafer account (checks for the banner do not apply for CONSOLE (UUID(0, 0)))
    • mute

      public CompletableFuture<Void> mute(UUID uuid, UUID muter, @Nullable Date endTime, String category, boolean wasChildInvolved, String reason)
      Mutes a player. If uuid is linked to GamerSafer account all linked accounts will be muted.
      Parameters:
      uuid - the UUID of the player to mute
      muter - the UUID of player who issued the mute; use new UUID(0, 0) for CONSOLE
      category - the category of the reason; for possible value see GSBansApi.CATEGORIES
      wasChildInvolved - whether of not the reason of mute involved a child
      reason - the reason the player should be muted for; may not be null
      Throws:
      IllegalArgumentException - when uuid is null, muter is null, category does not match any of GSBansApi.CATEGORIES, reason is null, the player is not known, the muter is not known, or does not have a GamerSafer account (checks for the banner do not apply for CONSOLE (UUID(0, 0)))
    • unmute

      public CompletableFuture<Boolean> unmute(UUID uuid, UUID unmuter)
      Unmutes a user. If the UUID is associated with a GamerSafer account all linked accounts will also be unmuted.
      Parameters:
      uuid - the UUID of the player to unmute
      unmuter - the UUID of player who issued the unmute; use new UUID(0, 0) for CONSOLE
      Returns:
      whether the unmute was successful; false if the user is not muted
    • getReportLogs

      public CompletableFuture<List<ReportLog>> getReportLogs(UUID playerUuid)
      Fetches all reports created for this user.
      Parameters:
      playerUuid - the UUID of the player for which the reports should be fetched
      Returns:
      a CompletableFuture containing a list with all the reports of the specified user