IDEA里无法在@Mod(name=Reference.NAME)的指令

晓圣xs


版本信息
你使用的IDE:
你使用的IDE版本:<2020.1>
Forge版本: <31.1.0>
Minecraft版本: <1.15.2>

出错图
![](4|690x332

错误情况简述
我在一个叫Reference的类中定义了字符串类型常量NAME="Soil Craft’,MODID="SC"和VERSION=“0.1.0”,然后我在另一个类写@Mod(name=Reference.NAME,modid=Reference.MODID,version=Reference.VERSION)然后发现name,modid和version变成了红色,也就是错误的。这段代码是我从某视频网站中视频中看到的。我想实现能显示Mod的名称、ID和版本号

package minecraft.mods.sc;

import net.minecraftforge.fml.common.Mod;
import until.Reference;


@Mod(name = Reference.NAME, modid = Reference.MODID, version)
public class Main {
}
package minecraft.mods.sc;

import net.minecraftforge.fml.common.Mod;
import until.Reference;


@Mod(name = Reference.NAME, modid = Reference.MODID, version)
public class Main {
}


package until;

public class Reference {
    public static final String NAME = "Soil Craft";
    public static final String MODID="SC";
    public static final String VERSION="0.1.0";
}


FledgeXu


………抄代码前看一下别人的游戏版本和你游戏版本匹配不匹配再抄好吗?
1.15 的@mod注释,只需要填写modid就行了,其他几个参数不存在了。


晓圣xs


emmm…我也是第一次接触到这个,之前就只学了一点C#,对这个完全是不知道…。也就是说我写成@mod(modid=Reference.MODID)就可以了是吗?


FledgeXu


对,不同版本的代码有共同的地方但是不能互相兼容。
看寻找教程的时候要注意教程对应的版本。


晓圣xs


您可以写一个完整的代码段吗,我设置成答案,非常感谢~


FledgeXu


写成如下形式就行了。

@Mod(Utils.MOD_ID)
public class SpiritCraft {
    public SpiritCraft() {
    }
}

system


该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。