minecraft-builder-skill について
Lodestone のヘルパー関数を使い、JavaScript のレシピから Minecraft の構造物を作成するスキルです。バニラ形式の `.nbt` を生成し、ビューアで確認や反復調整ができます。
主な機能
- 01JavaScript による建築レシピ
- 02Lodestone の構造ヘルパー
- 03バニラ構造 NBT のエクスポート
- 04ローカルでのプレビューと反復
- 05API とブロック状態のリファレンス検索
活用シーン
- 01レシピから Minecraft 構造物を生成
- 02エクスポートした建築のプレビューと調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mattzh72/ minecraft-builder-skill --skill minecraft-builder-skillインストール後、Claude Code で/minecraft-builder-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdLICENSEpackage.json.gitignorenpm-shrinkwrap.jsonagents/openai.yamlassets/examples/celestial-forge.mjsassets/viewer/index.htmlassets/viewer/src/main.jsstyle.cssreferences/recipe-api.mdreferences/lodestone/.source.jsonREADME.mdgetting-started.mdrendering.mdexamples.mdlitematic.mdunsupported.mdnbt.mdresources.mdsupported-fields.mdstructure.mddefault-pack-block-states.mdscripts/preview.mjssync-lodestone-docs.mjsrun-build.mjs詳細
Minecraft Builder スキル
概要
Lodestone を基盤としたヘルパー関数を使用する小さな JavaScript レシピを書いて、Minecraft の建築物を作成します。バニラの .nbt ストラクチャーファイルをエクスポートし、同梱のビューアーを開いて、ユーザーが建築物を確認して反復改善できるようにします。
ワークフロー
- インストール済みのスキルディレクトリで作業します。インストール後に Skills CLI を再実行しないでください。このスキルのローカルな
scripts/とassets/を使用します。 - ビルドまたはプレビューのスクリプトを実行する前に、依存関係がインストールされていることを確認します。
node_modules/@mattzh72/lodestoneが存在しない場合は、インストール済みのスキルディレクトリから次を実行します:
npm install --omit=dev
- ESM レシピファイルを作成します。野心的な浮遊巨大構造物の正規の例として
assets/examples/celestial-forge.mjsを使用します。 - NBT を生成します:
node scripts/run-build.mjs path/to/recipe.mjs --out-dir minecraft-builds/my-build
- プレビューを開きます:
node scripts/preview.mjs --nbt minecraft-builds/my-build/my-build.nbt
- レシピを編集し、
.nbtを再生成し、プレビューを再度開くか更新することで反復改善します。
依存関係
Skills CLI はスキルファイルをコピーしてインストールしますが、Node パッケージはインストールしない場合があります。このスキルは、node_modules を同梱するのではなく、依存関係を意図的に package.json と npm-shrinkwrap.json に保持しています。
scripts/run-build.mjs または scripts/preview.mjs を使用する前に、node_modules/@mattzh72/lodestone の存在を確認します。存在しない場合は、インストール済みのスキルディレクトリから npm install --omit=dev を実行します。依存関係をグローバルにインストールしないでください。また、別の Lodestone バージョンを推測しないでください。
レシピの契約
api を受け取り、Lodestone の Structure または { structure, metadata } を持つオブジェクトを返すデフォルト関数をエクスポートします。
export default function build(api) {
const structure = api.createStructure([16, 12, 16])
api.fill(structure, [0, 0, 0], [15, 0, 15], 'minecraft:stone_bricks')
api.hollowBox(structure, [4, 1, 4], [11, 7, 11], 'minecraft:spruce_planks')
return { structure, metadata: { name: 'example-build' } }
}
利用可能なヘルパーには createStructure、setBlock、fill、hollowBox、line、sphere、cylinder、normalizeBlock、createBlockNbt、および api.lodestone 配下の Lodestone クラスが含まれます。
リファレンス
- レシピヘルパーの正確なシグネチャ、サポートされているオプションフィールド、デフォルト値、サポートされていない動作については、
references/recipe-api.mdを検索してください。 - Lodestone クラス、ストラクチャー NBT、ブロック状態、レンダラー API、リソースパック API、サポートされているフィールド、サポートされていない動作については、
references/lodestone/を検索してください。 - デフォルトパックの正確なブロック ID、レンダリングされるブロック状態の値の列挙、特殊なレンダラー状態の値、
waterloggedのような汎用レンダラープロパティについては、references/lodestone/default-pack-block-states.mdを検索してください。 - 推測よりもこれらのローカルリファレンスを優先してください。高度な API を使用する前に、クラス名、メソッド名、ブロック状態プロパティ、NBT タグ名、オプションフィールドを
rgで検索してください。
リファレンスの検索
- 自明でないブロック状態の値を選ぶ前に、
references/lodestone/default-pack-block-states.mdを検索してください。 - 1 つのブロックについて、その正確なセクションを出力します。例:
rg -n -A 80 '### `minecraft:oak_stairs`' references/lodestone/default-pack-block-states.md - グローバルなプロパティ列挙については、プロパティインデックスの行を検索します。例:
rg -n '^- `shape`|^- `waterlogged`' references/lodestone/default-pack-block-states.md - 自動接続の挙動に依存する前に、
references/lodestone/structure.mdでupdateBlockStates()を検索し、サポートされている範囲とサポートされていない範囲を確認してください。 - ブロックエンティティやカスタム NBT を書くときは、タグを構築する前に
references/lodestone/nbt.mdとreferences/recipe-api.mdを検索してください。
ビルドガイダンス
- すべての座標は構造物のサイズ内に収めてください。ランナーは境界を検証し、失敗すると即座に停止します。
minecraft:名前空間を付けたバニラのブロック ID を使用してください。minecraft:oak_stairs[facing=east,half=bottom,shape=straight]のようなブロック状態文字列がサポートされています。- ランナーはデフォルトで Lodestone の Minecraft ライクなブロック状態更新を有効にします。ペイン、鉄格子、フェンスは、隣接する互換ブロックまたは固体ブロックから
north/east/south/westの状態を取得します。レシピが意図的にこれらの状態を手動で設定する場合にのみ、--no-block-state-updatesを使用してください。 - 明確なブロックパレットと読みやすい形状を優先してください。ビューアーは Lodestone にバンドルされたデフォルトのリソースパックを使用するため、非常に特殊なブロックやカスタムブロックはうまくプレビューできない場合があります。
- 出力ファイル名を制御するには
metadata.nameを含めてください。名前はスラッグ化されます。 - デフォルトの出力は、上書きされない限り、ランナーによって
DataVersionが設定された gzip 圧縮されたバニラ構造物 NBT です。 - ブロックエンティティについては、
setBlockの最後の引数として Lodestone のNbtCompoundを渡すか、api.createBlockNbt({ id: 'minecraft:chest' })を使用してください。
プレビュー
プレビュースクリプトは最小限の Vite サーバーを起動し、ビルドを自動的に開きます。対象の .nbt と Lodestone のデフォルトリソースパックをローカルミドルウェア経由で配信するため、レシピはアセットをコピーする必要がありません。
非対話環境で実行する場合は --no-open を使用してください:
node scripts/preview.mjs --nbt path/to/build.nbt --no-open
レビューに役立つ場合は、夜間照明で直接開いてください:
node scripts/preview.mjs --nbt path/to/build.nbt --lighting night