ArG0rithm-Ace
@ArG0rithm-Ace (ArG0)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Intelij IDEAでForgeMODを導入するとrunClient出来ない【Minecraft】【Forge】

解決したいこと

実行環境

Minecraft
forge-1.7.10-10.13.4.1558-1.7.10
TwilightForest-2.4.3
Intelij IDEA Community Edition 2023 3.2

forge-1.17.10 mdk の内部でリンク切れを起こしている部分は有志で開発された下記のプロジェクトを参考に修正している。
https://github.com/anatawa12/ForgeGradle-example

状況

Intelij IDEAでForgeのModを作成中。
初めて他者様のMOD(TwilightForest)のアイテムとバニラのアイテムを組み合わせた追加レシピ、新アイテムを作成しようと考えている。
(別プロジェクトで他MOD無し、追加レシピ、新アイテム追加の経験は有)

発生している問題・エラー

Caused by: java.lang.NoSuchMethodError: twilightforest.block.BlockTFLog.func_149711_c(F)Lnet/minecraft/block/Block;

試したこと

・Twilight Forest導入方法を2通り変更してみたが、変わらなかった。
方法1(run/modsフォルダに導入)
IdeaProjects
L gradlew
L run/mods/TwilightForest-2.4.3.jar

方法2(libsフォルダに導入)
build.gradle

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}

上記ファイル変更後、下記階層に導入。
IdeaProjects
L gradlew
L libs/TwilightForest-2.4.3.jar
※上記2通り変更してみたが、変わらなかった。

・Twilight Forest関連の開発したコードをコメントアウトしても同じエラーが吐かれた。

・開発環境のForgeのバージョン(forge-1.7.10-10.13.4.1558-1.7.10)とTwilightForestとのバージョン(TwilightForest-2.4.3)の相性が悪いのか確認するため、製品版で実行してみたがエラーは出なかった。(開発環境のみで発生する)

・導入したTwilight Forestのバージョンを下げてみても同じエラーが発生した。

・Twilight Forestのjarファイルを除去すると開発環境でもrunClientが成功する。

0

1Answer

MCPを通じてコンパイルされたMinecraftのMOD全般に言えることなんですが,プレイ用のjarパッケージはメンバ名にマッピングが施されるためそのままでは開発環境に入らないです.開発環境用にはそれぞれのMOD開発元からソースを入手する必要があります.

Twilight Forestならここにリポジトリがあるので,適当にソースをぶっこんでください.

どうでもいいことですがタグのForgeMinecraftForgeのほうが検索しやすいです.

1Like

Comments

  1. @ArG0rithm-Ace

    Questioner

    ご回答ありがとうございます!

    URL先のsrcを下記の通りの階層に配置し、参照出来るようにbuild.gradleを書き換えたのですが、同様のエラーが起こります。

    ご教授いただけますでしょうか...?😭

    IdeaProjects
    L gradlew
    L libs/src
    

    build.gradle

    dependencies {
    implementation fileTree(dir: 'libs')
    }
    

    エラー内容

    Caused by: java.lang.NoSuchMethodError: twilightforest.block.BlockTFLog.func_149711_c(F)Lnet/minecraft/block/Block;
    

Your answer might help someone💌