【问题标题】:Java Development Kit with Minecraft 1.8.9 Forge Modding, What JDK/JRE Is Needed, Is Code Correct?Java开发工具包与Minecraft 1.8.9 Forge Modding,需要什么JDK/JRE,代码是否正确?
【发布时间】:2019-01-15 06:04:52
【问题描述】:

我在关注 Powns 的教程

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

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

我做了和他完全相同的事情,但是当我运行它时,它不起作用。这让我相信它与我的 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 Compiler Compliance JRE Compiler Compliance Problem

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

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

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

【问题讨论】:

  • 你安装了多个版本的java吗?你用的是什么Minecraft版本?
  • 我正在使用 Minecraft 1.8.9 进行改装
  • 我安装了最新的 JDK,还有 8u5 和我拥有的 JRE...
  • JRE 8 和 JRE 8.0_1.1 @ Rohit Mahajan

标签: java minecraft minecraft-forge


【解决方案1】:

你需要 Java 8

如果您安装了多个 JDK,则需要确保 Eclipse 指向正确的 JDK,但除非您正在进行其他 Java 开发,否则您可以卸载其他 JDK 并仅安装您需要的那个. See this thread。拥有正确版本的 JDK 通常比使用新版本并针对旧规范更容易。

作为参考,Minecraft 1.13 以 Java 9 为目标,并且必须重写 Forge 启动器以支持该功能(请参阅 this thread)。

但是,无论您拥有什么 JDK,您似乎都将 Eclipse 设置为以 Java 6 运行时为目标,而这正是人们所抱怨的。请参阅this question 来解决这个问题。

【讨论】:

  • 除此之外,代码有什么问题吗?因为我认为我确实有 java 8。
  • 抛出第一个错误的代码不在您发布的代码中。我什至不知道第二次要寻找什么。
  • 好的,所以我把选择的JRE改成了JDK,还是不行。
  • I have fixed both errors [...] so what is the error? 如果没有错误,那是什么问题?
  • 在你的主模组类中。
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多