我已经为我的mod提供了mcmod.info,但是在Intellij中运行Minecraft客户端后,mod肯定已加载,但是它无法正确加载mcmod.info。在Minecraft客户端的启动过程中,一个警告显示:
[客户端线程/警告] [FML]:Mod TestForge缺少所需的元素"版本",找不到后备。替换" 1.0"。
我进入mod按钮并查找mod信息后,我的mod显示在mod列表中,但它显示了以下内容:
testforge
版本:1.0
mod状态:可用
找不到mod信息
要求您的mod作者提供一个mod mcmod.info文件
我尝试了很多事情来调试它,但是所有这些都失败了。
我尝试过的:
- 我已经解开了已建立的jar文件和mcmod.info正确放置在根文件夹中。
- 我把我的mcmod.info放在json验证器上,它说内容是正确的。
build.gradle
buildscript {
repositories {
jcenter()
maven { url = "https://files.minecraftforge.net/maven" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
version = "1.0.0"
group = "com.galaxy.forge"
archivesBaseName = "Test Forge"
sourceCompatibility = targetCompatibility = '1.8'
compileJava {
sourceCompatibility = targetCompatibility = '1.8'
}
minecraft {
version = "1.12.2-14.23.5.2838"
runDir = "run"
mappings = "snapshot_20171003"
}
dependencies {
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version':project.version, 'mcversion':project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
src/main/main/resources/mcmod.info
[{
"modid": "testforge",
"name": "TestForge",
"description": "Test description",
"version": "1.0.0",
"mcversion": "1.12.2",
"url": "minecraftforge.net/",
"authorList": ["GalaxyIT"],
"credits": "I'd like to thank anyone who can help me >.<"
}]
src/main/java/com/com/forge/testforge/testforge.java
package com.galaxy.forge.testforge;
import net.minecraftforge.fml.common.Mod;
@Mod(modid = "testforge", useMetadata = true)
public class TestForge {
}
您必须在testforge.java中修改@Mod
注释。您错过了 mod版本,但FML从mcmod.info
获取并使用它。
因此,只有警告是投掷。
要修复它,您必须添加到@Mod(modid="testforge",useMetadata=true)
参数 version="1.0.0"
结果@Mod(modid="testforge",useMetadata=true,version="1.0.0")