Java开发工具包与Minecraft 1.8.9 Forge Modding,需要什么JDK/JJRE,代码正确吗



我在学习Powns的教程

https://www.youtube.com/watch?v=keDj9fvzigk

关于如何在Minecraft 1.8.9 Forge中制作MOD。

我做了和他完全一样的事情,但当我运行它时,它不起作用。这让我相信这与我的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)
{

}
}

我的反命令代码是

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 MDK示例编译器合规JRE编译器合规问题

此外,如果您想知道代码是否不再有效,视频是3周前制作的。

总之,我的问题是:需要什么来解决这个问题,它是否与警告中所说的JRE有关,或者我的代码是否不正确,或者我需要一个更新的JDK?如果我确实需要更改JRE,该怎么办?

编辑:我已经修复了这两个错误(并将jdk更改为更新的),这意味着它很可能不是软件,而是代码,错误现在是(没有问题-没有显示),每次我尝试运行命令时,它都会显示未知命令。

您需要Java 8

如果你安装了多个JDK,你需要确保Eclipse指向正确的JDK,但除非你正在进行其他Java开发,否则你可以卸载其他JDK,只安装你需要的JDK。请参阅此线程。只拥有正确版本的JDK通常比使用较新版本并针对较旧规范更容易。

作为参考,Minecraft 1.13以Java 9为目标,Forge启动器必须重写以支持它(请参阅本线程)。

然而,不管您拥有什么JDK,看起来您都将Eclipse设置为针对Java 6运行时,而这正是人们所抱怨的。请参阅此问题以解决此问题。

最新更新