なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Minecraft の Mod をアップデートする ~Fabric 編~

半年に一回の行事 Minecraft のアップデートの時期がやってきましたね!ということで自作 Mod もバージョンアップさせていきましょう。 毎回手順を忘れてしまうのでメモがてらブログとして残しておきます。

1. Gradle アップデート

だいたい Gradle Wrapper のバージョンが古いと次の Fabric バージョンで言われるのでアップデートする。

$ ./gradlew wrapper --gradle-version=8.12
Downloading https://services.gradle.org/distributions/gradle-8.12-bin.zip                                                                                                                                                                                          
.............10%.............20%.............30%.............40%.............50%.............60%.............70%.............80%.............90%.............100%

Welcome to Gradle 8.12!

Here are the highlights of this release:
 - Enhanced error and warning reporting with the Problems API
 - File-system watching support on Alpine Linux
 - Build and test Swift 6 libraries and apps

For more details see https://docs.gradle.org/8.12/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :
Fabric Loom: 1.9.2

BUILD SUCCESSFUL in 11s
1 actionable task: 1 executed

$ ./gradlew wrapper --version
------------------------------------------------------------                                                                                                                                                                                                       
Gradle 8.12                                                                                                                                                                                                                                                        
------------------------------------------------------------                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                   
Build time:    2024-12-20 15:46:53 UTC                                                                                                                                                                                                                             
Revision:      a3cacb207fec727859be9354c1937da2e59004c1                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                   
Kotlin:        2.0.21
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.15 compiled on August 25 2024
Launcher JVM:  21.0.2 (Oracle Corporation 21.0.2+13-58)
Daemon JVM:    C:\Users\natsuneko\scoop\apps\openjdk21\current (no JDK specified, using current Java home)
OS:            Windows 11 10.0 amd64

2. Fabric Plugin のバージョンアップ

fabricmc.net

Fabric 公式サイトから適切なバージョンの記述を生成して、 build.gradle を書き換える。 だいたい次のような差分になる、次は 1.21.4 → 1.21.5 の例:

diff --git a/build.gradle b/build.gradle
index 43df5c3..9a64fec 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,6 @@

 plugins {
-       id 'fabric-loom' version '1.9-SNAPSHOT'
+       id 'fabric-loom' version '1.10-SNAPSHOT'
        id 'maven-publish'
 }

--- a/gradle.properties
+++ b/gradle.properties
@@ -4,9 +4,9 @@ org.gradle.parallel=true

 # Fabric Properties
 # check these on https://fabricmc.net/develop
-minecraft_version=1.21.4
-yarn_mappings=1.21.4+build.1
-loader_version=0.16.9
+minecraft_version=1.21.5
+yarn_mappings=1.21.5+build.1
+loader_version=0.16.10

 # Mod Properties
 mod_version=2024.12.04.2131+1.21.4
@@ -14,4 +14,4 @@ maven_group=com.natsuneko.floatingisland
 archives_base_name=floating-island

 # Dependencies
-fabric_version=0.110.5+1.21.4
+fabric_version=0.119.5+1.21.5

変更したらビルド。難読化のリマップが変わったり Minecraft 内部でなんか変わったりしていたらビルドがコケる。通ることを祈りましょう (めったにない)。

$ ./gradlew build

3. 修正

今回はコケたので気合いで直す。直すときは関連ソースを遡って差分を得ると良い。 1度ビルドすれば IDE でもエラー表示が出るようになるので、 IDE 開発に移っても良い。 このまま CLI でいろいろやるなら、デバッグする。

$ ./gradlew runClient
$ ./gradlew runServer # 必要なら

4. ビルド

デバッグをして問題なければ、バージョンインクリメントしてビルドする。

$ ./gradlew build

今回の場合はメンテナンスとしてのバージョンアップで新機能などは特に追加する予定もないので、これだけで終わり。 あとはビルド成果物を Modrinth や CurseForge にアップロードして、審査を待ちましょう。