Changelog: Otimizações em BlockBreakListener.java Esta versão do BlockBreakListener foi reescrita com foco total em
desempenho e eficiência, especialmente para cenários de quebra de blocos em massa.
Principais Mudanças:
Otimização de Performance (Prioridade Máxima):
Saída Rápida (Early Exit): A lógica foi reestruturada para verificar a "Lixeira do Vazio" primeiro. Se ela estiver ativa, o código executa sua função e termina imediatamente, sem gastar tempo com verificações desnecessárias do modo de filtro.
Cache de Status: O status de cada modo ("Lixeira do Vazio" e "Faxineiro") é verificado apenas uma vez no início do evento e armazenado em variáveis locais. Isso evita múltiplas chamadas de função para cada bloco quebrado, resultando em uma economia de recursos significativa durante quebras em área.
Loops Eficientes:
Blacklist: O código agora para a verificação e cancela os drops assim que encontra o primeiro item proibido, em vez de continuar a checar o resto.
Whitelist: A verificação é interrompida assim que o primeiro item permitido é encontrado, pois já se sabe que os drops devem ocorrer.
Sistema de Cooldown para Som:
Foi implementado um "cooldown" de 2 ticks (100 milissegundos) para o som da "Lixeira do Vazio".
Resultado: Mesmo que um jogador quebre centenas de blocos de uma vez, o som de "puff" tocará apenas uma vez no início da ação, evitando o spam de áudio que poderia sobrecarregar tanto o jogador quanto o servidor.
Clareza e Manutenção:
O código foi reorganizado com comentários mais claros que separam as seções lógicas, facilitando o entendimento e futuras manutenções.
Adicionado uma lixeira do vazio! com confirmação dupla e boss bar avisando.
Pulei uma versão pois a anterior tinha particulas e os jogadores preferem sem.