Communityコーディング&開発github.com

CGRLabs/horizon-content-mod

HorizonコンテンツMod(.hmod)の構築、検証、インストールを行います。レシピ、ブロック、アイテム、ルートテーブル、タグ、言語ファイルの追加や、ゲーム内に表示されないModの修正、horizon-mod.tomlの確認などに使用します。

horizon-content-mod とは?

このスキルは、Horizonゲーム(Minecraft Java Edition 26.3のRustリライト版)向けのデータ駆動型コンテンツMod(.hmod)の作成、検証、インストールを支援します。Cargoベースのツールチェーン(`cargo horizon-mod`)を使用して、Modプロジェクトのスキャフォールドからビルド、チェック、インストール、有効化までの一連のワークフローをガイドします。特に、データパックスタイルのコンテンツをJava版から移植する場合や、新しいレシピ、ブロック、アイテム、ルートテーブル、タグ、言語ファイルを追加する場合に使用します。また、Modがゲーム内に表示されないサイレントエラーのトラブルシューティングや、`horizon-mod.toml`のキャパビリティ設定などに関する詳細なリファレンスも提供します。このスキルは、コードなしでデータとアセットのみで構成されるコンテンツModに特化しており、WebAssembly(.wasm)やJavaの.jarファイルはサポートしません。

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

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Horizon コンテンツ Mod (.hmod)

Horizon コンテンツ Mod は データとアセットのみ — コードはありません。.hmod は horizon-mod.toml マニフェストと、オプションの assets/ および data/ ディレクトリを含む zip ファイルで、起動時にゲームの基本リソースの上にレイヤーとして適用されます。WebAssembly (mod.wasm) は廃止され、拒否されます。実行可能な動作が必要な場合は、ネイティブ Mod です — horizon-native-mod スキルを参照してください。

作業ループ

  1. スキャフォールド プロジェクトフォルダ(マニフェスト + data//assets/)を作成するか、cargo horizon-mod new <path> --name "Name" を実行します。スキャフォールドを使用した場合: あなたのコンテンツを追加する前に、生成されたサンプルコンテンツ(blockstates、items、models、block declarations、loot tables、および data/minecraft/ 配下のすべて)を削除してください。これらは references/pitfalls.md に記載されている、まさにサイレントに失敗するパターンを示しています。マニフェストと自分のファイルのみを残します。
  2. コンテンツを追加 Mod 自身の名前空間の下に: data/<mod-id>/recipe/...、assets/<mod-id>/lang/...。data/minecraft/ に書き込まないでください — オーバーライドは data/<mod-id>/ に配置します。
  3. ビルド: cargo horizon-mod build → target/horizon-mod/<id>.hmod を生成します。
  4. チェック: cargo horizon-mod check target/horizon-mod/<id>.hmod。
  5. インストール: .hmod をゲームの horizon-mods/ ディレクトリにコピーします。その場所: Horizon インストールフォルダ内、horizon-client.exe と horizon-mods.txt の隣(例: ...\horizon-windows-x64\horizon-mods\) — これがインストールが読み込む場所です。ユーザーデータディレクトリ(%APPDATA%\Roaming\horizon)は別の場所であり、mods フォルダは保持されていません。新しいインストールにない場合はフォルダを作成します。
  6. 有効化: コンテンツ Mod は起動時に一度だけ読み込まれます — ゲームを完全に終了し、再起動し、オプション → Mod → 有効化し、再度完全に終了し、再起動し、ワールドを読み込みます。

ステップ 3 の後、ツールがインストールされていれば、オプションで horizon-inspect target/horizon-mod/<id>.hmod --json(終了コード 0 = 有効)を実行して、セキュリティ/マニフェストレポートを取得できます。

動作確認済みのものから始める

バニラアイテム ID を使用したデータ駆動型 レシピが検証済みのベースラインです — テクスチャ、モデル、アイテム登録は不要です:

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

(minecraft:blasting はかまどの場合; cookingtime は ticks 単位、200 = 約10秒)

一度に一種類のコンテンツを追加し、その都度再テストしてください。 Horizon は理解できないコンテンツをサイレントに拒否する可能性があるため、一度に大量の変更を加えるとデバッグが不可能になります。

苦労して得た落とし穴(Horizon 0.2.97 で確認済み)

バニラアイテムレシピ以外のものを設計する前に references/pitfalls.md を読んでください — そこにある障害モードはサイレントで、何時間も費やすことになります。ハイライト:

  • 新しいアイテム/ブロックの宣言は ゲーム内に表示されないことがあります; ゲームはエラーログを出さずにそれらを拒否する可能性があります。
  • アイテム components はこのバージョンではサポートされていません。
  • マニフェストは deny_unknown_fields を使用します; Mod ID は [a-z0-9_] のみです。

リファレンス — オンデマンドで参照

  • references/manifest-reference.md — horizon-mod.toml の全フィールドリファレンス: API lines、capabilities、side、id ルール。マニフェストを書く前に読んでください。
  • references/data-and-assets.md — 検証済みデータ形式(レシピ、言語)とアセットレイアウト。1つの精錬レシピ以上のコンテンツを追加するときに読んでください。
  • references/pitfalls.md — サイレント障害カタログとデバッグ戦略。テスト前および「Mod が表示されない」ときに読んでください。
  • references/validation-and-publishing.md — インスペクタ/チェッカーの使用方法、レジストリルール(index.json、revoked.toml、MOD-POLICY)、決定論的パッケージング。公開前に読んでください。

譲れないルール

  • コンテンツ Mod はキャパビリティを宣言します; Mod が必要とする以上のものを要求しないでください — プレイヤーは有効化する前にこれらを確認します。
  • Java Mod の jar は Horizon では実行されません; .jar ファイルを移植しようとしないでください。代わりにその データ を移植してください。
  • Horizon には Mojang のアセットは含まれていません; Minecraft のアセットを Mod にバンドルしないでください。すべてを独自に派生させるか、バニラの ID を参照してください。

Individual skills in this repo

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

関連スキル