CGRLabs/horizon-content-mod

Construir, validar e instalar mods de conteúdo (.hmod) para Horizon — mods baseados em dados para o jogo Horizon (o reescrita em Rust do Minecraft Java Edition 26.3).

O que é horizon-content-mod?

Este skill permite que você crie, valide e instale mods de conteúdo do Horizon (.hmod), que são mods puramente baseados em dados e assets, sem código executável. Ele é útil para desenvolvedores que desejam adicionar receitas, blocos, itens, tabelas de saque, tags ou arquivos de idioma ao jogo Horizon, um reescrita em Rust do Minecraft Java Edition 26.3. O skill suporta as ferramentas de linha de comando do ecossistema Horizon, como `cargo horizon-mod` para scaffolding, construção e verificação, e `horizon-inspect` para validação adicional. Ele também descreve um fluxo de trabalho passo a passo, incluindo a criação de um mod, adição de conteúdo sob um namespace próprio, construção, verificação e instalação no diretório correto de mods do jogo. O skill alerta sobre armadilhas comuns, como declarações de novos itens/blocos que podem ser silenciosamente rejeitados pelo jogo, e enfatiza a importância de testar cada tipo de conteúdo individualmente. Sua documentação detalhada (referências) ajuda a evitar falhas silenciosas e a entender o formato do manifesto, layouts de dados e regras de validação.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CGRLabs/horizon-ai-skills/tree/HEAD/skills/horizon-content-mod

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Mods de Conteúdo Horizon (.hmod)

Mods de conteúdo Horizon são apenas dados e assets — sem código. Um .hmod é um zip contendo um manifesto horizon-mod.toml mais diretórios opcionais assets/ e data/, sobrepostos aos recursos base do jogo na inicialização. WebAssembly (mod.wasm) está morto e rejeitado. Se o usuário deseja comportamento executável, isso é um mod nativo — veja o skill horizon-native-mod.

O ciclo de trabalho

  1. Estruturar a pasta do projeto (manifesto + data//assets/), ou execute cargo horizon-mod new <caminho> --name "Nome". Se usou a estrutura: remova seu conteúdo de exemplo gerado (blockstates, items, models, block declarations, loot tables e tudo sob data/minecraft/) antes de adicionar o seu — ele demonstra os padrões de falha silenciosa descritos em references/pitfalls.md. Mantenha apenas o manifesto e seus próprios arquivos.
  2. Adicionar conteúdo sob o próprio namespace do mod: data/<id-do-mod>/recipe/..., assets/<id-do-mod>/lang/.... Nunca escreva em data/minecraft/ — coloque as substituições em data/<id-do-mod>/.
  3. Construir: cargo horizon-mod build → produz target/horizon-mod/<id>.hmod.
  4. Verificar: cargo horizon-mod check target/horizon-mod/<id>.hmod.
  5. Instalar: copie o .hmod para o diretório horizon-mods/ do jogo. Onde ele fica: dentro da pasta de instalação do Horizon, ao lado de horizon-client.exe e horizon-mods.txt (ex.: ...\horizon-windows-x64\horizon-mods\) — é de onde nossas instalações carregam. O diretório de dados do usuário (%APPDATA%\Roaming\horizon) é um local diferente e não continha uma pasta de mods. Crie a pasta se uma instalação nova não a tiver.
  6. Habilitar: mods de conteúdo carregam uma vez na inicialização — feche o jogo completamente, reinicie, Opções → Mods → habilitar, feche completamente novamente, reinicie, carregue um mundo.

Após o passo 3, opcionalmente execute horizon-inspect target/horizon-mod/<id>.hmod --json (código de saída 0 = válido) para um relatório de segurança/manifesto se a ferramenta estiver instalada.

Comece pelo que é comprovadamente funcional

Receitas baseadas em dados com IDs de itens vanilla são a base verificada — elas funcionam sem texturas, modelos ou registros de itens:

{
  "type": "minecraft:smelting",
  "cookingtime": 200,
  "experience": 0.35,
  "ingredient": "minecraft:rotten_flesh",
  "result": { "id": "minecraft:leather" }
}

(minecraft:blasting para fornalha alta; cookingtime em ticks, 200 = ~10 s.)

Adicione um tipo de conteúdo por vez e teste novamente após cada um. O Horizon pode rejeitar silenciosamente conteúdo que não entende, então um mod "tudo de uma vez" é impossível de depurar.

Armadilhas conquistadas com esforço (verificadas no Horizon 0.2.97)

Leia references/pitfalls.md antes de projetar qualquer coisa além de receitas com itens vanilla — os modos de falha lá são silenciosos e custam horas. Destaques:

  • Novas declarações de itens/blocos podem não aparecer no jogo; o jogo pode rejeitá-las sem registrar erros.
  • components de itens não são suportados nesta versão.
  • O manifesto usa deny_unknown_fields; IDs de mod são apenas [a-z0-9_].

Referências — leia sob demanda

  • references/manifest-reference.md — referência completa dos campos horizon-mod.toml: linhas de api, capabilities, side, regras de id. Leia antes de escrever qualquer manifesto.
  • references/data-and-assets.md — formatos de dados verificados (receitas, idioma) e layout de assets. Leia ao adicionar conteúdo além de uma receita de fundição.
  • references/pitfalls.md — o catálogo de falhas silenciosas e estratégia de depuração. Leia antes de testar e sempre que "o mod não aparece".
  • references/validation-and-publishing.md — uso do inspector/checker, regras de registro (index.json, revoked.toml, MOD-POLICY), empacotamento determinístico. Leia antes de publicar.

Regras que não são negociáveis

  • Mods de conteúdo declaram capabilities; nunca solicite mais do que o mod precisa — os jogadores veem isso antes de habilitar.
  • Arquivos .jar de mod Java não funcionam no Horizon; não tente portar arquivos .jar, porte seus dados.
  • O Horizon não contém assets da Mojang; nunca agrupe assets do Minecraft em um mod. Derive tudo ou referencie IDs vanilla.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas