npm run dev-initnpm run create mz H2A_Hogenpm run dev-mz H2A_Hoge
npm run create [mv|mz] [pluginName]: プラグインの新規作成npm run watch [mv|mz] [pluginName]: プラグイン開発モード- ファイルが保存されると自動でビルドが走る。
npm run watch-fm [mv|mz] [pluginName]: プラグイン開発フラットモードplugins/jsに*.ignore.jsとしてビルド結果がコピーされる- プラグイン選択画面でフォルダが使えない MV 用
npm run clean-fm: watch-fm で散らかったコピーを一掃するnpm run dev-mv [pluginName]: MV 開発モード。protectwatch-fmが起動する
npm run dev-mz: MZ 開発モードprotectが起動し、ファイルが変更されるとbuild-allが走る
npm run protect:package.jsonが書き換えられるのを防ぐnpm run update: 変更後にするべきビルド処理を一括実行npm run build [mv|mz] [pluginName]: プラグインのビルドnpm run build-all: すべてのプラグインを一括ビルドnpm run gen-list: プラグインリストを自動生成npm run gen-api: カタログページ用の JSON ファイルを出力するnpm run core-split: コアスクリプトをクラスごとに分割./js/srcに出力される- VSCode 上で検索する場合は「含めるファイル」に
src/**と入力する
npm run snap-pg [get|set] [name]:js/plugins.jsのスナップショットを撮るgetで取得、setで適用。{name}.snapshot.plugins.jsという名前で保存される
npm test: CI 上で行われるテストが実行されるnpm run dev-init: 開発環境の構築に使うnpm run serve: ポート 3333 でサーバーを立てる
- コミット時...
- package.json がツクールエディタによって上書きされているとエラー
- プッシュ時...
- ビルドしたうえで dist 内のファイルが 2 つ以上あるとエラー
- プラグインリストに変更があるのにコミットがないとエラー
H2A_{PLUGIN_NAME}/dist/bundle.js: 自動出力されたプラグイン(カタログページでファイル名を変更してダウンロードされる)
src/base.js: テンプレートとなるコード{FILE_NAME}.js: INCLUDE されるコードhelp.txt:@helpに設定される文章{LANGUAGE_NAME}.txt: 各言語用の@help文章meta.json: コメントに変換されるアノテーション情報{LANGUAGE_NAME}.json: 各言語用にマージされるアノテーション情報
README.md: カタログページで使用されるページ(なければカタログ側で自動生成)
- INCLUDE 先で特定の書き方をした行は省略される
/// <reference//: コメント ://- 行末尾に
/***__HIDDEN__***/ /***__HIDDEN-BEGIN__***/~/***__HIDDEN-END__***/
(function () {
// このように書くことで、src/main.js の内容が挿入される。
/***__INCLUDE="./main.js"__***/
})();- デフォルトで付与されるアノテーション(上書き可)
author: Had2Appstarget: mzurl: このリポジトリの README かカタログページ
@help 末尾に対応バージョン情報とコピーライト文章が付与される
Copyright (c) {YEAR} {AUTHOR}
This software is released under the {LICENSE_NAME} License.
{
// ライセンステンプレート名(省略の場合はWTFPL)
"_license": "MIT",
// プラグインバージョン(省略・""の場合は無視)
"_version": "",
// 動作確認したコアバージョン(省略・""の場合は無視)
"_support": "",
// 指定した名前の txt, json があると、各外国語別に設定をマージする
//(省略・[]の場合は無視)
"_languages": ["en"],
// _**, author, params, structs, help 以外は
// ほとんど精査せずにそのまんまアノテーションにパースされる
// 例: "key": "value" -> "@key value"
"plugindesc": "プラグイン説明",
"author": "作者名", // 省略した場合は Had2Apps となる
"params": [
// 以下はほとんど精査せずにそのまんまアノテーションにパースされる
// 文字列型以外の値が入っている場合は JSON.stringify される
{
"param": "",
"type": "",
"desc": "",
// "..." をキーにしても同じような事ができる(再起)
"...": [
{ "option": "", "value": "" },
{ "option": "", "value": "" }
]
}
],
// commands は params とパース方法自体は同じだが、
// ビルド時は params の後に組み込まれる
"commands": [],
"structs": {
// ~struct~構造体名
"構造体名": [
// 以下はほとんど精査せずにそのまんまアノテーションにパースされる
// 文字列型以外の値が入っている場合は JSON.stringify される
{
"param": "",
"desc": "",
"type": "",
"default": ""
}
]
}
}- 必要なもの
- Git
- Node.js
- RPG ツクール MZ
- RPG ツクール MV
- コマンドプロンプトまたは VSCode
- 必要な知識
- Git の使い方
- GitHub の使い方
- コマンドプロンプトの使い方
- VSCode の使い方
- まずこのリポジトリをクローンする
- コマンドプロンプトでプロジェクトを開く
npm iを実行
- ツクール MV とツクール MZ それぞれで新規作成プロジェクトを作る
./_init/mvに MV のプロジェクトの中身を
.gitkeepと同じ場所にindex.htmlがある状態になるように置く。./_init/mzに MZ のプロジェクトの中身を
.gitkeepと同じ場所にindex.htmlがある状態になるように置く。npm run dev-initを実行
- ツクール MV とツクール MZ それぞれで新規作成プロジェクトを作る
- MV のプロジェクトのうち、
audio, data, fonts, icon, img, js, movies, Game.rpgprojectを
そのままルートディレクトリにコピーする dataをdata_mvにリネームするimg/systemの中にあるButtonSet.pngをButtonSet_mv.pngにリネームするjsの中にあるmain.jsをmain_mv.jsにリネームするjs/libsの中にあるpixi.jsをpixi_mv.jsにリネームするjs/plugins.jsは適当な名前にリネームしてバックアップを取っておく- MZ のプロジェクトのうち、
audio, css, data, effects, fonts, icon, img, js, movies, game.rmmzprojectを
そのままルートディレクトリにコピーする(上書きはどっちでもいい)
詳しい説明は上述の「コマンド」を参照
- エディタを使う際は
npm run protectを行い、package.json を守る - プラグインを新規に作るときは
npm run createを使う - MV プラグインを開発するときは
npm run watch-fmを使う - MZ プラグインを開発するときは
npm run watchを使う - プラグイン設定のバックアップを取りたいときは
npm run snap-pgを使う
- プラグインの開発環境を構築する
- 開発環境のルールに沿って過去のプラグインを全バラする
- 過去のリポジトリをアーカイブ化してこっちに誘導する
- Had2Apps.com にプラグインカタログページを増設する
- GitHub API を使ってこのリポジトリを参照する
\* @(.*?) (.*?)$
"$1": "$2",