たくさんの自由帳

自作 MOD の Minecraft 1.21.6 (1.21.7) 移行メモ

投稿日 : | 0 日前

文字数(だいたい) : 1712

どうもこんにちは、

本題

Minecraft 1.21.6 (1.21.7)がリリースされたので自作MODを対応させました。
1.21.7はマイナーアップデートです。

前回

公式

今回も今回とてFabricチームがまとめてくれているので読みます

Gradle

  • Fabric は前と同じ
  • NeoForge は gradle-8.14.2
  • Forge は gradle-8.12.1

NBT 関連

readDatawriteDataAPIが変わってます、
が、多分Inventoriesのユーティリティ関数にそのまま渡すだけな気がする。

getGuiTextured もエラー

context?.drawTexture(RenderLayer::getGuiTextured ...)

context?.drawTexture(RenderPipelines.GUI_TEXTURED ...)

に変更すればよいはず。

context?.drawText()が動かねーーなーって思ってたら色のカラーコード?指定が間違ってたようです。
近しい色が染料にあったので、染料のクラスを参照するように。

そのほか MOD ローダー固有

Fabric

Fabric だけかもですが、player.serverWorld が world に。
ServerPlayerEntity#getWorld になったような?

NeoForge

toml からloader_version_rangeってキーが消えた?

# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
modLoader="javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the FML version. This is currently 2.
loaderVersion="${loader_version_range}" #mandatory

Forge

IEventBusが消えた。名前が変わっただけで、代わりはBusGroup
FMLJavaModLoadingContext#getModEventBusではなく、#getModBusGroupを呼び出し、それでForgeに登録すれば良い。

多分呼び出しとクラス名を直すだけ、メソッド名とかはそのままになってるはず。
@SubscribeEventアノテーションは、パッケージが移動されてます。

1.21.6 → 1.21.7

まじでマイクラのバージョンを1.21.7用に修正するだけだと思ってます。
Fabric APIのバージョンとか、NeoForgeのバージョンとか。

コード自体は多分変わらないんじゃないかなあ。

差分

1.21.51.21.6

1.21.61.21.7

おわりです。