1.21 のFabricがリリースされたのでクリックまな板対応しました。
自動作業台!?!?
- Java 21 以降が必要です!!!
- 多分 1.21 のバニラを一回起動しておく必要があると思います。
- Fabricを導入します。
- https://fabricmc.net/use/
- FabricLoaderのバージョンは
0.15.11
以降にしてください。
- FabricLoaderのバージョンは
- Windowsならexeの方でいいんじゃね?
- exeを起動するとWindows SmartScreenが警戒してきますがそのまま実行
- https://fabricmc.net/use/
- modsフォルダに以下のファイルを入れます
- ClickManaita-Fabric 本体
- Fabric API
- https://www.curseforge.com/minecraft/mc-mods/fabric-api/files
fabric-api-0.100.4+1.21
以降
- https://www.curseforge.com/minecraft/mc-mods/fabric-api/files
- Fabric Language Kotlin 1.21 版
- このMODはKotlinという言語で書かれているためこのファイルが他のFabric製MODとは違い必要になります。
- https://www.curseforge.com/minecraft/mc-mods/fabric-language-kotlin/files
fabric-language-kotlin-1.11.0+kotlin.2.0.0
以降
- Minecarft Lancher で起動構成を fabric-loader-1.21 に変更します
- あとは楽しんで
メモ程度の自作ブログ
https://takusan.negitoro.dev/posts/minecraft_fabric_dev_environment/
forgeとfabricがあります。
切り替えたあとは一度IDEA
を閉じて、開き直さないとうまく起動しないと思います!!!。
あとなんかあったらとりあえず.idea
、build
、run
フォルダを消してみて下さい。
IDEA と Kotlin でできている。
今回はKotlinで書かれています。
- IDEA
- Eclipse Adoptium 21
- Java 21 以降が必要です
- JDK のディストリビューションにこだわりがある場合は別にこれじゃなくてもいいです
- このリポジトリをクローンして、ブランチ:1.21-fabricをチェックアウトします。
- IDEA右上のFileからProject Structureを選択して、JDKのバージョンを 21 にします。
- これでできるはずなんだけど、できない場合は下も試して
- IDEAの設定を開き、Build,Execution,Deployment > Build Tools > Gradle へ進み、Gradle JVM を 21 にします。
- できたら
IDEA
の右上?にいるGradle
を押して、Sync
ボタンを押します。これ
- 無事終了したら一旦 IDEA を終了させます
- そうしたら再度起動します。すると実行ボタンのところに
Minecraft Client
と書かれているはずです。そしたら再生ボタンを押して起動させます。 - 以上です。初回実行時はなんかナレーターが喋りだすのでびっくりしないようにしてください・・・
- Fabric の場合、新しいバージョンが出るたびに内部の変更点をわかりやすく書いてくれるので、目を通す
- https://fabricmc.net/blog/
- サンプルも追従してくれるので、コミット差分を見ると参考になる
- gradle.properties を最新の値にする
- 以下のリンクから、それぞれの値を最新にする
- fabric-language-kotlin だけは別
- Gradle の更新もあればそれも更新
- build.gradle もあれば
- fabric.mod.json も更新する
- 実行方法を参照して Gradle sync 等する
- README も更新する
https://fabricmc.net/wiki/tutorial:setup
基本的には既存のブロックの処理とにらめっこすることになるので。
gradle
タスクのgenSources
を押すことで生成できます。
生成後、適当なMinecraft
のクラスを開いて(例えばBlocks.java
)、上のChoose sources
を押して、-sources.jar
の方を押せばよいです。
これで検索機能とかが開放されるはず。
MinecraftのMOD利用者/開発者?を狙ったウィルスから身を守るため、このMODでは配布するMODファイル(jarファイル)をGitHub Actions (CI/CD)
で作っています。
が、今のところMODファイルの生成までしかしないので、ローカルに落として配布サイトへアップロードするとあんまり意味がないかもしれないです・・・。
また、MODファイルのハッシュ値を出すようにしたので、これで改ざんされていない事を確認できます。
1.20-fabric
、1.20-forge
以降はGitHub Actions
でMODファイルを作成できます。
ブランチを選んで手動実行ボタンを押せばいいです。
また、GitHubにログインすることでハッシュ値も確認できます。
Windowsの場合はPowerShell
を使うことでハッシュ値が同じかどうか確認できます。同じ文字列(16進数)がでてきた場合は改ざんされていません。
(Get-FileHash
コマンドだとアルファベットが大文字になってしまいますが、16進数は大文字小文字は区別されないので問題ないです。)
どうしても心配な方は試してみてください。
- IDEA右上のGradleを押して、Tasks>build>build です
build/libs
の中にあります
Exception in thread "main" java.lang.NoClassDefFoundError: joptsimple/OptionSpec
Caused by: java.lang.RuntimeException: Unsupported access widener format (v2)
- 私の場合はIDEAのキャッシュを消したら直りました。
- IDEAの左上にあるFileから、
Invalidate Caches...
を選択して、そのままボタンを押します。
- IDEAの左上にあるFileから、
Failed to read accessWidener file from mod fabric-content-registries-v0
- コマンドプロンプトで
gradlew --refresh-dependencies
を実行したら治った
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 1162736 bytes for Chunk::new
# An error report file with more information is saved as:
- メモリ不足です
- Cドライブ不足だったかもしれない
そのほか
.idea
build
run
フォルダを消して開き直してみる
多分Forgeで使ってたJSONがそのまま使えるはず。アイテムID変えてなければ。
話変わるけどJSONの生成機能使ってる人いるの?微妙に不便じゃねあれ?