ja:tutorial:migratemappings
Table of Contents
Java コードベースで Yarn マッピングの更新
Loom を使用すると、 Java コードベースで使用されるマッピングを半自動で更新できます。 Yarn は頻繁に変更されるため、これはコードベースを最新の変更で最新の状態に保つための便利なツールです。
注意: この自動化されたプロセスは現在、Mixin またはリフレクションを処理しません。これらのインスタンスは手動で更新する必要があります。
Loom 0.2.6 以降
1.16.5 から 1.17.1 に移行したいとします。
- こちら から、移行先のバージョンを選択し、 “Mappings Migration” の下に Gradle コマンド(例:
gradlew migrateMappings --mappings "1.17.1+build.40"
)をコピーします。まだgradle.properties
またはbuild.gradle
を変更しないでください。 - Gradle プロジェクトのルートでコマンドを実行します。
- 移行されたソースは
remappedSrc
に表示されます。移行によって有効な移行コードが生成されたことを確認します。 - ソースを
remappedSrc
から元のフォルダーにコピーします。 万が一に備えて、元のソースをバックアップしておいてください。 - 最初のサイト の指示に従って、gradle.properties ファイルを更新します。
- IDE で Gradle プロジェクトを更新します。
- 古い可能性がある Mixin ターゲットを確認して更新します。
追加のカスタマイズ
--input path/to/source
を使用して、Java ファイルの取得元を指定します。デフォルト:src/main/java
--output path/to/output
でリマップされたソースを出力する場所を指定します。デフォルト:remappedSrc
。ここでsrc/main/java
を使用して、再マップされたクラスをコピーする必要がないようにすることができますが、バックアップがあることを確認してください。--mappings some_group:some_artifact:some_version:some_qualifier
を使用して、マッピングを取得するカスタムの場所を指定します。デフォルト:net.fabricmc:yarn:<version-you-inputted>:v2
。net.minecraft:mappings:<minecraft-version>
を使用して、公式の Mojang マッピングに移行します。
問題の報告
Loom は Mercury を使用して Java ソースコードをリマップします。 Issue Tracker〔課題管理〕、または彼らの通信チャネル(irc.esper.net #cadix)を通じて議論してください。
Loom 0.2.2 から 0.2.5 まで
一部組み立てが必要です。
- ターゲットマッピングのバージョンを把握します。たとえば、 “net.fabricmc:yarn:1.14.1 Pre-Release 2+build.2” です。
- このバージョンのマッピングが作成されていることを確認してください。これは厄介な部分です。現時点では、build.gradle の“minecraft” フィールドと “mappings” フィールドを新しいバージョンに編集し、任意の Gradle コマンドを実行することが唯一の方法で(“gradle build”は、クラッシュします)、その後にフィールドを元に戻します。
- 次に魔法のような奇術コマンドを実行します:
gradle migrateMappings -PtargetMappingsArtifact="net.fabricmc:yarn:1.14.1 Pre-Release 2+build.2" -PinputDir=src/main/java -PoutputDir=remappedSrc
- “targetMappingsArtifact” は、ターゲットマッピングのバージョンを指します。このコマンドを実行するときは、build.gradle を Mod の現在のマッピングバージョンに設定する必要があります。
- “inputDir” は、Java ソースコードを含む入力ディレクトリです。
- “outputDir” は出力ディレクトリです。不足している場合は作成されます。
- 問題がなければ、リマップしたソース コードを入力ディレクトリにコピーします。
- 最善の結果を期待します。
注意:ファイルが見つからないという問題が発生した場合は、フルパスを引用符で囲んで指定する必要がある場合があります。
これは、 Intermediary を大幅に壊したり、同様にばかげたことをしたりしていない限り、Minecraft のバージョン間でも機能するはずです(※ほとんどの場合)。
ja/tutorial/migratemappings.txt · Last modified: 2022/08/13 08:30 by skytomo