Minecraft Forge 1.9+ MDK - Registering a basic untextured item not working

150 Views Asked by At

I am currently new to modding Minecraft, but I'm not a beginner in Java. I recently found an interest to start yesterday and got my workspace setup. (In IntelliJ). I have been trying to register a basic item for about an hour or two now, and I am falling short.

I get this error when trying to /give the item:

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

Which means that it is not registered. Here is all my code in all classes. Thanks in advance!

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){

    }
}

ModInfo.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";
}

BasicItem.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 {

}
1

There are 1 best solutions below

0
James Wilson Productions On

Well, found out my stupidly simple mistake. I forgot to add

@Mod.EventHandler

ontop of preInit(), init() and postInit() functions.

Hope this answer helps others!