SkinChanger é uma solução robusta e de alta performance para gerenciamento de skins em servidores de Minecraft (v1.8.8). Desenvolvido com foco em escalabilidade, o plugin utiliza manipulação de pacotes NMS e texturas em Base64 para garantir trocas de skin instantâneas e persistência de dados via MySQL de forma assíncrona.
- Zero-Lag GUI: Menus carregados via texturas Base64 (Skin Value), eliminando as requisições bloqueantes à API da Mojang ao abrir inventários.
- Asynchronous Database: Integração com HikariCP para garantir que as operações de banco de dados não afetem o TPS do servidor.
- Packet-Level Refresh: Utiliza pacotes
PacketPlayOutRespawnePacketPlayOutPlayerInfopara atualizar a skin do jogador em tempo real para todos ao redor. - Hybrid Storage: Sistema flexível que combina um catálogo de skins via YAML com armazenamento persistente em MySQL.
- Build Tool: Maven 3.8+
- Core API: Spigot 1.8.8-R0.1-SNAPSHOT (v1_8_R3)
- Connection Pool: HikariCP (Máxima performance em conexões SQL)
- Boilerplate Reduction: Lombok
- JSON Engine: Google GSON
O projeto segue padrões de código limpo e injeção de dependência:
me.r1ver.skin.bukkit.skin: Gerenciamento daSkinLibrarye lógica doSkinSelector(Menus).me.r1ver.skin.database: Camada de persistência MySQL rodando em modo Async.me.r1ver.skin.bukkit.utils: Utilitários sêniores comoItemBuildere aSkinAPI(NMS).me.r1ver.skin.bukkit.listener: Handlers de eventos para integração de menus e entrada de jogadores.
🗄 Persistência MySQL Ideal para redes de servidores (BungeeCord/Velocity):
MySQL:
host: '127.0.0.1'
port: 3306
database: 'skin_system'
user: 'root'
password: ''Adicione skins personalizadas que aparecem automaticamente no menu de temas:
skins:
Neymar:
nick: "NeymarJR"
category: "Futebol"
value: "eyJ0ZXh0dXJlcyI6eyJTS0lO..." # Base64 da textura
signature: "..." # Assinatura oficial da Mojang🏗 Como Compilar Certifique-se de ter o Maven instalado. Clone o repositório. Execute o comando:
mvn clean packageDesenvolvido por r1ver 🚀