DK KITSСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (23)
release
DK KITS 1.28
1.2812 сент. 2026 г.1,7 тыс.Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
release
DK KITS 1.27
1.271 сент. 2026 г.349Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
release
1.26
1.2623 авг. 2026 г.302Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
release
DK KITS 1.0.6
1.0.623 авг. 2026 г.24Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
release
DK KITS 1.24
1.2423 авг. 2026 г.30Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
release
DK KITS 1.23-SNAPSHOT
1.23-SNAPSHOT21 авг. 2026 г.86Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
release
DK KITS 1.22-SNAPSHOT
1.22-SNAPSHOT21 июл. 2026 г.1 тыс.Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Что нового
The cause was the `api-version: ‘26.1’`: older servers reject plugins that declare a newer API. The reported Folia implements 1.21.11. This corresponds to the behavior documented by PaperMC.
release
DK KITS 1.21-SNAPSHOT
1.21-SNAPSHOT12 июн. 2026 г.2 тыс.Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, folia, paper, purpur, spigot
Что нового
Added support for 26.x
release
DK KITS 1.20-SNAPSHOT
1.20-SNAPSHOT20 мая 2026 г.1 тыс.Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Что нового
O problema era: no editor do kit, a ação era decidida pelo material do item clicado. Como o botão de ícone usa o próprio material do ícone atual, quando ele era CHEST caía em “Editar itens”. Agora o editor decide pelo slot fixo do menu.
release
DK KITS 1.19-SNAPSHOT
1.19-SNAPSHOT27 апр. 2026 г.271Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1bukkit, folia, paper, purpur, spigot
release
DK KITS 1.18-SNAPSHOT
1.18-SNAPSHOT11 мар. 2026 г.2 тыс.Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Что нового
# 🎉 DKKits - Changelog de Atualizações
## 🔒 Segurança
- **Corrigido exploit crítico**: Jogadores sem permissão `dkkits.admin` conseguiam criar kits infinitos clicando na bigorna no `/kit`
- Bigorna de criar kit agora só aparece para quem tem permissão
## ✨ Novas Funcionalidades
### 1. Sistema de Páginas no `/kit`
- Menu de kits agora suporta paginação automática
- Configurável no `config.yml`:
- `gui.kits-per-page` - Quantos kits por página (padrão: 45)
- `gui.previous-page-slot` - Posição do botão "Página Anterior" (padrão: 48)
- `gui.next-page-slot` - Posição do botão "Próxima Página" (padrão: 50)
- Título mostra número da página: "Kits (1)", "Kits (2)", etc.
### 2. Bigorna Configurável
- Posição da bigorna (botão criar kit) agora é configurável
- `gui.create-button-slot` no `config.yml` (padrão: 53)
- Bigorna só aparece para quem tem permissão de criar kits
### 3. Cooldown Imediato (First Use Delay)
- Nova opção no editor de kits (slot 23)
- Quando ativado, jogador precisa esperar o cooldown ANTES de pegar o kit pela primeira vez
- Exemplo: Kit com 3600s e cooldown imediato = jogador espera 1 hora antes de pegar pela primeira vez
- Perfeito para kits diários/semanais
- Ícone: Esmeralda (ativado) / Redstone (desativado)
### 4. Kits Ocultos/Privados
- Nova opção no editor de kits (slot 25)
- Kits ocultos NÃO aparecem no `/kit` (GUI)
- Apenas admins podem dar com `/dkkit give`
- Jogadores com permissão podem pegar via `/kit <nome>`
- Ideal para kits VIP que você não quer mostrar publicamente
- Ícone: Olho de Ender (oculto) / Pérola de Ender (visível)
### 5. Comando `/kit <nome>`
- Agora `/kit` sem argumentos abre a GUI
- `/kit vip` pega o kit "vip" diretamente
- Funciona com cooldown, permissões e kits ocultos
- Cooldown imediato também funciona via comando
### 6. Editor Expandido
- GUI do editor agora tem 36 slots (4 linhas) em vez de 27
- Novos botões:
- **Slot 23**: Cooldown Imediato (toggle)
- **Slot 25**: Kit Oculto (toggle)
- Todos os botões antigos mantidos
## 🐛 Correções de Bugs
- Corrigido: Itens da GUI do editor ficavam "pegáveis" após clicar em qualquer botão
- Corrigido: Listeners de GUI acumulavam causando conflitos
- Corrigido: KitItemsEditorGUI não cancelava eventos corretamente
- Melhorado: Sistema de registro/desregistro de listeners
## 🌍 Internacionalização
- Todos os novos textos adicionados aos arquivos de mensagens
- Suporte completo para português e inglês
- Novas chaves:
- `editor.first-use-delay` e variações
- `editor.hidden` e variações
- Todas configuráveis em `messages_pt_br.yml` e `messages_en.yml`
## ⚙️ Configurações Novas
```yaml
gui:
# Posição do botão de criar kit (bigorna)
create-button-slot: 53
# Quantos kits por página
kits-per-page: 45
# Posição do botão de página anterior
previous-page-slot: 48
# Posição do botão de próxima página
next-page-slot: 50
```
## 📝 Como Usar as Novas Funcionalidades
**Criar kit VIP oculto com cooldown imediato:**
1. `/dkkit create vip`
2. Configure nome, permissão, itens
3. `/dkkit edit vip`
4. Clique no relógio → `86400` (24 horas)
5. Clique na Esmeralda/Redstone (slot 23) → Ativa cooldown imediato
6. Clique no Olho de Ender (slot 25) → Ativa kit oculto
7. Pronto! Kit não aparece no `/kit`, mas jogadores com permissão podem pegar com `/kit vip` após esperar 24h
**Dar kit oculto:**
```
/dkkit give <jogador> vip
```
release
DK KITS 1.17-SNAPSHOT
1.17-SNAPSHOT8 мар. 2026 г.105Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Что нового
## 🎉 Novidades do DKKits
### Novo Comando: `/dkkit give`
Adicionado o comando `/dkkit give <jogador> <kit>` (ou `/dkkit dar <jogador> <kit>`) que permite aos administradores dar kits diretamente para jogadores!
**Funcionalidades:**
- ✅ Dá qualquer kit para qualquer jogador online
- ✅ Verifica automaticamente se o jogador tem espaço no inventário
- ✅ Se não couber tudo, dropa os itens extras no chão
- ✅ Mensagens de confirmação tanto para quem deu quanto para quem recebeu
- ✅ Suporte completo ao **PlaceholderAPI** - você pode usar placeholders no nome do jogador!
**Exemplos de uso:**
```
/dkkit give Steve starter
/dkkit dar Alex vip
/dkkit give %player_name% iniciante
/dkkit give %vault_rank% premium
```
**Integração com PlaceholderAPI:**
O comando agora suporta placeholders do PlaceholderAPI no argumento do jogador. Isso significa que você pode usar este comando em outros plugins (como sistemas de recompensa, quests, etc.) e usar placeholders para definir dinamicamente qual jogador vai receber o kit!
**Permissão necessária:** `dkkits.admin` (padrão: op)
**Mensagens de erro:**
- Avisa se o jogador não está online
- Avisa se o kit não existe
- Avisa se o jogador não tem espaço no inventário
release
DK KITS 1.16-SNAPSHOT
1.16-SNAPSHOT14 февр. 2026 г.594Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Что нового
🔒 Bug Crítico Corrigido: Jogadores Sem OP Criando Kits Infinitos
Problema: Jogadores sem permissão dkkits.admin conseguiam clicar na bigorna (ANVIL) na interface /kit e criar kits infinitamente, permitindo abuso do sistema.
Causa: No KitListGUI.java, a verificação de permissão não estava sendo feita quando o jogador clicava na bigorna.
alpha
DK KITS 1.15-SNAPSHOT
1.15-SNAPSHOT5 февр. 2026 г.262Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, folia, paper, purpur, spigot
Что нового
## 📋 Resumo Executivo
O plugin DKKits foi completamente refatorado para funcionar em todas as versões do Minecraft de 1.8.8 até 1.21+, incluindo suporte total para Paper e Folia. As principais mudanças incluem:
- ✅ Compatibilidade de materiais entre versões
- ✅ Sistema de detecção de GUI por estrutura (fallback para títulos null)
- ✅ Correção de bugs de duplicação de kits
- ✅ Implementação completa do scheduler do Folia
- ✅ Sistema de debug configurável
- ✅ Separação correta de eventos entre diferentes GUIs
---
## 🔧 Atualizações Técnicas Detalhadas
### 1. Configuração do Build (build.gradle)
**Objetivo**: Permitir compilação com Java 8 para compatibilidade máxima
**Mudanças**:
- Java alterado de 21 para 8
- API do Spigot alterada de `1.21` para `1.16.5`
- Configurado `sourceCompatibility` e `targetCompatibility` para Java 8
- Mantido repositórios Maven para Paper e Spigot
**Resultado**: Plugin compila com Java 8 e gera bytecode compatível com JVM 8+
---
### 2. Plugin Metadata (plugin.yml)
**Objetivo**: Declarar compatibilidade correta com versões antigas
**Mudanças**:
- `api-version` alterado de `1.21` para `1.13`
- `folia-supported` mantido como `true`
- Comandos e permissões preservados
**Resultado**: Plugin carrega corretamente em servidores 1.8.8 até 1.21+
---
### 3. Sistema de Compatibilidade de Inventário (InventoryCompat.java)
**Objetivo**: Resolver problema de títulos nulos em versões 1.8-1.14
**Problema**: Em versões antigas (especialmente 1.14.1), `getTitle()` retorna `null`, impedindo identificação de GUIs
**Solução**: Criada classe utilitária com múltiplos métodos de fallback
**Métodos de detecção de título**:
1. `getTitle()` no `InventoryView` (1.14+)
2. `title()` com Adventure API (Paper moderno)
3. `getTitle()` no `Inventory` (algumas versões)
4. `getName()` no `Inventory` (1.8-1.13)
**Sistema de detecção por estrutura** (quando título é null):
**KitListGUI**:
- Detecta por ANVIL no slot 53
- Verifica ausência de BARRIER no slot 45
- Tamanho: 54 slots
**KitWizardGUI - Tela de Permissão**:
- Detecta por WOOL nos slots 11 e 15
- Verifica se sessão não tem itens ainda
- Tamanho: 27 slots
**KitWizardGUI - Tela de Itens**:
- Detecta por BARRIER no slot 45
- Tamanho: 54 slots
**KitWizardGUI - Tela de Confirmação**:
- Detecta por WOOL nos slots 11 e 15
- Verifica se sessão já tem itens definidos
- Tamanho: 27 slots
**KitEditorGUI**:
- Detecta por NAME_TAG no slot 10
- Detecta por CHEST no slot 14
- Detecta por PAPER no slot 20
- Tamanho: 27 slots
**Resultado**: Todas as GUIs funcionam perfeitamente mesmo quando `getTitle()` retorna null
---
### 4. Compatibilidade de Materiais
**Objetivo**: Usar nomes corretos de materiais para cada versão
**Materiais atualizados**:
| Material Moderno | Material Legado (1.8) | Uso |
|-----------------|----------------------|-----|
| `REDSTONE_TORCH` | `REDSTONE_TORCH_ON` | Ícone de permissão |
| `CLOCK` | `WATCH` | Ícone de cooldown |
| `NAME_TAG` | `NAME_TAG` | Ícone de renomear |
**Lã colorida** (sistema especial):
**1.8-1.12**: Usa `Material.WOOL` com data values (durability)
```java
// Verde (Lime)
ItemStack greenWool = new ItemStack(Material.WOOL, 1, (short) 5);
// Vermelho (Red)
ItemStack redWool = new ItemStack(Material.WOOL, 1, (short) 14);
```
**1.13+**: Usa tipos específicos
```java
Material.LIME_WOOL
Material.RED_WOOL
```
**Método helper**:
```java
private Material getMaterialCompat(String modernName, String legacyName) {
try {
return Material.valueOf(modernName);
} catch (IllegalArgumentException e) {
return Material.valueOf(legacyName);
}
}
```
**Resultado**: Todos os itens aparecem corretamente em todas as versões
---
### 5. Remoção de APIs Modernas
**Objetivo**: Eliminar dependências de Java 9+ e Minecraft 1.13+
**ItemFlag** (não existe em 1.8):
```java
// ANTES (não funciona em 1.8)
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
// DEPOIS (com reflexão)
try {
Class<?> itemFlagClass = Class.forName("org.bukkit.inventory.ItemFlag");
Object hideAttributes = itemFlagClass.getEnumConstants()[0];
meta.getClass().getMethod("addItemFlags", itemFlagClass)
.invoke(meta, hideAttributes);
} catch (Exception ignored) {}
```
**Lambdas convertidos para classes anônimas**:
```java
// ANTES
requestText(playerId, input -> {
// código
});
// DEPOIS
requestText(playerId, new java.util.function.Consumer<String>() {
public void accept(String input) {
// código
}
});
```
**List.of() substituído** (só existe em Java 9+):
```java
// ANTES
List<String> list = List.of("item1", "item2");
// DEPOIS
List<String> list = Arrays.asList("item1", "item2");
// ou
List<String> list = new ArrayList<>();
list.add("item1");
list.add("item2");
```
**Enchantment.UNBREAKING**:
```java
// ANTES (1.13+)
Enchantment.UNBREAKING
// DEPOIS (1.8)
Enchantment.DURABILITY
```
**Resultado**: Código compila e executa em Java 8 sem erros
---
### 6. Scheduler Folia (Compatibilidade Completa)
**Objetivo**: Funcionar tanto em Paper/Spigot quanto em Folia
**Detecção automática**:
```java
public static boolean isFolia() {
try {
Class.forName("io.papermc.paper.threadedregions.RegionizedServer");
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
```
**Implementação com múltiplos fallbacks**:
1. **EntityScheduler** (preferencial para Folia):
- `run(plugin, task, null, 0L)` - 4 parâmetros
- `run(plugin, task, null)` - 3 parâmetros
- `run(plugin, task)` - 2 parâmetros
- `execute(plugin, task)` - método alternativo
2. **GlobalRegionScheduler** (fallback):
- `run(plugin, task)`
- `execute(plugin, task)`
3. **BukkitScheduler** (Paper/Spigot):
- `runTask(plugin, task)`
- `runTaskLater(plugin, task, delay)`
**Métodos implementados**:
```java
// Executa tarefa imediatamente
runTaskForPlayer(Player player, Runnable task)
// Executa com delay
runTaskLaterForPlayer(Player player, Runnable task, long delay)
// Abre inventário de forma segura
openInventoryForPlayer(Player player, Inventory inventory)
```
**Resultado**: Plugin funciona perfeitamente em Paper, Spigot e Folia
---
### 7. Sistema de Debug Configurável
**Objetivo**: Permitir debug sem poluir logs em produção
**Configuração** (config.yml):
```yaml
debug: false # Padrão: desativado
```
**Implementação**:
```java
public boolean isDebugEnabled() {
return getConfig().getBoolean("debug", false);
}
// Uso
if (plugin.isDebugEnabled()) {
plugin.getLogger().info("Debug message");
}
```
**Logs de debug incluem**:
- Detecção de métodos do scheduler Folia
- Passos de criação de kits (nome, permissão, itens)
- Processamento de eventos de GUI
- Detecção de títulos de inventário e fallbacks
- Cliques em lã e detecção de data values
- Identificação de GUIs por estrutura
**Resultado**: Logs limpos em produção, debug detalhado quando necessário
---
### 8. Correção de Bug: Duplicação de Kits
**Problema**: Kit sendo criado duas vezes ao confirmar wizard
- Um kit com nome correto
- Um kit com nome `null` (falhava)
**Causa**: Double-click processando evento duas vezes
**Solução**:
```java
// Verificar se já está processando
if (session.getName() == null) {
// Sessão já foi processada e limpa
player.closeInventory();
return;
}
// Processar criação do kit
Kit kit = new Kit(kitName);
// ... configurar kit ...
// Limpar sessão ANTES de fechar inventário
plugin.clearCreationSession(player.getUniqueId());
creationSessions.remove(player.getUniqueId());
// Enviar mensagem e fechar
player.sendMessage("Kit criado!");
player.closeInventory();
```
**Resultado**: Kits criados apenas uma vez, sem duplicatas
---
### 9. Correção de Bug: Wizard não Respondia a Cliques em 1.8.8
**Problema**: Cliques em lã verde/vermelha não faziam nada na tela de permissão
**Causa**: `GuiUtil.simpleItem()` criava novo ItemStack sem durability, então comparação falhava
**Solução**:
```java
// Criar ItemStack com durability diretamente
Material woolType = getMaterialCompat("LIME_WOOL", "WOOL");
ItemStack greenWool = new ItemStack(woolType, 1, (short) 5);
ItemMeta greenMeta = greenWool.getItemMeta();
if (greenMeta != null) {
greenMeta.setDisplayName("§aYes");
greenWool.setItemMeta(greenMeta);
}
// No click handler, verificar data value
short data = clicked.getDurability();
if (data == 5 || clicked.getType().name().contains("LIME")) {
// Verde clicado
}
```
**Logs de debug adicionados**:
```
[DKKITS] Permission step - Clicked item: RED_WOOL durability: 14
[DKKITS] Wool clicked! Data value: 14, Type: RED_WOOL
[DKKITS] Red wool detected - setting permission required to false
```
**Resultado**: Wizard funciona perfeitamente em 1.8.8
---
### 10. Correção de Bug: KitWizardGUI Processando Eventos do KitEditorGUI
**Problema**: Ao abrir `/dkkit edit inicial` em 1.14.1, KitWizardGUI processava os cliques
**Sintomas**:
```
[DKKITS] KitWizardGUI - Click detected. Title: 'null'
[DKKITS] KitWizardGUI - Raw slot: 16
[DKKITS] KitWizardGUI - Detected permission screen by WOOL...
```
**Causa**:
- KitWizardGUI verificava sessão DEPOIS de começar a processar evento
- Não excluía explicitamente KitEditorGUI
- Ambas as GUIs têm 27 slots
**Solução**:
**1. Detecção explícita de KitEditorGUI**:
```java
// Verificar se NÃO é KitEditorGUI antes de processar
if (topInv.getSize() == 27) {
ItemStack slot10 = topInv.getItem(10);
ItemStack slot14 = topInv.getItem(14);
ItemStack slot20 = topInv.getItem(20);
Material nameTagMat = getMaterialCompat("NAME_TAG", "NAME_TAG");
if (slot10 != null && slot10.getType() == nameTagMat &&
slot14 != null && slot14.getType() == Material.CHEST &&
slot20 != null && slot20.getType() == Material.PAPER) {
// É KitEditorGUI, não processar aqui
return;
}
}
```
**2. Reordenação de checks**:
- Verificar tipo de GUI PRIMEIRO
- Verificar sessão DEPOIS
**3. Log de debug**:
```java
if (plugin.isDebugEnabled()) {
plugin.getLogger().info("KitWizardGUI - Ignoring KitEditorGUI event");
}
```
**Resultado**: KitWizardGUI não interfere mais com KitEditorGUI
---
### 11. Armazenamento de Nome do Kit no KitEditorGUI
**Problema**: KitEditorGUI dependia do título do inventário para obter nome do kit
**Causa**: Título era null em 1.14.1
**Solução**:
```java
public class KitEditorGUI implements Listener {
private final DKKits plugin;
private final String kitName; // Armazenar nome
private KitEditorGUI(DKKits plugin, String kitName) {
this.plugin = plugin;
this.kitName = kitName; // Salvar no construtor
}
@EventHandler
public void onClick(InventoryClickEvent event) {
// Usar kitName em vez de extrair do título
Kit kit = plugin.getKitManager().get(kitName);
}
}
```
**Resultado**: KitEditorGUI funciona independente do título do inventário
---
## 🎯 Funcionalidades Testadas e Funcionando
### ✅ Versão 1.8.8 (Paper)
- Criação de kits via wizard
- Edição de kits existentes
- Listagem de kits
- Uso de kits
- Sistema de permissões
- Sistema de cooldown
- Todas as GUIs funcionando
- Lã colorida com data values
### ✅ Versão 1.14.1 (Paper)
- Criação de kits via wizard
- Edição de kits existentes
- Listagem de kits
- Uso de kits
- Sistema de permissões
- Sistema de cooldown
- Detecção de GUI por estrutura (título null)
- Separação correta de eventos entre GUIs
### ✅ Versão 1.21+ (Paper/Folia)
- Todas as funcionalidades acima
- Scheduler Folia funcionando
- Materiais modernos
- Adventure API (quando disponível)
---
## 🛠️ Compilação
### Requisitos
- Java 8 (JDK 8)
- Gradle (incluído via wrapper)
### Comandos
**Windows**:
```cmd
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-8.0.472.8-hotspot
gradlew.bat clean build
```
**Linux/Mac**:
```bash
export JAVA_HOME=/path/to/jdk8
./gradlew clean build
```
### Resultado
- Arquivo JAR: `build/libs/DKKITS-1.0-SNAPSHOT.jar`
- Compatível com Minecraft 1.8.8 até 1.21+
- Funciona em Paper, Spigot e Folia
---
## 📝 Configuração
### config.yml
```yaml
# Ativar logs de debug (padrão: false)
debug: false
# Idioma do plugin
language: pt_br
```
### Flags de Inicialização
**Para 1.8.8 com Java 8**:
```bash
java -jar paper-1.8.8.jar
```
**Para 1.21+ com Java 21**:
```bash
java -jar paper-1.21.jar
```
---
## 🐛 Bugs Corrigidos
| # | Bug | Status | Versão Afetada |
|---|-----|--------|----------------|
| 1 | Duplicação de kits ao confirmar wizard | ✅ Corrigido | Todas |
| 2 | Wizard não respondia a cliques em lã | ✅ Corrigido | 1.8.8 |
| 3 | Título null em inventários | ✅ Corrigido | 1.8-1.14 |
| 4 | KitWizardGUI processando eventos do KitEditorGUI | ✅ Corrigido | 1.14.1 |
| 5 | Materiais incompatíveis | ✅ Corrigido | 1.8-1.12 |
| 6 | Scheduler Folia não funcionando | ✅ Corrigido | Folia |
---
## 📊 Estatísticas do Projeto
- **Versões suportadas**: 1.8.8 até 1.21+ (13+ versões)
- **Servidores compatíveis**: Spigot, Paper, Folia
- **Arquivos modificados**: 12
- **Linhas de código adicionadas**: ~500
- **Bugs corrigidos**: 6
- **Sistemas de compatibilidade**: 4 (Materiais, Inventário, Scheduler, GUI)
- **Tempo de desenvolvimento**: Múltiplas sessões
- **Testes realizados**: 3 versões (1.8.8, 1.14.1, 1.21+)
---
## 🎉 Conclusão
O plugin DKKits agora é **totalmente compatível** com Minecraft 1.8.8 até 1.21+, funcionando perfeitamente em Paper, Spigot e Folia.
Todos os sistemas foram testados e validados:
- ✅ Criação de kits
- ✅ Edição de kits
- ✅ Listagem de kits
- ✅ Uso de kits
- ✅ Sistema de permissões
- ✅ Sistema de cooldown
- ✅ Todas as interfaces gráficas
- ✅ Compatibilidade com Folia
O plugin está pronto para uso em produção em qualquer versão do Minecraft de 1.8.8 em diante.
alpha
DK KITS 1.14-SNAPSHOT
1.14-SNAPSHOT16 янв. 2026 г.509Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, spigot
Что нового
added support for English and Brazilian Portuguese - version compatible with all versions
alpha
DK KITS 1.13-SNAPSHOT
1.13-SNAPSHOT16 янв. 2026 г.41Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper
Что нового
added support for English and Brazilian Portuguese
alpha
DK KITS 1.12-SNAPSHOT
1.12-SNAPSHOT8 сент. 2025 г.1,4 тыс.Minecraft: 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.11-SNAPSHOT
1.11-SNAPSHOT3 сент. 2025 г.69Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.10-SNAPSHOT
1.10-SNAPSHOT28 авг. 2025 г.56Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.9-SNAPSHOT
1.9-SNAPSHOT27 авг. 2025 г.28Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.8-SNAPSHOT
1.8-SNAPSHOT22 авг. 2025 г.92Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.7-SNAPSHOT
1.7-SNAPSHOT22 авг. 2025 г.38Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot
alpha
DK KITS 1.6-SNAPSHOT
1.6-SNAPSHOT9 авг. 2025 г.94Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur, spigot