Harbinger
Harbingerは,Minecraftのプレイヤーの行動の記録の取得を目的とした実験用ソフトウェア(MOD)です。 プレイヤーの行動およびステータスの記録を行います。
Minecraft | Minectaft Forge |
---|---|
1.16.3 | 34.1 |
セットアップ
クライアント
- Minecraftをインストール
- Minecraft 1.16.3を一度起動する(1.16.3のリソースをダウンロードするため)
- Minecraft Forge(クライアント版)を導入
- 本MODの
.jar
ファイルを、mods
フォルダに追加
サーバ
MongoDB v5 or newerをセットアップしておく。
- Minecraftをインストール
- Minecraft 1.16.3を一度起動する(1.16.3のリソースをダウンロードするため)
- Minecraft Forge(サーバ版)を導入
- 本MODの
.jar
ファイルを、mods
フォルダに追加 - Minecraftを起動。起動に失敗し、
harbinger.json
が生成される。 harbinger.json
にMongoDBの接続情報を書き込む
Javaのバージョンについて
- Java 8 かつ Java8 321未満
Developers
開発環境はIntelliJ IDEAをオススメします。Minecraft Development というイケてるプラグインが便利なので入れておきましょう。 JDKのインストールもお忘れなく。
.jar
ファイルの出力
Gradleによるビルド・- Minecraftを起動する:
runClient
accesstransformer.cfg
の変更を反映する: (IntelliJの場合)Reload All Gradle Projects
ボタンを押す- shiftキー2回で呼び出せるメニューで
Reload All Gradle Projects
を検索すると、actionsタブに出てくる
- shiftキー2回で呼び出せるメニューで
- 配布用の
.jar
ファイルを出力する:shadowJar
jar
やbuild
ではないので注意- 出力された成果物は
build/libs
に入っています - クライアント・サーバ兼用です
Mixinを使うとき
メソッドやフィールドを@Shadow
@Inject
するときは、 SRG名を使って ください
ex. NewChatGuiMixin.kt
よくあるエラー
org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering
ビルドエラー:.gradle
.idea
build
run
プロジェクトのディレクトリから以上4フォルダを削除し、もう一度ビルドする。
java.lang.NoSuchMethodError: sun.security.util.ManifestEntryVerifier
実行エラー:Java8 321未満 を使用する。
サーバが終了してくれない
- サーバのプロセスIDを探す
netstat -apn | grep :27020
kill [サーバのプロセスのID]