【问题标题】:Minecraft Forge: my Mod Jar file does not load a json library that I used in my code and it does not load one of my GUI texturesMinecraft Forge:我的 Mod Jar 文件没有加载我在代码中使用的 json 库,也没有加载我的 GUI 纹理之一
【发布时间】:2016-04-17 17:41:51
【问题描述】:

我在 Forge(版本 1.7.10)中编写了我的 Minecraft Mod,并在我的项目中使用了一个 json 库以及一个自定义 GUI。但是,在我使用构建我的 .jar 文件之后 ./gradle build 在终端中,我将我的 Mod 安装在 Minecraft 中,将其放在 Minecraft 的 mods 文件夹中。我的模组在游戏中被识别并且我的自定义方块出现了。但是,我的自定义 GUI 的纹理未加载,并且我在项目 (org.json) 中使用的 Java 库之一未被识别。我多次构建了我的 .jar 文件,但显然它不包括这个库。我的“./gradle build”终端命令有问题吗?顺便说一句,当我使用 Eclipse 运行 Minecraft Forge 时,一切正常。

【问题讨论】:

  • 有关您的环境的更多详细信息会有所帮助,MC 版本,伪造版本等。
  • Minecraft Forge 的版本是 1.7.10,当我使用 Minecraft 时,我只使用我的个人资料并在我的个人资料中使用 Minecraft Forge 1.7.10 来运行 Mod。如果您想要游戏崩溃时的错误屏幕截图,请告诉我。感谢您的帮助!
  • 这里是崩溃错误信息:“java.lang.NoClassDefFoundError: org/json/JSONObject”
  • 抱歉,我的意思是将其编辑到问题中,以便人们可以帮助您。我个人没有使用自定义 GUI 纹理的经验。我做积木和物品只是为了好玩。
  • Minecraft 已经使用了一个 JSON 库 (GSON),默认情况下会与游戏一起打包,因此您可能不想包含多余的库。

标签: java minecraft minecraft-forge


【解决方案1】:

在你的 build.gradle 添加这个:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

这会将您的 libs 文件夹中的所有 jar 复制到您的 jar 中。

应该这样做。

如果你有需要原生库的东西(例如 sqlite)

jar {
    from('native') {
        into('org/sqlite/native')
        }
    }

【讨论】:

  • 好吧,这是我在 build.gradle 中写的:“dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile 'org.json:json: 20160212' }" 之后我在终端写了三个命令: "./gradlew setupDecompWorkspace --refresh-dependencies" "./gradlew eclipse" "./gradlew build" 然后我把Mod jar文件放到了mods文件夹下我的世界。但是,当我使用该 json 库时,游戏仍然崩溃。它说:“java.lang.NoClassDefFoundError: org/json/JSONObject” 顺便谢谢你的帮助,我真的很感激 :)
  • 你把json jar放到libs文件夹了吗?
  • 是的,我已将 json jar 放在 /build 文件夹内的 libs 文件夹中。层次结构是这样的:/build/libs/json-20160212.jar
  • 我在想也许我自己的 gradle 有问题。我应该将其更新到最新版本吗?我现在的版本是2.0。我也不明白 google-api 库是如何工作的,但 json 库却没有..
  • 不,将它放在与 build.gradle 文件处于同一级别的 libs 文件夹中。 i.imgur.com/Eq1y3Kg.jpg
猜你喜欢
  • 2022-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多