29 lines
1.8 KiB
Markdown
29 lines
1.8 KiB
Markdown
# 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`.
|