【Minecraft】CurseForgeへ自動アップロードする方法
はじめに
大手Mod配布プラットフォームであるCurseForgeに自作ModをCurseGradleを使ってGradleでアップロードできます。
build.gradle を変更するだけでアップロードできるので、一度設定してしまえば楽にアップロードできます。
毎度ウェブ開いてModをリリースするのって面倒ですからこういうの使って効率化していくこともできます。
この記事の前提
- Windows 11での操作を前提としていますので、そうではない場合は適宜読み替えてください
- CurseForgeのアカウントを持っていること
- 既にCurseForgeにプロジェクトを作成していること
- 自作Modを作成していること
- Gradleでビルドできること
以上のことを前提として話を進めていきます。
API Token の作成
まずはAPI Tokenを作成します。
(1) 右上のアイコンをクリックして、Settingsをクリックします。
(3) My API Tokensをクリックします。
(4) トークン名を入力して、Generate Tokenをクリックします。
トークン名はなんでもいいのですが、私はとりあえずupload_tokenにしました。
環境変数でAPI Tokenを設定 (任意)
Windows 11での操作を前提としていますので、そうではない場合は適宜読み替えてください (二度目)
Gitのリモート先を設定している場合、トークンを間違えてコミットしてしまうと問題なので環境変数を使いましょう。
それにこうすることで他のプロジェクトでも使い回せますし
開く方法はいくつかありますが、ここではタスクバーの検索を使って開く方法を紹介します。
(1) 検索バーに「環境変数」と入力して、環境変数を編集をクリックします。
(2) ユーザー環境変数側(上)の新規をクリックします。(システム環境変数側でもいいですが、その場合はシステム環境変数の編集を開く必要があります)
(3) 変数名にCURSEFORGE_TOKEN
、変数値に先ほどコピーしたトークンを入力して、OKをクリックします。
トークンがコピーできていなければ再度General SettingsのMy API Tokensからコピーしてください。
build.gradle の設定
(1) pluginsのところに
id 'com.matthewprenger.cursegradle' version '1.+'
を追加します。plugins {} がなければpluginsブロックを作成してください。
plugins {
[...]
id 'com.matthewprenger.cursegradle' version '1.+'
}
(2) curseforgeブロックを追加します。
// CURSEFORGE_TOKEN環境変数が設定されている場合、curseforgeブロックを追加
if (System.getenv("CURSEFORGE_TOKEN") != null) {
curseforge {
apiKey = System.getenv("CURSEFORGE_TOKEN")
project {
id = '123456' // Project ID
releaseType = 'release' // release, beta, alpha
changelog = '' // 変更点
addGameVersion '1.12' // ゲームバージョン
addGameVersion '1.12.1'
addGameVersion '1.12.2'
// 依存関係
relations {
requiredDependency 'fabric-api' // 前提ModのProject IDもしくはSlug (SlugはURLの最後の部分)
optionalDependency 'modmenu' // 前提Mod (任意)
}
mainArtifact(remapJar)
}
options {
// forgeGradleIntegration = false
}
}
}
Project IDは以下のようにCurseForgeのプロジェクトのページの右のサイドバーにあるAbout ProjectのProject IDに記載されています。
Architectury LoomやらGradleでサブプロジェクトがある場合は、
subprojects {
apply plugin: "com.matthewprenger.cursegradle"
[...]
curseforge {...}
[...]
}
上記のようにapply plugin: ...
で適用してください。
アップロード
あとはGradleタスクを実行するだけです。
gradlew curseforge
IntelliJ IDEAの場合は右のGradleタブからでもタスクを実行できます。
アップロードが成功すると、CurseForgeのプロジェクトの管理画面のFilesタブにアップロードされたファイルが表示されます。
最後に
これでワンクリック、タイプ一つでアップロードできるようになりました。
余談ですが、ModrinthではMinotaurというのもあります。