
O Guia Completo para Criar Datapacks do Minecraft com Kore
Ayfri/Kore
Uma biblioteca Kotlin para gerar Datapacks do Minecraft Java.
Ver no GitHub ↗Escrever datapacks do Minecraft manualmente é como montar móveis sem instruções - tecnicamente possível, mas você perderá horas depurando erros de sintaxe e código duplicado. Kore corta essa frustração ao deixar você construir datapacks em Kotlin, uma linguagem com tipagem segura que detecta seus erros antes de se tornarem mecânicas de jogo quebradas.
O Que Este Projeto Faz
Kore é uma biblioteca Kotlin que transforma a criação de datapacks - de uma tarefa tediosa com arquivos - em programação real. Em vez de escrever manualmente arquivos JSON e scripts de comando, você escreve código Kotlin que gera tudo para você. Foi projetado para Minecraft Java 1.20 e mais recente (incluindo a versão atual 26.1.2), e ele lida com as partes repetitivas - namespacing de funções, geração de tags, estrutura de tabelas de saque, validação de sintaxe de comando.
A biblioteca é modular. Comece com o módulo principal `kore` e adicione outros apenas quando precisar deles. Isso é importante porque datapacks variam muito em escopo. Um pequeno projeto de aprimoramento vanilla não precisa das mesmas ferramentas que algo que cria um sistema de progressão personalizado inteiro.
Por Que Usar Isto
Veja bem - se você é um jogador do Minecraft que já pensou "Gostaria que houvesse um datapack que fizesse X", você provavelmente tentou baixar o trabalho de alguém ou simplesmente desistiu. Mas e se você é programador? Isso muda tudo.
Cenário real - Você quer criar um sistema de crafting personalizado com ferramentas únicas que funcionam apenas em blocos específicos. Em JSON de datapack vanilla, você escreve os mesmos predicados padrão várias vezes. Com Kore, você escreve uma vez, faz referência em qualquer lugar, e se precisar alterar a lógica, você a altera em um único lugar. Tipagem segura significa que você não pode acidentalmente escrever errado uma propriedade de seletor ou referenciar uma função inexistente.
Outro cenário - Você está construindo um servidor com centenas de cadeias de avanço personalizadas. Editar manualmente arquivos JSON nessa escala é pedir por bugs. Kore permite que você use loops, variáveis e funções para gerá-los programaticamente. Quer criar 50 variações de uma mecânica de progressão? Um único loop faz isso.
Ou você está criando datapacks cosméticos com efeitos de partículas. Os construtores de seletor tipados do Kore facilitam genuinamente a construção de direcionamento complexo de jogadores sem memorizar a sintaxe completa do seletor. Isso importa quando você tem várias condições - direcionar jogadores em modo sobrevivência, dentro de um raio, que não têm uma tag específica.
Começando
A instalação é direta se você já está usando Gradle. Adicione a dependência ao seu `build.gradle.kts`:

dependencies {
implementation("io.github.ayfri.kore:kore:2.0.2-1.21.11")
}
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xcontext-parameters")
}
jvmToolchain(21)
}O sinalizador `-Xcontext-parameters` é importante - ele ativa a magia DSL do Kore. Java 21 ou mais recente é necessário, o que não deve ser um problema nos dias atuais.
A maneira mais fácil de começar é clonar o projeto Kore Template, que oferece uma configuração de compilação funcionando e estrutura de exemplo já configurada. Alternativamente, crie um arquivo `Main.kt` e comece com o guia de Primeiros Passos da documentação oficial.
Se você quiser versões vanguardistas construídas a partir de cada commit, adicione o repositório de snapshots da Sonatype e use o sufixo `-SNAPSHOT`. A maioria das pessoas não precisa disso - fique com as versões estáveis do Maven Central.
Recursos Principais Que Importam
Seletores Tipados - Construir seletores de alvo do Minecraft é onde as pessoas geralmente começam a cometer erros. Kore fornece uma API de construtor que impede combinações inválidas. Você obtém autocompletar em seu IDE, em vez de adivinhar a sintaxe do seletor. Quer jogadores com uma pontuação entre 5 e 10? Digite com métodos apropriados em vez de procurar na documentação.
Construção de Comandos - A biblioteca conhece a sintaxe de cada comando do Minecraft 1.20+. Isso significa que você obtém validação em tempo de compilação. Se você digitar errado um argumento de comando, sua compilação falha, não seu datapack. O guia de comandos da documentação é completo, cobrindo tudo desde comandos básicos de tell até comandos say complexos com formatação.
Arquitetura Modular - A funcionalidade principal é separada dos módulos especializados. Quer trabalhar com árvores de avanço? Adicione o módulo de avanços. Construindo predicados de item? Adicione esse módulo. Você apenas carrega o que usa, mantendo tempos de compilação e carga cognitiva baixos.
A última versão adicionou uma seção Cookbook à documentação, que demonstra padrões comuns - manipulação de NBT de entidade, condicionais baseadas em pontuação, efeitos de partículas. Esses não são óbvios quando você está começando, então tê-los documentados economiza tentativa e erro.
O Que Confunde as Pessoas
O maior problema - Curva de aprendizado do Kotlin. Se você nunca usou Kotlin antes, há um período de aquecimento. É semelhante a Java, mas com açúcar de sintaxe suficiente para quebrar suposições casuais. Nada impossível para quem tem experiência em programação, mas vale a pena saber de antemão.
Segundo - Estrutura do diretório de saída de compilação. Certifique-se de que você entende para onde Kore escreve seus arquivos gerados e que seu ambiente de desenvolvimento (servidor de teste, pasta de compilação) está configurado para carregá-los. Esquecer isso custa tempo de depuração.
O sinalizador do compilador `-Xcontext-parameters` é obrigatório para o DSL funcionar. Esqueça disso e você obterá erros enigmáticos sobre receptores de contexto ausentes. Está em todos os guias de configuração, mas causa problemas para pessoas que fazem configuração de compilação personalizada.
Como Se Compara Às Alternativas
Não há equivalente exato. DataPack Crafters é um editor visual de datapack, mas é restritivo e não lida com lógica complexa. Escrever datapacks em JavaScript existe como uma opção, mas então você está aprendendo outra linguagem e lidando com ferramentas diferentes.
Falando a verdade - Kore assume que você conhece Kotlin ou quer aprendê-lo. Se você está confortável com Python ou Java e quer uma DSL de datapack, essa é sua melhor opção. Se você nunca quer tocar em código, Kore não é a ferramenta.
Ao construir conteúdo complexo como sistemas de itens personalizados ou mecânicas de progressão do servidor, gaste tempo explorando skins criadas pela comunidade para inspiração sobre possibilidades cosméticas que seu datapack pode desbloquear. Se seu datapack lida com blocos ou materiais personalizados, a busca de blocos do Minecraft é útil como referência.O projeto tem bom suporte comunitário via Slack e Discord, e o mantenedor (Ayfri) revisa ativamente issues e pull requests. A documentação é completa e acompanha os lançamentos do Minecraft.
Ayfri/Kore - GPL-3.0, ⭐133Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Have a Question or Tip about this Guide?Community Q&A
Ask a question or help other players below. Join the discussion and share your Minecraft tips!
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


