Skip to main content

    PunishAPI

      PunishAPI é a interface principal para integração com o plugin LeafPunish. Ele fornece métodos para gerenciamento de punições, avisos, motivos, tipos de punição e consultas de histórico.

        Atenção

        Todos os métodos lançam APINotLoadedException caso a API ainda não esteja carregada. Sempre utilize a API após o plugin LeafPunish estar totalmente inicializado.


      Obtendo API

      LeafPunishAPI api = LeafPunishAPI.getApi();


      Informações da API

      getName()

      Retorna o nome do plugin LeafPunish carregado no servidor.

      • Retorno: String

      getVersion()

      Retorna a versão atual da API LeafPunish.

      • Retorno: String

      isPremium()

      Verifica se o plugin está rodando em uma versão Premium.

      • Retorno: boolean


      Motivos e Tipos

      getReason(String value)

      Busca um motivo de punição pelo identificador ou valor.

      • Parâmetros:

        • value (String)
      • Retorno: Reason


      getPunishmentType(String value)

      Busca um tipo de punição pelo identificador.

      • Parâmetros:

        • value (String)
      • Retorno: PunishmentType


      getReasons()

      Retorna todos os motivos registrados.

      • Retorno: Collection<Reason>

      getPunishmentTypes()

      Retorna todos os tipos de punição registrados.

      • Retorno: Collection<PunishmentType>

      getPunishmentTypesEnum()

      Retorna todos os tipos de punição do enum.

      • Retorno: PunishmentTypes[]


      Punições Ativas

      getActivePunishment(String playerName, PunishmentTypes type)

      Obtém uma punição ativa pelo nome do jogador e tipo.

      • Parâmetros:

        • playerName (String)

        • type (PunishmentTypes)

      • Retorno: Punishment


      getActivePunishment(UUID uuid, PunishmentTypes type)

      Obtém uma punição ativa pelo UUID do jogador.

      • Parâmetros:

        • uuid (UUID)

        • type (PunishmentTypes)

      • Retorno: Punishment


      getActivePunishment(String playerName, PunishmentTypes type, String serverName)

      Obtém uma punição ativa filtrando por servidor.

      • Parâmetros:

        • playerName (String)

        • type (PunishmentTypes)

        • serverName (String)

      • Retorno: Punishment


      getActivePunishment(UUID uuid, PunishmentTypes type, String serverName)

      Versão usando UUID do jogador.

      • Parâmetros:

        • uuid (UUID)

        • type (PunishmentTypes)

        • serverName (String)

      • Retorno: Punishment



      Consulta de Punições

      getPunishment(String id)

      Busca uma punição pelo ID.

      • Parâmetros:

        • id (String)
      • Retorno: Punishment


      getPunishmentFromAddress(String address)

      Busca uma punição associada a um endereço (IP).

      • Parâmetros:

        • address (String)
      • Retorno: Punishment


      getPunishments(String playerName)

      Retorna todas as punições do jogador.

      • Parâmetros:

        • playerName (String)
      • Retorno: Collection<Punishment>


      getPunishments(UUID uuid)

      Versão usando UUID.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: Collection<Punishment>


      getActivePunishments(String playerName)

      Retorna todas as punições ativas do jogador.

      • Parâmetros:

        • playerName (String)
      • Retorno: Collection<Punishment>


      getActivePunishments(UUID uuid)

      Versão usando UUID.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: Collection<Punishment>


      getInactivePunishments(String playerName)

      Retorna todas as punições inativas do jogador.

      • Parâmetros:

        • playerName (String)
      • Retorno: Collection<Punishment>


      getInactivePunishments(UUID uuid)

      Versão usando UUID.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: Collection<Punishment>



      Avisos (Warns)

      getWarns(UUID uuid)

      Retorna todos os avisos do jogador.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: Collection<Warn>


      clearWarnings(UUID uuid)

      Remove todos os avisos do jogador.

      • Parâmetros:

        • uuid (UUID)

      getCountOfWarns(UUID uuid)

      Retorna a quantidade de avisos do jogador.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: int



      Criação de Punições

      createPunishment(UUID player)

      Cria um PunishmentBuilder para um jogador.

      • Parâmetros:

        • player (UUID)
      • Retorno: PunishmentBuilder


      createPunishment(String playerName)

      Versão usando nome do jogador.

      • Parâmetros:

        • playerName (String)
      • Retorno: PunishmentBuilder


      createPunishment(UUID player, UUID author)

      Cria uma punição com autor definido.

      • Parâmetros:

        • player (UUID)

        • author (UUID)

      • Retorno: PunishmentBuilder


      createPunishment(String playerName, UUID author)

      Versão usando nome do jogador.

      • Parâmetros:

        • playerName (String)

        • author (UUID)

      • Retorno: PunishmentBuilder



      Registro e Controle

      registerPunishment(PunishmentBuilder builder)

      Registra uma nova punição usando o builder.

      • Parâmetros:

        • builder (PunishmentBuilder)

      registerPunishment(Punishment punishment, boolean custom)

      Registra uma punição manualmente.

      • Parâmetros:

        • punishment (Punishment)

        • custom (boolean) – indica se é punição customizada


      registerPunishment(Punishment punishment)

      Registra uma punição padrão (chama versão com custom = false).

      • Parâmetros:

        • punishment (Punishment)

      disablePunishment(Punishment punishment, UUID author)

      Desativa uma punição ativa (remove efeito mas mantém registro).

      • Parâmetros:

        • punishment (Punishment)

        • author (UUID) – quem executou a desativação


      deletePunishment(Punishment punishment)

      Remove completamente uma punição do sistema.

      • Parâmetros:

        • punishment (Punishment)

      clearHistoric(UUID uuid)

      Limpa todo o histórico de punições e avisos do jogador.

      • Parâmetros:

        • uuid (UUID)


      Verificações

      existsPunishment(String id)

      Verifica se uma punição existe.

      • Parâmetros:

        • id (String)
      • Retorno: boolean


      isAddressBanned(String address)

      Verifica se um endereço está banido.

      • Parâmetros:

        • address (String)
      • Retorno: boolean


      hasActivePunishment(String playerName, PunishmentTypes punishmentType)

      Verifica se o jogador possui uma punição ativa.

      • Parâmetros:

        • playerName (String)

        • punishmentType (PunishmentTypes)

      • Retorno: boolean


      hasActivePunishment(UUID uuid, PunishmentTypes punishmentType)

      Versão usando UUID.

      • Parâmetros:

        • uuid (UUID)

        • punishmentType (PunishmentTypes)

      • Retorno: boolean


      hasActivePunishment(UUID uuid, PunishmentTypes punishmentType, String serverName)

      Versão filtrando por servidor.

      • Parâmetros:

        • uuid (UUID)

        • punishmentType (PunishmentTypes)

        • serverName (String)

      • Retorno: boolean



      Contadores

      getCountOfAllPunishments()

      Retorna a quantidade total de punições no sistema.

      • Retorno: int

      getCountOfAllPunishments(UUID uuid)

      Retorna a quantidade total de punições do jogador.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: int


      getCountOfActivePunishments(UUID uuid)

      Retorna a quantidade de punições ativas.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: int


      getCountOfInactivePunishments(UUID uuid)

      Retorna a quantidade de punições inativas.

      • Parâmetros:

        • uuid (UUID)
      • Retorno: int


      Dicas de uso

      Sempre utilize os métodos de verificação antes de aplicar ou registrar punições, e prefira o uso do PunishmentBuilder para manter consistência nos dados.