チュートリアル
インストール
基本
- 規則と用語
- レジストリへの登録
- 開発ツール
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 の stout
と stin
が登場します。
つまり、基本的な実装があります。 タスクの実行時にコマンドラインから値を入力できるように、動的にしましょう。通常、これは 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 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
〔サポートされていない〕のいずれか)です。