【Minecrft Modding】ParchmentMCでライブラリを変数名とJavaDocがちゃんとしたものに変える

2023/01/18に公開

ParchmentMCとは

Minecraft Moddingはまだまだ人気のないコンテンツで情報も非常に限られています。公式リファレンスも数多の解説サイトもそれぞれで言っていることが異なってたり、そもそもどんなメソッドがあるのかすらわかりませんよね。そんな時、やはり信用できるのは元のスーパークラスのソースです。Intellij IDEAで開発している方はAlt+左クリックで参照できます。

ですが、肝心のソースは変数名がp_<五桁の整数>になっていたり、JavaDocがインターフェイスにしかなかったり...。ParchmentMCは変数名を意味の通るものに変え、JavaDocを充実させるプラグインです。言語は英語ですが書いていないよりは圧倒的に有益です。

実は、ParchmentMCは公式がbuild.gradleファイル内でコメントで言及しています。

The mappings can be changed at any time and must be in the following format.
Channel: Version:
official MCVersion Official field/method names from Mojang mapping files
parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official

You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md

Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
Additional setup is needed to use their mappings: https://github.com/ParchmentMC/Parchment/wiki/Getting-Started

じゃあ公式がもっと宣伝しろし!

と思いますが。

導入

導入の手順は簡単です。下の公式記事で説明されています。
https://parchmentmc.org/docs/getting-started

settings.gradle

settings.gradle
pluginManagement {
    repositories {
        gradlePluginPortal()
        maven { url = 'https://maven.minecraftforge.net/' }
+       maven { url = 'https://maven.parchmentmc.org' }
    }
}

build.gradle

build.gradle
plugins {
    // 中略
    id 'net.minecraftforge.gradle' version '5.1.+'
+   id 'org.parchmentmc.librarian.forgegradle' version '1.+'
}

// 中略

minecraft {
    // 中略
-   mappings channel: 'official', version: '1.19.2'
+   mappings channel: 'parchment', version: '2022.08.14-1.19.2'
    // 後略

version: '2022.08.14-1.19.2'については上の公式記事に記載がありますので使用したいバージョンの番号を参照してください。

これで更新すれば終了です。あら簡単。

使い方

Intellij IDEAでは見たいクラスにAlt+左クリックすれば参照できます。また、入力補完機能でちゃんとした変数になります。

最後に

これで地獄の分析作業から解放されるぞ!!!!

こちらのBookにて、Moddingと闘っておりますのでぜひ。
https://zenn.dev/cyber_hacnosuke/books/minecraft-modding

GitHubで編集を提案

Discussion