feat(chunkloader): add native chunk loader module with LuckPerms limits and BlueMap support
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Tasks: Módulo Nativo de Chunk Loader
|
||||
|
||||
- [x] **Task 1: Modelo de Dados e Gerenciador (`ChunkLoader.java`, `ChunkLoaders.java` e `ChunkLoaderTest.java`)**
|
||||
- Implementar record `ChunkLoader` puro.
|
||||
- Implementar `ChunkLoaders` com persistência em `chunks.yml`, `playerLimit(Player)` (LuckPerms `canalhandia.chunkloader.limite.<N>`), registro de tickets no Paper e busca por chunk/dono.
|
||||
- Criar suíte de testes unitários `ChunkLoaderTest.java` validando regras de limites, unicidade e serialização.
|
||||
|
||||
- [x] **Task 2: Configuração e Item Customizado (`Module.java`, `Settings.java` e `ChunkAnchorItem.java`)**
|
||||
- Adicionar `CHUNKLOADER` ao enum `Module`.
|
||||
- Adicionar chaves de configuração em `config.yml` e `Settings.java`.
|
||||
- Criar utilitário `ChunkAnchorItem` para gerar o ItemStack com nome, lore e `PersistentDataContainer`, e registrar receita de crafting.
|
||||
|
||||
- [x] **Task 3: Listeners de Proteção e Colocação (`ChunkLoaderListener.java`)**
|
||||
- Tratar `BlockPlaceEvent` (validação de permissão, cálculo de limite LuckPerms, ativação de ticket).
|
||||
- Tratar `BlockBreakEvent` (proteção de dono/admin, remoção de ticket, drop do item).
|
||||
- Tratar explosões e pistões.
|
||||
|
||||
- [x] **Task 4: Comandos e Tab-Completion (`CanalhandiaCommand.java`)**
|
||||
- Adicionar `/chunkloader` e alias `/ancora` (`listar`, `info`, `remover`, `receita`, `admin`).
|
||||
- Implementar tab-completion completo com permissões.
|
||||
|
||||
- [x] **Task 5: Integração no Ciclo de Vida e BlueMap (`Canalhandia.java` & `BlueMapBridge.java`)**
|
||||
- Inicializar `ChunkLoaders` no `onEnable` e descarregar tickets no `onDisable`.
|
||||
- Adicionar marcadores no BlueMap.
|
||||
|
||||
- [x] **Task 6: Testes, PR e Deploy (`mvn test`, `mvn package`, PR no Gitea)**
|
||||
- Executar suíte completa de testes.
|
||||
- Criar branch `feat/chunk-loader-module`, abrir PR com labels `AI-REVIEW` e `AI-USAGE`.
|
||||
Reference in New Issue
Block a user