CGRLabs/horizon-content-mod

Construisez, validez et installez des mods de contenu Horizon (.hmod) — des mods basés sur les données pour le jeu Horizon (la réécriture en Rust de Minecraft Java Edition 26.3).

Qu'est-ce que horizon-content-mod ?

Ce skill vous permet de créer, valider et installer des mods de contenu pour le jeu Horizon (le portage en Rust de Minecraft Java Edition 26.3). Les mods de contenu Horizon sont purement basés sur les données et les assets, sans code exécutable : un fichier .hmod est simplement une archive ZIP contenant un manifeste `horizon-mod.toml`, ainsi que des dossiers `data/` et `assets/` optionnels. Le skill vous guide tout au long du processus de développement (scaffolding, ajout de contenu, construction avec `cargo horizon-mod build`, validation avec `cargo horizon-mod check`, et installation dans le dossier `horizon-mods/` du jeu). Il met en garde contre les pièges courants (déclarations d'items/blocs qui échouent silencieusement, utilisation de `components`, règles strictes du manifeste) et vous oriente vers des ressources de référence (manifeste, formats de données, validation, publication). Utilisez ce skill pour toute création de mod Horizon qui ajoute des recettes, blocs, objets, tables de butin, tags, fichiers de langue, ou pour résoudre des problèmes de mod qui n'apparaît pas en jeu.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Mods de contenu Horizon (.hmod)

Les mods de contenu Horizon sont données et assets uniquement — pas de code. Un .hmod est une archive ZIP contenant un manifeste horizon-mod.toml ainsi que les répertoires optionnels assets/ et data/, superposés aux ressources de base du jeu au démarrage. WebAssembly (mod.wasm) est mort et rejeté. Si l'utilisateur souhaite un comportement exécutable, il s'agit d'un mod natif — voir le skill horizon-native-mod à la place.

Le cycle de travail

  1. Échafauder le dossier du projet (manifeste + répertoires data//assets/), ou exécuter cargo horizon-mod new <chemin> --name "Nom". Si vous avez utilisé l'échafaudage : supprimez son contenu d'exemple généré (blockstates, items, models, déclarations de blocs, tables de butin, et tout ce qui se trouve sous data/minecraft/) avant d'ajouter le vôtre — il illustre les schémas d'échec silencieux décrits dans references/pitfalls.md. Ne conservez que le manifeste et vos propres fichiers.
  2. Ajouter du contenu sous le propre espace de noms du mod : data/<mod-id>/recipe/..., assets/<mod-id>/lang/.... N'écrivez jamais dans data/minecraft/ — placez les surcharges dans data/<mod-id>/.
  3. Compiler : cargo horizon-mod build → produit target/horizon-mod/<id>.hmod.
  4. Vérifier : cargo horizon-mod check target/horizon-mod/<id>.hmod.
  5. Installer : copiez le .hmod dans le répertoire horizon-mods/ du jeu. Où se trouve-t-il ? Dans le dossier d'installation d'Horizon, à côté de horizon-client.exe et horizon-mods.txt (par exemple ...\horizon-windows-x64\horizon-mods\) — c'est de là que nos installations chargent les mods. Le répertoire de données utilisateur (%APPDATA%\Roaming\horizon) est un emplacement différent et ne contient pas de dossier de mods. Créez le dossier si une installation fraîche ne l'a pas.
  6. Activer : les mods de contenu se chargent une fois au démarrage — quittez complètement le jeu, relancez, Options → Mods → activer, quittez complètement à nouveau, relancez, chargez un monde.

Après l'étape 3, vous pouvez éventuellement exécuter horizon-inspect target/horizon-mod/<id>.hmod --json (exit 0 = valide) pour un rapport de sécurité/ manifeste si l'outil est installé.

Commencez par ce qui est prouvé pour fonctionner

Les recettes basées sur les données avec des IDs d'objets vanilla sont la base vérifiée — elles fonctionnent sans textures, modèles ou enregistrements d'objets :

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

(minecraft:blasting pour le haut fourneau ; cookingtime en ticks, 200 = ~10 s.)

Ajoutez un type de contenu à la fois et retestez après chacun. Horizon peut rejeter silencieusement le contenu qu'il ne comprend pas, donc un mod "big-bang" est impossible à déboguer.

Pièges durement acquis (vérifiés sur Horizon 0.2.97)

Lisez references/pitfalls.md avant de concevoir quoi que ce soit au-delà des recettes d'objets vanilla — les modes d'échec y sont silencieux et coûtent des heures. Points clés :

  • Les déclarations de nouveaux objets/blocs peuvent ne pas apparaître en jeu ; le jeu peut les rejeter sans journaliser d'erreurs.
  • Les components d'objets ne sont pas pris en charge dans cette version.
  • Le manifeste utilise deny_unknown_fields ; les identifiants de mod sont [a-z0-9_] uniquement.

Références — lisez à la demande

  • references/manifest-reference.md — référence complète des champs horizon-mod.toml : lignes d'API, capacités, côté, règles d'ID. Lisez avant d'écrire un manifeste.
  • references/data-and-assets.md — formats de données vérifiés (recettes, lang) et disposition des assets. Lisez lorsque vous ajoutez du contenu au-delà d'une recette de cuisson.
  • references/pitfalls.md — le catalogue des échecs silencieux et la stratégie de débogage. Lisez avant de tester et chaque fois que "le mod n'apparaît pas".
  • references/validation-and-publishing.md — utilisation de l'inspecteur/vérificateur, règles de registre (index.json, revoked.toml, MOD-POLICY), empaquetage déterministe. Lisez avant de publier.

Règles non négociables

  • Les mods de contenu déclarent des capacités ; ne demandez jamais plus que ce dont le mod a besoin — les joueurs les voient avant d'activer.
  • Les fichiers jar de mods Java ne s'exécutent pas dans Horizon ; n'essayez pas de porter des fichiers .jar, portez leurs données à la place.
  • Horizon ne contient aucun asset de Mojang ; n'incorporez jamais d'assets Minecraft dans un mod. Dérivez tout ou référencez les IDs vanilla.

Individual skills in this repo

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

Skills associés