我正在关注Powns的教程
https://www.youtube.com/watch?v=keDj9fvzigk
关于如何在Minecraft 1.8.9 Forge中制作mods。
我做了和他完全一样的事情,但是当我运行它时,它没有用。这使我相信这与我的JDK版本有关。除了,他没有说他使用哪个版本,我应该使用哪个版本?
我尝试使用最新版本,但是它不起作用,我目前正在使用8u5。
我的柜台代码是
package me.BeastModeGamez.arrowCounter;
import net.minecraft.init.Blocks;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
@Mod(modid = ArrowCounter.MODID, version = ArrowCounter.VERSION)
public class ArrowCounter
{
public static final String MODID = "arrowCounter";
public static final String VERSION = "1.0";
@EventHandler
public void init(FMLInitializationEvent event)
{
}
}
我的counterCommands代码是
package me.BeastModeGamez.arrowCounter.commands;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
import net.minecraft.util.ChatComponentText;
public class arrowCounterCommands extends CommandBase {
@Override
public String getCommandName() {
return "arrowcounter";
}
@Override
public String getCommandUsage(ICommandSender sender) {
return "/" + getCommandName();
}
@Override
public void processCommand(ICommandSender sender, String[] args) throws CommandException {
sender.addChatMessage(new ChatComponentText("Test Command."));
}
@Override
public int getRequiredPermissionLevel() {
return 0;
}
@Override
public boolean canCommandSenderUseCommand(final ICommandSender p_71519_1_) {
return true;
}
}
我希望看到mod可以正常工作,但它会显示未知命令。我认为重要的是以下两个警告:
描述资源路径位置类型 指定的编译器遵从性为1.6,但使用的是JRE 1.8。.org.eclipse.jdt.core.external.folders编译器遵从性JRE编译器遵从性问题
还有
描述资源路径位置类型 指定的编译器符合性是1.6,但使用的是JRE 1.8 MDKExample编译器符合性JRE编译器符合性问题
此外,如果您想知道代码是否不再起作用,该视频是在3周前制作的。
因此,总而言之,我的问题是:需要解决什么,它是否与警告中所说的JRE有关,或者我的代码不正确,还是我需要更新的JDK?如果我必须更改JRE,怎么办?
编辑:我已经修复了这两个错误(并将jdk更改为更新的错误),这意味着它很可能不是软件,而是代码,现在我每次尝试尝试时都出错(没有出现问题-未显示)。运行显示未知命令的命令。
答案 0 :(得分:3)
如果安装了多个JDK,则需要确保Eclipse指向正确的JDK,但是除非进行其他Java开发,否则只需卸载其他JDK并仅安装所需的JDK。 。 See this thread。拥有合适的JDK版本通常比使用更新的版本和针对较旧的规范更容易。
作为参考,Minecraft 1.13以Java 9为目标,并且必须重写Forge启动器以支持它(请参见this thread)。
但是,无论您拥有什么JDK,您似乎都已将Eclipse设置为以Java 6运行时为目标。这就是人们所抱怨的。请参见this question来解决。