English | 日本語
Minecraft Bedrock ScriptAPI 開発向けの CLI です。
scriptup は、@minecraft/* の更新、ScriptAPI での外部ライブラリ利用、そして ScriptAPI 用ライブラリ作成の初期構築を素早く行えるようにします。
- @minecraft/* の更新を容易にする
- ScriptAPI で簡単に外部ライブラリを使えるようにする
- ScriptAPI 用のライブラリを簡単に作れるようにする
- manifest.json の ScriptAPI 依存バージョン更新と、対応 npm パッケージのインストール
- development_behavior_packs 直下への新規プロジェクト作成
- 現在のディレクトリを ScriptAPI プロジェクトとして初期化
- 既存プロジェクトを最新のテンプレートへ移行
- manifest.json の script entry を出力先として tsdown ビルド
- 再利用可能ライブラリ作成向けのローカル雛形生成
- パッケージマネージャーのインタラクティブ選択(
packageManagerフィールドと mcpack.yml を自動設定)
- Node.js 18 以上
- アドオンを試すための Minecraft Bedrock 実行環境
- npm, pnpm, yarn, bun のいずれか
好みのパッケージマネージャーで global インストールしてください。
npm i -g @nano191225/scriptuppnpm add -g @nano191225/scriptup導入後は scriptup(または sup)で実行できます。
scriptup stablescriptup new my-pack --openscriptup build最新の stable な Minecraft バージョンに一致するモジュールをインストールします。
最新の preview な Minecraft バージョンに一致するモジュールをインストールします。
LTS 相当(stable/preview/beta/internal 以外を優先)のモジュールをインストールします。見つからない場合は stable 相当にフォールバックします。
手動バージョン検索モードです。
例:
scriptup 1.21.60
scriptup 2.0.0-beta現在のディレクトリを ScriptAPI プロジェクトとして初期化します。
オプション:
- --lib: package/ 配下にローカルライブラリ雛形を含める
- --no-workflow: GitHub Actions workflow を生成しない
- -i, --interactive: パッケージマネージャーをインタラクティブに選択(
packageManagerフィールドへの書き込みと mcpack.yml の設定も行う) - -m, --migrate: 既存プロジェクトを最新のスキャフォールドテンプレートへ移行する
実行内容:
- 主要ファイルを生成(manifest.json, tsconfig.json, src/main.ts など)
- tsdown.config.ts がなければ作成
- package.json scripts を更新
- build: scriptup build --release
- watch: scriptup build --watch
- 必要な devDependencies をインストール
既存プロジェクトを最新のスキャフォールドで再構築しながら、ユーザーのカスタマイズを保持します。
スキャフォールド前に既存のテンプレートファイルを .backup/ へバックアップします。スキャフォールド後:
- manifest.json: UUID・name・version を旧ファイルから引き継ぎます。配列形式のバージョン(
[x, y, z])は自動的に"x.y.z"文字列へ変換されます。generated_withフィールドは新テンプレートの値に更新されます。 - package.json: name・version・packageManager・依存関係・scripts がマージされます(旧値を優先し、新テンプレートで不足を補完)。
- その他のテンプレートファイル(.gitignore, README.md など): バックアップから元の内容で復元されます。
- launch.json と tsconfig.json: 常に最新テンプレートで上書きされます。
新しい ScriptAPI プロジェクトを作成します。
オプション:
- -o, --open [command]: 作成後にエディタで開く(既定値: code)
- -p, --preview: Minecraft Bedrock Preview の behavior packs ディレクトリを使う
- -d, --dir : 指定ディレクトリ配下に作成
- --lib: package/ 配下にローカルライブラリ雛形を含める
- --no-link: --dir 使用時の behavior packs へのリンク作成を無効化
- --no-workflow: GitHub Actions workflow を生成しない
- -i, --interactive: パッケージマネージャーをインタラクティブに選択(
packageManagerフィールドへの書き込みと mcpack.yml の設定も行う)
既定の作成先:
- Windows stable:
- %APPDATA%/Minecraft Bedrock/Users/Shared/games/com.mojang/development_behavior_packs
- Windows preview:
- %APPDATA%/Minecraft Bedrock Preview/Users/Shared/games/com.mojang/development_behavior_packs
- Linux (mcpelauncher):
- ${XDG_DATA_HOME:-~/.local/share}/mcpelauncher/games/com.mojang/development_behavior_packs
tsdown で現在の ScriptAPI プロジェクトをビルドします。
オプション:
- -b, --bundle: 強制的にバンドル出力
- -w, --watch: 監視モード
- -r, --release: リリースビルド(圧縮有効、sourcemap 無効)
ビルド挙動の要点:
- 出力先は manifest.json の script module entry から決定(例: scripts/main.js)
- 入力エントリの優先順位
- src/main.ts
- src/index.ts
- tsdown.config.ts の entry
- release モードでは package/ が存在する場合に package/**/*.ts も dist/ へ追加ビルド
- 許可されない外部 import(許可対象の @minecraft/* 以外)が出力に残っている場合、原因候補パッケージ名と残存依存名の両方を警告表示
scriptup init
scriptup stable
scriptup buildscriptup init --migrate --interactive
scriptup stable
scriptup buildscriptup new my-addon --open
cd my-addon
scriptup build --watchscriptup new @yourname/your-lib --lib --dir . --open- manifest.json の依存更新と devDependencies のインストールをあわせて実行します
- packageManager フィールドまたは lockfile からパッケージマネージャーを自動判定します
- エイリアスとして sup も使えます
MIT