-1

我目前是改装 Minecraft 的新手,但我不是 Java 的初学者。我最近发现有兴趣从昨天开始,并设置了我的工作区。(在 IntelliJ 中)。我一直在尝试注册一个基本项目大约一两个小时,但我失败了。

尝试/给予该项目时出现此错误:

[17:33:59] [Client thread/INFO]: [CHAT] There is no such item with name tm:tutorial_item

这意味着它没有注册。这是我在所有课程中的所有代码。提前致谢!

TutorialMod.java

package com.github.JamesWilsonProductiuons;

import com.github.JamesWilsonProductiuons.items.ModItems;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

@Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION)
public class TutorialMod {

    public void preInit(FMLPreInitializationEvent e){

    }

    public void init(FMLInitializationEvent e){

    }

    public void postInit(FMLPostInitializationEvent e){

    }
}

模组信息.java

package com.github.JamesWilsonProductiuons;

public class ModInfo {
    public static final String MOD_ID = "tm";
    public static final String MOD_NAME = "TutorialMod";
    public static final String MOD_VERSION = "1.0";
}

基本项目.java

package com.github.JamesWilsonProductiuons.items;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class BasicItem extends Item{

    public BasicItem(String unlocalizedName){
        super();

        this.setUnlocalizedName(unlocalizedName);
        this.setCreativeTab(CreativeTabs.MATERIALS);
    }
}

ModItems.java

package com.github.JamesWilsonProductiuons.items;

import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ModItems {
    public static Item tutorialItem = new BasicItem("tutorial_item").setRegistryName("tutorial_item");

    public static void CreateItems(){
        GameRegistry.register(tutorialItem);
        System.out.print("Registered Item");
    }
}

CommonProxy.java

package com.github.JamesWilsonProductiuons.proxy;

import com.github.JamesWilsonProductiuons.items.ModItems;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class CommonProxy {
    public void preInit(FMLPreInitializationEvent e){
        ModItems.CreateItems();
    }
}

ClientProxy.java

package com.github.JamesWilsonProductiuons.proxy;

public class ClientProxy extends CommonProxy {

}
4

1 回答 1

1

好吧,发现了我愚蠢的简单错误。我忘了添加

@Mod.EventHandler

在 preInit()、init() 和 postInit() 函数之上。

希望这个答案对其他人有帮助!

于 2017-02-08T15:51:58.790 回答