API
A API fornece uma interface pública para desenvolvedores integrarem seus plugins ao sistema de proteção contra griefing do yAntiGrief, permitindo consultar dados de staff e informações de proteção.
Obtendo a instância da API
A API é exposta através de um BukkitService assim como feito comumente no Vault.
Exemplo:
AntiGriefAPIHolder antiGriefAPI;
try {
RegisteredServiceProvider<AntiGriefAPIHolder> rsp = Bukkit.getServer().getServicesManager().getRegistration(AntiGriefAPIHolder.class);
return rsp == null ? null : (AntiGriefAPIHolder)rsp.getProvider();
} catch (Throwable t) {
return null;
}
Métodos disponíveis
retrievePlayer(String player)
Recupera os dados de staff de um jogador específico.
StaffHolder staffData = antiGriefAPI.retrievePlayer("Steve");Parâmetros:
player- Nome do jogador
Retorno:
StaffHoldercontendo os dados de staff do jogador ounullse não encontrado
Observações:
- Recupera dados diretamente do DAO (Data Access Object)
- Retorna
nullse o jogador não for um staff ou não possuir dados registrados - Útil para integrar permissões e informações de staff em outros plugins
Estrutura de dados
StaffHolder
Representa os dados de staff de um jogador.
Propriedades principais:
- Status de staff
- Nível de permissão
- Informações de proteção atribuída
- Dados de atividade
- Histórico de ações
Boas práticas
- Sempre verifique
nullao recuperar dados de um jogador - Use o nome exato do jogador para melhor compatibilidade
- Evite chamadas excessivas em eventos de alta frequência
- Verifique o nível de permissão antes de permitir ações sensíveis
Exemplos de uso
Verificando se jogador é staff
StaffHolder staffData = antiGriefAPI.retrievePlayer("Steve");
if (staffData != null) {
// Jogador é staff
// Aplicar lógicas específicas para staff
}Integrando com sistema de permissões
StaffHolder staffData = antiGriefAPI.retrievePlayer(player.getName());
if (staffData != null && staffData.hasPermission("admin")) {
// Conceder acesso a comando administrativo
}Obtendo informações de proteção
StaffHolder staffData = antiGriefAPI.retrievePlayer("Steve");
if (staffData != null) {
// Obter informações de proteção associadas ao staff
String protectedArea = staffData.getProtectedArea();
}