User Tools

Site Tools


ja:tutorial:minotaur

This is an old revision of the document!


Minotaur を使用して Modrinth で Mod を公開する

Minotaur は、 CurseGradle に似た Gradle プラグインです。 このページでは、 Minotaur の基本についてのみ説明します。 詳細については、 GitHub のドキュメントを確認してください。

基本

まず、 Minotaur プラグインを build.gradle ファイルのプラグインリストに次のように追加します:

plugins {
    id "com.modrinth.minotaur" version "2.+"
}

Minotaur はあなたのために modrinth タスクを登録します。構成は、 modrinth {…} ブロックを介して行われます。

これが基本的な例です。

import com.modrinth.minotaur.dependencies.ModDependency
 
modrinth {
    token = 'mySecretToken' // これには環境変数を使用してください!デフォルトは `$MODRINTH_TOKEN` です。
    projectId = 'AABBCCDD' // Modrinth プロジェクトの ID。 Slugs は機能しません。
    versionNumber = '1.0.0' // Mod の(できれば SemVer の)バージョン。指定しない場合は、 `version` 宣言を使用します
    versionName = 'My awesome release' // バージョンタイトル。指定しない場合は、バージョン番号が使用されます
    uploadFile = remapJar // 再マップされた jar を使用するように Minotaur に指示します
    gameVersions = ['1.18', '1.18.1', '1.18.2'] // バージョンがサポートするゲームバージョンの配列
    loaders = ['fabric'] // 自明。
    dependencies = [
            new ModDependency('P7dR8mSH', 'required') // Fabric API に必要な新しい依存関係を作成します
    ]
}

ここからトークン から Modrinth を入手します。このトークンを使用して、 Minotaur と一緒に Modrinth API にアクセスできます。

ここで、 gradle modrinth を実行すると、次のように、 Mod がコンパイルされて Modrinth にアップロードされていることがわかります:

ただし、バージョンをリリースするたびに値を編集する必要があるため、これは制限があり、アップロードが繰り返される場合があります。 ここで、 Java の stoutstin が登場します。

Absurd

つまり、基本的な実装があります。 タスクの実行時にコマンドラインから値を入力できるように、動的にしましょう。通常、これは Gradle タスクでは実行されず、環境変数または同様の静的ソースをこれらの値に使用できますが、チュートリアルは後世のために保持されます:

まず、 BufferedReader を作成する必要があります。 なぜ System.out.readLine() ではなく BufferedReader なのでしょうか? System.out.readLine() はコマンド端末でのみ機能し、Eclipse、IntelliJ Idea、Visual Studio Code などの通常の IDE 端末では機能しません。 Gradle タスクは IDE で最も一般的に実行されるため、 IDE 内端末をサポートするため、 BufferedReader を使用することをお勧めします。

System.in からバッファを収集する新しい BufferedReader を Modrinth タスクの先頭に追加します。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

これで、メソッド br.readLine() を呼び出すだけでユーザー入力を収集できます。

これをタスクに追加しましょう。また、 Markdown 変更ログなどのデータを追加し、バージョン名をセマンティックバージョニング番号とは異なるものにします。

modrinth {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("Enter a Modrinth token: ");
    token = br.readLine(); // このチュートリアルの基本部分から取得したトークンを入力します。
    projectId = "" // ここに Modrinth プロジェクト ID を入力します。
    System.out.println("Enter the version number:");
    versionNumber = br.readLine();
    System.out.println("Enter the version name:");
    versionName = br.readLine();
    uploadFile = remapJar
    System.out.println("Enter the game version number: (See minotaur docs for valids)");
    gameVersions = [br.readLine()];
    System.out.println("Enter changelog:");
    changelog = br.readLine();
    loaders = ["fabric"]
}

これで、 gradle modrinth が実行されると、ユーザーから優しく入力を求められます。それどころか、あなたは GUI を作るために Swing または JavaFX を使用することさえできるでしょう!

ミノタウロスは CurseGradle と並んで素晴らしいです。両方のタスクを一緒にマージできます。 Minotaur と CurseGradle の両方の公開タスクを 1 つで実行するための新しいタスクを作成します。

task publishToModSites {
    publishToModSites.dependsOn modrinth
    publishToModSites.dependsOn curseforge
}

Minotaur 1.x から 2.x への更新

Minotaur 2.x では、ビルドスクリプトのフォーマット方法にいくつかの重大な変更が加えられました。

まず、独自の publishModrinth タスクを登録する代わりに、 Minotaur は modrinth タスクを自動的に作成するようになりました。そのため、task publishModrinth(type: TaskModrinthUpload) { の行を modrinth { だけに置き換えることができます。

サポートされている Minecraft バージョンと Mod ローダーを宣言するには、 gameVersions 配列と loaders 配列を使用する必要があります。これらの構文はかなり自明です。

releaseType を使用する代わりに、 versionType を使用する必要があります。 これは実際には v1.2.0 で変更されましたが、 v1.1.0 から移行したビルドスクリプトはほとんどありません。

最後に、依存関係も ModDependency または VersionDependency 、あるいはその両方をとる配列です(com.modrinth.minotaur.dependencies パッケージからインポートする必要がある場合があります)。最初のパラメーターは文字列としてのプロジェクトまたはバージョン ID であり、 2 番目のパラメーターは依存関係タイプ(required 〔必須〕、 optional 〔オプション〕、または unsupported 〔サポートされていない〕のいずれか)です。

ja/tutorial/minotaur.1660226016.txt.gz · Last modified: 2022/08/11 13:53 by skytomo