Minecraft Modding with IntelliJ
IntelliJの使い方
MinecraftのMODを作るときに使っているIntelliJの機能のメモ。
キーボードショートカット
キー操作 | 動作 |
---|---|
Shift x2 |
Search Everywhere (クラス名やファイル名で検索) ソースコードを検索する場合は Alt + N で非プロジェクト項目を含める を有効に |
ctrl +H
|
継承関係のツリーを見る (キャレットを合わせればそのクラス) |
Alt +F1 →1
|
開いているファイルをProject view(ファイルのツリー)で開く |
Alt +7
|
クラス内のメソッド等の一覧を表示 |
Gradle
プレイヤーを固定
runClient
で起動すると、プレイヤー名やUUIDが毎回変わる。
そのため一度閉じると別人扱いとなり、手懐けたMobの挙動を確認するときに問題となる。
UUID等はRun/Debug Configuration
のRunの項目に引数を追加することで固定できる。
例:runClient --args="--username=TestUser --uuid=c989a6f2-cfa6-4e2b-b12e-0507f74ee7ec"
その他の引数はnet.minecraft.client.main.Main
に掲載されている。
マルチプレイヤーでデバッグ
runServer
でサーバーを起動し、runClient
で起動したクライアントから接続する。
デフォルトではサーバーアドレスにはlocalhost:25565
を指定する。
localhostへのアクセスを許可
マイクラのサーバとアプリを同じPCで起動するとアプリからサーバに接続できない件
「Windows Store アプリはデフォルトでlocalhost(自分自身)に接続できない」
IntelliJからデバッグする場合に関係あるかどうかは不明
無効なセッションと表示される場合
server.properties - Minecraft Wiki
online-mode
false - 無効。 サーバーは、接続しているプレーヤーをチェックしない。
IntelliJ Ultimate 2022.3.3を使用中。(以下U22)
IntelliJ Community 2024.3.1をインストール。(以下C24)
- メソッドに
n usage
やm overrides
などのinlay hintが表示されない- 設定を確認しても有効になっている
- 同一ファイルを開いても、U22では表示され、C24では表示されない。
- C24ではマイクラ内のファイルを開くとタブが黄色になる。 (excludedとして扱われている?)
IntelliJ Community 2025.1.3をインストール。
上記の問題は発生せず。Communityへ乗り換え。
genSources
をかけると、IDEのブックマークのリンクが切れてしまう。
リンクを維持したまま更新したり、リンク先を更新する方法はないだろうか?
moddingで必要になる技術
普通にJavaでコードを書く時にはあまり必要ないが、Moddingでは必要になるもの
特にIntelliJとは関係ない
Access Widener
クラスやメソッド、フィールドのアクセス制限を外す。
対象はバニラ限定で、別のMODに対しては使えないらしい。
参考になるドキュメントは見つけられなかった。
使い方の流れ
- Minecraft Developmentをインストール
-
build.gradle
にloomを追加 ⛓️ -
resources
の下に[modid].accesswidener
を作成 - 1行目に
accessWidener v2 named
と記入 ⛓️ - アクセス制限を解除したいクラス等を右クリックし、
特殊なコピー/貼り付け
→AW Entry
を選択 - accesswidenerに貼り付け
- gradleからビルドを実行
- ソースコードを開いてアクセス修飾子が変わっていればOK
Mixin
アクセス制限の解除や、既存メソッドの挙動の変更など。